@itwin/frontend-devtools 5.0.0-dev.8 → 5.0.0-dev.83

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 (226) hide show
  1. package/CHANGELOG.md +46 -1
  2. package/lib/cjs/FrontEndDevTools.js +1 -1
  3. package/lib/cjs/FrontEndDevTools.js.map +1 -1
  4. package/lib/cjs/effects/Convolution.js +6 -6
  5. package/lib/cjs/effects/Convolution.js.map +1 -1
  6. package/lib/cjs/effects/EffectTools.js +2 -2
  7. package/lib/cjs/effects/EffectTools.js.map +1 -1
  8. package/lib/cjs/effects/Explosion.js +37 -25
  9. package/lib/cjs/effects/Explosion.js.map +1 -1
  10. package/lib/cjs/effects/FlipImage.js +2 -2
  11. package/lib/cjs/effects/FlipImage.js.map +1 -1
  12. package/lib/cjs/effects/LensDistortion.js +4 -4
  13. package/lib/cjs/effects/LensDistortion.js.map +1 -1
  14. package/lib/cjs/effects/Saturation.js +4 -4
  15. package/lib/cjs/effects/Saturation.js.map +1 -1
  16. package/lib/cjs/effects/Snow.d.ts +1 -1
  17. package/lib/cjs/effects/Snow.d.ts.map +1 -1
  18. package/lib/cjs/effects/Snow.js +19 -8
  19. package/lib/cjs/effects/Snow.js.map +1 -1
  20. package/lib/cjs/effects/Vignette.js +12 -12
  21. package/lib/cjs/effects/Vignette.js.map +1 -1
  22. package/lib/cjs/tools/AnimationIntervalTool.js +1 -1
  23. package/lib/cjs/tools/AnimationIntervalTool.js.map +1 -1
  24. package/lib/cjs/tools/ChangeUnitsTool.js +1 -1
  25. package/lib/cjs/tools/ChangeUnitsTool.js.map +1 -1
  26. package/lib/cjs/tools/ClipTools.js +6 -8
  27. package/lib/cjs/tools/ClipTools.js.map +1 -1
  28. package/lib/cjs/tools/DisplayStyleTools.js +21 -25
  29. package/lib/cjs/tools/DisplayStyleTools.js.map +1 -1
  30. package/lib/cjs/tools/EmphasizeElementsTool.js +7 -13
  31. package/lib/cjs/tools/EmphasizeElementsTool.js.map +1 -1
  32. package/lib/cjs/tools/FrustumDecoration.js +28 -9
  33. package/lib/cjs/tools/FrustumDecoration.js.map +1 -1
  34. package/lib/cjs/tools/InspectElementTool.js +7 -6
  35. package/lib/cjs/tools/InspectElementTool.js.map +1 -1
  36. package/lib/cjs/tools/MapLayerTool.js +24 -20
  37. package/lib/cjs/tools/MapLayerTool.js.map +1 -1
  38. package/lib/cjs/tools/MeasureTileLoadTime.js +4 -1
  39. package/lib/cjs/tools/MeasureTileLoadTime.js.map +1 -1
  40. package/lib/cjs/tools/ModelAppearanceTools.js +9 -9
  41. package/lib/cjs/tools/ModelAppearanceTools.js.map +1 -1
  42. package/lib/cjs/tools/PlanProjectionTools.js +8 -15
  43. package/lib/cjs/tools/PlanProjectionTools.js.map +1 -1
  44. package/lib/cjs/tools/PlanarMaskTools.js +21 -26
  45. package/lib/cjs/tools/PlanarMaskTools.js.map +1 -1
  46. package/lib/cjs/tools/ProjectExtents.js +6 -3
  47. package/lib/cjs/tools/ProjectExtents.js.map +1 -1
  48. package/lib/cjs/tools/RealityModelTools.js +10 -10
  49. package/lib/cjs/tools/RealityModelTools.js.map +1 -1
  50. package/lib/cjs/tools/RealityTransitionTool.js +1 -1
  51. package/lib/cjs/tools/RealityTransitionTool.js.map +1 -1
  52. package/lib/cjs/tools/RenderSystemTools.js +4 -3
  53. package/lib/cjs/tools/RenderSystemTools.js.map +1 -1
  54. package/lib/cjs/tools/RenderTargetTools.d.ts +1 -1
  55. package/lib/cjs/tools/RenderTargetTools.d.ts.map +1 -1
  56. package/lib/cjs/tools/RenderTargetTools.js +15 -20
  57. package/lib/cjs/tools/RenderTargetTools.js.map +1 -1
  58. package/lib/cjs/tools/ReportWebGLCompatibilityTool.js +1 -1
  59. package/lib/cjs/tools/ReportWebGLCompatibilityTool.js.map +1 -1
  60. package/lib/cjs/tools/SavedViews.js +4 -7
  61. package/lib/cjs/tools/SavedViews.js.map +1 -1
  62. package/lib/cjs/tools/ScheduleScriptTools.d.ts.map +1 -1
  63. package/lib/cjs/tools/ScheduleScriptTools.js +11 -12
  64. package/lib/cjs/tools/ScheduleScriptTools.js.map +1 -1
  65. package/lib/cjs/tools/SelectionTools.js +4 -6
  66. package/lib/cjs/tools/SelectionTools.js.map +1 -1
  67. package/lib/cjs/tools/SetGpuMemoryLimitTool.js +1 -1
  68. package/lib/cjs/tools/SetGpuMemoryLimitTool.js.map +1 -1
  69. package/lib/cjs/tools/SourceAspectIdTools.js +2 -2
  70. package/lib/cjs/tools/SourceAspectIdTools.js.map +1 -1
  71. package/lib/cjs/tools/TileRequestDecoration.js +6 -3
  72. package/lib/cjs/tools/TileRequestDecoration.js.map +1 -1
  73. package/lib/cjs/tools/TileTreeBoundsDecoration.d.ts.map +1 -1
  74. package/lib/cjs/tools/TileTreeBoundsDecoration.js +8 -4
  75. package/lib/cjs/tools/TileTreeBoundsDecoration.js.map +1 -1
  76. package/lib/cjs/tools/ToolTipProvider.js +2 -1
  77. package/lib/cjs/tools/ToolTipProvider.js.map +1 -1
  78. package/lib/cjs/tools/ViewportTools.js +22 -19
  79. package/lib/cjs/tools/ViewportTools.js.map +1 -1
  80. package/lib/cjs/widgets/DiagnosticsPanel.d.ts +1 -1
  81. package/lib/cjs/widgets/DiagnosticsPanel.d.ts.map +1 -1
  82. package/lib/cjs/widgets/DiagnosticsPanel.js +11 -1
  83. package/lib/cjs/widgets/DiagnosticsPanel.js.map +1 -1
  84. package/lib/cjs/widgets/FpsTracker.d.ts +1 -1
  85. package/lib/cjs/widgets/FpsTracker.d.ts.map +1 -1
  86. package/lib/cjs/widgets/FpsTracker.js +5 -1
  87. package/lib/cjs/widgets/FpsTracker.js.map +1 -1
  88. package/lib/cjs/widgets/GpuProfiler.d.ts +1 -1
  89. package/lib/cjs/widgets/GpuProfiler.d.ts.map +1 -1
  90. package/lib/cjs/widgets/GpuProfiler.js +89 -82
  91. package/lib/cjs/widgets/GpuProfiler.js.map +1 -1
  92. package/lib/cjs/widgets/KeyinField.js +8 -1
  93. package/lib/cjs/widgets/KeyinField.js.map +1 -1
  94. package/lib/cjs/widgets/MemoryTracker.d.ts +1 -1
  95. package/lib/cjs/widgets/MemoryTracker.d.ts.map +1 -1
  96. package/lib/cjs/widgets/MemoryTracker.js +16 -4
  97. package/lib/cjs/widgets/MemoryTracker.js.map +1 -1
  98. package/lib/cjs/widgets/RenderCommandBreakdown.d.ts +1 -1
  99. package/lib/cjs/widgets/RenderCommandBreakdown.d.ts.map +1 -1
  100. package/lib/cjs/widgets/RenderCommandBreakdown.js +6 -2
  101. package/lib/cjs/widgets/RenderCommandBreakdown.js.map +1 -1
  102. package/lib/cjs/widgets/TileMemoryBreakdown.d.ts +1 -1
  103. package/lib/cjs/widgets/TileMemoryBreakdown.d.ts.map +1 -1
  104. package/lib/cjs/widgets/TileMemoryBreakdown.js +10 -8
  105. package/lib/cjs/widgets/TileMemoryBreakdown.js.map +1 -1
  106. package/lib/cjs/widgets/TileStatisticsTracker.d.ts +1 -1
  107. package/lib/cjs/widgets/TileStatisticsTracker.d.ts.map +1 -1
  108. package/lib/cjs/widgets/TileStatisticsTracker.js +5 -2
  109. package/lib/cjs/widgets/TileStatisticsTracker.js.map +1 -1
  110. package/lib/cjs/widgets/ToolSettingsTracker.d.ts +1 -1
  111. package/lib/cjs/widgets/ToolSettingsTracker.d.ts.map +1 -1
  112. package/lib/cjs/widgets/ToolSettingsTracker.js +2 -2
  113. package/lib/cjs/widgets/ToolSettingsTracker.js.map +1 -1
  114. package/lib/esm/FrontEndDevTools.js +1 -1
  115. package/lib/esm/FrontEndDevTools.js.map +1 -1
  116. package/lib/esm/effects/Convolution.js +6 -6
  117. package/lib/esm/effects/Convolution.js.map +1 -1
  118. package/lib/esm/effects/EffectTools.js +2 -2
  119. package/lib/esm/effects/EffectTools.js.map +1 -1
  120. package/lib/esm/effects/Explosion.js +37 -25
  121. package/lib/esm/effects/Explosion.js.map +1 -1
  122. package/lib/esm/effects/FlipImage.js +2 -2
  123. package/lib/esm/effects/FlipImage.js.map +1 -1
  124. package/lib/esm/effects/LensDistortion.js +4 -4
  125. package/lib/esm/effects/LensDistortion.js.map +1 -1
  126. package/lib/esm/effects/Saturation.js +4 -4
  127. package/lib/esm/effects/Saturation.js.map +1 -1
  128. package/lib/esm/effects/Snow.d.ts +1 -1
  129. package/lib/esm/effects/Snow.d.ts.map +1 -1
  130. package/lib/esm/effects/Snow.js +19 -8
  131. package/lib/esm/effects/Snow.js.map +1 -1
  132. package/lib/esm/effects/Vignette.js +12 -12
  133. package/lib/esm/effects/Vignette.js.map +1 -1
  134. package/lib/esm/tools/AnimationIntervalTool.js +1 -1
  135. package/lib/esm/tools/AnimationIntervalTool.js.map +1 -1
  136. package/lib/esm/tools/ChangeUnitsTool.js +1 -1
  137. package/lib/esm/tools/ChangeUnitsTool.js.map +1 -1
  138. package/lib/esm/tools/ClipTools.js +6 -8
  139. package/lib/esm/tools/ClipTools.js.map +1 -1
  140. package/lib/esm/tools/DisplayStyleTools.js +21 -25
  141. package/lib/esm/tools/DisplayStyleTools.js.map +1 -1
  142. package/lib/esm/tools/EmphasizeElementsTool.js +7 -13
  143. package/lib/esm/tools/EmphasizeElementsTool.js.map +1 -1
  144. package/lib/esm/tools/FrustumDecoration.js +28 -9
  145. package/lib/esm/tools/FrustumDecoration.js.map +1 -1
  146. package/lib/esm/tools/InspectElementTool.js +7 -6
  147. package/lib/esm/tools/InspectElementTool.js.map +1 -1
  148. package/lib/esm/tools/MapLayerTool.js +24 -20
  149. package/lib/esm/tools/MapLayerTool.js.map +1 -1
  150. package/lib/esm/tools/MeasureTileLoadTime.js +4 -1
  151. package/lib/esm/tools/MeasureTileLoadTime.js.map +1 -1
  152. package/lib/esm/tools/ModelAppearanceTools.js +9 -9
  153. package/lib/esm/tools/ModelAppearanceTools.js.map +1 -1
  154. package/lib/esm/tools/PlanProjectionTools.js +8 -15
  155. package/lib/esm/tools/PlanProjectionTools.js.map +1 -1
  156. package/lib/esm/tools/PlanarMaskTools.js +21 -26
  157. package/lib/esm/tools/PlanarMaskTools.js.map +1 -1
  158. package/lib/esm/tools/ProjectExtents.js +6 -3
  159. package/lib/esm/tools/ProjectExtents.js.map +1 -1
  160. package/lib/esm/tools/RealityModelTools.js +10 -10
  161. package/lib/esm/tools/RealityModelTools.js.map +1 -1
  162. package/lib/esm/tools/RealityTransitionTool.js +1 -1
  163. package/lib/esm/tools/RealityTransitionTool.js.map +1 -1
  164. package/lib/esm/tools/RenderSystemTools.js +4 -3
  165. package/lib/esm/tools/RenderSystemTools.js.map +1 -1
  166. package/lib/esm/tools/RenderTargetTools.d.ts +1 -1
  167. package/lib/esm/tools/RenderTargetTools.d.ts.map +1 -1
  168. package/lib/esm/tools/RenderTargetTools.js +15 -20
  169. package/lib/esm/tools/RenderTargetTools.js.map +1 -1
  170. package/lib/esm/tools/ReportWebGLCompatibilityTool.js +1 -1
  171. package/lib/esm/tools/ReportWebGLCompatibilityTool.js.map +1 -1
  172. package/lib/esm/tools/SavedViews.js +4 -7
  173. package/lib/esm/tools/SavedViews.js.map +1 -1
  174. package/lib/esm/tools/ScheduleScriptTools.d.ts.map +1 -1
  175. package/lib/esm/tools/ScheduleScriptTools.js +11 -12
  176. package/lib/esm/tools/ScheduleScriptTools.js.map +1 -1
  177. package/lib/esm/tools/SelectionTools.js +4 -6
  178. package/lib/esm/tools/SelectionTools.js.map +1 -1
  179. package/lib/esm/tools/SetGpuMemoryLimitTool.js +1 -1
  180. package/lib/esm/tools/SetGpuMemoryLimitTool.js.map +1 -1
  181. package/lib/esm/tools/SourceAspectIdTools.js +2 -2
  182. package/lib/esm/tools/SourceAspectIdTools.js.map +1 -1
  183. package/lib/esm/tools/TileRequestDecoration.js +6 -3
  184. package/lib/esm/tools/TileRequestDecoration.js.map +1 -1
  185. package/lib/esm/tools/TileTreeBoundsDecoration.d.ts.map +1 -1
  186. package/lib/esm/tools/TileTreeBoundsDecoration.js +8 -4
  187. package/lib/esm/tools/TileTreeBoundsDecoration.js.map +1 -1
  188. package/lib/esm/tools/ToolTipProvider.js +2 -1
  189. package/lib/esm/tools/ToolTipProvider.js.map +1 -1
  190. package/lib/esm/tools/ViewportTools.js +22 -19
  191. package/lib/esm/tools/ViewportTools.js.map +1 -1
  192. package/lib/esm/widgets/DiagnosticsPanel.d.ts +1 -1
  193. package/lib/esm/widgets/DiagnosticsPanel.d.ts.map +1 -1
  194. package/lib/esm/widgets/DiagnosticsPanel.js +11 -1
  195. package/lib/esm/widgets/DiagnosticsPanel.js.map +1 -1
  196. package/lib/esm/widgets/FpsTracker.d.ts +1 -1
  197. package/lib/esm/widgets/FpsTracker.d.ts.map +1 -1
  198. package/lib/esm/widgets/FpsTracker.js +5 -1
  199. package/lib/esm/widgets/FpsTracker.js.map +1 -1
  200. package/lib/esm/widgets/GpuProfiler.d.ts +1 -1
  201. package/lib/esm/widgets/GpuProfiler.d.ts.map +1 -1
  202. package/lib/esm/widgets/GpuProfiler.js +89 -82
  203. package/lib/esm/widgets/GpuProfiler.js.map +1 -1
  204. package/lib/esm/widgets/KeyinField.js +8 -1
  205. package/lib/esm/widgets/KeyinField.js.map +1 -1
  206. package/lib/esm/widgets/MemoryTracker.d.ts +1 -1
  207. package/lib/esm/widgets/MemoryTracker.d.ts.map +1 -1
  208. package/lib/esm/widgets/MemoryTracker.js +16 -4
  209. package/lib/esm/widgets/MemoryTracker.js.map +1 -1
  210. package/lib/esm/widgets/RenderCommandBreakdown.d.ts +1 -1
  211. package/lib/esm/widgets/RenderCommandBreakdown.d.ts.map +1 -1
  212. package/lib/esm/widgets/RenderCommandBreakdown.js +6 -2
  213. package/lib/esm/widgets/RenderCommandBreakdown.js.map +1 -1
  214. package/lib/esm/widgets/TileMemoryBreakdown.d.ts +1 -1
  215. package/lib/esm/widgets/TileMemoryBreakdown.d.ts.map +1 -1
  216. package/lib/esm/widgets/TileMemoryBreakdown.js +10 -8
  217. package/lib/esm/widgets/TileMemoryBreakdown.js.map +1 -1
  218. package/lib/esm/widgets/TileStatisticsTracker.d.ts +1 -1
  219. package/lib/esm/widgets/TileStatisticsTracker.d.ts.map +1 -1
  220. package/lib/esm/widgets/TileStatisticsTracker.js +5 -2
  221. package/lib/esm/widgets/TileStatisticsTracker.js.map +1 -1
  222. package/lib/esm/widgets/ToolSettingsTracker.d.ts +1 -1
  223. package/lib/esm/widgets/ToolSettingsTracker.d.ts.map +1 -1
  224. package/lib/esm/widgets/ToolSettingsTracker.js +2 -2
  225. package/lib/esm/widgets/ToolSettingsTracker.js.map +1 -1
  226. package/package.json +10 -10
