@itwin/frontend-devtools 5.0.0-dev.8 → 5.0.0-dev.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +46 -1
- package/lib/cjs/FrontEndDevTools.js +1 -1
- package/lib/cjs/FrontEndDevTools.js.map +1 -1
- package/lib/cjs/effects/Convolution.js +6 -6
- package/lib/cjs/effects/Convolution.js.map +1 -1
- package/lib/cjs/effects/EffectTools.js +2 -2
- package/lib/cjs/effects/EffectTools.js.map +1 -1
- package/lib/cjs/effects/Explosion.js +37 -25
- package/lib/cjs/effects/Explosion.js.map +1 -1
- package/lib/cjs/effects/FlipImage.js +2 -2
- package/lib/cjs/effects/FlipImage.js.map +1 -1
- package/lib/cjs/effects/LensDistortion.js +4 -4
- package/lib/cjs/effects/LensDistortion.js.map +1 -1
- package/lib/cjs/effects/Saturation.js +4 -4
- package/lib/cjs/effects/Saturation.js.map +1 -1
- package/lib/cjs/effects/Snow.d.ts +1 -1
- package/lib/cjs/effects/Snow.d.ts.map +1 -1
- package/lib/cjs/effects/Snow.js +19 -8
- package/lib/cjs/effects/Snow.js.map +1 -1
- package/lib/cjs/effects/Vignette.js +12 -12
- package/lib/cjs/effects/Vignette.js.map +1 -1
- package/lib/cjs/tools/AnimationIntervalTool.js +1 -1
- package/lib/cjs/tools/AnimationIntervalTool.js.map +1 -1
- package/lib/cjs/tools/ChangeUnitsTool.js +1 -1
- package/lib/cjs/tools/ChangeUnitsTool.js.map +1 -1
- package/lib/cjs/tools/ClipTools.js +6 -8
- package/lib/cjs/tools/ClipTools.js.map +1 -1
- package/lib/cjs/tools/DisplayStyleTools.js +21 -25
- package/lib/cjs/tools/DisplayStyleTools.js.map +1 -1
- package/lib/cjs/tools/EmphasizeElementsTool.js +7 -13
- package/lib/cjs/tools/EmphasizeElementsTool.js.map +1 -1
- package/lib/cjs/tools/FrustumDecoration.js +28 -9
- package/lib/cjs/tools/FrustumDecoration.js.map +1 -1
- package/lib/cjs/tools/InspectElementTool.js +7 -6
- package/lib/cjs/tools/InspectElementTool.js.map +1 -1
- package/lib/cjs/tools/MapLayerTool.js +24 -20
- package/lib/cjs/tools/MapLayerTool.js.map +1 -1
- package/lib/cjs/tools/MeasureTileLoadTime.js +4 -1
- package/lib/cjs/tools/MeasureTileLoadTime.js.map +1 -1
- package/lib/cjs/tools/ModelAppearanceTools.js +9 -9
- package/lib/cjs/tools/ModelAppearanceTools.js.map +1 -1
- package/lib/cjs/tools/PlanProjectionTools.js +8 -15
- package/lib/cjs/tools/PlanProjectionTools.js.map +1 -1
- package/lib/cjs/tools/PlanarMaskTools.js +21 -26
- package/lib/cjs/tools/PlanarMaskTools.js.map +1 -1
- package/lib/cjs/tools/ProjectExtents.js +6 -3
- package/lib/cjs/tools/ProjectExtents.js.map +1 -1
- package/lib/cjs/tools/RealityModelTools.js +10 -10
- package/lib/cjs/tools/RealityModelTools.js.map +1 -1
- package/lib/cjs/tools/RealityTransitionTool.js +1 -1
- package/lib/cjs/tools/RealityTransitionTool.js.map +1 -1
- package/lib/cjs/tools/RenderSystemTools.js +4 -3
- package/lib/cjs/tools/RenderSystemTools.js.map +1 -1
- package/lib/cjs/tools/RenderTargetTools.d.ts +1 -1
- package/lib/cjs/tools/RenderTargetTools.d.ts.map +1 -1
- package/lib/cjs/tools/RenderTargetTools.js +15 -20
- package/lib/cjs/tools/RenderTargetTools.js.map +1 -1
- package/lib/cjs/tools/ReportWebGLCompatibilityTool.js +1 -1
- package/lib/cjs/tools/ReportWebGLCompatibilityTool.js.map +1 -1
- package/lib/cjs/tools/SavedViews.js +4 -7
- package/lib/cjs/tools/SavedViews.js.map +1 -1
- package/lib/cjs/tools/ScheduleScriptTools.d.ts.map +1 -1
- package/lib/cjs/tools/ScheduleScriptTools.js +11 -12
- package/lib/cjs/tools/ScheduleScriptTools.js.map +1 -1
- package/lib/cjs/tools/SelectionTools.js +4 -6
- package/lib/cjs/tools/SelectionTools.js.map +1 -1
- package/lib/cjs/tools/SetGpuMemoryLimitTool.js +1 -1
- package/lib/cjs/tools/SetGpuMemoryLimitTool.js.map +1 -1
- package/lib/cjs/tools/SourceAspectIdTools.js +2 -2
- package/lib/cjs/tools/SourceAspectIdTools.js.map +1 -1
- package/lib/cjs/tools/TileRequestDecoration.js +6 -3
- package/lib/cjs/tools/TileRequestDecoration.js.map +1 -1
- package/lib/cjs/tools/TileTreeBoundsDecoration.d.ts.map +1 -1
- package/lib/cjs/tools/TileTreeBoundsDecoration.js +8 -4
- package/lib/cjs/tools/TileTreeBoundsDecoration.js.map +1 -1
- package/lib/cjs/tools/ToolTipProvider.js +2 -1
- package/lib/cjs/tools/ToolTipProvider.js.map +1 -1
- package/lib/cjs/tools/ViewportTools.js +22 -19
- package/lib/cjs/tools/ViewportTools.js.map +1 -1
- package/lib/cjs/widgets/DiagnosticsPanel.d.ts +1 -1
- package/lib/cjs/widgets/DiagnosticsPanel.d.ts.map +1 -1
- package/lib/cjs/widgets/DiagnosticsPanel.js +11 -1
- package/lib/cjs/widgets/DiagnosticsPanel.js.map +1 -1
- package/lib/cjs/widgets/FpsTracker.d.ts +1 -1
- package/lib/cjs/widgets/FpsTracker.d.ts.map +1 -1
- package/lib/cjs/widgets/FpsTracker.js +5 -1
- package/lib/cjs/widgets/FpsTracker.js.map +1 -1
- package/lib/cjs/widgets/GpuProfiler.d.ts +1 -1
- package/lib/cjs/widgets/GpuProfiler.d.ts.map +1 -1
- package/lib/cjs/widgets/GpuProfiler.js +89 -82
- package/lib/cjs/widgets/GpuProfiler.js.map +1 -1
- package/lib/cjs/widgets/KeyinField.js +8 -1
- package/lib/cjs/widgets/KeyinField.js.map +1 -1
- package/lib/cjs/widgets/MemoryTracker.d.ts +1 -1
- package/lib/cjs/widgets/MemoryTracker.d.ts.map +1 -1
- package/lib/cjs/widgets/MemoryTracker.js +16 -4
- package/lib/cjs/widgets/MemoryTracker.js.map +1 -1
- package/lib/cjs/widgets/RenderCommandBreakdown.d.ts +1 -1
- package/lib/cjs/widgets/RenderCommandBreakdown.d.ts.map +1 -1
- package/lib/cjs/widgets/RenderCommandBreakdown.js +6 -2
- package/lib/cjs/widgets/RenderCommandBreakdown.js.map +1 -1
- package/lib/cjs/widgets/TileMemoryBreakdown.d.ts +1 -1
- package/lib/cjs/widgets/TileMemoryBreakdown.d.ts.map +1 -1
- package/lib/cjs/widgets/TileMemoryBreakdown.js +10 -8
- package/lib/cjs/widgets/TileMemoryBreakdown.js.map +1 -1
- package/lib/cjs/widgets/TileStatisticsTracker.d.ts +1 -1
- package/lib/cjs/widgets/TileStatisticsTracker.d.ts.map +1 -1
- package/lib/cjs/widgets/TileStatisticsTracker.js +5 -2
- package/lib/cjs/widgets/TileStatisticsTracker.js.map +1 -1
- package/lib/cjs/widgets/ToolSettingsTracker.d.ts +1 -1
- package/lib/cjs/widgets/ToolSettingsTracker.d.ts.map +1 -1
- package/lib/cjs/widgets/ToolSettingsTracker.js +2 -2
- package/lib/cjs/widgets/ToolSettingsTracker.js.map +1 -1
- package/lib/esm/FrontEndDevTools.js +1 -1
- package/lib/esm/FrontEndDevTools.js.map +1 -1
- package/lib/esm/effects/Convolution.js +6 -6
- package/lib/esm/effects/Convolution.js.map +1 -1
- package/lib/esm/effects/EffectTools.js +2 -2
- package/lib/esm/effects/EffectTools.js.map +1 -1
- package/lib/esm/effects/Explosion.js +37 -25
- package/lib/esm/effects/Explosion.js.map +1 -1
- package/lib/esm/effects/FlipImage.js +2 -2
- package/lib/esm/effects/FlipImage.js.map +1 -1
- package/lib/esm/effects/LensDistortion.js +4 -4
- package/lib/esm/effects/LensDistortion.js.map +1 -1
- package/lib/esm/effects/Saturation.js +4 -4
- package/lib/esm/effects/Saturation.js.map +1 -1
- package/lib/esm/effects/Snow.d.ts +1 -1
- package/lib/esm/effects/Snow.d.ts.map +1 -1
- package/lib/esm/effects/Snow.js +19 -8
- package/lib/esm/effects/Snow.js.map +1 -1
- package/lib/esm/effects/Vignette.js +12 -12
- package/lib/esm/effects/Vignette.js.map +1 -1
- package/lib/esm/tools/AnimationIntervalTool.js +1 -1
- package/lib/esm/tools/AnimationIntervalTool.js.map +1 -1
- package/lib/esm/tools/ChangeUnitsTool.js +1 -1
- package/lib/esm/tools/ChangeUnitsTool.js.map +1 -1
- package/lib/esm/tools/ClipTools.js +6 -8
- package/lib/esm/tools/ClipTools.js.map +1 -1
- package/lib/esm/tools/DisplayStyleTools.js +21 -25
- package/lib/esm/tools/DisplayStyleTools.js.map +1 -1
- package/lib/esm/tools/EmphasizeElementsTool.js +7 -13
- package/lib/esm/tools/EmphasizeElementsTool.js.map +1 -1
- package/lib/esm/tools/FrustumDecoration.js +28 -9
- package/lib/esm/tools/FrustumDecoration.js.map +1 -1
- package/lib/esm/tools/InspectElementTool.js +7 -6
- package/lib/esm/tools/InspectElementTool.js.map +1 -1
- package/lib/esm/tools/MapLayerTool.js +24 -20
- package/lib/esm/tools/MapLayerTool.js.map +1 -1
- package/lib/esm/tools/MeasureTileLoadTime.js +4 -1
- package/lib/esm/tools/MeasureTileLoadTime.js.map +1 -1
- package/lib/esm/tools/ModelAppearanceTools.js +9 -9
- package/lib/esm/tools/ModelAppearanceTools.js.map +1 -1
- package/lib/esm/tools/PlanProjectionTools.js +8 -15
- package/lib/esm/tools/PlanProjectionTools.js.map +1 -1
- package/lib/esm/tools/PlanarMaskTools.js +21 -26
- package/lib/esm/tools/PlanarMaskTools.js.map +1 -1
- package/lib/esm/tools/ProjectExtents.js +6 -3
- package/lib/esm/tools/ProjectExtents.js.map +1 -1
- package/lib/esm/tools/RealityModelTools.js +10 -10
- package/lib/esm/tools/RealityModelTools.js.map +1 -1
- package/lib/esm/tools/RealityTransitionTool.js +1 -1
- package/lib/esm/tools/RealityTransitionTool.js.map +1 -1
- package/lib/esm/tools/RenderSystemTools.js +4 -3
- package/lib/esm/tools/RenderSystemTools.js.map +1 -1
- package/lib/esm/tools/RenderTargetTools.d.ts +1 -1
- package/lib/esm/tools/RenderTargetTools.d.ts.map +1 -1
- package/lib/esm/tools/RenderTargetTools.js +15 -20
- package/lib/esm/tools/RenderTargetTools.js.map +1 -1
- package/lib/esm/tools/ReportWebGLCompatibilityTool.js +1 -1
- package/lib/esm/tools/ReportWebGLCompatibilityTool.js.map +1 -1
- package/lib/esm/tools/SavedViews.js +4 -7
- package/lib/esm/tools/SavedViews.js.map +1 -1
- package/lib/esm/tools/ScheduleScriptTools.d.ts.map +1 -1
- package/lib/esm/tools/ScheduleScriptTools.js +11 -12
- package/lib/esm/tools/ScheduleScriptTools.js.map +1 -1
- package/lib/esm/tools/SelectionTools.js +4 -6
- package/lib/esm/tools/SelectionTools.js.map +1 -1
- package/lib/esm/tools/SetGpuMemoryLimitTool.js +1 -1
- package/lib/esm/tools/SetGpuMemoryLimitTool.js.map +1 -1
- package/lib/esm/tools/SourceAspectIdTools.js +2 -2
- package/lib/esm/tools/SourceAspectIdTools.js.map +1 -1
- package/lib/esm/tools/TileRequestDecoration.js +6 -3
- package/lib/esm/tools/TileRequestDecoration.js.map +1 -1
- package/lib/esm/tools/TileTreeBoundsDecoration.d.ts.map +1 -1
- package/lib/esm/tools/TileTreeBoundsDecoration.js +8 -4
- package/lib/esm/tools/TileTreeBoundsDecoration.js.map +1 -1
- package/lib/esm/tools/ToolTipProvider.js +2 -1
- package/lib/esm/tools/ToolTipProvider.js.map +1 -1
- package/lib/esm/tools/ViewportTools.js +22 -19
- package/lib/esm/tools/ViewportTools.js.map +1 -1
- package/lib/esm/widgets/DiagnosticsPanel.d.ts +1 -1
- package/lib/esm/widgets/DiagnosticsPanel.d.ts.map +1 -1
- package/lib/esm/widgets/DiagnosticsPanel.js +11 -1
- package/lib/esm/widgets/DiagnosticsPanel.js.map +1 -1
- package/lib/esm/widgets/FpsTracker.d.ts +1 -1
- package/lib/esm/widgets/FpsTracker.d.ts.map +1 -1
- package/lib/esm/widgets/FpsTracker.js +5 -1
- package/lib/esm/widgets/FpsTracker.js.map +1 -1
- package/lib/esm/widgets/GpuProfiler.d.ts +1 -1
- package/lib/esm/widgets/GpuProfiler.d.ts.map +1 -1
- package/lib/esm/widgets/GpuProfiler.js +89 -82
- package/lib/esm/widgets/GpuProfiler.js.map +1 -1
- package/lib/esm/widgets/KeyinField.js +8 -1
- package/lib/esm/widgets/KeyinField.js.map +1 -1
- package/lib/esm/widgets/MemoryTracker.d.ts +1 -1
- package/lib/esm/widgets/MemoryTracker.d.ts.map +1 -1
- package/lib/esm/widgets/MemoryTracker.js +16 -4
- package/lib/esm/widgets/MemoryTracker.js.map +1 -1
- package/lib/esm/widgets/RenderCommandBreakdown.d.ts +1 -1
- package/lib/esm/widgets/RenderCommandBreakdown.d.ts.map +1 -1
- package/lib/esm/widgets/RenderCommandBreakdown.js +6 -2
- package/lib/esm/widgets/RenderCommandBreakdown.js.map +1 -1
- package/lib/esm/widgets/TileMemoryBreakdown.d.ts +1 -1
- package/lib/esm/widgets/TileMemoryBreakdown.d.ts.map +1 -1
- package/lib/esm/widgets/TileMemoryBreakdown.js +10 -8
- package/lib/esm/widgets/TileMemoryBreakdown.js.map +1 -1
- package/lib/esm/widgets/TileStatisticsTracker.d.ts +1 -1
- package/lib/esm/widgets/TileStatisticsTracker.d.ts.map +1 -1
- package/lib/esm/widgets/TileStatisticsTracker.js +5 -2
- package/lib/esm/widgets/TileStatisticsTracker.js.map +1 -1
- package/lib/esm/widgets/ToolSettingsTracker.d.ts +1 -1
- package/lib/esm/widgets/ToolSettingsTracker.d.ts.map +1 -1
- package/lib/esm/widgets/ToolSettingsTracker.js +2 -2
- package/lib/esm/widgets/ToolSettingsTracker.js.map +1 -1
- package/package.json +10 -10
|
@@ -14,6 +14,7 @@ import { parseToggle } from "./parseToggle";
|
|
|
14
14
|
* @beta
|
|
15
15
|
*/
|
|
16
16
|
export class AttachRealityModelTool extends Tool {
|
|
17
|
+
static toolId = "AttachRealityModelTool";
|
|
17
18
|
static get minArgs() { return 1; }
|
|
18
19
|
static get maxArgs() { return 1; }
|
|
19
20
|
/** This method runs the tool, attaching a specified reality model.
|
|
@@ -38,10 +39,10 @@ export class AttachRealityModelTool extends Tool {
|
|
|
38
39
|
return this.run(args[0]);
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
|
-
AttachRealityModelTool.toolId = "AttachRealityModelTool";
|
|
42
42
|
/** This tool saves a reality model's JSON representation to the system clipboard.
|
|
43
43
|
* @beta */
|
|
44
44
|
export class SaveRealityModelTool extends Tool {
|
|
45
|
+
static toolId = "SaveRealityModelTool";
|
|
45
46
|
static get minArgs() { return 0; }
|
|
46
47
|
static get maxArgs() { return 1; }
|
|
47
48
|
/** This method runs the tool, saving a reality model's JSON representation to the system clipboard.
|
|
@@ -66,7 +67,6 @@ export class SaveRealityModelTool extends Tool {
|
|
|
66
67
|
return this.run(args.length > 0 ? args[0] : undefined);
|
|
67
68
|
}
|
|
68
69
|
}
|
|
69
|
-
SaveRealityModelTool.toolId = "SaveRealityModelTool";
|
|
70
70
|
function changeRealityModelAppearanceOverrides(vp, overrides, index) {
|
|
71
71
|
if (index < 0) {
|
|
72
72
|
for (const model of vp.displayStyle.settings.contextRealityModels.models)
|
|
@@ -88,6 +88,7 @@ function appearanceChangedString(index) {
|
|
|
88
88
|
* @beta
|
|
89
89
|
*/
|
|
90
90
|
export class SetRealityModelTransparencyTool extends Tool {
|
|
91
|
+
static toolId = "SetRealityModelTransparencyTool";
|
|
91
92
|
static get minArgs() { return 1; }
|
|
92
93
|
static get maxArgs() { return 2; }
|
|
93
94
|
async run(transparency, index) {
|
|
@@ -103,11 +104,11 @@ export class SetRealityModelTransparencyTool extends Tool {
|
|
|
103
104
|
return this.run(parseFloat(args[0]), args.length > 1 ? parseInt(args[1], 10) : -1);
|
|
104
105
|
}
|
|
105
106
|
}
|
|
106
|
-
SetRealityModelTransparencyTool.toolId = "SetRealityModelTransparencyTool";
|
|
107
107
|
/** Set reality model appearance override for locatable in display style.
|
|
108
108
|
* @beta
|
|
109
109
|
*/
|
|
110
110
|
export class SetRealityModelLocateTool extends Tool {
|
|
111
|
+
static toolId = "SetRealityModelLocateTool";
|
|
111
112
|
static get minArgs() { return 1; }
|
|
112
113
|
static get maxArgs() { return 2; }
|
|
113
114
|
async run(locate, index) {
|
|
@@ -125,11 +126,11 @@ export class SetRealityModelLocateTool extends Tool {
|
|
|
125
126
|
return locate === undefined ? false : this.run(locate, args.length > 1 ? parseInt(args[1], 10) : -1);
|
|
126
127
|
}
|
|
127
128
|
}
|
|
128
|
-
SetRealityModelLocateTool.toolId = "SetRealityModelLocateTool";
|
|
129
129
|
/** Set reality model appearance override for emphasized in display style.
|
|
130
130
|
* @beta
|
|
131
131
|
*/
|
|
132
132
|
export class SetRealityModelEmphasizedTool extends Tool {
|
|
133
|
+
static toolId = "SetRealityModelEmphasizedTool";
|
|
133
134
|
static get minArgs() { return 1; }
|
|
134
135
|
static get maxArgs() { return 2; }
|
|
135
136
|
async run(emphasized, index) {
|
|
@@ -146,11 +147,11 @@ export class SetRealityModelEmphasizedTool extends Tool {
|
|
|
146
147
|
return emphasized === undefined ? false : this.run(emphasized ? true : undefined, args.length > 1 ? parseInt(args[1], 10) : -1);
|
|
147
148
|
}
|
|
148
149
|
}
|
|
149
|
-
SetRealityModelEmphasizedTool.toolId = "SetRealityModelEmphasizedTool";
|
|
150
150
|
/** Detach reality model from display style.
|
|
151
151
|
* @beta
|
|
152
152
|
*/
|
|
153
153
|
export class DetachRealityModelTool extends Tool {
|
|
154
|
+
static toolId = "ViewportDetachRealityModel";
|
|
154
155
|
static get minArgs() { return 0; }
|
|
155
156
|
static get maxArgs() { return 1; }
|
|
156
157
|
async run(index) {
|
|
@@ -173,11 +174,11 @@ export class DetachRealityModelTool extends Tool {
|
|
|
173
174
|
return this.run(args.length > 0 ? parseInt(args[0], 10) : -1);
|
|
174
175
|
}
|
|
175
176
|
}
|
|
176
|
-
DetachRealityModelTool.toolId = "ViewportDetachRealityModel";
|
|
177
177
|
/** Set reality model appearance override for color in display style.
|
|
178
178
|
* @beta
|
|
179
179
|
*/
|
|
180
180
|
export class SetRealityModelColorTool extends Tool {
|
|
181
|
+
static toolId = "SetRealityModelColorTool";
|
|
181
182
|
static get minArgs() { return 3; }
|
|
182
183
|
static get maxArgs() { return 4; }
|
|
183
184
|
async run(rgb, index) {
|
|
@@ -193,11 +194,11 @@ export class SetRealityModelColorTool extends Tool {
|
|
|
193
194
|
return this.run({ r: parseFloat(args[0]), g: parseFloat(args[1]), b: parseFloat(args[2]) }, args.length > 3 ? parseInt(args[3], 10) : -1);
|
|
194
195
|
}
|
|
195
196
|
}
|
|
196
|
-
SetRealityModelColorTool.toolId = "SetRealityModelColorTool";
|
|
197
197
|
/** Clear reality model appearance override in display style.
|
|
198
198
|
* @beta
|
|
199
199
|
*/
|
|
200
200
|
export class ClearRealityModelAppearanceOverrides extends Tool {
|
|
201
|
+
static toolId = "ClearRealityModelAppearanceOverrides";
|
|
201
202
|
static get minArgs() { return 0; }
|
|
202
203
|
static get maxArgs() { return 1; }
|
|
203
204
|
async run(index) {
|
|
@@ -214,11 +215,11 @@ export class ClearRealityModelAppearanceOverrides extends Tool {
|
|
|
214
215
|
return this.run(args[0] === undefined ? -1 : parseInt(args[0], 10));
|
|
215
216
|
}
|
|
216
217
|
}
|
|
217
|
-
ClearRealityModelAppearanceOverrides.toolId = "ClearRealityModelAppearanceOverrides";
|
|
218
218
|
/** Attach a cesium asset from the Ion ID and key.
|
|
219
219
|
* @beta
|
|
220
220
|
*/
|
|
221
221
|
export class AttachCesiumAssetTool extends Tool {
|
|
222
|
+
static toolId = "AttachCesiumAssetTool";
|
|
222
223
|
static get minArgs() { return 1; }
|
|
223
224
|
static get maxArgs() { return 2; }
|
|
224
225
|
async run(assetId, requestKey) {
|
|
@@ -242,11 +243,11 @@ export class AttachCesiumAssetTool extends Tool {
|
|
|
242
243
|
return Number.isNaN(assetId) ? false : this.run(assetId, args[1]);
|
|
243
244
|
}
|
|
244
245
|
}
|
|
245
|
-
AttachCesiumAssetTool.toolId = "AttachCesiumAssetTool";
|
|
246
246
|
/** Turn on/off display of OpenStreetMap buildings
|
|
247
247
|
* @beta
|
|
248
248
|
*/
|
|
249
249
|
export class ToggleOSMBuildingDisplay extends Tool {
|
|
250
|
+
static toolId = "SetBuildingDisplay";
|
|
250
251
|
static get minArgs() { return 0; }
|
|
251
252
|
static get maxArgs() { return 2; }
|
|
252
253
|
async run(onOff, transparency) {
|
|
@@ -265,5 +266,4 @@ export class ToggleOSMBuildingDisplay extends Tool {
|
|
|
265
266
|
return typeof toggle === "string" ? false : this.run(toggle, transparency);
|
|
266
267
|
}
|
|
267
268
|
}
|
|
268
|
-
ToggleOSMBuildingDisplay.toolId = "SetBuildingDisplay";
|
|
269
269
|
//# sourceMappingURL=RealityModelTools.js.map
|
|
@@ -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"]}
|
|
@@ -21,6 +21,7 @@ var FadeMode;
|
|
|
21
21
|
export class RealityTransitionTool extends Tool {
|
|
22
22
|
static get minArgs() { return 0; }
|
|
23
23
|
static get maxArgs() { return 1; }
|
|
24
|
+
static toolId = "RealityTransition";
|
|
24
25
|
/** This method runs the tool, applying a transition in X, Y, Z, or transparency.
|
|
25
26
|
* @param fadeMode whether to apply the transition in X, Y, Z, or transparency
|
|
26
27
|
*/
|
|
@@ -108,5 +109,4 @@ export class RealityTransitionTool extends Tool {
|
|
|
108
109
|
return this.run(fade);
|
|
109
110
|
}
|
|
110
111
|
}
|
|
111
|
-
RealityTransitionTool.toolId = "RealityTransition";
|
|
112
112
|
//# sourceMappingURL=RealityTransitionTool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RealityTransitionTool.js","sourceRoot":"","sources":["../../../src/tools/RealityTransitionTool.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAEvD,IAAK,QAAiC;AAAtC,WAAK,QAAQ;IAAG,iCAAC,CAAA;IAAE,iCAAC,CAAA;IAAE,iCAAC,CAAA;IAAE,qDAAW,CAAA;AAAC,CAAC,EAAjC,QAAQ,KAAR,QAAQ,QAAyB;AAEtC;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,IAAI;IACtC,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;
|
|
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"]}
|
|
@@ -22,29 +22,31 @@ export class RenderSystemDebugControlTool extends Tool {
|
|
|
22
22
|
* @beta
|
|
23
23
|
*/
|
|
24
24
|
export class LoseWebGLContextTool extends RenderSystemDebugControlTool {
|
|
25
|
+
static toolId = "LoseWebGLContext";
|
|
25
26
|
execute(control) {
|
|
26
27
|
control.loseContext();
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
|
-
LoseWebGLContextTool.toolId = "LoseWebGLContext";
|
|
30
30
|
/** Compiles all registered shader programs for which compilation has not already been attempted.
|
|
31
31
|
* This is useful for uncovering/debugging platform-specific shader issues.
|
|
32
32
|
* @beta
|
|
33
33
|
*/
|
|
34
34
|
export class CompileShadersTool extends RenderSystemDebugControlTool {
|
|
35
|
+
static toolId = "CompileShaders";
|
|
35
36
|
execute(control) {
|
|
36
37
|
const compiled = control.compileAllShaders();
|
|
37
38
|
IModelApp.notifications.outputMessage(new NotifyMessageDetails(compiled ? OutputMessagePriority.Info : OutputMessagePriority.Error, `${compiled ? "No" : "Some"} compilation errors occurred.`));
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
|
-
CompileShadersTool.toolId = "CompileShaders";
|
|
41
41
|
/** Toggles whether or not device pixel ratio should be taken into account when computing LOD for tiles and decoration graphics.
|
|
42
42
|
* @see [RenderSystem.Options.dpiAwareLOD]($frontend)
|
|
43
43
|
* @beta
|
|
44
44
|
*/
|
|
45
45
|
export class ToggleDPIForLODTool extends RenderSystemDebugControlTool {
|
|
46
|
+
static toolId = "ToggleDPIForLOD";
|
|
46
47
|
static get minArgs() { return 0; }
|
|
47
48
|
static get maxArgs() { return 1; }
|
|
49
|
+
_enable;
|
|
48
50
|
execute(control) {
|
|
49
51
|
const enable = this._enable ?? !control.dpiAwareLOD;
|
|
50
52
|
control.dpiAwareLOD = enable;
|
|
@@ -59,5 +61,4 @@ export class ToggleDPIForLODTool extends RenderSystemDebugControlTool {
|
|
|
59
61
|
return true;
|
|
60
62
|
}
|
|
61
63
|
}
|
|
62
|
-
ToggleDPIForLODTool.toolId = "ToggleDPIForLOD";
|
|
63
64
|
//# sourceMappingURL=RenderSystemTools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderSystemTools.js","sourceRoot":"","sources":["../../../src/tools/RenderSystemTools.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,qBAAqB,EAA4B,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAgB,4BAA6B,SAAQ,IAAI;IAC7C,KAAK,CAAC,GAAG,CAAC,KAAY;QACpC,MAAM,OAAO,GAAG,SAAS,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;AAED;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,4BAA4B;
|
|
1
|
+
{"version":3,"file":"RenderSystemTools.js","sourceRoot":"","sources":["../../../src/tools/RenderSystemTools.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,qBAAqB,EAA4B,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAgB,4BAA6B,SAAQ,IAAI;IAC7C,KAAK,CAAC,GAAG,CAAC,KAAY;QACpC,MAAM,OAAO,GAAG,SAAS,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;AAED;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,4BAA4B;IAC7D,MAAM,CAAU,MAAM,GAAG,kBAAkB,CAAC;IAC5C,OAAO,CAAC,OAAiC;QAC9C,OAAO,CAAC,WAAW,EAAE,CAAC;IACxB,CAAC;;AAGH;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,4BAA4B;IAC3D,MAAM,CAAU,MAAM,GAAG,gBAAgB,CAAC;IAC1C,OAAO,CAAC,OAAiC;QAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC7C,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,+BAA+B,CAAC,CAAC,CAAC;IACnM,CAAC;;AAGH;;;GAGG;AACH,MAAM,OAAO,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,SAAS,CAAC,WAAW,CAAC,wBAAwB,EAAE,CAAC;IACnD,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,MAAM,MAAM,GAAG,WAAW,CAAC,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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Tools\n */\n\nimport { IModelApp, NotifyMessageDetails, OutputMessagePriority, RenderSystemDebugControl, Tool } from \"@itwin/core-frontend\";\nimport { parseToggle } from \"./parseToggle\";\n\n/** Executes some code against a RenderSystemDebugControl obtained from the IModelApp's RenderSystem.\n * @beta\n */\nexport abstract class RenderSystemDebugControlTool extends Tool {\n public override async run(_args: any[]): Promise<boolean> {\n const control = IModelApp.renderSystem.debugControl;\n if (undefined !== control)\n this.execute(control);\n\n return true;\n }\n\n protected abstract execute(_control: RenderSystemDebugControl): void;\n}\n\n/** Forces webgl context loss.\n * @beta\n */\nexport class LoseWebGLContextTool extends RenderSystemDebugControlTool {\n public static override toolId = \"LoseWebGLContext\";\n public execute(control: RenderSystemDebugControl): void {\n control.loseContext();\n }\n}\n\n/** Compiles all registered shader programs for which compilation has not already been attempted.\n * This is useful for uncovering/debugging platform-specific shader issues.\n * @beta\n */\nexport class CompileShadersTool extends RenderSystemDebugControlTool {\n public static override toolId = \"CompileShaders\";\n public execute(control: RenderSystemDebugControl): void {\n const compiled = control.compileAllShaders();\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(compiled ? OutputMessagePriority.Info : OutputMessagePriority.Error, `${compiled ? \"No\" : \"Some\"} compilation errors occurred.`));\n }\n}\n\n/** Toggles whether or not device pixel ratio should be taken into account when computing LOD for tiles and decoration graphics.\n * @see [RenderSystem.Options.dpiAwareLOD]($frontend)\n * @beta\n */\nexport class ToggleDPIForLODTool extends RenderSystemDebugControlTool {\n public static override toolId = \"ToggleDPIForLOD\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n private _enable?: boolean;\n\n public execute(control: RenderSystemDebugControl): void {\n const enable = this._enable ?? !control.dpiAwareLOD;\n control.dpiAwareLOD = enable;\n IModelApp.viewManager.invalidateViewportScenes();\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const enable = parseToggle(args[0]);\n if (typeof enable !== \"string\") {\n this._enable = enable;\n await this.run([]);\n }\n\n return true;\n }\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** @packageDocumentation
|
|
2
2
|
* @module Tools
|
|
3
3
|
*/
|
|
4
|
-
import { RenderTargetDebugControl, ScreenViewport, Tool } from "@itwin/core-frontend";
|
|
4
|
+
import { type RenderTargetDebugControl, ScreenViewport, Tool } from "@itwin/core-frontend";
|
|
5
5
|
/** Executes some code against a RenderTargetDebugControl obtained from the selected viewport.
|
|
6
6
|
* @beta
|
|
7
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderTargetTools.d.ts","sourceRoot":"","sources":["../../../src/tools/RenderTargetTools.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAkC,wBAAwB,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"RenderTargetTools.d.ts","sourceRoot":"","sources":["../../../src/tools/RenderTargetTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,7 @@ export class RenderTargetDebugControlTool extends Tool {
|
|
|
25
25
|
export class RenderTargetDebugControlToggleTool extends RenderTargetDebugControlTool {
|
|
26
26
|
static get minArgs() { return 0; }
|
|
27
27
|
static get maxArgs() { return 1; }
|
|
28
|
+
_enable;
|
|
28
29
|
execute(control, vp) {
|
|
29
30
|
const value = undefined !== this._enable ? this._enable : !control[this.aspect];
|
|
30
31
|
control[this.aspect] = value;
|
|
@@ -43,34 +44,32 @@ export class RenderTargetDebugControlToggleTool extends RenderTargetDebugControl
|
|
|
43
44
|
* @beta
|
|
44
45
|
*/
|
|
45
46
|
export class ToggleReadPixelsTool extends RenderTargetDebugControlToggleTool {
|
|
47
|
+
static toolId = "ToggleReadPixels";
|
|
46
48
|
get aspect() { return "drawForReadPixels"; }
|
|
47
49
|
}
|
|
48
|
-
ToggleReadPixelsTool.toolId = "ToggleReadPixels";
|
|
49
50
|
/** Turn on the display of the draping frustum.
|
|
50
51
|
* @beta
|
|
51
52
|
*/
|
|
52
53
|
export class ToggleDrapeFrustumTool extends RenderTargetDebugControlToggleTool {
|
|
54
|
+
static toolId = "ToggleDrapeFrustum";
|
|
53
55
|
get aspect() { return "displayDrapeFrustum"; }
|
|
54
56
|
}
|
|
55
|
-
ToggleDrapeFrustumTool.toolId = "ToggleDrapeFrustum";
|
|
56
57
|
/** Turn on the display of the planar mask frustum.
|
|
57
58
|
* @beta
|
|
58
59
|
*/
|
|
59
60
|
export class ToggleMaskFrustumTool extends RenderTargetDebugControlToggleTool {
|
|
61
|
+
static toolId = "ToggleMaskFrustum";
|
|
60
62
|
get aspect() { return "displayMaskFrustum"; }
|
|
61
63
|
}
|
|
62
|
-
ToggleMaskFrustumTool.toolId = "ToggleMaskFrustum";
|
|
63
64
|
/** Control whether all geometry renders, or only instanced or batched geometry.
|
|
64
65
|
* Allowed argument: "instanced", "batched", "all". Defaults to "all" if no arguments supplied.
|
|
65
66
|
* @beta
|
|
66
67
|
*/
|
|
67
68
|
export class TogglePrimitiveVisibilityTool extends RenderTargetDebugControlTool {
|
|
68
|
-
|
|
69
|
-
super(...arguments);
|
|
70
|
-
this._visibility = PrimitiveVisibility.All;
|
|
71
|
-
}
|
|
69
|
+
static toolId = "TogglePrimitiveVisibility";
|
|
72
70
|
static get minArgs() { return 0; }
|
|
73
71
|
static get maxArgs() { return 1; }
|
|
72
|
+
_visibility = PrimitiveVisibility.All;
|
|
74
73
|
execute(control, vp) {
|
|
75
74
|
control.primitiveVisibility = this._visibility;
|
|
76
75
|
vp.invalidateScene();
|
|
@@ -93,53 +92,50 @@ export class TogglePrimitiveVisibilityTool extends RenderTargetDebugControlTool
|
|
|
93
92
|
return this.run(args);
|
|
94
93
|
}
|
|
95
94
|
}
|
|
96
|
-
TogglePrimitiveVisibilityTool.toolId = "TogglePrimitiveVisibility";
|
|
97
95
|
/** Turn on display of reality tile boundaries.
|
|
98
96
|
* @beta
|
|
99
97
|
*/
|
|
100
98
|
export class ToggleRealityTileBounds extends RenderTargetDebugControlToggleTool {
|
|
99
|
+
static toolId = "ToggleRealityTileBounds";
|
|
101
100
|
get aspect() { return "displayRealityTileRanges"; }
|
|
102
101
|
}
|
|
103
|
-
ToggleRealityTileBounds.toolId = "ToggleRealityTileBounds";
|
|
104
102
|
/** Turn on display of reality tile preload debugging.
|
|
105
103
|
* @beta
|
|
106
104
|
*/
|
|
107
105
|
export class ToggleRealityTilePreload extends RenderTargetDebugControlToggleTool {
|
|
106
|
+
static toolId = "ToggleRealityTilePreload";
|
|
108
107
|
get aspect() { return "displayRealityTilePreload"; }
|
|
109
108
|
}
|
|
110
|
-
ToggleRealityTilePreload.toolId = "ToggleRealityTilePreload";
|
|
111
109
|
/** Freeze loading of reality tiles.
|
|
112
110
|
* @beta
|
|
113
111
|
*/
|
|
114
112
|
export class ToggleRealityTileFreeze extends RenderTargetDebugControlToggleTool {
|
|
113
|
+
static toolId = "ToggleRealityTileFreeze";
|
|
115
114
|
get aspect() { return "freezeRealityTiles"; }
|
|
116
115
|
}
|
|
117
|
-
ToggleRealityTileFreeze.toolId = "ToggleRealityTileFreeze";
|
|
118
116
|
/** Turn on logging of console tile selection and loading (to console).
|
|
119
117
|
* @beta
|
|
120
118
|
*/
|
|
121
119
|
export class ToggleRealityTileLogging extends RenderTargetDebugControlToggleTool {
|
|
120
|
+
static toolId = "ToggleRealityTileLogging";
|
|
122
121
|
get aspect() { return "logRealityTiles"; }
|
|
123
122
|
}
|
|
124
|
-
ToggleRealityTileLogging.toolId = "ToggleRealityTileLogging";
|
|
125
123
|
/** Toggles support for intersecting volume classifiers.
|
|
126
124
|
* @beta
|
|
127
125
|
*/
|
|
128
126
|
export class ToggleVolClassIntersect extends RenderTargetDebugControlToggleTool {
|
|
127
|
+
static toolId = "ToggleVCIntersect";
|
|
129
128
|
get aspect() { return "vcSupportIntersectingVolumes"; }
|
|
130
129
|
}
|
|
131
|
-
ToggleVolClassIntersect.toolId = "ToggleVCIntersect";
|
|
132
130
|
/** Set the number of antialiasing samples to use (<=1 for no antialiasing).
|
|
133
131
|
* @beta
|
|
134
132
|
*/
|
|
135
133
|
export class SetAASamplesTool extends RenderTargetDebugControlTool {
|
|
136
|
-
|
|
137
|
-
super(...arguments);
|
|
138
|
-
this._aaSamples = 1;
|
|
139
|
-
this._changeAll = false;
|
|
140
|
-
}
|
|
134
|
+
static toolId = "SetAASamples";
|
|
141
135
|
static get minArgs() { return 1; }
|
|
142
136
|
static get maxArgs() { return 2; }
|
|
137
|
+
_aaSamples = 1;
|
|
138
|
+
_changeAll = false;
|
|
143
139
|
execute(_control, vp) {
|
|
144
140
|
if (this._changeAll)
|
|
145
141
|
IModelApp.viewManager.setAntialiasingAllViews(this._aaSamples);
|
|
@@ -156,12 +152,11 @@ export class SetAASamplesTool extends RenderTargetDebugControlTool {
|
|
|
156
152
|
return this.run(args);
|
|
157
153
|
}
|
|
158
154
|
}
|
|
159
|
-
SetAASamplesTool.toolId = "SetAASamples";
|
|
160
155
|
/** Toggles support for normal maps.
|
|
161
156
|
* @beta
|
|
162
157
|
*/
|
|
163
158
|
export class ToggleNormalMaps extends RenderTargetDebugControlToggleTool {
|
|
159
|
+
static toolId = "ToggleNormalMaps";
|
|
164
160
|
get aspect() { return "displayNormalMaps"; }
|
|
165
161
|
}
|
|
166
|
-
ToggleNormalMaps.toolId = "ToggleNormalMaps";
|
|
167
162
|
//# sourceMappingURL=RenderTargetTools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderTargetTools.js","sourceRoot":"","sources":["../../../src/tools/RenderTargetTools.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Tools\n */\n\nimport { IModelApp, PrimitiveVisibility, RenderTargetDebugControl, ScreenViewport, Tool } from \"@itwin/core-frontend\";\nimport { parseToggle } from \"./parseToggle\";\n\n/** Executes some code against a RenderTargetDebugControl obtained from the selected viewport.\n * @beta\n */\nexport abstract class RenderTargetDebugControlTool extends Tool {\n public override async run(_args: any[]): Promise<boolean> {\n const view = IModelApp.viewManager.selectedView;\n const control = undefined !== view ? view.target.debugControl : undefined;\n if (undefined !== control)\n this.execute(control, view!);\n\n return true;\n }\n\n protected abstract execute(_control: RenderTargetDebugControl, _vp: ScreenViewport): void;\n}\n\ntype DebugControlBoolean =\n \"displayDrapeFrustum\" | \"displayMaskFrustum\" | \"drawForReadPixels\" | \"displayRealityTileRanges\" | \"displayRealityTileRanges\" |\n \"displayRealityTilePreload\" | \"freezeRealityTiles\" | \"logRealityTiles\" | \"vcSupportIntersectingVolumes\" | \"displayNormalMaps\";\n\n/** Toggles some aspect of a RenderTargetDebugControl for the selected viewport.\n * @beta\n */\nexport abstract class RenderTargetDebugControlToggleTool extends RenderTargetDebugControlTool {\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n private _enable?: boolean;\n\n protected abstract get aspect(): DebugControlBoolean;\n\n protected execute(control: RenderTargetDebugControl, vp: ScreenViewport): void {\n const value = undefined !== this._enable ? this._enable : !control[this.aspect];\n control[this.aspect] = value;\n vp.invalidateRenderPlan();\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const enable = parseToggle(args[0]);\n if (typeof enable !== \"string\") {\n this._enable = enable;\n await this.run([]);\n }\n\n return true;\n }\n}\n\n/** Toggles between normal rendering and rendering as if drawing to an off-screen framebuffer for element locate. Useful for debugging locate issues.\n * @beta\n */\nexport class ToggleReadPixelsTool extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleReadPixels\";\n public get aspect(): DebugControlBoolean { return \"drawForReadPixels\"; }\n}\n\n/** Turn on the display of the draping frustum.\n * @beta\n */\nexport class ToggleDrapeFrustumTool extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleDrapeFrustum\";\n public get aspect(): DebugControlBoolean { return \"displayDrapeFrustum\"; }\n}\n\n/** Turn on the display of the planar mask frustum.\n * @beta\n */\nexport class ToggleMaskFrustumTool extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleMaskFrustum\";\n public get aspect(): DebugControlBoolean { return \"displayMaskFrustum\"; }\n}\n\n/** Control whether all geometry renders, or only instanced or batched geometry.\n * Allowed argument: \"instanced\", \"batched\", \"all\". Defaults to \"all\" if no arguments supplied.\n * @beta\n */\nexport class TogglePrimitiveVisibilityTool extends RenderTargetDebugControlTool {\n public static override toolId = \"TogglePrimitiveVisibility\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n private _visibility = PrimitiveVisibility.All;\n\n public execute(control: RenderTargetDebugControl, vp: ScreenViewport): void {\n control.primitiveVisibility = this._visibility;\n vp.invalidateScene();\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n if (0 < args.length) {\n switch (args[0].toLowerCase()) {\n case \"instanced\":\n this._visibility = PrimitiveVisibility.Instanced;\n break;\n case \"batched\":\n this._visibility = PrimitiveVisibility.Uninstanced;\n break;\n case \"all\":\n break;\n default:\n return true;\n }\n }\n\n return this.run(args);\n }\n}\n\n/** Turn on display of reality tile boundaries.\n * @beta\n */\nexport class ToggleRealityTileBounds extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleRealityTileBounds\";\n public get aspect(): DebugControlBoolean { return \"displayRealityTileRanges\"; }\n}\n\n/** Turn on display of reality tile preload debugging.\n * @beta\n */\nexport class ToggleRealityTilePreload extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleRealityTilePreload\";\n public get aspect(): DebugControlBoolean { return \"displayRealityTilePreload\"; }\n}\n/** Freeze loading of reality tiles.\n * @beta\n */\nexport class ToggleRealityTileFreeze extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleRealityTileFreeze\";\n public get aspect(): DebugControlBoolean { return \"freezeRealityTiles\"; }\n}\n\n/** Turn on logging of console tile selection and loading (to console).\n * @beta\n */\nexport class ToggleRealityTileLogging extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleRealityTileLogging\";\n public get aspect(): DebugControlBoolean { return \"logRealityTiles\"; }\n}\n\n/** Toggles support for intersecting volume classifiers.\n * @beta\n */\nexport class ToggleVolClassIntersect extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleVCIntersect\";\n public get aspect(): DebugControlBoolean { return \"vcSupportIntersectingVolumes\"; }\n}\n\n/** Set the number of antialiasing samples to use (<=1 for no antialiasing).\n * @beta\n */\nexport class SetAASamplesTool extends RenderTargetDebugControlTool {\n public static override toolId = \"SetAASamples\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 2; }\n\n private _aaSamples = 1;\n private _changeAll = false;\n\n public execute(_control: RenderTargetDebugControl, vp: ScreenViewport): void {\n if (this._changeAll)\n IModelApp.viewManager.setAntialiasingAllViews(this._aaSamples);\n else\n vp.antialiasSamples = this._aaSamples;\n }\n\n /** Runs this tool, setting the number of antialiasing samples to use (<=1 for no antialiasing).\n * @param args contains the arguments used by the tool's run method: args[0] contains the number of samples; optionally args[1] can contain the word \"all\" in order to set those number of samples for all viewports.\n */\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n if (0 < args.length)\n this._aaSamples = parseInt(args[0], 10);\n this._changeAll = (1 < args.length && args[1].toLowerCase() === \"all\");\n\n return this.run(args);\n }\n}\n\n/** Toggles support for normal maps.\n * @beta\n */\nexport class ToggleNormalMaps extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleNormalMaps\";\n public get aspect(): DebugControlBoolean { return \"displayNormalMaps\"; }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"RenderTargetTools.js","sourceRoot":"","sources":["../../../src/tools/RenderTargetTools.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Tools\n */\n\nimport { IModelApp, PrimitiveVisibility, type RenderTargetDebugControl, ScreenViewport, Tool } from \"@itwin/core-frontend\";\nimport { parseToggle } from \"./parseToggle\";\n\n/** Executes some code against a RenderTargetDebugControl obtained from the selected viewport.\n * @beta\n */\nexport abstract class RenderTargetDebugControlTool extends Tool {\n public override async run(_args: any[]): Promise<boolean> {\n const view = IModelApp.viewManager.selectedView;\n const control = undefined !== view ? view.target.debugControl : undefined;\n if (undefined !== control)\n this.execute(control, view!);\n\n return true;\n }\n\n protected abstract execute(_control: RenderTargetDebugControl, _vp: ScreenViewport): void;\n}\n\ntype DebugControlBoolean =\n \"displayDrapeFrustum\" | \"displayMaskFrustum\" | \"drawForReadPixels\" | \"displayRealityTileRanges\" | \"displayRealityTileRanges\" |\n \"displayRealityTilePreload\" | \"freezeRealityTiles\" | \"logRealityTiles\" | \"vcSupportIntersectingVolumes\" | \"displayNormalMaps\";\n\n/** Toggles some aspect of a RenderTargetDebugControl for the selected viewport.\n * @beta\n */\nexport abstract class RenderTargetDebugControlToggleTool extends RenderTargetDebugControlTool {\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n private _enable?: boolean;\n\n protected abstract get aspect(): DebugControlBoolean;\n\n protected execute(control: RenderTargetDebugControl, vp: ScreenViewport): void {\n const value = undefined !== this._enable ? this._enable : !control[this.aspect];\n control[this.aspect] = value;\n vp.invalidateRenderPlan();\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const enable = parseToggle(args[0]);\n if (typeof enable !== \"string\") {\n this._enable = enable;\n await this.run([]);\n }\n\n return true;\n }\n}\n\n/** Toggles between normal rendering and rendering as if drawing to an off-screen framebuffer for element locate. Useful for debugging locate issues.\n * @beta\n */\nexport class ToggleReadPixelsTool extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleReadPixels\";\n public get aspect(): DebugControlBoolean { return \"drawForReadPixels\"; }\n}\n\n/** Turn on the display of the draping frustum.\n * @beta\n */\nexport class ToggleDrapeFrustumTool extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleDrapeFrustum\";\n public get aspect(): DebugControlBoolean { return \"displayDrapeFrustum\"; }\n}\n\n/** Turn on the display of the planar mask frustum.\n * @beta\n */\nexport class ToggleMaskFrustumTool extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleMaskFrustum\";\n public get aspect(): DebugControlBoolean { return \"displayMaskFrustum\"; }\n}\n\n/** Control whether all geometry renders, or only instanced or batched geometry.\n * Allowed argument: \"instanced\", \"batched\", \"all\". Defaults to \"all\" if no arguments supplied.\n * @beta\n */\nexport class TogglePrimitiveVisibilityTool extends RenderTargetDebugControlTool {\n public static override toolId = \"TogglePrimitiveVisibility\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n private _visibility = PrimitiveVisibility.All;\n\n public execute(control: RenderTargetDebugControl, vp: ScreenViewport): void {\n control.primitiveVisibility = this._visibility;\n vp.invalidateScene();\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n if (0 < args.length) {\n switch (args[0].toLowerCase()) {\n case \"instanced\":\n this._visibility = PrimitiveVisibility.Instanced;\n break;\n case \"batched\":\n this._visibility = PrimitiveVisibility.Uninstanced;\n break;\n case \"all\":\n break;\n default:\n return true;\n }\n }\n\n return this.run(args);\n }\n}\n\n/** Turn on display of reality tile boundaries.\n * @beta\n */\nexport class ToggleRealityTileBounds extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleRealityTileBounds\";\n public get aspect(): DebugControlBoolean { return \"displayRealityTileRanges\"; }\n}\n\n/** Turn on display of reality tile preload debugging.\n * @beta\n */\nexport class ToggleRealityTilePreload extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleRealityTilePreload\";\n public get aspect(): DebugControlBoolean { return \"displayRealityTilePreload\"; }\n}\n/** Freeze loading of reality tiles.\n * @beta\n */\nexport class ToggleRealityTileFreeze extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleRealityTileFreeze\";\n public get aspect(): DebugControlBoolean { return \"freezeRealityTiles\"; }\n}\n\n/** Turn on logging of console tile selection and loading (to console).\n * @beta\n */\nexport class ToggleRealityTileLogging extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleRealityTileLogging\";\n public get aspect(): DebugControlBoolean { return \"logRealityTiles\"; }\n}\n\n/** Toggles support for intersecting volume classifiers.\n * @beta\n */\nexport class ToggleVolClassIntersect extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleVCIntersect\";\n public get aspect(): DebugControlBoolean { return \"vcSupportIntersectingVolumes\"; }\n}\n\n/** Set the number of antialiasing samples to use (<=1 for no antialiasing).\n * @beta\n */\nexport class SetAASamplesTool extends RenderTargetDebugControlTool {\n public static override toolId = \"SetAASamples\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 2; }\n\n private _aaSamples = 1;\n private _changeAll = false;\n\n public execute(_control: RenderTargetDebugControl, vp: ScreenViewport): void {\n if (this._changeAll)\n IModelApp.viewManager.setAntialiasingAllViews(this._aaSamples);\n else\n vp.antialiasSamples = this._aaSamples;\n }\n\n /** Runs this tool, setting the number of antialiasing samples to use (<=1 for no antialiasing).\n * @param args contains the arguments used by the tool's run method: args[0] contains the number of samples; optionally args[1] can contain the word \"all\" in order to set those number of samples for all viewports.\n */\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n if (0 < args.length)\n this._aaSamples = parseInt(args[0], 10);\n this._changeAll = (1 < args.length && args[1].toLowerCase() === \"all\");\n\n return this.run(args);\n }\n}\n\n/** Toggles support for normal maps.\n * @beta\n */\nexport class ToggleNormalMaps extends RenderTargetDebugControlToggleTool {\n public static override toolId = \"ToggleNormalMaps\";\n public get aspect(): DebugControlBoolean { return \"displayNormalMaps\"; }\n}\n"]}
|
|
@@ -10,6 +10,7 @@ import { IModelApp, MessageBoxIconType, MessageBoxType, Tool } from "@itwin/core
|
|
|
10
10
|
* @beta
|
|
11
11
|
*/
|
|
12
12
|
export class ReportWebGLCompatibilityTool extends Tool {
|
|
13
|
+
static toolId = "ReportWebGLCompatibility";
|
|
13
14
|
async run(_args) {
|
|
14
15
|
const info = IModelApp.queryRenderCompatibility();
|
|
15
16
|
const statuses = ["OK", "Missing Optional Features", "Major Performance Caveat", "Missing Required Features", "Failed to Create Context"];
|
|
@@ -23,5 +24,4 @@ export class ReportWebGLCompatibilityTool extends Tool {
|
|
|
23
24
|
return true;
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
|
-
ReportWebGLCompatibilityTool.toolId = "ReportWebGLCompatibility";
|
|
27
27
|
//# sourceMappingURL=ReportWebGLCompatibilityTool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReportWebGLCompatibilityTool.js","sourceRoot":"","sources":["../../../src/tools/ReportWebGLCompatibilityTool.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE3F;;GAEG;AACH,MAAM,OAAO,4BAA6B,SAAQ,IAAI;
|
|
1
|
+
{"version":3,"file":"ReportWebGLCompatibilityTool.js","sourceRoot":"","sources":["../../../src/tools/ReportWebGLCompatibilityTool.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE3F;;GAEG;AACH,MAAM,OAAO,4BAA6B,SAAQ,IAAI;IAC7C,MAAM,CAAU,MAAM,GAAG,0BAA0B,CAAC;IAC3C,KAAK,CAAC,GAAG,CAAC,KAAY;QACpC,MAAM,IAAI,GAAG,SAAS,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,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACtG,OAAO,IAAI,CAAC;IACd,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Tools\n */\n\nimport { IModelApp, MessageBoxIconType, MessageBoxType, Tool } from \"@itwin/core-frontend\";\n\n/** Queries the client's level of compatibility with the rendering system and outputs it to NotificationManager.\n * @beta\n */\nexport class ReportWebGLCompatibilityTool extends Tool {\n public static override toolId = \"ReportWebGLCompatibility\";\n public override async run(_args: any[]): Promise<boolean> {\n const info = IModelApp.queryRenderCompatibility();\n const statuses = [\"OK\", \"Missing Optional Features\", \"Major Performance Caveat\", \"Missing Required Features\", \"Failed to Create Context\"];\n const status = info.status < statuses.length ? statuses[info.status] : \"UNKNOWN\";\n const json = JSON.stringify(info, null, 2); // prettify JSON output\n\n const msg = `Compatibility: ${status}\\n${json}`;\n const html = document.createElement(\"div\");\n html.style.whiteSpace = \"pre-wrap\";\n html.appendChild(document.createTextNode(msg));\n\n await IModelApp.notifications.openMessageBox(MessageBoxType.Ok, html, MessageBoxIconType.Information);\n return true;\n }\n}\n"]}
|