@itwin/frontend-devtools 5.0.0-dev.56 → 5.0.0-dev.58

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 (183) hide show
  1. package/lib/cjs/FrontEndDevTools.js +1 -1
  2. package/lib/cjs/FrontEndDevTools.js.map +1 -1
  3. package/lib/cjs/effects/Convolution.js +6 -6
  4. package/lib/cjs/effects/Convolution.js.map +1 -1
  5. package/lib/cjs/effects/EffectTools.js +2 -2
  6. package/lib/cjs/effects/EffectTools.js.map +1 -1
  7. package/lib/cjs/effects/Explosion.js +33 -21
  8. package/lib/cjs/effects/Explosion.js.map +1 -1
  9. package/lib/cjs/effects/FlipImage.js +2 -2
  10. package/lib/cjs/effects/FlipImage.js.map +1 -1
  11. package/lib/cjs/effects/LensDistortion.js +4 -4
  12. package/lib/cjs/effects/LensDistortion.js.map +1 -1
  13. package/lib/cjs/effects/Saturation.js +3 -3
  14. package/lib/cjs/effects/Saturation.js.map +1 -1
  15. package/lib/cjs/effects/Snow.js +15 -5
  16. package/lib/cjs/effects/Snow.js.map +1 -1
  17. package/lib/cjs/effects/Vignette.js +5 -5
  18. package/lib/cjs/effects/Vignette.js.map +1 -1
  19. package/lib/cjs/tools/AnimationIntervalTool.js +1 -1
  20. package/lib/cjs/tools/AnimationIntervalTool.js.map +1 -1
  21. package/lib/cjs/tools/ChangeUnitsTool.js +1 -1
  22. package/lib/cjs/tools/ChangeUnitsTool.js.map +1 -1
  23. package/lib/cjs/tools/ClipTools.js +6 -8
  24. package/lib/cjs/tools/ClipTools.js.map +1 -1
  25. package/lib/cjs/tools/DisplayStyleTools.js +21 -25
  26. package/lib/cjs/tools/DisplayStyleTools.js.map +1 -1
  27. package/lib/cjs/tools/EmphasizeElementsTool.js +7 -13
  28. package/lib/cjs/tools/EmphasizeElementsTool.js.map +1 -1
  29. package/lib/cjs/tools/FrustumDecoration.js +28 -9
  30. package/lib/cjs/tools/FrustumDecoration.js.map +1 -1
  31. package/lib/cjs/tools/InspectElementTool.js +7 -6
  32. package/lib/cjs/tools/InspectElementTool.js.map +1 -1
  33. package/lib/cjs/tools/MapLayerTool.js +24 -20
  34. package/lib/cjs/tools/MapLayerTool.js.map +1 -1
  35. package/lib/cjs/tools/MeasureTileLoadTime.js +4 -1
  36. package/lib/cjs/tools/MeasureTileLoadTime.js.map +1 -1
  37. package/lib/cjs/tools/ModelAppearanceTools.js +9 -9
  38. package/lib/cjs/tools/ModelAppearanceTools.js.map +1 -1
  39. package/lib/cjs/tools/PlanProjectionTools.js +8 -15
  40. package/lib/cjs/tools/PlanProjectionTools.js.map +1 -1
  41. package/lib/cjs/tools/PlanarMaskTools.js +20 -25
  42. package/lib/cjs/tools/PlanarMaskTools.js.map +1 -1
  43. package/lib/cjs/tools/ProjectExtents.js +6 -3
  44. package/lib/cjs/tools/ProjectExtents.js.map +1 -1
  45. package/lib/cjs/tools/RealityModelTools.js +10 -10
  46. package/lib/cjs/tools/RealityModelTools.js.map +1 -1
  47. package/lib/cjs/tools/RealityTransitionTool.js +1 -1
  48. package/lib/cjs/tools/RealityTransitionTool.js.map +1 -1
  49. package/lib/cjs/tools/RenderSystemTools.js +4 -3
  50. package/lib/cjs/tools/RenderSystemTools.js.map +1 -1
  51. package/lib/cjs/tools/RenderTargetTools.js +15 -20
  52. package/lib/cjs/tools/RenderTargetTools.js.map +1 -1
  53. package/lib/cjs/tools/ReportWebGLCompatibilityTool.js +1 -1
  54. package/lib/cjs/tools/ReportWebGLCompatibilityTool.js.map +1 -1
  55. package/lib/cjs/tools/SavedViews.js +4 -7
  56. package/lib/cjs/tools/SavedViews.js.map +1 -1
  57. package/lib/cjs/tools/ScheduleScriptTools.d.ts.map +1 -1
  58. package/lib/cjs/tools/ScheduleScriptTools.js +11 -12
  59. package/lib/cjs/tools/ScheduleScriptTools.js.map +1 -1
  60. package/lib/cjs/tools/SelectionTools.js +4 -6
  61. package/lib/cjs/tools/SelectionTools.js.map +1 -1
  62. package/lib/cjs/tools/SetGpuMemoryLimitTool.js +1 -1
  63. package/lib/cjs/tools/SetGpuMemoryLimitTool.js.map +1 -1
  64. package/lib/cjs/tools/SourceAspectIdTools.js +2 -2
  65. package/lib/cjs/tools/SourceAspectIdTools.js.map +1 -1
  66. package/lib/cjs/tools/TileRequestDecoration.js +6 -3
  67. package/lib/cjs/tools/TileRequestDecoration.js.map +1 -1
  68. package/lib/cjs/tools/TileTreeBoundsDecoration.js +5 -3
  69. package/lib/cjs/tools/TileTreeBoundsDecoration.js.map +1 -1
  70. package/lib/cjs/tools/ToolTipProvider.js +2 -1
  71. package/lib/cjs/tools/ToolTipProvider.js.map +1 -1
  72. package/lib/cjs/tools/ViewportTools.js +22 -19
  73. package/lib/cjs/tools/ViewportTools.js.map +1 -1
  74. package/lib/cjs/widgets/DiagnosticsPanel.js +10 -0
  75. package/lib/cjs/widgets/DiagnosticsPanel.js.map +1 -1
  76. package/lib/cjs/widgets/FpsTracker.js +4 -0
  77. package/lib/cjs/widgets/FpsTracker.js.map +1 -1
  78. package/lib/cjs/widgets/GpuProfiler.js +88 -81
  79. package/lib/cjs/widgets/GpuProfiler.js.map +1 -1
  80. package/lib/cjs/widgets/KeyinField.js +8 -1
  81. package/lib/cjs/widgets/KeyinField.js.map +1 -1
  82. package/lib/cjs/widgets/MemoryTracker.js +15 -3
  83. package/lib/cjs/widgets/MemoryTracker.js.map +1 -1
  84. package/lib/cjs/widgets/RenderCommandBreakdown.js +5 -1
  85. package/lib/cjs/widgets/RenderCommandBreakdown.js.map +1 -1
  86. package/lib/cjs/widgets/TileMemoryBreakdown.js +9 -7
  87. package/lib/cjs/widgets/TileMemoryBreakdown.js.map +1 -1
  88. package/lib/cjs/widgets/TileStatisticsTracker.js +4 -1
  89. package/lib/cjs/widgets/TileStatisticsTracker.js.map +1 -1
  90. package/lib/cjs/widgets/ToolSettingsTracker.js +1 -1
  91. package/lib/cjs/widgets/ToolSettingsTracker.js.map +1 -1
  92. package/lib/esm/FrontEndDevTools.js +1 -1
  93. package/lib/esm/FrontEndDevTools.js.map +1 -1
  94. package/lib/esm/effects/Convolution.js +6 -6
  95. package/lib/esm/effects/Convolution.js.map +1 -1
  96. package/lib/esm/effects/EffectTools.js +2 -2
  97. package/lib/esm/effects/EffectTools.js.map +1 -1
  98. package/lib/esm/effects/Explosion.js +33 -21
  99. package/lib/esm/effects/Explosion.js.map +1 -1
  100. package/lib/esm/effects/FlipImage.js +2 -2
  101. package/lib/esm/effects/FlipImage.js.map +1 -1
  102. package/lib/esm/effects/LensDistortion.js +4 -4
  103. package/lib/esm/effects/LensDistortion.js.map +1 -1
  104. package/lib/esm/effects/Saturation.js +3 -3
  105. package/lib/esm/effects/Saturation.js.map +1 -1
  106. package/lib/esm/effects/Snow.js +15 -5
  107. package/lib/esm/effects/Snow.js.map +1 -1
  108. package/lib/esm/effects/Vignette.js +5 -5
  109. package/lib/esm/effects/Vignette.js.map +1 -1
  110. package/lib/esm/tools/AnimationIntervalTool.js +1 -1
  111. package/lib/esm/tools/AnimationIntervalTool.js.map +1 -1
  112. package/lib/esm/tools/ChangeUnitsTool.js +1 -1
  113. package/lib/esm/tools/ChangeUnitsTool.js.map +1 -1
  114. package/lib/esm/tools/ClipTools.js +6 -8
  115. package/lib/esm/tools/ClipTools.js.map +1 -1
  116. package/lib/esm/tools/DisplayStyleTools.js +21 -25
  117. package/lib/esm/tools/DisplayStyleTools.js.map +1 -1
  118. package/lib/esm/tools/EmphasizeElementsTool.js +7 -13
  119. package/lib/esm/tools/EmphasizeElementsTool.js.map +1 -1
  120. package/lib/esm/tools/FrustumDecoration.js +28 -9
  121. package/lib/esm/tools/FrustumDecoration.js.map +1 -1
  122. package/lib/esm/tools/InspectElementTool.js +7 -6
  123. package/lib/esm/tools/InspectElementTool.js.map +1 -1
  124. package/lib/esm/tools/MapLayerTool.js +24 -20
  125. package/lib/esm/tools/MapLayerTool.js.map +1 -1
  126. package/lib/esm/tools/MeasureTileLoadTime.js +4 -1
  127. package/lib/esm/tools/MeasureTileLoadTime.js.map +1 -1
  128. package/lib/esm/tools/ModelAppearanceTools.js +9 -9
  129. package/lib/esm/tools/ModelAppearanceTools.js.map +1 -1
  130. package/lib/esm/tools/PlanProjectionTools.js +8 -15
  131. package/lib/esm/tools/PlanProjectionTools.js.map +1 -1
  132. package/lib/esm/tools/PlanarMaskTools.js +20 -25
  133. package/lib/esm/tools/PlanarMaskTools.js.map +1 -1
  134. package/lib/esm/tools/ProjectExtents.js +6 -3
  135. package/lib/esm/tools/ProjectExtents.js.map +1 -1
  136. package/lib/esm/tools/RealityModelTools.js +10 -10
  137. package/lib/esm/tools/RealityModelTools.js.map +1 -1
  138. package/lib/esm/tools/RealityTransitionTool.js +1 -1
  139. package/lib/esm/tools/RealityTransitionTool.js.map +1 -1
  140. package/lib/esm/tools/RenderSystemTools.js +4 -3
  141. package/lib/esm/tools/RenderSystemTools.js.map +1 -1
  142. package/lib/esm/tools/RenderTargetTools.js +15 -20
  143. package/lib/esm/tools/RenderTargetTools.js.map +1 -1
  144. package/lib/esm/tools/ReportWebGLCompatibilityTool.js +1 -1
  145. package/lib/esm/tools/ReportWebGLCompatibilityTool.js.map +1 -1
  146. package/lib/esm/tools/SavedViews.js +4 -7
  147. package/lib/esm/tools/SavedViews.js.map +1 -1
  148. package/lib/esm/tools/ScheduleScriptTools.d.ts.map +1 -1
  149. package/lib/esm/tools/ScheduleScriptTools.js +11 -12
  150. package/lib/esm/tools/ScheduleScriptTools.js.map +1 -1
  151. package/lib/esm/tools/SelectionTools.js +4 -6
  152. package/lib/esm/tools/SelectionTools.js.map +1 -1
  153. package/lib/esm/tools/SetGpuMemoryLimitTool.js +1 -1
  154. package/lib/esm/tools/SetGpuMemoryLimitTool.js.map +1 -1
  155. package/lib/esm/tools/SourceAspectIdTools.js +2 -2
  156. package/lib/esm/tools/SourceAspectIdTools.js.map +1 -1
  157. package/lib/esm/tools/TileRequestDecoration.js +6 -3
  158. package/lib/esm/tools/TileRequestDecoration.js.map +1 -1
  159. package/lib/esm/tools/TileTreeBoundsDecoration.js +5 -3
  160. package/lib/esm/tools/TileTreeBoundsDecoration.js.map +1 -1
  161. package/lib/esm/tools/ToolTipProvider.js +2 -1
  162. package/lib/esm/tools/ToolTipProvider.js.map +1 -1
  163. package/lib/esm/tools/ViewportTools.js +22 -19
  164. package/lib/esm/tools/ViewportTools.js.map +1 -1
  165. package/lib/esm/widgets/DiagnosticsPanel.js +10 -0
  166. package/lib/esm/widgets/DiagnosticsPanel.js.map +1 -1
  167. package/lib/esm/widgets/FpsTracker.js +4 -0
  168. package/lib/esm/widgets/FpsTracker.js.map +1 -1
  169. package/lib/esm/widgets/GpuProfiler.js +88 -81
  170. package/lib/esm/widgets/GpuProfiler.js.map +1 -1
  171. package/lib/esm/widgets/KeyinField.js +8 -1
  172. package/lib/esm/widgets/KeyinField.js.map +1 -1
  173. package/lib/esm/widgets/MemoryTracker.js +15 -3
  174. package/lib/esm/widgets/MemoryTracker.js.map +1 -1
  175. package/lib/esm/widgets/RenderCommandBreakdown.js +5 -1
  176. package/lib/esm/widgets/RenderCommandBreakdown.js.map +1 -1
  177. package/lib/esm/widgets/TileMemoryBreakdown.js +9 -7
  178. package/lib/esm/widgets/TileMemoryBreakdown.js.map +1 -1
  179. package/lib/esm/widgets/TileStatisticsTracker.js +4 -1
  180. package/lib/esm/widgets/TileStatisticsTracker.js.map +1 -1
  181. package/lib/esm/widgets/ToolSettingsTracker.js +1 -1
  182. package/lib/esm/widgets/ToolSettingsTracker.js.map +1 -1
  183. package/package.json +6 -6