@@ -1 +1 @@
1
- {"version":3,"file":"RealityModelTools.js","sourceRoot":"","sources":["../../../src/tools/RealityModelTools.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 { FeatureAppearance, FeatureAppearanceProps, RgbColorProps } from \"@itwin/core-common\";\nimport { getCesiumAssetUrl, IModelApp, NotifyMessageDetails, OutputMessagePriority, Tool, Viewport } from \"@itwin/core-frontend\";\nimport { copyStringToClipboard } from \"../ClipboardUtilities\";\nimport { parseBoolean } from \"./parseBoolean\";\nimport { parseToggle } from \"./parseToggle\";\n\n/** This tool attaches a specified reality model.\n * @beta\n */\nexport class AttachRealityModelTool extends Tool {\n public static override toolId = \"AttachRealityModelTool\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 1; }\n\n /** This method runs the tool, attaching a specified reality model.\n * @param data a [[ContextRealityModelProps]] JSON representation\n */\n public override async run(data: string): Promise<boolean> {\n const props = JSON.parse(data);\n const vp = IModelApp.viewManager.selectedView;\n if (vp === undefined)\n return false;\n\n if (props === undefined || props.tilesetUrl === undefined) {\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, `Properties ${props} are not valid`));\n }\n\n vp.displayStyle.attachRealityModel(props);\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, `Reality Model ${props.tilesetUrl} attached`));\n\n return true;\n }\n\n /** Executes this tool's run method with args[0] containing `data`.\n * @see [[run]]\n */\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args[0]);\n }\n}\n\n/** This tool saves a reality model's JSON representation to the system clipboard.\n * @beta */\nexport class SaveRealityModelTool extends Tool {\n public static override toolId = \"SaveRealityModelTool\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n /** This method runs the tool, saving a reality model's JSON representation to the system clipboard.\n * @param name the name of the reality model to copy; if undefined, copy the last found reality model\n */\n public override async run(name: string | undefined): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (vp === undefined)\n return false;\n vp.displayStyle.forEachRealityModel((realityModel) => {\n if (name === undefined || realityModel.name === name) {\n copyStringToClipboard(JSON.stringify(realityModel.toJSON()));\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, `Reality Model ${realityModel.name} copied to clipboard`));\n }\n });\n\n return true;\n }\n\n /** Executes this tool's run method with args[0] containing `name`.\n * @see [[run]]\n */\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args.length > 0 ? args[0] : undefined);\n }\n}\n\nfunction changeRealityModelAppearanceOverrides(vp: Viewport, overrides: FeatureAppearanceProps, index: number): boolean {\n if (index < 0) {\n for (const model of vp.displayStyle.settings.contextRealityModels.models)\n model.appearanceOverrides = model.appearanceOverrides ? model.appearanceOverrides.clone(overrides) : FeatureAppearance.fromJSON(overrides);\n\n return vp.displayStyle.settings.contextRealityModels.models.length > 0;\n } else {\n const model = vp.displayStyle.settings.contextRealityModels.models[index];\n if (!model)\n return false;\n\n model.appearanceOverrides = model.appearanceOverrides ? model.appearanceOverrides.clone(overrides) : FeatureAppearance.fromJSON(overrides);\n return true;\n }\n}\n\nfunction appearanceChangedString(index: number) {\n return index < 0 ? `All Reality Models` : `Reality Model at Index: ${index}`;\n}\n\n/** Set reality model appearance override for transparency in display style.\n * @beta\n */\nexport class SetRealityModelTransparencyTool extends Tool {\n public static override toolId = \"SetRealityModelTransparencyTool\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 2; }\n\n public override async run(transparency: number, index: number): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (vp === undefined)\n return false;\n\n const changed = changeRealityModelAppearanceOverrides(vp, { transparency }, index);\n\n if (changed)\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, `${appearanceChangedString(index)} set to transparency: ${transparency}`));\n\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(parseFloat(args[0]), args.length > 1 ? parseInt(args[1], 10) : -1);\n }\n}\n/** Set reality model appearance override for locatable in display style.\n * @beta\n */\nexport class SetRealityModelLocateTool extends Tool {\n public static override toolId = \"SetRealityModelLocateTool\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 2; }\n\n public override async run(locate: boolean, index: number): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (vp === undefined)\n return false;\n\n const nonLocatable = locate ? undefined : true;\n const changed = changeRealityModelAppearanceOverrides(vp, { nonLocatable }, index);\n\n if (changed)\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, `${appearanceChangedString(index)} set to locate: ${locate}`));\n\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const locate = parseBoolean(args[0]);\n return locate === undefined ? false : this.run(locate, args.length > 1 ? parseInt(args[1], 10) : -1);\n }\n}\n\n/** Set reality model appearance override for emphasized in display style.\n * @beta\n */\nexport class SetRealityModelEmphasizedTool extends Tool {\n public static override toolId = \"SetRealityModelEmphasizedTool\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 2; }\n\n public override async run(emphasized: true | undefined, index: number): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (vp === undefined)\n return false;\n\n const changed = changeRealityModelAppearanceOverrides(vp, { emphasized }, index);\n\n if (changed)\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, `${appearanceChangedString(index)} set to emphasized: ${emphasized}`));\n\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const emphasized = parseBoolean(args[0]);\n return emphasized === undefined ? false : this.run(emphasized ? true : undefined, args.length > 1 ? parseInt(args[1], 10) : -1);\n }\n}\n\n/** Detach reality model from display style.\n * @beta\n */\nexport class DetachRealityModelTool extends Tool {\n public static override toolId = \"ViewportDetachRealityModel\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n public override async run(index: number): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (vp === undefined)\n return false;\n\n if (index < 0) {\n vp.displayStyle.settings.contextRealityModels.models.forEach((model) => vp.displayStyle.settings.contextRealityModels.delete(model));\n return true;\n } else {\n const model = vp.displayStyle.settings.contextRealityModels.models[index];\n if (!model)\n return false;\n\n vp.displayStyle.settings.contextRealityModels.delete(model);\n return true;\n }\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args.length > 0 ? parseInt(args[0], 10) : -1);\n }\n}\n\n/** Set reality model appearance override for color in display style.\n * @beta\n */\nexport class SetRealityModelColorTool extends Tool {\n public static override toolId = \"SetRealityModelColorTool\";\n public static override get minArgs() { return 3; }\n public static override get maxArgs() { return 4; }\n\n public override async run(rgb: RgbColorProps, index: number): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (vp === undefined)\n return false;\n\n const changed = changeRealityModelAppearanceOverrides(vp, { rgb }, index);\n\n if (changed)\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, `${appearanceChangedString(index)} set to RGB color: (${rgb.r}, ${rgb.g}, ${rgb.b})`));\n\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run({ r: parseFloat(args[0]), g: parseFloat(args[1]), b: parseFloat(args[2]) }, args.length > 3 ? parseInt(args[3], 10) : -1);\n }\n}\n\n/** Clear reality model appearance override in display style.\n * @beta\n */\nexport class ClearRealityModelAppearanceOverrides extends Tool {\n public static override toolId = \"ClearRealityModelAppearanceOverrides\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n public override async run(index: number): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (!vp)\n return false;\n\n const model = vp.displayStyle.settings.contextRealityModels.models[index];\n if (!model)\n return false;\n\n model.appearanceOverrides = undefined;\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args[0] === undefined ? -1 : parseInt(args[0], 10));\n }\n}\n\n/** Attach a cesium asset from the Ion ID and key.\n * @beta\n */\nexport class AttachCesiumAssetTool extends Tool {\n public static override toolId = \"AttachCesiumAssetTool\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 2; }\n\n public override async run(assetId: number, requestKey: string): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (vp === undefined)\n return false;\n\n // attach using getCesiumAssetUrl\n const accessKey = requestKey ? requestKey : IModelApp.tileAdmin.cesiumIonKey ? IModelApp.tileAdmin.cesiumIonKey : \"\";\n const props = {\n tilesetUrl: getCesiumAssetUrl(\n assetId,\n accessKey,\n ),\n };\n // Alternative new way to attach using rdSourceKey\n // const rdSourceKey = RealityDataSource.createCesiumIonAssetKey(assetId, accessKey);\n // const props: ContextRealityModelProps = { rdSourceKey, tilesetUrl: getCesiumAssetUrl(assetId, accessKey) };\n\n vp.displayStyle.attachRealityModel(props);\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, `Cesium Asset #${assetId} attached`));\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const assetId = parseInt(args[0], 10);\n return Number.isNaN(assetId) ? false : this.run(assetId, args[1]);\n }\n}\n\n/** Turn on/off display of OpenStreetMap buildings\n * @beta\n */\nexport class ToggleOSMBuildingDisplay extends Tool {\n public static override toolId = \"SetBuildingDisplay\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 2; }\n\n public override async run(onOff?: boolean, transparency?: number): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (vp === undefined)\n return false;\n\n if (onOff === undefined)\n onOff = undefined === vp.displayStyle.getOSMBuildingRealityModel(); // Toggle current state.\n\n const appearanceOverrides = (transparency !== undefined && transparency > 0 && transparency < 1) ? FeatureAppearance.fromJSON({ transparency }) : undefined;\n\n vp.displayStyle.setOSMBuildingDisplay({ onOff, appearanceOverrides });\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const toggle = parseToggle(args[0]);\n const transparency = args.length > 0 ? parseFloat(args[1]) : undefined;\n return typeof toggle === \"string\" ? false : this.run(toggle, transparency);\n }\n}\n"]}
1
+ {"version":3,"file":"RealityModelTools.js","sourceRoot":"","sources":["../../../src/tools/RealityModelTools.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 { FeatureAppearance, FeatureAppearanceProps, RgbColorProps } from \"@itwin/core-common\";\nimport { getCesiumAssetUrl, IModelApp, NotifyMessageDetails, OutputMessagePriority, Tool, Viewport } from \"@itwin/core-frontend\";\nimport { copyStringToClipboard } from \"../ClipboardUtilities\";\nimport { parseBoolean } from \"./parseBoolean\";\nimport { parseToggle } from \"./parseToggle\";\n\n/** This tool attaches a specified reality model.\n * @beta\n */\nexport class AttachRealityModelTool extends Tool {\n public static override toolId = \"AttachRealityModelTool\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 1; }\n\n /** This method runs the tool, attaching a specified reality model.\n * @param data a [[ContextRealityModelProps]] JSON representation\n */\n public override async run(data: string): Promise<boolean> {\n const props = JSON.parse(data);\n const vp = IModelApp.viewManager.selectedView;\n if (vp === undefined)\n return false;\n\n if (props === undefined || props.tilesetUrl === undefined) {\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, `Properties ${props} are not valid`));\n }\n\n vp.displayStyle.attachRealityModel(props);\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, `Reality Model ${props.tilesetUrl} attached`));\n\n return true;\n }\n\n /** Executes this tool's run method with args[0] containing `data`.\n * @see [[run]]\n */\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args[0]);\n }\n}\n\n/** This tool saves a reality model's JSON representation to the system clipboard.\n * @beta */\nexport class SaveRealityModelTool extends Tool {\n public static override toolId = \"SaveRealityModelTool\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n /** This method runs the tool, saving a reality model's JSON representation to the system clipboard.\n * @param name the name of the reality model to copy; if undefined, copy the last found reality model\n */\n public override async run(name: string | undefined): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (vp === undefined)\n return false;\n vp.displayStyle.forEachRealityModel((realityModel) => {\n if (name === undefined || realityModel.name === name) {\n copyStringToClipboard(JSON.stringify(realityModel.toJSON()));\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, `Reality Model ${realityModel.name} copied to clipboard`));\n }\n });\n\n return true;\n }\n\n /** Executes this tool's run method with args[0] containing `name`.\n * @see [[run]]\n */\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args.length > 0 ? args[0] : undefined);\n }\n}\n\nfunction changeRealityModelAppearanceOverrides(vp: Viewport, overrides: FeatureAppearanceProps, index: number): boolean {\n if (index < 0) {\n for (const model of vp.displayStyle.settings.contextRealityModels.models)\n model.appearanceOverrides = model.appearanceOverrides ? model.appearanceOverrides.clone(overrides) : FeatureAppearance.fromJSON(overrides);\n\n return vp.displayStyle.settings.contextRealityModels.models.length > 0;\n } else {\n const model = vp.displayStyle.settings.contextRealityModels.models[index];\n if (!model)\n return false;\n\n model.appearanceOverrides = model.appearanceOverrides ? model.appearanceOverrides.clone(overrides) : FeatureAppearance.fromJSON(overrides);\n return true;\n }\n}\n\nfunction appearanceChangedString(index: number) {\n return index < 0 ? `All Reality Models` : `Reality Model at Index: ${index}`;\n}\n\n/** Set reality model appearance override for transparency in display style.\n * @beta\n */\nexport class SetRealityModelTransparencyTool extends Tool {\n public static override toolId = \"SetRealityModelTransparencyTool\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 2; }\n\n public override async run(transparency: number, index: number): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (vp === undefined)\n return false;\n\n const changed = changeRealityModelAppearanceOverrides(vp, { transparency }, index);\n\n if (changed)\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, `${appearanceChangedString(index)} set to transparency: ${transparency}`));\n\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(parseFloat(args[0]), args.length > 1 ? parseInt(args[1], 10) : -1);\n }\n}\n/** Set reality model appearance override for locatable in display style.\n * @beta\n */\nexport class SetRealityModelLocateTool extends Tool {\n public static override toolId = \"SetRealityModelLocateTool\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 2; }\n\n public override async run(locate: boolean, index: number): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (vp === undefined)\n return false;\n\n const nonLocatable = locate ? undefined : true;\n const changed = changeRealityModelAppearanceOverrides(vp, { nonLocatable }, index);\n\n if (changed)\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, `${appearanceChangedString(index)} set to locate: ${locate}`));\n\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const locate = parseBoolean(args[0]);\n return locate === undefined ? false : this.run(locate, args.length > 1 ? parseInt(args[1], 10) : -1);\n }\n}\n\n/** Set reality model appearance override for emphasized in display style.\n * @beta\n */\nexport class SetRealityModelEmphasizedTool extends Tool {\n public static override toolId = \"SetRealityModelEmphasizedTool\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 2; }\n\n public override async run(emphasized: true | undefined, index: number): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (vp === undefined)\n return false;\n\n const changed = changeRealityModelAppearanceOverrides(vp, { emphasized }, index);\n\n if (changed)\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, `${appearanceChangedString(index)} set to emphasized: ${emphasized}`));\n\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const emphasized = parseBoolean(args[0]);\n return emphasized === undefined ? false : this.run(emphasized ? true : undefined, args.length > 1 ? parseInt(args[1], 10) : -1);\n }\n}\n\n/** Detach reality model from display style.\n * @beta\n */\nexport class DetachRealityModelTool extends Tool {\n public static override toolId = \"ViewportDetachRealityModel\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n public override async run(index: number): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (vp === undefined)\n return false;\n\n if (index < 0) {\n vp.displayStyle.settings.contextRealityModels.models.forEach((model) => vp.displayStyle.settings.contextRealityModels.delete(model));\n return true;\n } else {\n const model = vp.displayStyle.settings.contextRealityModels.models[index];\n if (!model)\n return false;\n\n vp.displayStyle.settings.contextRealityModels.delete(model);\n return true;\n }\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args.length > 0 ? parseInt(args[0], 10) : -1);\n }\n}\n\n/** Set reality model appearance override for color in display style.\n * @beta\n */\nexport class SetRealityModelColorTool extends Tool {\n public static override toolId = \"SetRealityModelColorTool\";\n public static override get minArgs() { return 3; }\n public static override get maxArgs() { return 4; }\n\n public override async run(rgb: RgbColorProps, index: number): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (vp === undefined)\n return false;\n\n const changed = changeRealityModelAppearanceOverrides(vp, { rgb }, index);\n\n if (changed)\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, `${appearanceChangedString(index)} set to RGB color: (${rgb.r}, ${rgb.g}, ${rgb.b})`));\n\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run({ r: parseFloat(args[0]), g: parseFloat(args[1]), b: parseFloat(args[2]) }, args.length > 3 ? parseInt(args[3], 10) : -1);\n }\n}\n\n/** Clear reality model appearance override in display style.\n * @beta\n */\nexport class ClearRealityModelAppearanceOverrides extends Tool {\n public static override toolId = \"ClearRealityModelAppearanceOverrides\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n public override async run(index: number): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (!vp)\n return false;\n\n const model = vp.displayStyle.settings.contextRealityModels.models[index];\n if (!model)\n return false;\n\n model.appearanceOverrides = undefined;\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args[0] === undefined ? -1 : parseInt(args[0], 10));\n }\n}\n\n/** Attach a cesium asset from the Ion ID and key.\n * @beta\n */\nexport class AttachCesiumAssetTool extends Tool {\n public static override toolId = \"AttachCesiumAssetTool\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 2; }\n\n public override async run(assetId: number, requestKey: string): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (vp === undefined)\n return false;\n\n // attach using getCesiumAssetUrl\n const accessKey = requestKey ? requestKey : IModelApp.tileAdmin.cesiumIonKey ? IModelApp.tileAdmin.cesiumIonKey : \"\";\n const props = {\n tilesetUrl: getCesiumAssetUrl(\n assetId,\n accessKey,\n ),\n };\n // Alternative new way to attach using rdSourceKey\n // const rdSourceKey = RealityDataSource.createCesiumIonAssetKey(assetId, accessKey);\n // const props: ContextRealityModelProps = { rdSourceKey, tilesetUrl: getCesiumAssetUrl(assetId, accessKey) };\n\n vp.displayStyle.attachRealityModel(props);\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, `Cesium Asset #${assetId} attached`));\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const assetId = parseInt(args[0], 10);\n return Number.isNaN(assetId) ? false : this.run(assetId, args[1]);\n }\n}\n\n/** Turn on/off display of OpenStreetMap buildings\n * @beta\n */\nexport class ToggleOSMBuildingDisplay extends Tool {\n public static override toolId = \"SetBuildingDisplay\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 2; }\n\n public override async run(onOff?: boolean, transparency?: number): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (vp === undefined)\n return false;\n\n if (onOff === undefined)\n onOff = undefined === vp.displayStyle.getOSMBuildingRealityModel(); // Toggle current state.\n\n const appearanceOverrides = (transparency !== undefined && transparency > 0 && transparency < 1) ? FeatureAppearance.fromJSON({ transparency }) : undefined;\n\n vp.displayStyle.setOSMBuildingDisplay({ onOff, appearanceOverrides });\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const toggle = parseToggle(args[0]);\n const transparency = args.length > 0 ? parseFloat(args[1]) : undefined;\n return typeof toggle === \"string\" ? false : this.run(toggle, transparency);\n }\n}\n"]}
@@ -24,6 +24,7 @@ var FadeMode;
24
24
  class RealityTransitionTool extends core_frontend_1.Tool {
25
25
  static get minArgs() { return 0; }
26
26
  static get maxArgs() { return 1; }
27
+ static toolId = "RealityTransition";
27
28
  /** This method runs the tool, applying a transition in X, Y, Z, or transparency.
28
29
  * @param fadeMode whether to apply the transition in X, Y, Z, or transparency
29
30
  */
@@ -112,5 +113,4 @@ class RealityTransitionTool extends core_frontend_1.Tool {
112
113
  }
113
114
  }
