@itwin/frontend-devtools 5.0.0-dev.8 → 5.0.0-dev.83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
@@ -49,6 +49,7 @@ exports.DisplayStyleTool = DisplayStyleTool;
|
|
|
49
49
|
* @beta
|
|
50
50
|
*/
|
|
51
51
|
class ChangeViewFlagsTool extends core_frontend_1.Tool {
|
|
52
|
+
static toolId = "ChangeViewFlags";
|
|
52
53
|
static get maxArgs() { return undefined; }
|
|
53
54
|
static get minArgs() { return 1; }
|
|
54
55
|
async run(vf, vp) {
|
|
@@ -94,11 +95,11 @@ class ChangeViewFlagsTool extends core_frontend_1.Tool {
|
|
|
94
95
|
}
|
|
95
96
|
}
|
|
96
97
|
exports.ChangeViewFlagsTool = ChangeViewFlagsTool;
|
|
97
|
-
ChangeViewFlagsTool.toolId = "ChangeViewFlags";
|
|
98
98
|
/** Toggles the skybox.
|
|
99
99
|
* @beta
|
|
100
100
|
*/
|
|
101
101
|
class ToggleSkyboxTool extends DisplayStyleTool {
|
|
102
|
+
static toolId = "ToggleSkybox";
|
|
102
103
|
get require3d() { return true; }
|
|
103
104
|
async parse(_args) { return true; } // no arguments
|
|
104
105
|
async execute(vp) {
|
|
@@ -108,11 +109,12 @@ class ToggleSkyboxTool extends DisplayStyleTool {
|
|
|
108
109
|
}
|
|
109
110
|
}
|
|
110
111
|
exports.ToggleSkyboxTool = ToggleSkyboxTool;
|
|
111
|
-
ToggleSkyboxTool.toolId = "ToggleSkybox";
|
|
112
112
|
/** Defines a [SkySphere]($common) to apply to the current view.
|
|
113
113
|
* @beta
|
|
114
114
|
*/
|
|
115
115
|
class SkySphereTool extends DisplayStyleTool {
|
|
116
|
+
_image;
|
|
117
|
+
static toolId = "SetSkySphere";
|
|
116
118
|
static get minArgs() { return 1; }
|
|
117
119
|
static get maxArgs() { return 1; }
|
|
118
120
|
get require3d() { return true; }
|
|
@@ -131,15 +133,12 @@ class SkySphereTool extends DisplayStyleTool {
|
|
|
131
133
|
}
|
|
132
134
|
}
|
|
133
135
|
exports.SkySphereTool = SkySphereTool;
|
|
134
|
-
SkySphereTool.toolId = "SetSkySphere";
|
|
135
136
|
/** Defines a [SkyCube]($common) to apply to the current view.
|
|
136
137
|
* @beta
|
|
137
138
|
*/
|
|
138
139
|
class SkyCubeTool extends DisplayStyleTool {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
this._images = [];
|
|
142
|
-
}
|
|
140
|
+
_images = [];
|
|
141
|
+
static toolId = "SetSkyCube";
|
|
143
142
|
static get minArgs() { return 1; }
|
|
144
143
|
static get maxArgs() { return 6; }
|
|
145
144
|
get require3d() { return true; }
|
|
@@ -195,7 +194,6 @@ class SkyCubeTool extends DisplayStyleTool {
|
|
|
195
194
|
}
|
|
196
195
|
}
|
|
197
196
|
exports.SkyCubeTool = SkyCubeTool;
|
|
198
|
-
SkyCubeTool.toolId = "SetSkyCube";
|
|
199
197
|
/** Outputs (and optionally copies to the clipboard) a "rendering style" as a partial DisplayStyle3dSettingsProps JSON object based
|
|
200
198
|
* on the current view's display style settings.
|
|
201
199
|
* All arguments are optional, of the form "name=value" where `value` is 0 for false or 1 for true. All arguments default to `false` if omitted.
|
|
@@ -211,12 +209,10 @@ SkyCubeTool.toolId = "SetSkyCube";
|
|
|
211
209
|
* @beta
|
|
212
210
|
*/
|
|
213
211
|
class SaveRenderingStyleTool extends DisplayStyleTool {
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
this._quote = false;
|
|
219
|
-
}
|
|
212
|
+
_options = {};
|
|
213
|
+
_copyToClipboard = false;
|
|
214
|
+
_quote = false;
|
|
215
|
+
static toolId = "SaveRenderingStyle";
|
|
220
216
|
static get minArgs() { return 0; }
|
|
221
217
|
static get maxArgs() { return 7; }
|
|
222
218
|
async parse(inputArgs) {
|
|
@@ -244,12 +240,13 @@ class SaveRenderingStyleTool extends DisplayStyleTool {
|
|
|
244
240
|
}
|
|
245
241
|
}
|
|
246
242
|
exports.SaveRenderingStyleTool = SaveRenderingStyleTool;
|
|
247
|
-
SaveRenderingStyleTool.toolId = "SaveRenderingStyle";
|
|
248
243
|
/** Given a "rendering style" as a partial DisplayStyle3dSettingsProperties JSON string, apply it to the selected viewport's display style.
|
|
249
244
|
* @see [DisplayStyleSettings.applyOverrides]($common) for details.
|
|
250
245
|
* @beta
|
|
251
246
|
*/
|
|
252
247
|
class ApplyRenderingStyleTool extends DisplayStyleTool {
|
|
248
|
+
_overrides;
|
|
249
|
+
static toolId = "ApplyRenderingStyle";
|
|
253
250
|
static get minArgs() { return 1; }
|
|
254
251
|
static get maxArgs() { return 1; }
|
|
255
252
|
async parse(args) {
|
|
@@ -269,16 +266,13 @@ class ApplyRenderingStyleTool extends DisplayStyleTool {
|
|
|
269
266
|
}
|
|
270
267
|
}
|
|
271
268
|
exports.ApplyRenderingStyleTool = ApplyRenderingStyleTool;
|
|
272
|
-
ApplyRenderingStyleTool.toolId = "ApplyRenderingStyle";
|
|
273
269
|
/** Apply appearance overrides to one or more subcategories in the active viewport.
|
|
274
270
|
* @beta
|
|
275
271
|
*/
|
|
276
272
|
class OverrideSubCategoryTool extends DisplayStyleTool {
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
this._subcategoryIds = [];
|
|
281
|
-
}
|
|
273
|
+
_overrideProps = {};
|
|
274
|
+
_subcategoryIds = [];
|
|
275
|
+
static toolId = "OverrideSubCategory";
|
|
282
276
|
static get minArgs() { return 1; }
|
|
283
277
|
static get maxArgs() { return 7; }
|
|
284
278
|
async parse(inArgs) {
|
|
@@ -304,11 +298,12 @@ class OverrideSubCategoryTool extends DisplayStyleTool {
|
|
|
304
298
|
}
|
|
305
299
|
}
|
|
306
300
|
exports.OverrideSubCategoryTool = OverrideSubCategoryTool;
|
|
307
|
-
OverrideSubCategoryTool.toolId = "OverrideSubCategory";
|
|
308
301
|
/** Set whether background color is ignored when applying white-on-white reversal.
|
|
309
302
|
* @beta
|
|
310
303
|
*/
|
|
311
304
|
class WoWIgnoreBackgroundTool extends DisplayStyleTool {
|
|
305
|
+
_ignore;
|
|
306
|
+
static toolId = "WoWIgnoreBackground";
|
|
312
307
|
static get minArgs() { return 0; }
|
|
313
308
|
static get maxArgs() { return 1; }
|
|
314
309
|
async parse(args) {
|
|
@@ -325,12 +320,13 @@ class WoWIgnoreBackgroundTool extends DisplayStyleTool {
|
|
|
325
320
|
}
|
|
326
321
|
}
|
|
327
322
|
exports.WoWIgnoreBackgroundTool = WoWIgnoreBackgroundTool;
|
|
328
|
-
WoWIgnoreBackgroundTool.toolId = "WoWIgnoreBackground";
|
|
329
323
|
/** Toggle whether surfaces display with overlaid wiremesh in the active viewport.
|
|
330
324
|
* @see [ViewFlags.wiremesh]($common).
|
|
331
325
|
* @beta
|
|
332
326
|
*/
|
|
333
327
|
class ToggleWiremeshTool extends DisplayStyleTool {
|
|
328
|
+
_enable;
|
|
329
|
+
static toolId = "ToggleWiremesh";
|
|
334
330
|
static get minArgs() { return 0; }
|
|
335
331
|
static get maxArgs() { return 1; }
|
|
336
332
|
async parse(args) {
|
|
@@ -346,11 +342,12 @@ class ToggleWiremeshTool extends DisplayStyleTool {
|
|
|
346
342
|
}
|
|
347
343
|
}
|
|
348
344
|
exports.ToggleWiremeshTool = ToggleWiremeshTool;
|
|
349
|
-
ToggleWiremeshTool.toolId = "ToggleWiremesh";
|
|
350
345
|
/** Change the background color of the active viewport and optionally its transparency.
|
|
351
346
|
* @beta
|
|
352
347
|
*/
|
|
353
348
|
class ChangeBackgroundColorTool extends DisplayStyleTool {
|
|
349
|
+
_color;
|
|
350
|
+
static toolId = "ChangeBackgroundColor";
|
|
354
351
|
static get minArgs() { return 1; }
|
|
355
352
|
static get maxArgs() { return 1; }
|
|
356
353
|
async parse(args) {
|
|
@@ -365,5 +362,4 @@ class ChangeBackgroundColorTool extends DisplayStyleTool {
|
|
|
365
362
|
}
|
|
366
363
|
}
|
|
367
364
|
exports.ChangeBackgroundColorTool = ChangeBackgroundColorTool;
|
|
368
|
-
ChangeBackgroundColorTool.toolId = "ChangeBackgroundColor";
|
|
369
365
|
//# sourceMappingURL=DisplayStyleTools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplayStyleTools.js","sourceRoot":"","sources":["../../../src/tools/DisplayStyleTools.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F;;GAEG;AAEH,oDAG4B;AAC5B,wDAE8B;AAC9B,8DAA8D;AAC9D,2CAAwC;AACxC,+CAA4C;AAO5C,uFAAuF;AACvF,MAAM,gBAAgB,GAAsB;IAC1C,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc;IAClI,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,qBAAqB;IAC7I,UAAU;CACX,CAAC;AAEF,MAAM,yBAAyB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAErF;;GAEG;AACH,MAAsB,gBAAiB,SAAQ,oBAAI;IACjD,IAAc,SAAS,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC;IAM3B,KAAK,CAAC,GAAG;QACvB,MAAM,EAAE,GAAG,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,SAAS,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACnF,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;QAEzC,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,MAAM,EAAE,GAAG,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,SAAS,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACvF,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;;YAElB,OAAO,KAAK,CAAC;IACjB,CAAC;CACF;AAtBD,4CAsBC;AAED;;;;;;;GAOG;AACH,MAAa,mBAAoB,SAAQ,oBAAI;IAEpC,MAAM,KAAc,OAAO,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;IACnD,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElC,KAAK,CAAC,GAAG,CAAC,EAAa,EAAE,EAAa;QACpD,IAAI,SAAS,KAAK,EAAE,IAAI,SAAS,KAAK,EAAE;YACtC,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC;QAEpB,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,MAAM,EAAE,GAAG,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,SAAS,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM;YACvC,OAAO,IAAI,CAAC;QAEd,MAAM,EAAE,GAAiC,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;QAC7D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM;gBACpB,SAAS;YAEX,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;gBACrB,SAAS;YAEX,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC1B,QAAQ,KAAK,EAAE,CAAC;oBACd,KAAK,wBAAU,CAAC,WAAW,CAAC;oBAC5B,KAAK,wBAAU,CAAC,SAAS,CAAC;oBAC1B,KAAK,wBAAU,CAAC,UAAU,CAAC;oBAC3B,KAAK,wBAAU,CAAC,SAAS;wBACvB,EAAE,CAAC,UAAU,GAAG,KAAK,CAAC;wBACtB,EAAE,CAAC,oBAAoB,EAAE,CAAC;wBAC1B,MAAM;gBACV,CAAC;gBAED,SAAS;YACX,CAAC;YAED,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK;gBAC5B,SAAS;YAEX,MAAM,KAAK,GAAG,yBAAyB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;gBACjB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACzC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC;gBAC3B,EAAE,CAAC,oBAAoB,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,uBAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;;AAtDH,kDAuDC;AAtDwB,0BAAM,GAAG,iBAAiB,CAAC;AAwDpD;;GAEG;AACH,MAAa,gBAAiB,SAAQ,gBAAgB;IAGpD,IAAoB,SAAS,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;IAEzC,KAAK,CAAC,KAAK,CAAC,KAAe,IAAsB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe;IAE/E,KAAK,CAAC,OAAO,CAAC,EAAY;QAC/B,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,YAAmC,CAAC;QAC1D,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC;IACd,CAAC;;AAXH,4CAYC;AAXwB,uBAAM,GAAG,cAAc,CAAC;AAajD;;GAEG;AACH,MAAa,aAAc,SAAQ,gBAAgB;IAI1C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElD,IAAoB,SAAS,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;IAEzC,KAAK,CAAC,KAAK,CAAC,IAAc;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,EAAY;QAC/B,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC;gBACxE,UAAU,EAAE,IAAI;gBAChB,GAAG,EAAE,IAAI,uBAAS,CAAC,IAAI,CAAC,MAAM,CAAC;aAChC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;;AAvBH,sCAwBC;AArBwB,oBAAM,GAAG,cAAc,CAAC;AAuBjD;;GAEG;AACH,MAAa,WAAY,SAAQ,gBAAgB;IAAjD;;QACU,YAAO,GAAa,EAAE,CAAC;IA8DjC,CAAC;IA3DQ,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElD,IAAoB,SAAS,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;IAEzC,KAAK,CAAC,KAAK,CAAC,IAAc;QAC/B,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,EAAY;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE;YACtC,OAAO,IAAI,CAAC;QAEd,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;QAC1C,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,CAAC;gBACJ,GAAG,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACrD,MAAM;YACR,KAAK,CAAC;gBACJ,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACtC,MAAM;YACR,KAAK,CAAC;gBACJ,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,MAAM;YACR,KAAK,CAAC;gBACJ,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACd,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjB,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,MAAM;YACR,KAAK,CAAC;gBACJ,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACf,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACf,MAAM;YACR;gBACE,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACd,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjB,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACf,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACf,MAAM;QACV,CAAC;QAED,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC;YACxE,UAAU,EAAE,IAAI;YAChB,GAAG,EAAE,IAAI,qBAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;SAC5D,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;;AA9DH,kCA+DC;AA5DwB,kBAAM,GAAG,YAAY,AAAf,CAAgB;AA8D/C;;;;;;;;;;;;;GAaG;AACH,MAAa,sBAAuB,SAAQ,gBAAgB;IAA5D;;QACU,aAAQ,GAAiC,EAAE,CAAC;QAC5C,qBAAgB,GAAG,KAAK,CAAC;QACzB,WAAM,GAAG,KAAK,CAAC;IAmCzB,CAAC;IA/BQ,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAE3C,KAAK,CAAC,KAAK,CAAC,SAAmB;QACpC,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,SAAS,CAAC,CAAC;QAClC,SAAS,MAAM,CAAC,IAAY;YAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,iEAAiE;QACnH,IAAI,CAAC,QAAQ,CAAC,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,gBAAgB,GAAG,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;QAEnC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,EAAY;QAC/B,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/E,IAAI,IAAI,CAAC,MAAM;YACb,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;QAEzC,yBAAS,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,oCAAoB,CAAC,qCAAqB,CAAC,IAAI,EAAE,uBAAuB,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3H,IAAI,IAAI,CAAC,gBAAgB;YACvB,IAAA,0CAAqB,EAAC,IAAI,CAAC,CAAC;QAE9B,OAAO,KAAK,CAAC;IACf,CAAC;;AArCH,wDAsCC;AAjCwB,6BAAM,GAAG,oBAAoB,AAAvB,CAAwB;AAmCvD;;;GAGG;AACH,MAAa,uBAAwB,SAAQ,gBAAgB;IAKpD,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAE3C,KAAK,CAAC,KAAK,CAAC,IAAc;QAC/B,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,yBAAS,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,oCAAoB,CAAC,qCAAqB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;YAC7G,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,EAAY;QAC/B,IAAI,IAAI,CAAC,UAAU;YACjB,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE3C,OAAO,KAAK,CAAC;IACf,CAAC;;AAvBH,0DAwBC;AArBwB,8BAAM,GAAG,qBAAqB,CAAC;AAuBxD;;GAEG;AACH,MAAa,uBAAwB,SAAQ,gBAAgB;IAA7D;;QACU,mBAAc,GAAgC,EAAE,CAAC;QACjD,oBAAe,GAAa,EAAE,CAAC;IA+BzC,CAAC;IA5BQ,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAE3C,KAAK,CAAC,KAAK,CAAC,MAAgB;QACjC,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,GAAG;YACL,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAExC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;QAClC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACnC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACpC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACtC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAClC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,CAAC,SAAS,GAAG,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,EAAY;QAC/B,MAAM,GAAG,GAAG,iCAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9D,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,eAAe;YACnC,EAAE,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAE/C,OAAO,IAAI,CAAC;IACd,CAAC;;AAhCH,0DAiCC;AA7BwB,8BAAM,GAAG,qBAAqB,AAAxB,CAAyB;AA+BxD;;GAEG;AACH,MAAa,uBAAwB,SAAQ,gBAAgB;IAIpD,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAE3C,KAAK,CAAC,KAAK,CAAC,IAAc;QAC/B,MAAM,MAAM,GAAG,IAAA,yBAAW,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,OAAO,MAAM,KAAK,QAAQ;YAC5B,OAAO,KAAK,CAAC;QAEf,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,EAAY;QAC/B,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC,qBAAqB,CAAC;QACnH,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,oBAAoB,GAAG,0CAA4B,CAAC,QAAQ,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACjH,OAAO,IAAI,CAAC;IACd,CAAC;;AApBH,0DAqBC;AAlBwB,8BAAM,GAAG,qBAAqB,CAAC;AAoBxD;;;GAGG;AACH,MAAa,kBAAmB,SAAQ,gBAAgB;IAI/C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAE3C,KAAK,CAAC,KAAK,CAAC,IAAc;QAC/B,MAAM,MAAM,GAAG,IAAA,yBAAW,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,OAAO,MAAM,KAAK,QAAQ;YAC5B,OAAO,KAAK,CAAC;QAEf,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,EAAY;QAC/B,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;;AAnBH,gDAoBC;AAjBwB,yBAAM,GAAG,gBAAgB,CAAC;AAmBnD;;GAEG;AACH,MAAa,yBAA0B,SAAQ,gBAAgB;IAItD,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAE3C,KAAK,CAAC,KAAK,CAAC,IAAc;QAC/B,IAAI,CAAC,MAAM,GAAG,sBAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,EAAY;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM;YACd,OAAO,KAAK,CAAC;QAEf,EAAE,CAAC,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;;AAlBH,8DAmBC;AAhBwB,gCAAM,GAAG,uBAAuB,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 {\n ColorDef, DisplayStyle3dSettingsProps, DisplayStyleOverridesOptions, RenderMode, SkyCube, SkySphere,\n SubCategoryAppearance, SubCategoryOverride, ViewFlags, ViewFlagsProperties, WhiteOnWhiteReversalSettings,\n} from \"@itwin/core-common\";\nimport {\n DisplayStyle3dState, IModelApp, NotifyMessageDetails, OutputMessagePriority, Tool, Viewport,\n} from \"@itwin/core-frontend\";\nimport { copyStringToClipboard } from \"../ClipboardUtilities\";\nimport { parseArgs } from \"./parseArgs\";\nimport { parseToggle } from \"./parseToggle\";\n\ntype BooleanFlagName =\n \"dimensions\" | \"patterns\" | \"weights\" | \"styles\" | \"transparency\" | \"fill\" | \"textures\" | \"materials\" | \"acsTriad\" | \"grid\" | \"visibleEdges\" |\n \"hiddenEdges\" | \"lighting\" | \"shadows\" | \"clipVolume\" | \"constructions\" | \"monochrome\" | \"backgroundMap\" | \"ambientOcclusion\" | \"forceSurfaceDiscard\"\n | \"wiremesh\";\n\n// Compiler has the info to construct this array for us, but we have no access to it...\nconst booleanFlagNames: BooleanFlagName[] = [\n \"dimensions\", \"patterns\", \"weights\", \"styles\", \"transparency\", \"fill\", \"textures\", \"materials\", \"acsTriad\", \"grid\", \"visibleEdges\",\n \"hiddenEdges\", \"lighting\", \"shadows\", \"clipVolume\", \"constructions\", \"monochrome\", \"backgroundMap\", \"ambientOcclusion\", \"forceSurfaceDiscard\",\n \"wiremesh\",\n];\n\nconst lowercaseBooleanFlagNames = booleanFlagNames.map((name) => name.toLowerCase());\n\n/** Modifies the selected viewport's DisplayStyleState.\n * @beta\n */\nexport abstract class DisplayStyleTool extends Tool {\n protected get require3d() { return false; }\n // Return true if the display style was modified - we will invalidate the viewport's render plan.\n protected abstract execute(vp: Viewport): Promise<boolean>;\n // Return false if failed to parse.\n protected abstract parse(args: string[], vp: Viewport): Promise<boolean>;\n\n public override async run(): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (undefined !== vp && (!this.require3d || vp.view.is3d()) && await this.execute(vp))\n vp.displayStyle = vp.view.displayStyle;\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 && (!this.require3d || vp.view.is3d()) && await this.parse(args, vp))\n return this.run();\n else\n return false;\n }\n}\n\n/** Modifies the selected viewport's ViewFlags.\n * The keyin syntax is as follows:\n * fdt change viewflags flag=value\n * Where 'flag' is one of the BooleanFlagName values, or \"renderMode\"; and value is an integer.\n * For boolean flags, value is 0 for false or 1 for true. For renderMode, value is one of the RenderMode enum values.\n * Flag names are case-insensitive.\n * @beta\n */\nexport class ChangeViewFlagsTool extends Tool {\n public static override toolId = \"ChangeViewFlags\";\n public static override get maxArgs() { return undefined; }\n public static override get minArgs() { return 1; }\n\n public override async run(vf: ViewFlags, vp?: Viewport): Promise<boolean> {\n if (undefined !== vf && undefined !== vp)\n vp.viewFlags = vf;\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 const vf: Partial<ViewFlagsProperties> = { ...vp.viewFlags };\n for (const arg of args) {\n const parts = arg.split(\"=\");\n if (2 !== parts.length)\n continue;\n\n const value = parseInt(parts[1], 10);\n if (Number.isNaN(value))\n continue;\n\n const name = parts[0].toLowerCase();\n if (name === \"rendermode\") {\n switch (value) {\n case RenderMode.SmoothShade:\n case RenderMode.Wireframe:\n case RenderMode.HiddenLine:\n case RenderMode.SolidFill:\n vf.renderMode = value;\n vp.invalidateRenderPlan();\n break;\n }\n\n continue;\n }\n\n if (0 !== value && 1 !== value)\n continue;\n\n const index = lowercaseBooleanFlagNames.indexOf(name);\n if (-1 !== index) {\n const propName = booleanFlagNames[index];\n vf[propName] = 0 !== value;\n vp.invalidateRenderPlan();\n }\n }\n\n return this.run(new ViewFlags(vf), vp);\n }\n}\n\n/** Toggles the skybox.\n * @beta\n */\nexport class ToggleSkyboxTool extends DisplayStyleTool {\n public static override toolId = \"ToggleSkybox\";\n\n public override get require3d() { return true; }\n\n public async parse(_args: string[]): Promise<boolean> { return true; } // no arguments\n\n public async execute(vp: Viewport) {\n const style = vp.view.displayStyle as DisplayStyle3dState;\n style.environment = style.environment.withDisplay({ sky: !style.environment.displaySky });\n return true;\n }\n}\n\n/** Defines a [SkySphere]($common) to apply to the current view.\n * @beta\n */\nexport class SkySphereTool extends DisplayStyleTool {\n private _image?: string;\n\n public static override toolId = \"SetSkySphere\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 1; }\n\n public override get require3d() { return true; }\n\n public async parse(args: string[]) {\n this._image = args[0];\n return true;\n }\n\n public async execute(vp: Viewport) {\n if (this._image && vp.view.is3d()) {\n vp.view.displayStyle.environment = vp.view.displayStyle.environment.clone({\n displaySky: true,\n sky: new SkySphere(this._image),\n });\n }\n\n return true;\n }\n}\n\n/** Defines a [SkyCube]($common) to apply to the current view.\n * @beta\n */\nexport class SkyCubeTool extends DisplayStyleTool {\n private _images: string[] = [];\n\n public static override toolId = \"SetSkyCube\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 6; }\n\n public override get require3d() { return true; }\n\n public async parse(args: string[]) {\n this._images = [...args];\n return true;\n }\n\n public async execute(vp: Viewport) {\n const imgs = this._images;\n if (imgs.length === 0 || !vp.view.is3d())\n return true;\n\n let top, bottom, left, right, front, back;\n switch (imgs.length) {\n case 1:\n top = bottom = left = right = front = back = imgs[0];\n break;\n case 2:\n top = bottom = imgs[0];\n left = right = front = back = imgs[1];\n break;\n case 3:\n top = bottom = imgs[0];\n left = right = imgs[1];\n front = back = imgs[2];\n break;\n case 4:\n top = imgs[0];\n bottom = imgs[1];\n left = right = imgs[2];\n front = back = imgs[3];\n break;\n case 5:\n top = bottom = imgs[0];\n left = imgs[1];\n right = imgs[2];\n front = imgs[3];\n back = imgs[4];\n break;\n default:\n top = imgs[0];\n bottom = imgs[1];\n left = imgs[2];\n right = imgs[3];\n front = imgs[4];\n back = imgs[5];\n break;\n }\n\n vp.view.displayStyle.environment = vp.view.displayStyle.environment.clone({\n displaySky: true,\n sky: new SkyCube({ top, bottom, left, right, front, back }),\n });\n\n return true;\n }\n}\n\n/** Outputs (and optionally copies to the clipboard) a \"rendering style\" as a partial DisplayStyle3dSettingsProps JSON object based\n * on the current view's display style settings.\n * All arguments are optional, of the form \"name=value\" where `value` is 0 for false or 1 for true. All arguments default to `false` if omitted.\n * @see [DisplayStyleSettings.toOverrides]($common) for details.\n * Arguments:\n * * `all`: include all settings.\n * * `imodel`: include iModel-specific settings.\n * * `project`: include iTwin-specific (formerly known as project) settings.\n * * `map`: include background map settings.\n * * `drawingaids`: include drawing aid decoration settings.\n * * `copy`: copy result to system clipboard.\n * * `quote`: format the JSON so it can be parsed directly by [ApplyRenderingStyleTool].\n * @beta\n */\nexport class SaveRenderingStyleTool extends DisplayStyleTool {\n private _options: DisplayStyleOverridesOptions = {};\n private _copyToClipboard = false;\n private _quote = false;\n\n public static override toolId = \"SaveRenderingStyle\";\n\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 7; }\n\n public async 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._options.includeAll = getArg(\"a\");\n this._options.includeIModelSpecific = getArg(\"i\");\n this._options.includeITwinSpecific = getArg(\"p\"); // \"p\" for backwards compatibility with old \"project\" terminology\n this._options.includeBackgroundMap = getArg(\"m\");\n this._options.includeDrawingAids = getArg(\"d\");\n this._copyToClipboard = true === getArg(\"c\");\n this._quote = true === getArg(\"q\");\n\n return true;\n }\n\n public async execute(vp: Viewport) {\n let json = JSON.stringify(vp.displayStyle.settings.toOverrides(this._options));\n if (this._quote)\n json = `\"${json.replace(/\"/g, '\"\"')}\"`;\n\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, \"Rendering style saved\", json));\n if (this._copyToClipboard)\n copyStringToClipboard(json);\n\n return false;\n }\n}\n\n/** Given a \"rendering style\" as a partial DisplayStyle3dSettingsProperties JSON string, apply it to the selected viewport's display style.\n * @see [DisplayStyleSettings.applyOverrides]($common) for details.\n * @beta\n */\nexport class ApplyRenderingStyleTool extends DisplayStyleTool {\n private _overrides?: DisplayStyle3dSettingsProps;\n\n public static override toolId = \"ApplyRenderingStyle\";\n\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 1; }\n\n public async parse(args: string[]) {\n try {\n this._overrides = JSON.parse(args[0]);\n return true;\n } catch {\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, \"Invalid JSON\"));\n return false;\n }\n }\n\n public async execute(vp: Viewport) {\n if (this._overrides)\n vp.overrideDisplayStyle(this._overrides);\n\n return false;\n }\n}\n\n/** Apply appearance overrides to one or more subcategories in the active viewport.\n * @beta\n */\nexport class OverrideSubCategoryTool extends DisplayStyleTool {\n private _overrideProps: SubCategoryAppearance.Props = {};\n private _subcategoryIds: string[] = [];\n\n public static override toolId = \"OverrideSubCategory\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 7; }\n\n public async parse(inArgs: string[]) {\n const args = parseArgs(inArgs);\n const ids = args.get(\"i\");\n if (ids)\n this._subcategoryIds = ids.split(\",\");\n\n const props = this._overrideProps;\n props.color = args.getInteger(\"c\");\n props.weight = args.getInteger(\"w\");\n props.priority = args.getInteger(\"p\");\n props.transp = args.getFloat(\"t\");\n props.material = args.get(\"m\");\n\n const visible = args.getBoolean(\"v\");\n props.invisible = typeof visible === \"boolean\" ? !visible : undefined;\n return true;\n }\n\n public async execute(vp: Viewport) {\n const ovr = SubCategoryOverride.fromJSON(this._overrideProps);\n for (const id of this._subcategoryIds)\n vp.displayStyle.overrideSubCategory(id, ovr);\n\n return true;\n }\n}\n\n/** Set whether background color is ignored when applying white-on-white reversal.\n * @beta\n */\nexport class WoWIgnoreBackgroundTool extends DisplayStyleTool {\n private _ignore?: boolean;\n\n public static override toolId = \"WoWIgnoreBackground\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n public async parse(args: string[]) {\n const ignore = parseToggle(args[0]);\n if (typeof ignore === \"string\")\n return false;\n\n this._ignore = ignore;\n return true;\n }\n\n public async execute(vp: Viewport) {\n const ignoreBackgroundColor = this._ignore ?? !vp.displayStyle.settings.whiteOnWhiteReversal.ignoreBackgroundColor;\n vp.displayStyle.settings.whiteOnWhiteReversal = WhiteOnWhiteReversalSettings.fromJSON({ ignoreBackgroundColor });\n return true;\n }\n}\n\n/** Toggle whether surfaces display with overlaid wiremesh in the active viewport.\n * @see [ViewFlags.wiremesh]($common).\n * @beta\n */\nexport class ToggleWiremeshTool extends DisplayStyleTool {\n private _enable?: boolean;\n\n public static override toolId = \"ToggleWiremesh\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n public async parse(args: string[]) {\n const enable = parseToggle(args[0]);\n if (typeof enable === \"string\")\n return false;\n\n this._enable = enable;\n return true;\n }\n\n public async execute(vp: Viewport) {\n vp.viewFlags = vp.viewFlags.with(\"wiremesh\", this._enable ?? !vp.viewFlags.wiremesh);\n return true;\n }\n}\n\n/** Change the background color of the active viewport and optionally its transparency.\n * @beta\n */\nexport class ChangeBackgroundColorTool extends DisplayStyleTool {\n private _color?: ColorDef;\n\n public static override toolId = \"ChangeBackgroundColor\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 1; }\n\n public async parse(args: string[]) {\n this._color = ColorDef.fromString(args[0]);\n return true;\n }\n\n public async execute(vp: Viewport) {\n if (!this._color)\n return false;\n\n vp.displayStyle.backgroundColor = this._color;\n return true;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"DisplayStyleTools.js","sourceRoot":"","sources":["../../../src/tools/DisplayStyleTools.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F;;GAEG;AAEH,oDAG4B;AAC5B,wDAE8B;AAC9B,8DAA8D;AAC9D,2CAAwC;AACxC,+CAA4C;AAO5C,uFAAuF;AACvF,MAAM,gBAAgB,GAAsB;IAC1C,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc;IAClI,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,qBAAqB;IAC7I,UAAU;CACX,CAAC;AAEF,MAAM,yBAAyB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAErF;;GAEG;AACH,MAAsB,gBAAiB,SAAQ,oBAAI;IACjD,IAAc,SAAS,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC;IAM3B,KAAK,CAAC,GAAG;QACvB,MAAM,EAAE,GAAG,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,SAAS,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACnF,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;QAEzC,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,MAAM,EAAE,GAAG,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,SAAS,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACvF,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;;YAElB,OAAO,KAAK,CAAC;IACjB,CAAC;CACF;AAtBD,4CAsBC;AAED;;;;;;;GAOG;AACH,MAAa,mBAAoB,SAAQ,oBAAI;IACpC,MAAM,CAAU,MAAM,GAAG,iBAAiB,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;IACnD,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElC,KAAK,CAAC,GAAG,CAAC,EAAa,EAAE,EAAa;QACpD,IAAI,SAAS,KAAK,EAAE,IAAI,SAAS,KAAK,EAAE;YACtC,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC;QAEpB,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,MAAM,EAAE,GAAG,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,SAAS,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM;YACvC,OAAO,IAAI,CAAC;QAEd,MAAM,EAAE,GAAiC,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;QAC7D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM;gBACpB,SAAS;YAEX,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;gBACrB,SAAS;YAEX,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC1B,QAAQ,KAAK,EAAE,CAAC;oBACd,KAAK,wBAAU,CAAC,WAAW,CAAC;oBAC5B,KAAK,wBAAU,CAAC,SAAS,CAAC;oBAC1B,KAAK,wBAAU,CAAC,UAAU,CAAC;oBAC3B,KAAK,wBAAU,CAAC,SAAS;wBACvB,EAAE,CAAC,UAAU,GAAG,KAAK,CAAC;wBACtB,EAAE,CAAC,oBAAoB,EAAE,CAAC;wBAC1B,MAAM;gBACV,CAAC;gBAED,SAAS;YACX,CAAC;YAED,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK;gBAC5B,SAAS;YAEX,MAAM,KAAK,GAAG,yBAAyB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;gBACjB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACzC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC;gBAC3B,EAAE,CAAC,oBAAoB,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,uBAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;;AAtDH,kDAuDC;AAED;;GAEG;AACH,MAAa,gBAAiB,SAAQ,gBAAgB;IAC7C,MAAM,CAAU,MAAM,GAAG,cAAc,CAAC;IAE/C,IAAoB,SAAS,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;IAEzC,KAAK,CAAC,KAAK,CAAC,KAAe,IAAsB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe;IAE/E,KAAK,CAAC,OAAO,CAAC,EAAY;QAC/B,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,YAAmC,CAAC;QAC1D,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC;IACd,CAAC;;AAXH,4CAYC;AAED;;GAEG;AACH,MAAa,aAAc,SAAQ,gBAAgB;IACzC,MAAM,CAAU;IAEjB,MAAM,CAAU,MAAM,GAAG,cAAc,CAAC;IACxC,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElD,IAAoB,SAAS,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;IAEzC,KAAK,CAAC,KAAK,CAAC,IAAc;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,EAAY;QAC/B,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC;gBACxE,UAAU,EAAE,IAAI;gBAChB,GAAG,EAAE,IAAI,uBAAS,CAAC,IAAI,CAAC,MAAM,CAAC;aAChC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;;AAvBH,sCAwBC;AAED;;GAEG;AACH,MAAa,WAAY,SAAQ,gBAAgB;IACvC,OAAO,GAAa,EAAE,CAAC;IAExB,MAAM,CAAU,MAAM,GAAG,YAAY,CAAC;IACtC,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElD,IAAoB,SAAS,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;IAEzC,KAAK,CAAC,KAAK,CAAC,IAAc;QAC/B,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,EAAY;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE;YACtC,OAAO,IAAI,CAAC;QAEd,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;QAC1C,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,CAAC;gBACJ,GAAG,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACrD,MAAM;YACR,KAAK,CAAC;gBACJ,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACtC,MAAM;YACR,KAAK,CAAC;gBACJ,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,MAAM;YACR,KAAK,CAAC;gBACJ,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACd,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjB,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,MAAM;YACR,KAAK,CAAC;gBACJ,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACf,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACf,MAAM;YACR;gBACE,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACd,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjB,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACf,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACf,MAAM;QACV,CAAC;QAED,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC;YACxE,UAAU,EAAE,IAAI;YAChB,GAAG,EAAE,IAAI,qBAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;SAC5D,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;;AA9DH,kCA+DC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAa,sBAAuB,SAAQ,gBAAgB;IAClD,QAAQ,GAAiC,EAAE,CAAC;IAC5C,gBAAgB,GAAG,KAAK,CAAC;IACzB,MAAM,GAAG,KAAK,CAAC;IAEhB,MAAM,CAAU,MAAM,GAAG,oBAAoB,CAAC;IAE9C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAE3C,KAAK,CAAC,KAAK,CAAC,SAAmB;QACpC,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,SAAS,CAAC,CAAC;QAClC,SAAS,MAAM,CAAC,IAAY;YAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,iEAAiE;QACnH,IAAI,CAAC,QAAQ,CAAC,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,gBAAgB,GAAG,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;QAEnC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,EAAY;QAC/B,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/E,IAAI,IAAI,CAAC,MAAM;YACb,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;QAEzC,yBAAS,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,oCAAoB,CAAC,qCAAqB,CAAC,IAAI,EAAE,uBAAuB,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3H,IAAI,IAAI,CAAC,gBAAgB;YACvB,IAAA,0CAAqB,EAAC,IAAI,CAAC,CAAC;QAE9B,OAAO,KAAK,CAAC;IACf,CAAC;;AArCH,wDAsCC;AAED;;;GAGG;AACH,MAAa,uBAAwB,SAAQ,gBAAgB;IACnD,UAAU,CAA+B;IAE1C,MAAM,CAAU,MAAM,GAAG,qBAAqB,CAAC;IAE/C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAE3C,KAAK,CAAC,KAAK,CAAC,IAAc;QAC/B,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,yBAAS,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,oCAAoB,CAAC,qCAAqB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;YAC7G,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,EAAY;QAC/B,IAAI,IAAI,CAAC,UAAU;YACjB,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE3C,OAAO,KAAK,CAAC;IACf,CAAC;;AAvBH,0DAwBC;AAED;;GAEG;AACH,MAAa,uBAAwB,SAAQ,gBAAgB;IACnD,cAAc,GAAgC,EAAE,CAAC;IACjD,eAAe,GAAa,EAAE,CAAC;IAEhC,MAAM,CAAU,MAAM,GAAG,qBAAqB,CAAC;IAC/C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAE3C,KAAK,CAAC,KAAK,CAAC,MAAgB;QACjC,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,GAAG;YACL,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAExC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;QAClC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACnC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACpC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACtC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAClC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,CAAC,SAAS,GAAG,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,EAAY;QAC/B,MAAM,GAAG,GAAG,iCAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9D,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,eAAe;YACnC,EAAE,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAE/C,OAAO,IAAI,CAAC;IACd,CAAC;;AAhCH,0DAiCC;AAED;;GAEG;AACH,MAAa,uBAAwB,SAAQ,gBAAgB;IACnD,OAAO,CAAW;IAEnB,MAAM,CAAU,MAAM,GAAG,qBAAqB,CAAC;IAC/C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAE3C,KAAK,CAAC,KAAK,CAAC,IAAc;QAC/B,MAAM,MAAM,GAAG,IAAA,yBAAW,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,OAAO,MAAM,KAAK,QAAQ;YAC5B,OAAO,KAAK,CAAC;QAEf,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,EAAY;QAC/B,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC,qBAAqB,CAAC;QACnH,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,oBAAoB,GAAG,0CAA4B,CAAC,QAAQ,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACjH,OAAO,IAAI,CAAC;IACd,CAAC;;AApBH,0DAqBC;AAED;;;GAGG;AACH,MAAa,kBAAmB,SAAQ,gBAAgB;IAC9C,OAAO,CAAW;IAEnB,MAAM,CAAU,MAAM,GAAG,gBAAgB,CAAC;IAC1C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAE3C,KAAK,CAAC,KAAK,CAAC,IAAc;QAC/B,MAAM,MAAM,GAAG,IAAA,yBAAW,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,OAAO,MAAM,KAAK,QAAQ;YAC5B,OAAO,KAAK,CAAC;QAEf,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,EAAY;QAC/B,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;;AAnBH,gDAoBC;AAED;;GAEG;AACH,MAAa,yBAA0B,SAAQ,gBAAgB;IACrD,MAAM,CAAY;IAEnB,MAAM,CAAU,MAAM,GAAG,uBAAuB,CAAC;IACjD,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAE3C,KAAK,CAAC,KAAK,CAAC,IAAc;QAC/B,IAAI,CAAC,MAAM,GAAG,sBAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,EAAY;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM;YACd,OAAO,KAAK,CAAC;QAEf,EAAE,CAAC,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;;AAlBH,8DAmBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Tools\n */\n\nimport {\n ColorDef, DisplayStyle3dSettingsProps, DisplayStyleOverridesOptions, RenderMode, SkyCube, SkySphere,\n SubCategoryAppearance, SubCategoryOverride, ViewFlags, ViewFlagsProperties, WhiteOnWhiteReversalSettings,\n} from \"@itwin/core-common\";\nimport {\n DisplayStyle3dState, IModelApp, NotifyMessageDetails, OutputMessagePriority, Tool, Viewport,\n} from \"@itwin/core-frontend\";\nimport { copyStringToClipboard } from \"../ClipboardUtilities\";\nimport { parseArgs } from \"./parseArgs\";\nimport { parseToggle } from \"./parseToggle\";\n\ntype BooleanFlagName =\n \"dimensions\" | \"patterns\" | \"weights\" | \"styles\" | \"transparency\" | \"fill\" | \"textures\" | \"materials\" | \"acsTriad\" | \"grid\" | \"visibleEdges\" |\n \"hiddenEdges\" | \"lighting\" | \"shadows\" | \"clipVolume\" | \"constructions\" | \"monochrome\" | \"backgroundMap\" | \"ambientOcclusion\" | \"forceSurfaceDiscard\"\n | \"wiremesh\";\n\n// Compiler has the info to construct this array for us, but we have no access to it...\nconst booleanFlagNames: BooleanFlagName[] = [\n \"dimensions\", \"patterns\", \"weights\", \"styles\", \"transparency\", \"fill\", \"textures\", \"materials\", \"acsTriad\", \"grid\", \"visibleEdges\",\n \"hiddenEdges\", \"lighting\", \"shadows\", \"clipVolume\", \"constructions\", \"monochrome\", \"backgroundMap\", \"ambientOcclusion\", \"forceSurfaceDiscard\",\n \"wiremesh\",\n];\n\nconst lowercaseBooleanFlagNames = booleanFlagNames.map((name) => name.toLowerCase());\n\n/** Modifies the selected viewport's DisplayStyleState.\n * @beta\n */\nexport abstract class DisplayStyleTool extends Tool {\n protected get require3d() { return false; }\n // Return true if the display style was modified - we will invalidate the viewport's render plan.\n protected abstract execute(vp: Viewport): Promise<boolean>;\n // Return false if failed to parse.\n protected abstract parse(args: string[], vp: Viewport): Promise<boolean>;\n\n public override async run(): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (undefined !== vp && (!this.require3d || vp.view.is3d()) && await this.execute(vp))\n vp.displayStyle = vp.view.displayStyle;\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 && (!this.require3d || vp.view.is3d()) && await this.parse(args, vp))\n return this.run();\n else\n return false;\n }\n}\n\n/** Modifies the selected viewport's ViewFlags.\n * The keyin syntax is as follows:\n * fdt change viewflags flag=value\n * Where 'flag' is one of the BooleanFlagName values, or \"renderMode\"; and value is an integer.\n * For boolean flags, value is 0 for false or 1 for true. For renderMode, value is one of the RenderMode enum values.\n * Flag names are case-insensitive.\n * @beta\n */\nexport class ChangeViewFlagsTool extends Tool {\n public static override toolId = \"ChangeViewFlags\";\n public static override get maxArgs() { return undefined; }\n public static override get minArgs() { return 1; }\n\n public override async run(vf: ViewFlags, vp?: Viewport): Promise<boolean> {\n if (undefined !== vf && undefined !== vp)\n vp.viewFlags = vf;\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 const vf: Partial<ViewFlagsProperties> = { ...vp.viewFlags };\n for (const arg of args) {\n const parts = arg.split(\"=\");\n if (2 !== parts.length)\n continue;\n\n const value = parseInt(parts[1], 10);\n if (Number.isNaN(value))\n continue;\n\n const name = parts[0].toLowerCase();\n if (name === \"rendermode\") {\n switch (value) {\n case RenderMode.SmoothShade:\n case RenderMode.Wireframe:\n case RenderMode.HiddenLine:\n case RenderMode.SolidFill:\n vf.renderMode = value;\n vp.invalidateRenderPlan();\n break;\n }\n\n continue;\n }\n\n if (0 !== value && 1 !== value)\n continue;\n\n const index = lowercaseBooleanFlagNames.indexOf(name);\n if (-1 !== index) {\n const propName = booleanFlagNames[index];\n vf[propName] = 0 !== value;\n vp.invalidateRenderPlan();\n }\n }\n\n return this.run(new ViewFlags(vf), vp);\n }\n}\n\n/** Toggles the skybox.\n * @beta\n */\nexport class ToggleSkyboxTool extends DisplayStyleTool {\n public static override toolId = \"ToggleSkybox\";\n\n public override get require3d() { return true; }\n\n public async parse(_args: string[]): Promise<boolean> { return true; } // no arguments\n\n public async execute(vp: Viewport) {\n const style = vp.view.displayStyle as DisplayStyle3dState;\n style.environment = style.environment.withDisplay({ sky: !style.environment.displaySky });\n return true;\n }\n}\n\n/** Defines a [SkySphere]($common) to apply to the current view.\n * @beta\n */\nexport class SkySphereTool extends DisplayStyleTool {\n private _image?: string;\n\n public static override toolId = \"SetSkySphere\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 1; }\n\n public override get require3d() { return true; }\n\n public async parse(args: string[]) {\n this._image = args[0];\n return true;\n }\n\n public async execute(vp: Viewport) {\n if (this._image && vp.view.is3d()) {\n vp.view.displayStyle.environment = vp.view.displayStyle.environment.clone({\n displaySky: true,\n sky: new SkySphere(this._image),\n });\n }\n\n return true;\n }\n}\n\n/** Defines a [SkyCube]($common) to apply to the current view.\n * @beta\n */\nexport class SkyCubeTool extends DisplayStyleTool {\n private _images: string[] = [];\n\n public static override toolId = \"SetSkyCube\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 6; }\n\n public override get require3d() { return true; }\n\n public async parse(args: string[]) {\n this._images = [...args];\n return true;\n }\n\n public async execute(vp: Viewport) {\n const imgs = this._images;\n if (imgs.length === 0 || !vp.view.is3d())\n return true;\n\n let top, bottom, left, right, front, back;\n switch (imgs.length) {\n case 1:\n top = bottom = left = right = front = back = imgs[0];\n break;\n case 2:\n top = bottom = imgs[0];\n left = right = front = back = imgs[1];\n break;\n case 3:\n top = bottom = imgs[0];\n left = right = imgs[1];\n front = back = imgs[2];\n break;\n case 4:\n top = imgs[0];\n bottom = imgs[1];\n left = right = imgs[2];\n front = back = imgs[3];\n break;\n case 5:\n top = bottom = imgs[0];\n left = imgs[1];\n right = imgs[2];\n front = imgs[3];\n back = imgs[4];\n break;\n default:\n top = imgs[0];\n bottom = imgs[1];\n left = imgs[2];\n right = imgs[3];\n front = imgs[4];\n back = imgs[5];\n break;\n }\n\n vp.view.displayStyle.environment = vp.view.displayStyle.environment.clone({\n displaySky: true,\n sky: new SkyCube({ top, bottom, left, right, front, back }),\n });\n\n return true;\n }\n}\n\n/** Outputs (and optionally copies to the clipboard) a \"rendering style\" as a partial DisplayStyle3dSettingsProps JSON object based\n * on the current view's display style settings.\n * All arguments are optional, of the form \"name=value\" where `value` is 0 for false or 1 for true. All arguments default to `false` if omitted.\n * @see [DisplayStyleSettings.toOverrides]($common) for details.\n * Arguments:\n * * `all`: include all settings.\n * * `imodel`: include iModel-specific settings.\n * * `project`: include iTwin-specific (formerly known as project) settings.\n * * `map`: include background map settings.\n * * `drawingaids`: include drawing aid decoration settings.\n * * `copy`: copy result to system clipboard.\n * * `quote`: format the JSON so it can be parsed directly by [ApplyRenderingStyleTool].\n * @beta\n */\nexport class SaveRenderingStyleTool extends DisplayStyleTool {\n private _options: DisplayStyleOverridesOptions = {};\n private _copyToClipboard = false;\n private _quote = false;\n\n public static override toolId = \"SaveRenderingStyle\";\n\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 7; }\n\n public async 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._options.includeAll = getArg(\"a\");\n this._options.includeIModelSpecific = getArg(\"i\");\n this._options.includeITwinSpecific = getArg(\"p\"); // \"p\" for backwards compatibility with old \"project\" terminology\n this._options.includeBackgroundMap = getArg(\"m\");\n this._options.includeDrawingAids = getArg(\"d\");\n this._copyToClipboard = true === getArg(\"c\");\n this._quote = true === getArg(\"q\");\n\n return true;\n }\n\n public async execute(vp: Viewport) {\n let json = JSON.stringify(vp.displayStyle.settings.toOverrides(this._options));\n if (this._quote)\n json = `\"${json.replace(/\"/g, '\"\"')}\"`;\n\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, \"Rendering style saved\", json));\n if (this._copyToClipboard)\n copyStringToClipboard(json);\n\n return false;\n }\n}\n\n/** Given a \"rendering style\" as a partial DisplayStyle3dSettingsProperties JSON string, apply it to the selected viewport's display style.\n * @see [DisplayStyleSettings.applyOverrides]($common) for details.\n * @beta\n */\nexport class ApplyRenderingStyleTool extends DisplayStyleTool {\n private _overrides?: DisplayStyle3dSettingsProps;\n\n public static override toolId = \"ApplyRenderingStyle\";\n\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 1; }\n\n public async parse(args: string[]) {\n try {\n this._overrides = JSON.parse(args[0]);\n return true;\n } catch {\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, \"Invalid JSON\"));\n return false;\n }\n }\n\n public async execute(vp: Viewport) {\n if (this._overrides)\n vp.overrideDisplayStyle(this._overrides);\n\n return false;\n }\n}\n\n/** Apply appearance overrides to one or more subcategories in the active viewport.\n * @beta\n */\nexport class OverrideSubCategoryTool extends DisplayStyleTool {\n private _overrideProps: SubCategoryAppearance.Props = {};\n private _subcategoryIds: string[] = [];\n\n public static override toolId = \"OverrideSubCategory\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 7; }\n\n public async parse(inArgs: string[]) {\n const args = parseArgs(inArgs);\n const ids = args.get(\"i\");\n if (ids)\n this._subcategoryIds = ids.split(\",\");\n\n const props = this._overrideProps;\n props.color = args.getInteger(\"c\");\n props.weight = args.getInteger(\"w\");\n props.priority = args.getInteger(\"p\");\n props.transp = args.getFloat(\"t\");\n props.material = args.get(\"m\");\n\n const visible = args.getBoolean(\"v\");\n props.invisible = typeof visible === \"boolean\" ? !visible : undefined;\n return true;\n }\n\n public async execute(vp: Viewport) {\n const ovr = SubCategoryOverride.fromJSON(this._overrideProps);\n for (const id of this._subcategoryIds)\n vp.displayStyle.overrideSubCategory(id, ovr);\n\n return true;\n }\n}\n\n/** Set whether background color is ignored when applying white-on-white reversal.\n * @beta\n */\nexport class WoWIgnoreBackgroundTool extends DisplayStyleTool {\n private _ignore?: boolean;\n\n public static override toolId = \"WoWIgnoreBackground\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n public async parse(args: string[]) {\n const ignore = parseToggle(args[0]);\n if (typeof ignore === \"string\")\n return false;\n\n this._ignore = ignore;\n return true;\n }\n\n public async execute(vp: Viewport) {\n const ignoreBackgroundColor = this._ignore ?? !vp.displayStyle.settings.whiteOnWhiteReversal.ignoreBackgroundColor;\n vp.displayStyle.settings.whiteOnWhiteReversal = WhiteOnWhiteReversalSettings.fromJSON({ ignoreBackgroundColor });\n return true;\n }\n}\n\n/** Toggle whether surfaces display with overlaid wiremesh in the active viewport.\n * @see [ViewFlags.wiremesh]($common).\n * @beta\n */\nexport class ToggleWiremeshTool extends DisplayStyleTool {\n private _enable?: boolean;\n\n public static override toolId = \"ToggleWiremesh\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n public async parse(args: string[]) {\n const enable = parseToggle(args[0]);\n if (typeof enable === \"string\")\n return false;\n\n this._enable = enable;\n return true;\n }\n\n public async execute(vp: Viewport) {\n vp.viewFlags = vp.viewFlags.with(\"wiremesh\", this._enable ?? !vp.viewFlags.wiremesh);\n return true;\n }\n}\n\n/** Change the background color of the active viewport and optionally its transparency.\n * @beta\n */\nexport class ChangeBackgroundColorTool extends DisplayStyleTool {\n private _color?: ColorDef;\n\n public static override toolId = \"ChangeBackgroundColor\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 1; }\n\n public async parse(args: string[]) {\n this._color = ColorDef.fromString(args[0]);\n return true;\n }\n\n public async execute(vp: Viewport) {\n if (!this._color)\n return false;\n\n vp.displayStyle.backgroundColor = this._color;\n return true;\n }\n}\n"]}
|
|
@@ -35,12 +35,10 @@ exports.EmphasizeElementsTool = EmphasizeElementsTool;
|
|
|
35
35
|
* @beta
|
|
36
36
|
*/
|
|
37
37
|
class EmphasizeSelectedElementsTool extends EmphasizeElementsTool {
|
|
38
|
-
|
|
39
|
-
super(...arguments);
|
|
40
|
-
this._type = 0 /* OverrideType.None */;
|
|
41
|
-
}
|
|
38
|
+
static toolId = "EmphasizeSelectedElements";
|
|
42
39
|
static get minArgs() { return 0; }
|
|
43
40
|
static get maxArgs() { return 1; }
|
|
41
|
+
_type = 0 /* OverrideType.None */;
|
|
44
42
|
execute(emph, vp) {
|
|
45
43
|
if (0 /* OverrideType.None */ === (this._type & 1 /* OverrideType.Color */) || emph.overrideSelectedElements(vp, core_common_1.ColorDef.white, undefined, true, false)) {
|
|
46
44
|
emph.wantEmphasis = 0 /* OverrideType.None */ !== (this._type & 2 /* OverrideType.Emphasis */);
|
|
@@ -74,32 +72,32 @@ class EmphasizeSelectedElementsTool extends EmphasizeElementsTool {
|
|
|
74
72
|
}
|
|
75
73
|
}
|
|
76
74
|
exports.EmphasizeSelectedElementsTool = EmphasizeSelectedElementsTool;
|
|
77
|
-
EmphasizeSelectedElementsTool.toolId = "EmphasizeSelectedElements";
|
|
78
75
|
/** Isolate all selected elements so that *only* those elements will be drawn.
|
|
79
76
|
* @beta
|
|
80
77
|
*/
|
|
81
78
|
class IsolateSelectedElementsTool extends EmphasizeElementsTool {
|
|
79
|
+
static toolId = "IsolateSelectedElements";
|
|
82
80
|
execute(emph, vp) {
|
|
83
81
|
emph.isolateSelectedElements(vp, true, true);
|
|
84
82
|
}
|
|
85
83
|
}
|
|
86
84
|
exports.IsolateSelectedElementsTool = IsolateSelectedElementsTool;
|
|
87
|
-
IsolateSelectedElementsTool.toolId = "IsolateSelectedElements";
|
|
88
85
|
/** Clear the set of isolated elements.
|
|
89
86
|
* @beta
|
|
90
87
|
*/
|
|
91
88
|
class ClearIsolatedElementsTool extends EmphasizeElementsTool {
|
|
89
|
+
static toolId = "ClearIsolatedElements";
|
|
92
90
|
get _wantCreate() { return false; }
|
|
93
91
|
execute(emph, vp) {
|
|
94
92
|
emph.clearIsolatedElements(vp);
|
|
95
93
|
}
|
|
96
94
|
}
|
|
97
95
|
exports.ClearIsolatedElementsTool = ClearIsolatedElementsTool;
|
|
98
|
-
ClearIsolatedElementsTool.toolId = "ClearIsolatedElements";
|
|
99
96
|
/** Reset [EmphasizeElements]($frontend) for the active [Viewport]($frontend).
|
|
100
97
|
* @beta
|
|
101
98
|
*/
|
|
102
99
|
class ClearEmphasizedElementsTool extends EmphasizeElementsTool {
|
|
100
|
+
static toolId = "ClearEmphasizedElements";
|
|
103
101
|
get _wantCreate() { return false; }
|
|
104
102
|
get _wantClear() { return true; }
|
|
105
103
|
execute(emph, vp) {
|
|
@@ -108,17 +106,14 @@ class ClearEmphasizedElementsTool extends EmphasizeElementsTool {
|
|
|
108
106
|
}
|
|
109
107
|
}
|
|
110
108
|
exports.ClearEmphasizedElementsTool = ClearEmphasizedElementsTool;
|
|
111
|
-
ClearEmphasizedElementsTool.toolId = "ClearEmphasizedElements";
|
|
112
109
|
/** Emphasize the set of elements currently visible in the view based on [Viewport.queryVisibleFeatures]($frontend).
|
|
113
110
|
* @beta
|
|
114
111
|
*/
|
|
115
112
|
class EmphasizeVisibleElementsTool extends EmphasizeElementsTool {
|
|
116
|
-
|
|
117
|
-
super(...arguments);
|
|
118
|
-
this._options = { source: "screen" };
|
|
119
|
-
}
|
|
113
|
+
static toolId = "EmphasizeVisibleElements";
|
|
120
114
|
static get minArgs() { return 1; }
|
|
121
115
|
static get maxArgs() { return 2; }
|
|
116
|
+
_options = { source: "screen" };
|
|
122
117
|
get _wantClear() { return true; }
|
|
123
118
|
async parseAndRun(...input) {
|
|
124
119
|
const args = (0, parseArgs_1.parseArgs)(input);
|
|
@@ -151,5 +146,4 @@ class EmphasizeVisibleElementsTool extends EmphasizeElementsTool {
|
|
|
151
146
|
}
|
|
152
147
|
}
|
|
153
148
|
exports.EmphasizeVisibleElementsTool = EmphasizeVisibleElementsTool;
|
|
154
|
-
EmphasizeVisibleElementsTool.toolId = "EmphasizeVisibleElements";
|
|
155
149
|
//# sourceMappingURL=EmphasizeElementsTool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmphasizeElementsTool.js","sourceRoot":"","sources":["../../../src/tools/EmphasizeElementsTool.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA2C;AAC3C,oDAA8C;AAC9C,wDAAuH;AACvH,2CAAwC;AAExC;;GAEG;AACH,MAAsB,qBAAsB,SAAQ,oBAAI;IACtD,IAAc,WAAW,KAAc,OAAO,IAAI,CAAC,CAAC,CAAC;IACrD,IAAc,UAAU,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;IAGrC,KAAK,CAAC,GAAG,CAAC,KAAY;QACpC,MAAM,EAAE,GAAG,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,SAAS,KAAK,EAAE;YAClB,OAAO,IAAI,CAAC;QAEd,IAAI,IAAI,CAAC,UAAU;YACjB,iCAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE9B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,iCAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iCAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9F,IAAI,SAAS,KAAK,IAAI;YACpB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAnBD,sDAmBC;AASD;;GAEG;AACH,MAAa,6BAA8B,SAAQ,qBAAqB;
|
|
1
|
+
{"version":3,"file":"EmphasizeElementsTool.js","sourceRoot":"","sources":["../../../src/tools/EmphasizeElementsTool.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/** @packageDocumentation\n * @module Tools\n */\n\nimport { Id64 } from \"@itwin/core-bentley\";\nimport { ColorDef } from \"@itwin/core-common\";\nimport { EmphasizeElements, IModelApp, QueryVisibleFeaturesOptions, ScreenViewport, Tool } from \"@itwin/core-frontend\";\nimport { parseArgs } from \"./parseArgs\";\n\n/** Applies the `EmphasizeElements` API in some way to the selected Viewport.\n * @beta\n */\nexport abstract class EmphasizeElementsTool extends Tool {\n protected get _wantCreate(): boolean { return true; }\n protected get _wantClear(): boolean { return false; }\n protected abstract execute(emph: EmphasizeElements, vp: ScreenViewport): void;\n\n public override async run(_args: any[]): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (undefined === vp)\n return true;\n\n if (this._wantClear)\n EmphasizeElements.clear(vp);\n\n const emph = this._wantCreate ? EmphasizeElements.getOrCreate(vp) : EmphasizeElements.get(vp);\n if (undefined !== emph)\n this.execute(emph, vp);\n\n return true;\n }\n}\n\nconst enum OverrideType { // eslint-disable-line no-restricted-syntax\n None = 0,\n Color = 1 << 0,\n Emphasis = 1 << 1,\n Both = Color | Emphasis,\n}\n\n/** If any elements are selected, emphasize them all by overriding their color to be orange; and de-emphasize all other elements by drawing them transparent grey.\n * @beta\n */\nexport class EmphasizeSelectedElementsTool extends EmphasizeElementsTool {\n public static override toolId = \"EmphasizeSelectedElements\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n private _type = OverrideType.None;\n\n public execute(emph: EmphasizeElements, vp: ScreenViewport): void {\n if (OverrideType.None === (this._type & OverrideType.Color) || emph.overrideSelectedElements(vp, ColorDef.white, undefined, true, false)) {\n emph.wantEmphasis = OverrideType.None !== (this._type & OverrideType.Emphasis);\n if (emph.emphasizeSelectedElements(vp, undefined, true)) {\n vp.isFadeOutActive = true;\n return;\n }\n }\n\n // Empty selection set - clear any previous overrides.\n EmphasizeElements.clear(vp);\n emph.wantEmphasis = false;\n vp.isFadeOutActive = false;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n if (1 === args.length) {\n switch (args[0].toLowerCase()[0]) {\n case \"n\":\n break;\n case \"c\":\n this._type = OverrideType.Color;\n break;\n case \"e\":\n this._type = OverrideType.Emphasis;\n break;\n case \"b\":\n this._type = OverrideType.Both;\n break;\n }\n }\n\n return this.run(args);\n }\n}\n\n/** Isolate all selected elements so that *only* those elements will be drawn.\n * @beta\n */\nexport class IsolateSelectedElementsTool extends EmphasizeElementsTool {\n public static override toolId = \"IsolateSelectedElements\";\n public execute(emph: EmphasizeElements, vp: ScreenViewport): void {\n emph.isolateSelectedElements(vp, true, true);\n }\n}\n\n/** Clear the set of isolated elements.\n * @beta\n */\nexport class ClearIsolatedElementsTool extends EmphasizeElementsTool {\n public static override toolId = \"ClearIsolatedElements\";\n protected override get _wantCreate() { return false; }\n public execute(emph: EmphasizeElements, vp: ScreenViewport): void {\n emph.clearIsolatedElements(vp);\n }\n}\n\n/** Reset [EmphasizeElements]($frontend) for the active [Viewport]($frontend).\n * @beta\n */\nexport class ClearEmphasizedElementsTool extends EmphasizeElementsTool {\n public static override toolId = \"ClearEmphasizedElements\";\n protected override get _wantCreate() { return false; }\n protected override get _wantClear() { return true; }\n\n public execute(emph: EmphasizeElements, vp: ScreenViewport): void {\n emph.clearEmphasizedElements(vp);\n vp.isFadeOutActive = false;\n }\n}\n\n/** Emphasize the set of elements currently visible in the view based on [Viewport.queryVisibleFeatures]($frontend).\n * @beta\n */\nexport class EmphasizeVisibleElementsTool extends EmphasizeElementsTool {\n public static override toolId = \"EmphasizeVisibleElements\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 2; }\n private _options: QueryVisibleFeaturesOptions = { source: \"screen\" };\n protected override get _wantClear() { return true; }\n\n public override async parseAndRun(...input: string[]): Promise<boolean> {\n const args = parseArgs(input);\n const includeNonLocatable = args.getBoolean(\"n\");\n let source: \"screen\" | \"tiles\";\n switch (input[0].toLowerCase()) {\n case \"screen\":\n source = \"screen\";\n break;\n case \"tiles\":\n source = \"tiles\";\n break;\n default:\n return false;\n }\n\n this._options = { source, includeNonLocatable };\n return this.run(input);\n }\n\n public execute(emph: EmphasizeElements, vp: ScreenViewport): void {\n const elementIds = new Set<string>();\n vp.queryVisibleFeatures(this._options, (features) => {\n for (const feature of features) {\n if (feature.iModel === vp.iModel && Id64.isValid(feature.elementId))\n elementIds.add(feature.elementId);\n }\n });\n\n emph.wantEmphasis = true;\n if (emph.emphasizeElements(elementIds, vp))\n vp.isFadeOutActive = true;\n }\n}\n"]}
|
|
@@ -20,6 +20,15 @@ const parseToggle_1 = require("./parseToggle");
|
|
|
20
20
|
* - Allowing the user to take a snapshot of the current frustum, then navigate the view to inspect it within the same viewport.
|
|
21
21
|
*/
|
|
22
22
|
class FrustumDecoration {
|
|
23
|
+
_options;
|
|
24
|
+
_worldFrustum;
|
|
25
|
+
_adjustedWorldFrustum;
|
|
26
|
+
_preloadFrustum;
|
|
27
|
+
_npcFrustum;
|
|
28
|
+
_worldToNpcMap;
|
|
29
|
+
_eyePoint;
|
|
30
|
+
_focalPlane;
|
|
31
|
+
_isCameraOn;
|
|
23
32
|
constructor(vp, view, _options) {
|
|
24
33
|
this._options = _options;
|
|
25
34
|
this._worldFrustum = vp.getFrustum(core_frontend_1.CoordSystem.World, false);
|
|
@@ -128,15 +137,17 @@ class FrustumDecoration {
|
|
|
128
137
|
* @beta
|
|
129
138
|
*/
|
|
130
139
|
class FrustumDecorator {
|
|
140
|
+
_decoration;
|
|
131
141
|
constructor(vp, options) {
|
|
132
|
-
/** This will allow the render system to cache and reuse the decorations created by this decorator's decorate() method. */
|
|
133
|
-
this.useCachedDecorations = true;
|
|
134
142
|
this._decoration = FrustumDecoration.create(vp, options);
|
|
135
143
|
}
|
|
144
|
+
/** This will allow the render system to cache and reuse the decorations created by this decorator's decorate() method. */
|
|
145
|
+
useCachedDecorations = true;
|
|
136
146
|
decorate(context) {
|
|
137
147
|
if (undefined !== this._decoration)
|
|
138
148
|
this._decoration.decorate(context);
|
|
139
149
|
}
|
|
150
|
+
static _instance;
|
|
140
151
|
/** Add the decoration to the specified viewport. */
|
|
141
152
|
static enable(vp, options) {
|
|
142
153
|
FrustumDecorator.disable();
|
|
@@ -158,6 +169,7 @@ exports.FrustumDecorator = FrustumDecorator;
|
|
|
158
169
|
* @beta
|
|
159
170
|
*/
|
|
160
171
|
class ToggleFrustumSnapshotTool extends core_frontend_1.Tool {
|
|
172
|
+
static toolId = "ToggleFrustumSnapshot";
|
|
161
173
|
static get minArgs() { return 0; }
|
|
162
174
|
static get maxArgs() { return 2; }
|
|
163
175
|
async run(enable, showPreloadFrustum, showBackgroundIntersections) {
|
|
@@ -193,16 +205,20 @@ class ToggleFrustumSnapshotTool extends core_frontend_1.Tool {
|
|
|
193
205
|
}
|
|
194
206
|
}
|
|
195
207
|
exports.ToggleFrustumSnapshotTool = ToggleFrustumSnapshotTool;
|
|
196
|
-
ToggleFrustumSnapshotTool.toolId = "ToggleFrustumSnapshot";
|
|
197
208
|
/**
|
|
198
209
|
* Decorates the viewport with a graphical depiction of a Frustum from the currently selected viewport.
|
|
199
210
|
* Only useful when more than one spatial viewport is open.
|
|
200
211
|
*/
|
|
201
212
|
class SelectedViewFrustumDecoration {
|
|
213
|
+
_options;
|
|
214
|
+
static _decorator;
|
|
215
|
+
_targetVp;
|
|
216
|
+
_removeDecorationListener;
|
|
217
|
+
_removeViewChangedListener;
|
|
218
|
+
/** This will allow the render system to cache and reuse the decorations created by this decorator's decorate() method. */
|
|
219
|
+
useCachedDecorations = true;
|
|
202
220
|
constructor(vp, _options) {
|
|
203
221
|
this._options = _options;
|
|
204
|
-
/** This will allow the render system to cache and reuse the decorations created by this decorator's decorate() method. */
|
|
205
|
-
this.useCachedDecorations = true;
|
|
206
222
|
this._targetVp = vp;
|
|
207
223
|
this._removeDecorationListener = core_frontend_1.IModelApp.viewManager.addDecorator(this);
|
|
208
224
|
this._removeViewChangedListener = vp.onViewChanged.addListener(this.onViewChanged, this); // eslint-disable-line @typescript-eslint/unbound-method
|
|
@@ -270,6 +286,7 @@ class SelectedViewFrustumDecoration {
|
|
|
270
286
|
* @beta
|
|
271
287
|
*/
|
|
272
288
|
class ToggleSelectedViewFrustumTool extends core_frontend_1.Tool {
|
|
289
|
+
static toolId = "ToggleSelectedViewFrustum";
|
|
273
290
|
static get minArgs() { return 0; }
|
|
274
291
|
static get maxArgs() { return 1; }
|
|
275
292
|
async run(enable) {
|
|
@@ -294,11 +311,13 @@ class ToggleSelectedViewFrustumTool extends core_frontend_1.Tool {
|
|
|
294
311
|
}
|
|
295
312
|
}
|
|
296
313
|
exports.ToggleSelectedViewFrustumTool = ToggleSelectedViewFrustumTool;
|
|
297
|
-
ToggleSelectedViewFrustumTool.toolId = "ToggleSelectedViewFrustum";
|
|
298
314
|
class ShadowFrustumDecoration {
|
|
315
|
+
static _instance;
|
|
316
|
+
_targetVp;
|
|
317
|
+
_cleanup;
|
|
318
|
+
/** This will allow the render system to cache and reuse the decorations created by this decorator's decorate() method. */
|
|
319
|
+
useCachedDecorations = true;
|
|
299
320
|
constructor(vp) {
|
|
300
|
-
/** This will allow the render system to cache and reuse the decorations created by this decorator's decorate() method. */
|
|
301
|
-
this.useCachedDecorations = true;
|
|
302
321
|
this._targetVp = vp;
|
|
303
322
|
const removeDecorator = core_frontend_1.IModelApp.viewManager.addDecorator(this);
|
|
304
323
|
const removeOnRender = vp.onRender.addListener((_) => this.onRender());
|
|
@@ -355,6 +374,7 @@ class ShadowFrustumDecoration {
|
|
|
355
374
|
* @beta
|
|
356
375
|
*/
|
|
357
376
|
class ToggleShadowFrustumTool extends core_frontend_1.Tool {
|
|
377
|
+
static toolId = "ToggleShadowFrustum";
|
|
358
378
|
static get minArgs() { return 0; }
|
|
359
379
|
static get maxArgs() { return 1; }
|
|
360
380
|
async run(enable) {
|
|
@@ -371,5 +391,4 @@ class ToggleShadowFrustumTool extends core_frontend_1.Tool {
|
|
|
371
391
|
}
|
|
372
392
|
}
|
|
373
393
|
exports.ToggleShadowFrustumTool = ToggleShadowFrustumTool;
|
|
374
|
-
ToggleShadowFrustumTool.toolId = "ToggleShadowFrustum";
|
|
375
394
|
//# sourceMappingURL=FrustumDecoration.js.map
|