@@ -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,7 +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 { this.toolId = "RealityTransition"; }
27
+ static toolId = "RealityTransition";
28
28
  /** This method runs the tool, applying a transition in X, Y, Z, or transparency.
29
29
  * @param fadeMode whether to apply the transition in X, Y, Z, or transparency
30
30
  */
@@ -1 +1 @@
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"]}
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,7 +26,7 @@ exports.RenderSystemDebugControlTool = RenderSystemDebugControlTool;
26
26
  * @beta
27
27
  */
28
28
  class LoseWebGLContextTool extends RenderSystemDebugControlTool {
29
- static { this.toolId = "LoseWebGLContext"; }
29
+ static toolId = "LoseWebGLContext";
30
30
  execute(control) {
31
31
  control.loseContext();
32
32
  }
@@ -37,7 +37,7 @@ exports.LoseWebGLContextTool = LoseWebGLContextTool;
37
37
  * @beta
38
38
  */
39
39
  class CompileShadersTool extends RenderSystemDebugControlTool {
40
- static { this.toolId = "CompileShaders"; }
40
+ static toolId = "CompileShaders";
41
41
  execute(control) {
42
42
  const compiled = control.compileAllShaders();
43
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.`));
@@ -49,9 +49,10 @@ exports.CompileShadersTool = CompileShadersTool;
49
49
  * @beta
50
50
  */
51
51
  class ToggleDPIForLODTool extends RenderSystemDebugControlTool {
52
- static { this.toolId = "ToggleDPIForLOD"; }
52
+ static toolId = "ToggleDPIForLOD";
53
53
  static get minArgs() { return 0; }
54
54
  static get maxArgs() { return 1; }
55
+ _enable;
55
56
  execute(control) {
56
57
  const enable = this._enable ?? !control.dpiAwareLOD;
57
58
  control.dpiAwareLOD = enable;
@@ -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;aAC7C,WAAM,GAAG,kBAAkB,CAAC;IAC5C,OAAO,CAAC,OAAiC;QAC9C,OAAO,CAAC,WAAW,EAAE,CAAC;IACxB,CAAC;;AAJH,oDAKC;AAED;;;GAGG;AACH,MAAa,kBAAmB,SAAQ,4BAA4B;aAC3C,WAAM,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;aAC5C,WAAM,GAAG,iBAAiB,CAAC;IAC3C,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","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"]}
@@ -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,7 +49,7 @@ exports.RenderTargetDebugControlToggleTool = RenderTargetDebugControlToggleTool;
48
49
  * @beta
49
50
  */
50
51
  class ToggleReadPixelsTool extends RenderTargetDebugControlToggleTool {
51
- static { this.toolId = "ToggleReadPixels"; }
52
+ static toolId = "ToggleReadPixels";
52
53
  get aspect() { return "drawForReadPixels"; }
53
54
  }
54
55
  exports.ToggleReadPixelsTool = ToggleReadPixelsTool;
@@ -56,7 +57,7 @@ exports.ToggleReadPixelsTool = ToggleReadPixelsTool;
56
57
  * @beta
57
58
  */
58
59
  class ToggleDrapeFrustumTool extends RenderTargetDebugControlToggleTool {
59
- static { this.toolId = "ToggleDrapeFrustum"; }
60
+ static toolId = "ToggleDrapeFrustum";
60
61
  get aspect() { return "displayDrapeFrustum"; }
61
62
  }
62
63
  exports.ToggleDrapeFrustumTool = ToggleDrapeFrustumTool;
@@ -64,7 +65,7 @@ exports.ToggleDrapeFrustumTool = ToggleDrapeFrustumTool;
64
65
  * @beta
65
66
  */
66
67
  class ToggleMaskFrustumTool extends RenderTargetDebugControlToggleTool {
67
- static { this.toolId = "ToggleMaskFrustum"; }
68
+ static toolId = "ToggleMaskFrustum";
68
69
  get aspect() { return "displayMaskFrustum"; }
69
70
  }
70
71
  exports.ToggleMaskFrustumTool = ToggleMaskFrustumTool;
@@ -73,13 +74,10 @@ exports.ToggleMaskFrustumTool = ToggleMaskFrustumTool;
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
- }
80
- static { this.toolId = "TogglePrimitiveVisibility"; }
77
+ static toolId = "TogglePrimitiveVisibility";
81
78
  static get minArgs() { return 0; }
82
79
  static get maxArgs() { return 1; }
80
+ _visibility = core_frontend_1.PrimitiveVisibility.All;
83
81
  execute(control, vp) {
84
82
  control.primitiveVisibility = this._visibility;
85
83
  vp.invalidateScene();
@@ -107,7 +105,7 @@ exports.TogglePrimitiveVisibilityTool = TogglePrimitiveVisibilityTool;
107
105
  * @beta
108
106
  */
109
107
  class ToggleRealityTileBounds extends RenderTargetDebugControlToggleTool {
110
- static { this.toolId = "ToggleRealityTileBounds"; }
108
+ static toolId = "ToggleRealityTileBounds";
111
109
  get aspect() { return "displayRealityTileRanges"; }
112
110
  }
113
111
  exports.ToggleRealityTileBounds = ToggleRealityTileBounds;
@@ -115,7 +113,7 @@ exports.ToggleRealityTileBounds = ToggleRealityTileBounds;
115
113
  * @beta
116
114
  */
117
115
  class ToggleRealityTilePreload extends RenderTargetDebugControlToggleTool {
118
- static { this.toolId = "ToggleRealityTilePreload"; }
116
+ static toolId = "ToggleRealityTilePreload";
119
117
  get aspect() { return "displayRealityTilePreload"; }
120
118
  }
121
119
  exports.ToggleRealityTilePreload = ToggleRealityTilePreload;
@@ -123,7 +121,7 @@ exports.ToggleRealityTilePreload = ToggleRealityTilePreload;
123
121
  * @beta
124
122
  */
125
123
  class ToggleRealityTileFreeze extends RenderTargetDebugControlToggleTool {
126
- static { this.toolId = "ToggleRealityTileFreeze"; }
124
+ static toolId = "ToggleRealityTileFreeze";
127
125
  get aspect() { return "freezeRealityTiles"; }
128
126
  }
129
127
  exports.ToggleRealityTileFreeze = ToggleRealityTileFreeze;
@@ -131,7 +129,7 @@ exports.ToggleRealityTileFreeze = ToggleRealityTileFreeze;
131
129
  * @beta
132
130
  */
133
131
  class ToggleRealityTileLogging extends RenderTargetDebugControlToggleTool {
134
- static { this.toolId = "ToggleRealityTileLogging"; }
132
+ static toolId = "ToggleRealityTileLogging";
135
133
  get aspect() { return "logRealityTiles"; }
136
134
  }
137
135
  exports.ToggleRealityTileLogging = ToggleRealityTileLogging;
@@ -139,7 +137,7 @@ exports.ToggleRealityTileLogging = ToggleRealityTileLogging;
139
137
  * @beta
140
138
  */
141
139
  class ToggleVolClassIntersect extends RenderTargetDebugControlToggleTool {
142
- static { this.toolId = "ToggleVCIntersect"; }
140
+ static toolId = "ToggleVCIntersect";
143
141
  get aspect() { return "vcSupportIntersectingVolumes"; }
144
142
  }
145
143
  exports.ToggleVolClassIntersect = ToggleVolClassIntersect;
@@ -147,14 +145,11 @@ exports.ToggleVolClassIntersect = ToggleVolClassIntersect;
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
- }
155
- static { this.toolId = "SetAASamples"; }
148
+ static toolId = "SetAASamples";
156
149
  static get minArgs() { return 1; }
157
150
  static get maxArgs() { return 2; }
151
+ _aaSamples = 1;
152
+ _changeAll = false;
158
153
  execute(_control, vp) {
159
154
  if (this._changeAll)
160
155
  core_frontend_1.IModelApp.viewManager.setAntialiasingAllViews(this._aaSamples);
@@ -176,7 +171,7 @@ exports.SetAASamplesTool = SetAASamplesTool;
176
171
  * @beta
177
172
  */
178
173
  class ToggleNormalMaps extends RenderTargetDebugControlToggleTool {
179
- static { this.toolId = "ToggleNormalMaps"; }
174
+ static toolId = "ToggleNormalMaps";
180
175
  get aspect() { return "displayNormalMaps"; }
181
176
  }
182
177
  exports.ToggleNormalMaps = ToggleNormalMaps;
@@ -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, 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,7 +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 { this.toolId = "ReportWebGLCompatibility"; }
16
+ static toolId = "ReportWebGLCompatibility";
17
17
  async run(_args) {
18
18
  const info = core_frontend_1.IModelApp.queryRenderCompatibility();
19
19
  const statuses = ["OK", "Missing Optional Features", "Major Performance Caveat", "Missing Required Features", "Failed to Create Context"];
@@ -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;aAC7B,WAAM,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"]}
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,13 +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; }
48
- static { this.toolId = "SaveView"; }
45
+ static toolId = "SaveView";
49
46
  parse(inputArgs) {
50
47
  const args = (0, parseArgs_1.parseArgs)(inputArgs);
51
48
  function getArg(name) {
@@ -86,7 +83,7 @@ exports.SaveViewTool = SaveViewTool;
86
83
  * @beta
87
84
  */
88
85
  class ApplyViewTool extends core_frontend_1.Tool {
89
- static { this.toolId = "ApplyView"; }
86
+ static toolId = "ApplyView";
90
87
  static get maxArgs() { return 1; }
91
88
  static get minArgs() { return 1; }
92
89
  async run(view) {
@@ -115,7 +112,7 @@ exports.ApplyViewTool = ApplyViewTool;
115
112
  * @beta
116
113
  */
117
114
  class ApplyViewByIdTool extends core_frontend_1.Tool {
118
- static { this.toolId = "ApplyViewById"; }
115
+ static toolId = "ApplyViewById";
119
116
  static get minArgs() { return 1; }
120
117
  static get maxArgs() { return 1; }
121
118
  async parseAndRun(...args) {
@@ -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"}
@@ -10,6 +10,7 @@ exports.SetScheduleScriptTool = exports.ReverseScheduleScriptTool = exports.Quer
10
10
  */
11
11
  const core_bentley_1 = require("@itwin/core-bentley");
12
12
  const core_common_1 = require("@itwin/core-common");
13
+ const core_frontend_1 = require("@itwin/core-frontend");
13
14
  const ClipboardUtilities_1 = require("../ClipboardUtilities");
14
15
  const parseArgs_1 = require("./parseArgs");
15
16
  const DisplayStyleTools_1 = require("./DisplayStyleTools");
@@ -17,20 +18,17 @@ const DisplayStyleTools_1 = require("./DisplayStyleTools");
17
18
  * @beta
18
19
  */
19
20
  class QueryScheduleScriptTool extends DisplayStyleTools_1.DisplayStyleTool {
20
- constructor() {
21
- super(...arguments);
22
- this._action = "copy";
23
- this._includeElementIds = false;
24
- this._countElementIds = false;
25
- this._expandElementIds = false;
26
- }
27
- static { this.toolId = "QueryScheduleScript"; }
21
+ _sourceId;
22
+ _action = "copy";
23
+ _includeElementIds = false;
24
+ _countElementIds = false;
25
+ _expandElementIds = false;
26
+ static toolId = "QueryScheduleScript";
28
27
  static get minArgs() { return 0; }
29
28
  static get maxArgs() { return 3; }
30
29
  async parse(input, vp) {
31
30
  const args = (0, parseArgs_1.parseArgs)(input);
32
- // eslint-disable-next-line @typescript-eslint/no-deprecated
33
- this._sourceId = args.get("i") ?? vp.displayStyle.scheduleScriptReference?.sourceId;
31
+ this._sourceId = args.get("i") ?? vp.displayStyle[core_frontend_1._scheduleScriptReference]?.sourceId;
34
32
  if (!this._sourceId)
35
33
  return false;
36
34
  const action = args.get("a") ?? "";
@@ -103,7 +101,7 @@ function reverseTimeline(timeline, accept) {
103
101
  * @beta
104
102
  */
105
103
  class ReverseScheduleScriptTool extends DisplayStyleTools_1.DisplayStyleTool {
106
- static { this.toolId = "ReverseScheduleScript"; }
104
+ static toolId = "ReverseScheduleScript";
107
105
  async execute(vp) {
108
106
  const script = vp?.displayStyle.scheduleScript;
109
107
  if (!script || script.modelTimelines.some((x) => x.omitsElementIds))
@@ -134,9 +132,10 @@ exports.ReverseScheduleScriptTool = ReverseScheduleScriptTool;
134
132
  * @beta
135
133
  */
136
134
  class SetScheduleScriptTool extends DisplayStyleTools_1.DisplayStyleTool {
137
- static { this.toolId = "SetScheduleScript"; }
135
+ static toolId = "SetScheduleScript";
138
136
  static get minArgs() { return 0; }
139
137
  static get maxArgs() { return 1; }
138
+ _script;
140
139
  async parse(args) {
141
140
  if (args.length === 0)
142
141
  return true; // clear schedule script.