114
115
  exports.RealityTransitionTool = RealityTransitionTool;
115
- RealityTransitionTool.toolId = "RealityTransition";
116
116
  //# sourceMappingURL=RealityTransitionTool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RealityTransitionTool.js","sourceRoot":"","sources":["../../../src/tools/RealityTransitionTool.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F;;GAEG;AAEH,wDAAgD;AAChD,oDAAoD;AACpD,wDAAuD;AAEvD,IAAK,QAAiC;AAAtC,WAAK,QAAQ;IAAG,iCAAC,CAAA;IAAE,iCAAC,CAAA;IAAE,iCAAC,CAAA;IAAE,qDAAW,CAAA;AAAC,CAAC,EAAjC,QAAQ,KAAR,QAAQ,QAAyB;AAEtC;;GAEG;AACH,MAAa,qBAAsB,SAAQ,oBAAI;IACtC,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElD;;OAEG;IACa,KAAK,CAAC,GAAG,CAAC,WAAqB,QAAQ,CAAC,CAAC;QACvD,MAAM,EAAE,GAAG,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,SAAS,KAAK,EAAE;YAClB,OAAO,IAAI,CAAC;QAEd,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;QACrC,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;QACrE,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;QACvC,MAAM,UAAU,GAAG,CAAC,wBAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,wBAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,wBAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClG,MAAM,eAAe,GAAsC,EAAE,OAAO,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC;QACjG,MAAM,gBAAgB,GAAsC,EAAE,OAAO,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC;QAElG,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC1B,MAAM,cAAc,GAAG,IAAI,KAAK,EAAuC,CAAC;gBACxE,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBACvE,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBACrE,MAAM,eAAe,GAAG,IAAI,KAAK,EAAuC,CAAC;gBACzE,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBACtE,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBACxE,eAAe,CAAC,kBAAkB,GAAG,cAAc,CAAC;gBACpD,gBAAgB,CAAC,kBAAkB,GAAG,eAAe,CAAC;gBACtD,MAAM;YACR,CAAC;YAED,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,cAAc,GAAG,IAAI,KAAK,EAAyC,CAAC;gBAC1E,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3K,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9K,MAAM,eAAe,GAAG,IAAI,KAAK,EAAyC,CAAC;gBAC3E,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/K,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClL,eAAe,CAAC,oBAAoB,GAAG,cAAc,CAAC;gBACtD,gBAAgB,CAAC,oBAAoB,GAAG,eAAe,CAAC;gBACxD,MAAM;YACR,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAA+B,EAAE,CAAC;QACnD,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,WAAW,CAAC,IAAI,CAAC;gBACf,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC;gBACzE,OAAO,EAAE,KAAK,CAAC,EAAE;aAClB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,YAAY,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,EAAE;YACzC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;YAC3D,IAAI,OAAO,EAAE,CAAC;gBACZ,WAAW,CAAC,IAAI,CAAC;oBACf,GAAG,gBAAgB;oBACnB,OAAO;oBACP,eAAe,EAAE,KAAK,CAAC,GAAG;iBAC3B,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,4BAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,MAAM,EAAE,CAAC;YACX,YAAY,CAAC,cAAc,GAAG,MAAM,CAAC;YACrC,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QACrC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACa,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,MAAM,eAAe,GAAG;YACtB,GAAG;YACH,GAAG;YACH,GAAG;YACH,aAAa;SACd,CAAC;QACF,IAAI,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChD,IAAI,GAAG,KAAK,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/B,IAAI,GAAG,CAAC,CAAC;oBACT,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;;AAlGH,sDAmGC;AAhGwB,4BAAM,GAAG,mBAAmB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Tools\n */\n\nimport { Vector3d } from \"@itwin/core-geometry\";\nimport { RenderSchedule } from \"@itwin/core-common\";\nimport { IModelApp, Tool } from \"@itwin/core-frontend\";\n\nenum FadeMode { X, Y, Z, Transparent }\n\n/** This tool applies a transition in X, Y, Z, or transparency.\n * @beta\n */\nexport class RealityTransitionTool extends Tool {\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n public static override toolId = \"RealityTransition\";\n /** This method runs the tool, applying a transition in X, Y, Z, or transparency.\n * @param fadeMode whether to apply the transition in X, Y, Z, or transparency\n */\n public override async run(fadeMode: FadeMode = FadeMode.X): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (undefined === vp)\n return true;\n\n const displayStyle = vp.displayStyle;\n const view = vp.view;\n const timeNow = Date.now(), timeEnd = timeNow + 1000.0 * 60.0 * 60.0;\n const range = vp.iModel.projectExtents;\n const directions = [Vector3d.create(1, 0, 0), Vector3d.create(0, 1, 0), Vector3d.create(0, 0, 1)];\n const modelInTimeline: RenderSchedule.ModelTimelineProps = { modelId: \"\", elementTimelines: [] };\n const modelOutTimeline: RenderSchedule.ModelTimelineProps = { modelId: \"\", elementTimelines: [] };\n\n switch (fadeMode) {\n case FadeMode.Transparent: {\n const fadeInTimeline = new Array<RenderSchedule.VisibilityEntryProps>();\n fadeInTimeline.push({ time: timeNow, interpolation: 2, value: 100.0 });\n fadeInTimeline.push({ time: timeEnd, interpolation: 2, value: 0.0 });\n const fadeOutTimeline = new Array<RenderSchedule.VisibilityEntryProps>();\n fadeOutTimeline.push({ time: timeNow, interpolation: 2, value: 0.0 });\n fadeOutTimeline.push({ time: timeEnd, interpolation: 2, value: 100.0 });\n modelInTimeline.visibilityTimeline = fadeInTimeline;\n modelOutTimeline.visibilityTimeline = fadeOutTimeline;\n break;\n }\n\n default: {\n const direction = directions[fadeMode - FadeMode.X];\n const clipInTimeline = new Array<RenderSchedule.CuttingPlaneEntryProps>();\n clipInTimeline.push({ time: timeNow, interpolation: 2, value: { position: [range.low.x, range.low.y, range.low.z], direction: [direction.x, direction.y, direction.z] } });\n clipInTimeline.push({ time: timeEnd, interpolation: 2, value: { position: [range.high.x, range.high.y, range.high.z], direction: [direction.x, direction.y, direction.z] } });\n const clipOutTimeline = new Array<RenderSchedule.CuttingPlaneEntryProps>();\n clipOutTimeline.push({ time: timeNow, interpolation: 2, value: { position: [range.low.x, range.low.y, range.low.z], direction: [-direction.x, -direction.y, -direction.z] } });\n clipOutTimeline.push({ time: timeEnd, interpolation: 2, value: { position: [range.high.x, range.high.y, range.high.z], direction: [-direction.x, -direction.y, -direction.z] } });\n modelInTimeline.cuttingPlaneTimeline = clipInTimeline;\n modelOutTimeline.cuttingPlaneTimeline = clipOutTimeline;\n break;\n }\n }\n\n const scriptProps: RenderSchedule.ScriptProps = [];\n view.forEachModel((model) => {\n scriptProps.push({\n ...(model.jsonProperties.tilesetUrl ? modelOutTimeline : modelInTimeline),\n modelId: model.id,\n });\n });\n\n displayStyle.forEachRealityModel((model) => {\n const modelId = model.treeRef?.treeOwner.tileTree?.modelId;\n if (modelId) {\n scriptProps.push({\n ...modelOutTimeline,\n modelId,\n realityModelUrl: model.url,\n });\n }\n });\n\n const script = RenderSchedule.Script.fromJSON(scriptProps);\n if (script) {\n displayStyle.scheduleScript = script;\n vp.timePoint = script.duration.low;\n }\n\n return true;\n }\n\n /** Executes this tool's run method.\n * @param args the first entry of this array contains either \"x\", \"y\", \"z\", or \"transparent\", indicating the type of transition to apply.\n * @see [[run]]\n */\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const transitionNames = [\n \"x\",\n \"y\",\n \"z\",\n \"transparent\",\n ];\n let fade = FadeMode.X;\n if (0 !== args.length) {\n const arg = args[0].toLowerCase();\n for (let i = 0; i < transitionNames.length; i++) {\n if (arg === transitionNames[i]) {\n fade = i;\n break;\n }\n }\n }\n\n return this.run(fade);\n }\n}\n"]}
1
+ {"version":3,"file":"RealityTransitionTool.js","sourceRoot":"","sources":["../../../src/tools/RealityTransitionTool.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 { Vector3d } from \"@itwin/core-geometry\";\nimport { RenderSchedule } from \"@itwin/core-common\";\nimport { IModelApp, Tool } from \"@itwin/core-frontend\";\n\nenum FadeMode { X, Y, Z, Transparent }\n\n/** This tool applies a transition in X, Y, Z, or transparency.\n * @beta\n */\nexport class RealityTransitionTool extends Tool {\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n public static override toolId = \"RealityTransition\";\n /** This method runs the tool, applying a transition in X, Y, Z, or transparency.\n * @param fadeMode whether to apply the transition in X, Y, Z, or transparency\n */\n public override async run(fadeMode: FadeMode = FadeMode.X): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (undefined === vp)\n return true;\n\n const displayStyle = vp.displayStyle;\n const view = vp.view;\n const timeNow = Date.now(), timeEnd = timeNow + 1000.0 * 60.0 * 60.0;\n const range = vp.iModel.projectExtents;\n const directions = [Vector3d.create(1, 0, 0), Vector3d.create(0, 1, 0), Vector3d.create(0, 0, 1)];\n const modelInTimeline: RenderSchedule.ModelTimelineProps = { modelId: \"\", elementTimelines: [] };\n const modelOutTimeline: RenderSchedule.ModelTimelineProps = { modelId: \"\", elementTimelines: [] };\n\n switch (fadeMode) {\n case FadeMode.Transparent: {\n const fadeInTimeline = new Array<RenderSchedule.VisibilityEntryProps>();\n fadeInTimeline.push({ time: timeNow, interpolation: 2, value: 100.0 });\n fadeInTimeline.push({ time: timeEnd, interpolation: 2, value: 0.0 });\n const fadeOutTimeline = new Array<RenderSchedule.VisibilityEntryProps>();\n fadeOutTimeline.push({ time: timeNow, interpolation: 2, value: 0.0 });\n fadeOutTimeline.push({ time: timeEnd, interpolation: 2, value: 100.0 });\n modelInTimeline.visibilityTimeline = fadeInTimeline;\n modelOutTimeline.visibilityTimeline = fadeOutTimeline;\n break;\n }\n\n default: {\n const direction = directions[fadeMode - FadeMode.X];\n const clipInTimeline = new Array<RenderSchedule.CuttingPlaneEntryProps>();\n clipInTimeline.push({ time: timeNow, interpolation: 2, value: { position: [range.low.x, range.low.y, range.low.z], direction: [direction.x, direction.y, direction.z] } });\n clipInTimeline.push({ time: timeEnd, interpolation: 2, value: { position: [range.high.x, range.high.y, range.high.z], direction: [direction.x, direction.y, direction.z] } });\n const clipOutTimeline = new Array<RenderSchedule.CuttingPlaneEntryProps>();\n clipOutTimeline.push({ time: timeNow, interpolation: 2, value: { position: [range.low.x, range.low.y, range.low.z], direction: [-direction.x, -direction.y, -direction.z] } });\n clipOutTimeline.push({ time: timeEnd, interpolation: 2, value: { position: [range.high.x, range.high.y, range.high.z], direction: [-direction.x, -direction.y, -direction.z] } });\n modelInTimeline.cuttingPlaneTimeline = clipInTimeline;\n modelOutTimeline.cuttingPlaneTimeline = clipOutTimeline;\n break;\n }\n }\n\n const scriptProps: RenderSchedule.ScriptProps = [];\n view.forEachModel((model) => {\n scriptProps.push({\n ...(model.jsonProperties.tilesetUrl ? modelOutTimeline : modelInTimeline),\n modelId: model.id,\n });\n });\n\n displayStyle.forEachRealityModel((model) => {\n const modelId = model.treeRef?.treeOwner.tileTree?.modelId;\n if (modelId) {\n scriptProps.push({\n ...modelOutTimeline,\n modelId,\n realityModelUrl: model.url,\n });\n }\n });\n\n const script = RenderSchedule.Script.fromJSON(scriptProps);\n if (script) {\n displayStyle.scheduleScript = script;\n vp.timePoint = script.duration.low;\n }\n\n return true;\n }\n\n /** Executes this tool's run method.\n * @param args the first entry of this array contains either \"x\", \"y\", \"z\", or \"transparent\", indicating the type of transition to apply.\n * @see [[run]]\n */\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const transitionNames = [\n \"x\",\n \"y\",\n \"z\",\n \"transparent\",\n ];\n let fade = FadeMode.X;\n if (0 !== args.length) {\n const arg = args[0].toLowerCase();\n for (let i = 0; i < transitionNames.length; i++) {\n if (arg === transitionNames[i]) {\n fade = i;\n break;\n }\n }\n }\n\n return this.run(fade);\n }\n}\n"]}
@@ -26,31 +26,33 @@ exports.RenderSystemDebugControlTool = RenderSystemDebugControlTool;
26
26
  * @beta
27
27
  */
28
28
  class LoseWebGLContextTool extends RenderSystemDebugControlTool {
29
+ static toolId = "LoseWebGLContext";
29
30
  execute(control) {
30
31
  control.loseContext();
31
32
  }
32
33
  }
33
34
  exports.LoseWebGLContextTool = LoseWebGLContextTool;
34
- LoseWebGLContextTool.toolId = "LoseWebGLContext";
35
35
  /** Compiles all registered shader programs for which compilation has not already been attempted.
36
36
  * This is useful for uncovering/debugging platform-specific shader issues.
37
37
  * @beta
38
38
  */
39
39
  class CompileShadersTool extends RenderSystemDebugControlTool {
40
+ static toolId = "CompileShaders";
40
41
  execute(control) {
41
42
  const compiled = control.compileAllShaders();
42
43
  core_frontend_1.IModelApp.notifications.outputMessage(new core_frontend_1.NotifyMessageDetails(compiled ? core_frontend_1.OutputMessagePriority.Info : core_frontend_1.OutputMessagePriority.Error, `${compiled ? "No" : "Some"} compilation errors occurred.`));
43
44
  }
44
45
  }
45
46
  exports.CompileShadersTool = CompileShadersTool;
46
- CompileShadersTool.toolId = "CompileShaders";
47
47
  /** Toggles whether or not device pixel ratio should be taken into account when computing LOD for tiles and decoration graphics.
48
48
  * @see [RenderSystem.Options.dpiAwareLOD]($frontend)
49
49
  * @beta
50
50
  */
51
51
  class ToggleDPIForLODTool extends RenderSystemDebugControlTool {
52
+ static toolId = "ToggleDPIForLOD";
52
53
  static get minArgs() { return 0; }
53
54
  static get maxArgs() { return 1; }
55
+ _enable;
54
56
  execute(control) {
55
57
  const enable = this._enable ?? !control.dpiAwareLOD;
56
58
  control.dpiAwareLOD = enable;
@@ -66,5 +68,4 @@ class ToggleDPIForLODTool extends RenderSystemDebugControlTool {
66
68
  }
67
69
  }
68
70
  exports.ToggleDPIForLODTool = ToggleDPIForLODTool;
69
- ToggleDPIForLODTool.toolId = "ToggleDPIForLOD";
70
71
  //# sourceMappingURL=RenderSystemTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RenderSystemTools.js","sourceRoot":"","sources":["../../../src/tools/RenderSystemTools.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F;;GAEG;AAEH,wDAA8H;AAC9H,+CAA4C;AAE5C;;GAEG;AACH,MAAsB,4BAA6B,SAAQ,oBAAI;IAC7C,KAAK,CAAC,GAAG,CAAC,KAAY;QACpC,MAAM,OAAO,GAAG,yBAAS,CAAC,YAAY,CAAC,YAAY,CAAC;QACpD,IAAI,SAAS,KAAK,OAAO;YACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAExB,OAAO,IAAI,CAAC;IACd,CAAC;CAGF;AAVD,oEAUC;AAED;;GAEG;AACH,MAAa,oBAAqB,SAAQ,4BAA4B;IAE7D,OAAO,CAAC,OAAiC;QAC9C,OAAO,CAAC,WAAW,EAAE,CAAC;IACxB,CAAC;;AAJH,oDAKC;AAJwB,2BAAM,GAAG,kBAAkB,CAAC;AAMrD;;;GAGG;AACH,MAAa,kBAAmB,SAAQ,4BAA4B;IAE3D,OAAO,CAAC,OAAiC;QAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC7C,yBAAS,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,oCAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,qCAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,qCAAqB,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,+BAA+B,CAAC,CAAC,CAAC;IACnM,CAAC;;AALH,gDAMC;AALwB,yBAAM,GAAG,gBAAgB,CAAC;AAOnD;;;GAGG;AACH,MAAa,mBAAoB,SAAQ,4BAA4B;IAE5D,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAI3C,OAAO,CAAC,OAAiC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QACpD,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC;QAC7B,yBAAS,CAAC,WAAW,CAAC,wBAAwB,EAAE,CAAC;IACnD,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,MAAM,MAAM,GAAG,IAAA,yBAAW,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;;AArBH,kDAsBC;AArBwB,0BAAM,GAAG,iBAAiB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Tools\n */\n\nimport { IModelApp, NotifyMessageDetails, OutputMessagePriority, RenderSystemDebugControl, Tool } from \"@itwin/core-frontend\";\nimport { parseToggle } from \"./parseToggle\";\n\n/** Executes some code against a RenderSystemDebugControl obtained from the IModelApp's RenderSystem.\n * @beta\n */\nexport abstract class RenderSystemDebugControlTool extends Tool {\n public override async run(_args: any[]): Promise<boolean> {\n const control = IModelApp.renderSystem.debugControl;\n if (undefined !== control)\n this.execute(control);\n\n return true;\n }\n\n protected abstract execute(_control: RenderSystemDebugControl): void;\n}\n\n/** Forces webgl context loss.\n * @beta\n */\nexport class LoseWebGLContextTool extends RenderSystemDebugControlTool {\n public static override toolId = \"LoseWebGLContext\";\n public execute(control: RenderSystemDebugControl): void {\n control.loseContext();\n }\n}\n\n/** Compiles all registered shader programs for which compilation has not already been attempted.\n * This is useful for uncovering/debugging platform-specific shader issues.\n * @beta\n */\nexport class CompileShadersTool extends RenderSystemDebugControlTool {\n public static override toolId = \"CompileShaders\";\n public execute(control: RenderSystemDebugControl): void {\n const compiled = control.compileAllShaders();\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(compiled ? OutputMessagePriority.Info : OutputMessagePriority.Error, `${compiled ? \"No\" : \"Some\"} compilation errors occurred.`));\n }\n}\n\n/** Toggles whether or not device pixel ratio should be taken into account when computing LOD for tiles and decoration graphics.\n * @see [RenderSystem.Options.dpiAwareLOD]($frontend)\n * @beta\n */\nexport class ToggleDPIForLODTool extends RenderSystemDebugControlTool {\n public static override toolId = \"ToggleDPIForLOD\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n private _enable?: boolean;\n\n public execute(control: RenderSystemDebugControl): void {\n const enable = this._enable ?? !control.dpiAwareLOD;\n control.dpiAwareLOD = enable;\n IModelApp.viewManager.invalidateViewportScenes();\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const enable = parseToggle(args[0]);\n if (typeof enable !== \"string\") {\n this._enable = enable;\n await this.run([]);\n }\n\n return true;\n }\n}\n"]}
1
+ {"version":3,"file":"RenderSystemTools.js","sourceRoot":"","sources":["../../../src/tools/RenderSystemTools.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F;;GAEG;AAEH,wDAA8H;AAC9H,+CAA4C;AAE5C;;GAEG;AACH,MAAsB,4BAA6B,SAAQ,oBAAI;IAC7C,KAAK,CAAC,GAAG,CAAC,KAAY;QACpC,MAAM,OAAO,GAAG,yBAAS,CAAC,YAAY,CAAC,YAAY,CAAC;QACpD,IAAI,SAAS,KAAK,OAAO;YACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAExB,OAAO,IAAI,CAAC;IACd,CAAC;CAGF;AAVD,oEAUC;AAED;;GAEG;AACH,MAAa,oBAAqB,SAAQ,4BAA4B;IAC7D,MAAM,CAAU,MAAM,GAAG,kBAAkB,CAAC;IAC5C,OAAO,CAAC,OAAiC;QAC9C,OAAO,CAAC,WAAW,EAAE,CAAC;IACxB,CAAC;;AAJH,oDAKC;AAED;;;GAGG;AACH,MAAa,kBAAmB,SAAQ,4BAA4B;IAC3D,MAAM,CAAU,MAAM,GAAG,gBAAgB,CAAC;IAC1C,OAAO,CAAC,OAAiC;QAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC7C,yBAAS,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,oCAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,qCAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,qCAAqB,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,+BAA+B,CAAC,CAAC,CAAC;IACnM,CAAC;;AALH,gDAMC;AAED;;;GAGG;AACH,MAAa,mBAAoB,SAAQ,4BAA4B;IAC5D,MAAM,CAAU,MAAM,GAAG,iBAAiB,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAE1C,OAAO,CAAW;IAEnB,OAAO,CAAC,OAAiC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QACpD,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC;QAC7B,yBAAS,CAAC,WAAW,CAAC,wBAAwB,EAAE,CAAC;IACnD,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,MAAM,MAAM,GAAG,IAAA,yBAAW,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;;AArBH,kDAsBC","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 { IModelApp, NotifyMessageDetails, OutputMessagePriority, RenderSystemDebugControl, Tool } from \"@itwin/core-frontend\";\nimport { parseToggle } from \"./parseToggle\";\n\n/** Executes some code against a RenderSystemDebugControl obtained from the IModelApp's RenderSystem.\n * @beta\n */\nexport abstract class RenderSystemDebugControlTool extends Tool {\n public override async run(_args: any[]): Promise<boolean> {\n const control = IModelApp.renderSystem.debugControl;\n if (undefined !== control)\n this.execute(control);\n\n return true;\n }\n\n protected abstract execute(_control: RenderSystemDebugControl): void;\n}\n\n/** Forces webgl context loss.\n * @beta\n */\nexport class LoseWebGLContextTool extends RenderSystemDebugControlTool {\n public static override toolId = \"LoseWebGLContext\";\n public execute(control: RenderSystemDebugControl): void {\n control.loseContext();\n }\n}\n\n/** Compiles all registered shader programs for which compilation has not already been attempted.\n * This is useful for uncovering/debugging platform-specific shader issues.\n * @beta\n */\nexport class CompileShadersTool extends RenderSystemDebugControlTool {\n public static override toolId = \"CompileShaders\";\n public execute(control: RenderSystemDebugControl): void {\n const compiled = control.compileAllShaders();\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(compiled ? OutputMessagePriority.Info : OutputMessagePriority.Error, `${compiled ? \"No\" : \"Some\"} compilation errors occurred.`));\n }\n}\n\n/** Toggles whether or not device pixel ratio should be taken into account when computing LOD for tiles and decoration graphics.\n * @see [RenderSystem.Options.dpiAwareLOD]($frontend)\n * @beta\n */\nexport class ToggleDPIForLODTool extends RenderSystemDebugControlTool {\n public static override toolId = \"ToggleDPIForLOD\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n private _enable?: boolean;\n\n public execute(control: RenderSystemDebugControl): void {\n const enable = this._enable ?? !control.dpiAwareLOD;\n control.dpiAwareLOD = enable;\n IModelApp.viewManager.invalidateViewportScenes();\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const enable = parseToggle(args[0]);\n if (typeof enable !== \"string\") {\n this._enable = enable;\n await this.run([]);\n }\n\n return true;\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  /** @packageDocumentation
2
2
  * @module Tools
3
3
  */
4
- import { RenderTargetDebugControl, ScreenViewport, Tool } from "@itwin/core-frontend";
4
+ import { type RenderTargetDebugControl, ScreenViewport, Tool } from "@itwin/core-frontend";
5
5
  /** Executes some code against a RenderTargetDebugControl obtained from the selected viewport.
6
6
  * @beta
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"RenderTargetTools.d.ts","sourceRoot":"","sources":["../../../src/tools/RenderTargetTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RenderTargetTools.d.ts","sourceRoot":"","sources":["../../../src/tools/RenderTargetTools.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@ exports.RenderTargetDebugControlTool = RenderTargetDebugControlTool;
29
29
  class RenderTargetDebugControlToggleTool extends RenderTargetDebugControlTool {
30
30
  static get minArgs() { return 0; }
31
31
  static get maxArgs() { return 1; }
32
+ _enable;
32
33
  execute(control, vp) {
33
34
  const value = undefined !== this._enable ? this._enable : !control[this.aspect];
34
35
  control[this.aspect] = value;
@@ -48,37 +49,35 @@ exports.RenderTargetDebugControlToggleTool = RenderTargetDebugControlToggleTool;
48
49
  * @beta
49
50
  */
50
51
  class ToggleReadPixelsTool extends RenderTargetDebugControlToggleTool {
52
+ static toolId = "ToggleReadPixels";
51
53
  get aspect() { return "drawForReadPixels"; }
52
54
  }
53
55
  exports.ToggleReadPixelsTool = ToggleReadPixelsTool;
54
- ToggleReadPixelsTool.toolId = "ToggleReadPixels";
55
56
  /** Turn on the display of the draping frustum.
56
57
  * @beta
57
58
  */
58
59
  class ToggleDrapeFrustumTool extends RenderTargetDebugControlToggleTool {
60
+ static toolId = "ToggleDrapeFrustum";
59
61
  get aspect() { return "displayDrapeFrustum"; }
60
62
  }
61
63
  exports.ToggleDrapeFrustumTool = ToggleDrapeFrustumTool;
62
- ToggleDrapeFrustumTool.toolId = "ToggleDrapeFrustum";
63
64
  /** Turn on the display of the planar mask frustum.
64
65
  * @beta
65
66
  */
66
67
  class ToggleMaskFrustumTool extends RenderTargetDebugControlToggleTool {
68
+ static toolId = "ToggleMaskFrustum";
67
69
  get aspect() { return "displayMaskFrustum"; }
68
70
  }
69
71
  exports.ToggleMaskFrustumTool = ToggleMaskFrustumTool;
70
- ToggleMaskFrustumTool.toolId = "ToggleMaskFrustum";
71
72
  /** Control whether all geometry renders, or only instanced or batched geometry.
72
73
  * Allowed argument: "instanced", "batched", "all". Defaults to "all" if no arguments supplied.
73
74
  * @beta
74
75
  */
75
76
  class TogglePrimitiveVisibilityTool extends RenderTargetDebugControlTool {
76
- constructor() {
77
- super(...arguments);
78
- this._visibility = core_frontend_1.PrimitiveVisibility.All;
79
- }
77
+ static toolId = "TogglePrimitiveVisibility";
80
78
  static get minArgs() { return 0; }
81
79
  static get maxArgs() { return 1; }
80
+ _visibility = core_frontend_1.PrimitiveVisibility.All;
82
81
  execute(control, vp) {
83
82
  control.primitiveVisibility = this._visibility;
84
83
  vp.invalidateScene();
@@ -102,58 +101,55 @@ class TogglePrimitiveVisibilityTool extends RenderTargetDebugControlTool {
102
101
  }
103
102
  }
104
103
  exports.TogglePrimitiveVisibilityTool = TogglePrimitiveVisibilityTool;
105
- TogglePrimitiveVisibilityTool.toolId = "TogglePrimitiveVisibility";
106
104
  /** Turn on display of reality tile boundaries.
107
105
  * @beta
108
106
  */
109
107
  class ToggleRealityTileBounds extends RenderTargetDebugControlToggleTool {
108
+ static toolId = "ToggleRealityTileBounds";
110
109
  get aspect() { return "displayRealityTileRanges"; }
111
110
  }
112
111
  exports.ToggleRealityTileBounds = ToggleRealityTileBounds;
113
- ToggleRealityTileBounds.toolId = "ToggleRealityTileBounds";
114
112
  /** Turn on display of reality tile preload debugging.
115
113
  * @beta
116
114
  */
117
115
  class ToggleRealityTilePreload extends RenderTargetDebugControlToggleTool {
116
+ static toolId = "ToggleRealityTilePreload";
118
117
  get aspect() { return "displayRealityTilePreload"; }
119
118
  }
120
119
  exports.ToggleRealityTilePreload = ToggleRealityTilePreload;
121
- ToggleRealityTilePreload.toolId = "ToggleRealityTilePreload";
122
120
  /** Freeze loading of reality tiles.
123
121
  * @beta
124
122
  */
125
123
  class ToggleRealityTileFreeze extends RenderTargetDebugControlToggleTool {
124
+ static toolId = "ToggleRealityTileFreeze";
126
125
  get aspect() { return "freezeRealityTiles"; }
127
126
  }
128
127
  exports.ToggleRealityTileFreeze = ToggleRealityTileFreeze;
129
- ToggleRealityTileFreeze.toolId = "ToggleRealityTileFreeze";
130
128
  /** Turn on logging of console tile selection and loading (to console).
131
129
  * @beta
132
130
  */
133
131
  class ToggleRealityTileLogging extends RenderTargetDebugControlToggleTool {
132
+ static toolId = "ToggleRealityTileLogging";
134
133
  get aspect() { return "logRealityTiles"; }
135
134
  }
136
135
  exports.ToggleRealityTileLogging = ToggleRealityTileLogging;
137
- ToggleRealityTileLogging.toolId = "ToggleRealityTileLogging";
138
136
  /** Toggles support for intersecting volume classifiers.
139
137
  * @beta
140
138
  */
141
139
  class ToggleVolClassIntersect extends RenderTargetDebugControlToggleTool {
140
+ static toolId = "ToggleVCIntersect";
142
141
  get aspect() { return "vcSupportIntersectingVolumes"; }
143
142
  }
144
143
  exports.ToggleVolClassIntersect = ToggleVolClassIntersect;
145
- ToggleVolClassIntersect.toolId = "ToggleVCIntersect";
146
144
  /** Set the number of antialiasing samples to use (<=1 for no antialiasing).
147
145
  * @beta
148
146
  */
149
147
  class SetAASamplesTool extends RenderTargetDebugControlTool {
150
- constructor() {
151
- super(...arguments);
152
- this._aaSamples = 1;
153
- this._changeAll = false;
154
- }
148
+ static toolId = "SetAASamples";
155
149
  static get minArgs() { return 1; }
156
150
  static get maxArgs() { return 2; }
151
+ _aaSamples = 1;
152
+ _changeAll = false;
157
153
  execute(_control, vp) {
158
154
  if (this._changeAll)
159
155
  core_frontend_1.IModelApp.viewManager.setAntialiasingAllViews(this._aaSamples);
@@ -171,13 +167,12 @@ class SetAASamplesTool extends RenderTargetDebugControlTool {
171
167
  }
172
168
  }
173
169
  exports.SetAASamplesTool = SetAASamplesTool;
174
- SetAASamplesTool.toolId = "SetAASamples";
175
170
  /** Toggles support for normal maps.
176
171
  * @beta
177
172
  */
178
173
  class ToggleNormalMaps extends RenderTargetDebugControlToggleTool {
174
+ static toolId = "ToggleNormalMaps";
179
175
  get aspect() { return "displayNormalMaps"; }
180
176
  }
181
177
  exports.ToggleNormalMaps = ToggleNormalMaps;
182
- ToggleNormalMaps.toolId = "ToggleNormalMaps";
183
178
  //# sourceMappingURL=RenderTargetTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RenderTargetTools.js","sourceRoot":"","sources":["../../../src/tools/RenderTargetTools.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 { IModelApp, PrimitiveVisibility, RenderTargetDebugControl, ScreenViewport, Tool } from \"@itwin/core-frontend\";\nimport { parseToggle } from \"./parseToggle\";\n\n/** Executes some code against a RenderTargetDebugControl obtained from the selected viewport.\n * @beta\n */\nexport abstract class RenderTargetDebugControlTool extends Tool {\n public override async run(_args: any[]): Promise<boolean> {\n const view = IModelApp.viewManager.selectedView;\n const control = undefined !== view ? view.target.debugControl : undefined;\n if (undefined !== control)\n this.execute(control, view!);\n\n return true;\n }\n\n protected abstract execute(_control: RenderTargetDebugControl, _vp: ScreenViewport): void;\n}\n\ntype DebugControlBoolean =\n \"displayDrapeFrustum\" | \"displayMaskFrustum\" | \"drawForReadPixels\" | \"displayRealityTileRanges\" | \"displayRealityTileRanges\" |\n \"displayRealityTilePreload\" | \"freezeRealityTiles\" | \"logRealityTiles\" | \"vcSupportIntersectingVolumes\" | \"displayNormalMaps\";\n\n/** Toggles some aspect of a RenderTargetDebugControl for the selected viewport.\n * @beta\n */\nexport abstract class RenderTargetDebugControlToggleTool extends RenderTargetDebugControlTool {\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n private _enable?: boolean;\n\n protected abstract get aspect(): DebugControlBoolean;\n\n protected execute(control: RenderTargetDebugControl, vp: ScreenViewport): void {\n const value = undefined !== this._enable ? this._enable : !control[this.aspect];\n control[this.aspect] = value;\n vp.invalidateRenderPlan();\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const enable = parseToggle(args[0]);\n if (typeof enable !== \"string\") {\n this._enable = enable;\n await this.run([]);\n }\n\n return true;\n }\n}\n\n/** Toggles between normal rendering and rendering as if drawing to an off-screen framebuffer for element locate. Useful for debugging locate issues.\n * @beta\n */\nexport class ToggleReadPixelsTool extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleReadPixels\";\n public get aspect(): DebugControlBoolean { return \"drawForReadPixels\"; }\n}\n\n/** Turn on the display of the draping frustum.\n * @beta\n */\nexport class ToggleDrapeFrustumTool extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleDrapeFrustum\";\n public get aspect(): DebugControlBoolean { return \"displayDrapeFrustum\"; }\n}\n\n/** Turn on the display of the planar mask frustum.\n * @beta\n */\nexport class ToggleMaskFrustumTool extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleMaskFrustum\";\n public get aspect(): DebugControlBoolean { return \"displayMaskFrustum\"; }\n}\n\n/** Control whether all geometry renders, or only instanced or batched geometry.\n * Allowed argument: \"instanced\", \"batched\", \"all\". Defaults to \"all\" if no arguments supplied.\n * @beta\n */\nexport class TogglePrimitiveVisibilityTool extends RenderTargetDebugControlTool {\n public static override toolId = \"TogglePrimitiveVisibility\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n private _visibility = PrimitiveVisibility.All;\n\n public execute(control: RenderTargetDebugControl, vp: ScreenViewport): void {\n control.primitiveVisibility = this._visibility;\n vp.invalidateScene();\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n if (0 < args.length) {\n switch (args[0].toLowerCase()) {\n case \"instanced\":\n this._visibility = PrimitiveVisibility.Instanced;\n break;\n case \"batched\":\n this._visibility = PrimitiveVisibility.Uninstanced;\n break;\n case \"all\":\n break;\n default:\n return true;\n }\n }\n\n return this.run(args);\n }\n}\n\n/** Turn on display of reality tile boundaries.\n * @beta\n */\nexport class ToggleRealityTileBounds extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleRealityTileBounds\";\n public get aspect(): DebugControlBoolean { return \"displayRealityTileRanges\"; }\n}\n\n/** Turn on display of reality tile preload debugging.\n * @beta\n */\nexport class ToggleRealityTilePreload extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleRealityTilePreload\";\n public get aspect(): DebugControlBoolean { return \"displayRealityTilePreload\"; }\n}\n/** Freeze loading of reality tiles.\n * @beta\n */\nexport class ToggleRealityTileFreeze extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleRealityTileFreeze\";\n public get aspect(): DebugControlBoolean { return \"freezeRealityTiles\"; }\n}\n\n/** Turn on logging of console tile selection and loading (to console).\n * @beta\n */\nexport class ToggleRealityTileLogging extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleRealityTileLogging\";\n public get aspect(): DebugControlBoolean { return \"logRealityTiles\"; }\n}\n\n/** Toggles support for intersecting volume classifiers.\n * @beta\n */\nexport class ToggleVolClassIntersect extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleVCIntersect\";\n public get aspect(): DebugControlBoolean { return \"vcSupportIntersectingVolumes\"; }\n}\n\n/** Set the number of antialiasing samples to use (<=1 for no antialiasing).\n * @beta\n */\nexport class SetAASamplesTool extends RenderTargetDebugControlTool {\n public static override toolId = \"SetAASamples\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 2; }\n\n private _aaSamples = 1;\n private _changeAll = false;\n\n public execute(_control: RenderTargetDebugControl, vp: ScreenViewport): void {\n if (this._changeAll)\n IModelApp.viewManager.setAntialiasingAllViews(this._aaSamples);\n else\n vp.antialiasSamples = this._aaSamples;\n }\n\n /** Runs this tool, setting the number of antialiasing samples to use (<=1 for no antialiasing).\n * @param args contains the arguments used by the tool's run method: args[0] contains the number of samples; optionally args[1] can contain the word \"all\" in order to set those number of samples for all viewports.\n */\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n if (0 < args.length)\n this._aaSamples = parseInt(args[0], 10);\n this._changeAll = (1 < args.length && args[1].toLowerCase() === \"all\");\n\n return this.run(args);\n }\n}\n\n/** Toggles support for normal maps.\n * @beta\n */\nexport class ToggleNormalMaps extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleNormalMaps\";\n public get aspect(): DebugControlBoolean { return \"displayNormalMaps\"; }\n}\n"]}
1
+ {"version":3,"file":"RenderTargetTools.js","sourceRoot":"","sources":["../../../src/tools/RenderTargetTools.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 { IModelApp, PrimitiveVisibility, type RenderTargetDebugControl, ScreenViewport, Tool } from \"@itwin/core-frontend\";\nimport { parseToggle } from \"./parseToggle\";\n\n/** Executes some code against a RenderTargetDebugControl obtained from the selected viewport.\n * @beta\n */\nexport abstract class RenderTargetDebugControlTool extends Tool {\n public override async run(_args: any[]): Promise<boolean> {\n const view = IModelApp.viewManager.selectedView;\n const control = undefined !== view ? view.target.debugControl : undefined;\n if (undefined !== control)\n this.execute(control, view!);\n\n return true;\n }\n\n protected abstract execute(_control: RenderTargetDebugControl, _vp: ScreenViewport): void;\n}\n\ntype DebugControlBoolean =\n \"displayDrapeFrustum\" | \"displayMaskFrustum\" | \"drawForReadPixels\" | \"displayRealityTileRanges\" | \"displayRealityTileRanges\" |\n \"displayRealityTilePreload\" | \"freezeRealityTiles\" | \"logRealityTiles\" | \"vcSupportIntersectingVolumes\" | \"displayNormalMaps\";\n\n/** Toggles some aspect of a RenderTargetDebugControl for the selected viewport.\n * @beta\n */\nexport abstract class RenderTargetDebugControlToggleTool extends RenderTargetDebugControlTool {\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n private _enable?: boolean;\n\n protected abstract get aspect(): DebugControlBoolean;\n\n protected execute(control: RenderTargetDebugControl, vp: ScreenViewport): void {\n const value = undefined !== this._enable ? this._enable : !control[this.aspect];\n control[this.aspect] = value;\n vp.invalidateRenderPlan();\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const enable = parseToggle(args[0]);\n if (typeof enable !== \"string\") {\n this._enable = enable;\n await this.run([]);\n }\n\n return true;\n }\n}\n\n/** Toggles between normal rendering and rendering as if drawing to an off-screen framebuffer for element locate. Useful for debugging locate issues.\n * @beta\n */\nexport class ToggleReadPixelsTool extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleReadPixels\";\n public get aspect(): DebugControlBoolean { return \"drawForReadPixels\"; }\n}\n\n/** Turn on the display of the draping frustum.\n * @beta\n */\nexport class ToggleDrapeFrustumTool extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleDrapeFrustum\";\n public get aspect(): DebugControlBoolean { return \"displayDrapeFrustum\"; }\n}\n\n/** Turn on the display of the planar mask frustum.\n * @beta\n */\nexport class ToggleMaskFrustumTool extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleMaskFrustum\";\n public get aspect(): DebugControlBoolean { return \"displayMaskFrustum\"; }\n}\n\n/** Control whether all geometry renders, or only instanced or batched geometry.\n * Allowed argument: \"instanced\", \"batched\", \"all\". Defaults to \"all\" if no arguments supplied.\n * @beta\n */\nexport class TogglePrimitiveVisibilityTool extends RenderTargetDebugControlTool {\n public static override toolId = \"TogglePrimitiveVisibility\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n private _visibility = PrimitiveVisibility.All;\n\n public execute(control: RenderTargetDebugControl, vp: ScreenViewport): void {\n control.primitiveVisibility = this._visibility;\n vp.invalidateScene();\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n if (0 < args.length) {\n switch (args[0].toLowerCase()) {\n case \"instanced\":\n this._visibility = PrimitiveVisibility.Instanced;\n break;\n case \"batched\":\n this._visibility = PrimitiveVisibility.Uninstanced;\n break;\n case \"all\":\n break;\n default:\n return true;\n }\n }\n\n return this.run(args);\n }\n}\n\n/** Turn on display of reality tile boundaries.\n * @beta\n */\nexport class ToggleRealityTileBounds extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleRealityTileBounds\";\n public get aspect(): DebugControlBoolean { return \"displayRealityTileRanges\"; }\n}\n\n/** Turn on display of reality tile preload debugging.\n * @beta\n */\nexport class ToggleRealityTilePreload extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleRealityTilePreload\";\n public get aspect(): DebugControlBoolean { return \"displayRealityTilePreload\"; }\n}\n/** Freeze loading of reality tiles.\n * @beta\n */\nexport class ToggleRealityTileFreeze extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleRealityTileFreeze\";\n public get aspect(): DebugControlBoolean { return \"freezeRealityTiles\"; }\n}\n\n/** Turn on logging of console tile selection and loading (to console).\n * @beta\n */\nexport class ToggleRealityTileLogging extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleRealityTileLogging\";\n public get aspect(): DebugControlBoolean { return \"logRealityTiles\"; }\n}\n\n/** Toggles support for intersecting volume classifiers.\n * @beta\n */\nexport class ToggleVolClassIntersect extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleVCIntersect\";\n public get aspect(): DebugControlBoolean { return \"vcSupportIntersectingVolumes\"; }\n}\n\n/** Set the number of antialiasing samples to use (<=1 for no antialiasing).\n * @beta\n */\nexport class SetAASamplesTool extends RenderTargetDebugControlTool {\n public static override toolId = \"SetAASamples\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 2; }\n\n private _aaSamples = 1;\n private _changeAll = false;\n\n public execute(_control: RenderTargetDebugControl, vp: ScreenViewport): void {\n if (this._changeAll)\n IModelApp.viewManager.setAntialiasingAllViews(this._aaSamples);\n else\n vp.antialiasSamples = this._aaSamples;\n }\n\n /** Runs this tool, setting the number of antialiasing samples to use (<=1 for no antialiasing).\n * @param args contains the arguments used by the tool's run method: args[0] contains the number of samples; optionally args[1] can contain the word \"all\" in order to set those number of samples for all viewports.\n */\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n if (0 < args.length)\n this._aaSamples = parseInt(args[0], 10);\n this._changeAll = (1 < args.length && args[1].toLowerCase() === \"all\");\n\n return this.run(args);\n }\n}\n\n/** Toggles support for normal maps.\n * @beta\n */\nexport class ToggleNormalMaps extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleNormalMaps\";\n public get aspect(): DebugControlBoolean { return \"displayNormalMaps\"; }\n}\n"]}
@@ -13,6 +13,7 @@ const core_frontend_1 = require("@itwin/core-frontend");
13
13
  * @beta
14
14
  */
15
15
  class ReportWebGLCompatibilityTool extends core_frontend_1.Tool {
16
+ static toolId = "ReportWebGLCompatibility";
16
17
  async run(_args) {
17
18
  const info = core_frontend_1.IModelApp.queryRenderCompatibility();
18
19
  const statuses = ["OK", "Missing Optional Features", "Major Performance Caveat", "Missing Required Features", "Failed to Create Context"];
@@ -27,5 +28,4 @@ class ReportWebGLCompatibilityTool extends core_frontend_1.Tool {
27
28
  }
28
29
  }
29
30
  exports.ReportWebGLCompatibilityTool = ReportWebGLCompatibilityTool;
30
- ReportWebGLCompatibilityTool.toolId = "ReportWebGLCompatibility";
31
31
  //# sourceMappingURL=ReportWebGLCompatibilityTool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReportWebGLCompatibilityTool.js","sourceRoot":"","sources":["../../../src/tools/ReportWebGLCompatibilityTool.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F;;GAEG;AAEH,wDAA2F;AAE3F;;GAEG;AACH,MAAa,4BAA6B,SAAQ,oBAAI;IAEpC,KAAK,CAAC,GAAG,CAAC,KAAY;QACpC,MAAM,IAAI,GAAG,yBAAS,CAAC,wBAAwB,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,0BAA0B,CAAC,CAAC;QAC1I,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,uBAAuB;QAEnE,MAAM,GAAG,GAAG,kBAAkB,MAAM,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;QAE/C,MAAM,yBAAS,CAAC,aAAa,CAAC,cAAc,CAAC,8BAAc,CAAC,EAAE,EAAE,IAAI,EAAE,kCAAkB,CAAC,WAAW,CAAC,CAAC;QACtG,OAAO,IAAI,CAAC;IACd,CAAC;;AAfH,oEAgBC;AAfwB,mCAAM,GAAG,0BAA0B,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Tools\n */\n\nimport { IModelApp, MessageBoxIconType, MessageBoxType, Tool } from \"@itwin/core-frontend\";\n\n/** Queries the client's level of compatibility with the rendering system and outputs it to NotificationManager.\n * @beta\n */\nexport class ReportWebGLCompatibilityTool extends Tool {\n public static override toolId = \"ReportWebGLCompatibility\";\n public override async run(_args: any[]): Promise<boolean> {\n const info = IModelApp.queryRenderCompatibility();\n const statuses = [\"OK\", \"Missing Optional Features\", \"Major Performance Caveat\", \"Missing Required Features\", \"Failed to Create Context\"];\n const status = info.status < statuses.length ? statuses[info.status] : \"UNKNOWN\";\n const json = JSON.stringify(info, null, 2); // prettify JSON output\n\n const msg = `Compatibility: ${status}\\n${json}`;\n const html = document.createElement(\"div\");\n html.style.whiteSpace = \"pre-wrap\";\n html.appendChild(document.createTextNode(msg));\n\n await IModelApp.notifications.openMessageBox(MessageBoxType.Ok, html, MessageBoxIconType.Information);\n return true;\n }\n}\n"]}
1
+ {"version":3,"file":"ReportWebGLCompatibilityTool.js","sourceRoot":"","sources":["../../../src/tools/ReportWebGLCompatibilityTool.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F;;GAEG;AAEH,wDAA2F;AAE3F;;GAEG;AACH,MAAa,4BAA6B,SAAQ,oBAAI;IAC7C,MAAM,CAAU,MAAM,GAAG,0BAA0B,CAAC;IAC3C,KAAK,CAAC,GAAG,CAAC,KAAY;QACpC,MAAM,IAAI,GAAG,yBAAS,CAAC,wBAAwB,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,0BAA0B,CAAC,CAAC;QAC1I,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,uBAAuB;QAEnE,MAAM,GAAG,GAAG,kBAAkB,MAAM,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;QAE/C,MAAM,yBAAS,CAAC,aAAa,CAAC,cAAc,CAAC,8BAAc,CAAC,EAAE,EAAE,IAAI,EAAE,kCAAkB,CAAC,WAAW,CAAC,CAAC;QACtG,OAAO,IAAI,CAAC;IACd,CAAC;;AAfH,oEAgBC","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 { IModelApp, MessageBoxIconType, MessageBoxType, Tool } from \"@itwin/core-frontend\";\n\n/** Queries the client's level of compatibility with the rendering system and outputs it to NotificationManager.\n * @beta\n */\nexport class ReportWebGLCompatibilityTool extends Tool {\n public static override toolId = \"ReportWebGLCompatibility\";\n public override async run(_args: any[]): Promise<boolean> {\n const info = IModelApp.queryRenderCompatibility();\n const statuses = [\"OK\", \"Missing Optional Features\", \"Major Performance Caveat\", \"Missing Required Features\", \"Failed to Create Context\"];\n const status = info.status < statuses.length ? statuses[info.status] : \"UNKNOWN\";\n const json = JSON.stringify(info, null, 2); // prettify JSON output\n\n const msg = `Compatibility: ${status}\\n${json}`;\n const html = document.createElement(\"div\");\n html.style.whiteSpace = \"pre-wrap\";\n html.appendChild(document.createTextNode(msg));\n\n await IModelApp.notifications.openMessageBox(MessageBoxType.Ok, html, MessageBoxIconType.Information);\n return true;\n }\n}\n"]}
@@ -39,12 +39,10 @@ async function deserializeViewState(props, iModel) {
39
39
  * @beta
40
40
  */
41
41
  class SaveViewTool extends core_frontend_1.Tool {
42
- constructor() {
43
- super(...arguments);
44
- this._quote = false;
45
- }
42
+ _quote = false;
46
43
  static get minArgs() { return 0; }
47
44
  static get maxArgs() { return 1; }
45
+ static toolId = "SaveView";
48
46
  parse(inputArgs) {
49
47
  const args = (0, parseArgs_1.parseArgs)(inputArgs);
50
48
  function getArg(name) {
@@ -79,13 +77,13 @@ class SaveViewTool extends core_frontend_1.Tool {
79
77
  }
80
78
  }
81
79
  exports.SaveViewTool = SaveViewTool;
82
- SaveViewTool.toolId = "SaveView";
83
80
  /** Given a string containing a JSON representation of a ViewState, applies that ViewState to the active viewport.
84
81
  * The JSON string should be enclosed in double quotes and embedded double quote should be duplicated, example:
85
82
  * - "{""viewDefinitionProps"":{""classFullName"":""BisCore:SpatialViewDefinition"",""id"":""0x1a""}}"
86
83
  * @beta
87
84
  */
88
85
  class ApplyViewTool extends core_frontend_1.Tool {
86
+ static toolId = "ApplyView";
89
87
  static get maxArgs() { return 1; }
90
88
  static get minArgs() { return 1; }
91
89
  async run(view) {
@@ -110,11 +108,11 @@ class ApplyViewTool extends core_frontend_1.Tool {
110
108
  }
111
109
  }
112
110
  exports.ApplyViewTool = ApplyViewTool;
113
- ApplyViewTool.toolId = "ApplyView";
114
111
  /** Given the Id of a persistent ViewDefinition, applies that view to the active viewport.
115
112
  * @beta
116
113
  */
117
114
  class ApplyViewByIdTool extends core_frontend_1.Tool {
115
+ static toolId = "ApplyViewById";
118
116
  static get minArgs() { return 1; }
119
117
  static get maxArgs() { return 1; }
120
118
  async parseAndRun(...args) {
@@ -133,5 +131,4 @@ class ApplyViewByIdTool extends core_frontend_1.Tool {
133
131
  }
134
132
  }
135
133
  exports.ApplyViewByIdTool = ApplyViewByIdTool;
136
- ApplyViewByIdTool.toolId = "ApplyViewById";
137
134
  //# sourceMappingURL=SavedViews.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SavedViews.js","sourceRoot":"","sources":["../../../src/tools/SavedViews.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Tools\n */\n\nimport { BentleyError } from \"@itwin/core-bentley\";\nimport { ViewStateProps } from \"@itwin/core-common\";\nimport {\n EntityState, IModelApp, IModelConnection, NotifyMessageDetails, OutputMessagePriority, Tool, ViewState,\n} from \"@itwin/core-frontend\";\nimport { copyStringToClipboard } from \"../ClipboardUtilities\";\nimport { parseArgs } from \"./parseArgs\";\n\n/** Serialize a ViewState to JSON. The returned JSON can later be passed to [deserializeViewState] to reinstantiate the ViewState.\n * @beta\n */\nexport function serializeViewState(view: ViewState): ViewStateProps {\n return view.toProps();\n}\n\n/** Instantiate a ViewState serialized by [serializeViewState].\n * @beta\n */\nexport async function deserializeViewState(props: ViewStateProps, iModel: IModelConnection): Promise<ViewState> {\n const ctor = await iModel.findClassFor<typeof EntityState>(props.viewDefinitionProps.classFullName, undefined) as typeof ViewState | undefined;\n if (undefined === ctor)\n throw new Error(\"Class not found\");\n\n const view = ctor.createFromProps(props, iModel);\n if (undefined === view)\n throw new Error(\"Failed to construct ViewState\");\n\n await view.load();\n return view;\n}\n\n/** Copies a JSON representation of the active viewport's view to the clipboard.\n * * Arguments:\n * * `quote`: format the JSON so it can be parsed directly by [ApplyViewTool].\n * @beta\n */\nexport class SaveViewTool extends Tool {\n private _quote = false;\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n public static override toolId = \"SaveView\";\n\n public parse(inputArgs: string[]) {\n const args = parseArgs(inputArgs);\n function getArg(name: string): true | undefined {\n return args.getBoolean(name) ? true : undefined;\n }\n\n this._quote = true === getArg(\"q\");\n\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n if (this.parse(args))\n return this.run();\n else\n return false;\n }\n\n public override async run(): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (undefined === vp) {\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, \"No viewport\"));\n return true;\n }\n\n try {\n let json = JSON.stringify(serializeViewState(vp.view));\n if (this._quote)\n json = `\"${json.replace(/\"/g, '\"\"')}\"`;\n copyStringToClipboard(json);\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, \"JSON copied to clipboard\"));\n } catch (err) {\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, BentleyError.getErrorMessage(err) || \"An unknown error occurred.\"));\n }\n\n return true;\n }\n}\n\n/** Given a string containing a JSON representation of a ViewState, applies that ViewState to the active viewport.\n * The JSON string should be enclosed in double quotes and embedded double quote should be duplicated, example:\n * - \"{\"\"viewDefinitionProps\"\":{\"\"classFullName\"\":\"\"BisCore:SpatialViewDefinition\"\",\"\"id\"\":\"\"0x1a\"\"}}\"\n * @beta\n */\nexport class ApplyViewTool extends Tool {\n public static override toolId = \"ApplyView\";\n public static override get maxArgs() { return 1; }\n public static override get minArgs() { return 1; }\n\n public override async run(view?: ViewState): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (undefined !== view && undefined !== vp)\n vp.changeView(view);\n\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (undefined === vp || 0 === args.length)\n return true;\n\n try {\n const json = JSON.parse(args[0]);\n\n const view = await deserializeViewState(json, vp.iModel);\n await this.run(view);\n } catch (err) {\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, BentleyError.getErrorMessage(err) || \"An unknown error occurred.\"));\n }\n\n return true;\n }\n}\n\n/** Given the Id of a persistent ViewDefinition, applies that view to the active viewport.\n * @beta\n */\nexport class ApplyViewByIdTool extends Tool {\n public static override toolId = \"ApplyViewById\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 1; }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args[0]);\n }\n\n public override async run(viewId?: string): Promise<boolean> {\n if (typeof viewId !== \"string\")\n return false;\n\n const vp = IModelApp.viewManager.selectedView;\n if (!vp)\n return false;\n\n vp.iModel.views.load(viewId).then((view) => {\n vp.changeView(view);\n }).catch(() => { });\n\n return true;\n }\n}\n"]}
1
+ {"version":3,"file":"SavedViews.js","sourceRoot":"","sources":["../../../src/tools/SavedViews.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Tools\n */\n\nimport { BentleyError } from \"@itwin/core-bentley\";\nimport { ViewStateProps } from \"@itwin/core-common\";\nimport {\n EntityState, IModelApp, IModelConnection, NotifyMessageDetails, OutputMessagePriority, Tool, ViewState,\n} from \"@itwin/core-frontend\";\nimport { copyStringToClipboard } from \"../ClipboardUtilities\";\nimport { parseArgs } from \"./parseArgs\";\n\n/** Serialize a ViewState to JSON. The returned JSON can later be passed to [deserializeViewState] to reinstantiate the ViewState.\n * @beta\n */\nexport function serializeViewState(view: ViewState): ViewStateProps {\n return view.toProps();\n}\n\n/** Instantiate a ViewState serialized by [serializeViewState].\n * @beta\n */\nexport async function deserializeViewState(props: ViewStateProps, iModel: IModelConnection): Promise<ViewState> {\n const ctor = await iModel.findClassFor<typeof EntityState>(props.viewDefinitionProps.classFullName, undefined) as typeof ViewState | undefined;\n if (undefined === ctor)\n throw new Error(\"Class not found\");\n\n const view = ctor.createFromProps(props, iModel);\n if (undefined === view)\n throw new Error(\"Failed to construct ViewState\");\n\n await view.load();\n return view;\n}\n\n/** Copies a JSON representation of the active viewport's view to the clipboard.\n * * Arguments:\n * * `quote`: format the JSON so it can be parsed directly by [ApplyViewTool].\n * @beta\n */\nexport class SaveViewTool extends Tool {\n private _quote = false;\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n public static override toolId = \"SaveView\";\n\n public parse(inputArgs: string[]) {\n const args = parseArgs(inputArgs);\n function getArg(name: string): true | undefined {\n return args.getBoolean(name) ? true : undefined;\n }\n\n this._quote = true === getArg(\"q\");\n\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n if (this.parse(args))\n return this.run();\n else\n return false;\n }\n\n public override async run(): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (undefined === vp) {\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, \"No viewport\"));\n return true;\n }\n\n try {\n let json = JSON.stringify(serializeViewState(vp.view));\n if (this._quote)\n json = `\"${json.replace(/\"/g, '\"\"')}\"`;\n copyStringToClipboard(json);\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, \"JSON copied to clipboard\"));\n } catch (err) {\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, BentleyError.getErrorMessage(err) || \"An unknown error occurred.\"));\n }\n\n return true;\n }\n}\n\n/** Given a string containing a JSON representation of a ViewState, applies that ViewState to the active viewport.\n * The JSON string should be enclosed in double quotes and embedded double quote should be duplicated, example:\n * - \"{\"\"viewDefinitionProps\"\":{\"\"classFullName\"\":\"\"BisCore:SpatialViewDefinition\"\",\"\"id\"\":\"\"0x1a\"\"}}\"\n * @beta\n */\nexport class ApplyViewTool extends Tool {\n public static override toolId = \"ApplyView\";\n public static override get maxArgs() { return 1; }\n public static override get minArgs() { return 1; }\n\n public override async run(view?: ViewState): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (undefined !== view && undefined !== vp)\n vp.changeView(view);\n\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (undefined === vp || 0 === args.length)\n return true;\n\n try {\n const json = JSON.parse(args[0]);\n\n const view = await deserializeViewState(json, vp.iModel);\n await this.run(view);\n } catch (err) {\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, BentleyError.getErrorMessage(err) || \"An unknown error occurred.\"));\n }\n\n return true;\n }\n}\n\n/** Given the Id of a persistent ViewDefinition, applies that view to the active viewport.\n * @beta\n */\nexport class ApplyViewByIdTool extends Tool {\n public static override toolId = \"ApplyViewById\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 1; }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args[0]);\n }\n\n public override async run(viewId?: string): Promise<boolean> {\n if (typeof viewId !== \"string\")\n return false;\n\n const vp = IModelApp.viewManager.selectedView;\n if (!vp)\n return false;\n\n vp.iModel.views.load(viewId).then((view) => {\n vp.changeView(view);\n }).catch(() => { });\n\n return true;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ScheduleScriptTools.d.ts","sourceRoot":"","sources":["../../../src/tools/ScheduleScriptTools.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,gBAAgB;IAC3D,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,iBAAiB,CAAS;IAElC,OAAuB,MAAM,SAAyB;IACtD,WAA2B,OAAO,WAAgB;IAClD,WAA2B,OAAO,WAAgB;IAErC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ;IA8BnC,OAAO,CAAC,EAAE,EAAE,QAAQ;CAsClC;AAqBD;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,gBAAgB;IAC7D,OAAuB,MAAM,SAA2B;IAElC,OAAO,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBhD,KAAK;CAGnB;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,gBAAgB;IACzD,OAAuB,MAAM,SAAuB;IACpD,WAA2B,OAAO,WAAgB;IAClD,WAA2B,OAAO,WAAgB;IAElD,OAAO,CAAC,OAAO,CAAC,CAAwB;IAElB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAcvC,OAAO,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;CAI9D"}
1
+ {"version":3,"file":"ScheduleScriptTools.d.ts","sourceRoot":"","sources":["../../../src/tools/ScheduleScriptTools.ts"],"names":[],"mappings":"AAaA,OAAO,EAA4B,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAG1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,gBAAgB;IAC3D,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,iBAAiB,CAAS;IAElC,OAAuB,MAAM,SAAyB;IACtD,WAA2B,OAAO,WAAgB;IAClD,WAA2B,OAAO,WAAgB;IAErC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ;IA6BnC,OAAO,CAAC,EAAE,EAAE,QAAQ;CAsClC;AAqBD;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,gBAAgB;IAC7D,OAAuB,MAAM,SAA2B;IAElC,OAAO,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBhD,KAAK;CAGnB;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,gBAAgB;IACzD,OAAuB,MAAM,SAAuB;IACpD,WAA2B,OAAO,WAAgB;IAClD,WAA2B,OAAO,WAAgB;IAElD,OAAO,CAAC,OAAO,CAAC,CAAwB;IAElB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAcvC,OAAO,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;CAI9D"}