@itwin/frontend-devtools 3.0.0-dev.78 → 3.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/lib/{ClipboardUtilities.d.ts → cjs/ClipboardUtilities.d.ts} +0 -0
- package/lib/cjs/ClipboardUtilities.d.ts.map +1 -0
- package/lib/{ClipboardUtilities.js → cjs/ClipboardUtilities.js} +0 -0
- package/lib/cjs/ClipboardUtilities.js.map +1 -0
- package/lib/{FrontEndDevTools.d.ts → cjs/FrontEndDevTools.d.ts} +0 -0
- package/lib/cjs/FrontEndDevTools.d.ts.map +1 -0
- package/lib/{FrontEndDevTools.js → cjs/FrontEndDevTools.js} +0 -0
- package/lib/cjs/FrontEndDevTools.js.map +1 -0
- package/lib/{effects → cjs/effects}/Convolution.d.ts +0 -0
- package/lib/cjs/effects/Convolution.d.ts.map +1 -0
- package/lib/{effects → cjs/effects}/Convolution.js +0 -0
- package/lib/cjs/effects/Convolution.js.map +1 -0
- package/lib/{effects → cjs/effects}/EffectTools.d.ts +0 -0
- package/lib/cjs/effects/EffectTools.d.ts.map +1 -0
- package/lib/{effects → cjs/effects}/EffectTools.js +0 -0
- package/lib/cjs/effects/EffectTools.js.map +1 -0
- package/lib/{effects → cjs/effects}/Explosion.d.ts +0 -0
- package/lib/cjs/effects/Explosion.d.ts.map +1 -0
- package/lib/{effects → cjs/effects}/Explosion.js +0 -0
- package/lib/cjs/effects/Explosion.js.map +1 -0
- package/lib/{effects → cjs/effects}/FlipImage.d.ts +0 -0
- package/lib/cjs/effects/FlipImage.d.ts.map +1 -0
- package/lib/{effects → cjs/effects}/FlipImage.js +0 -0
- package/lib/cjs/effects/FlipImage.js.map +1 -0
- package/lib/{effects → cjs/effects}/LensDistortion.d.ts +0 -0
- package/lib/cjs/effects/LensDistortion.d.ts.map +1 -0
- package/lib/{effects → cjs/effects}/LensDistortion.js +0 -0
- package/lib/cjs/effects/LensDistortion.js.map +1 -0
- package/lib/{effects → cjs/effects}/Random.d.ts +0 -0
- package/lib/cjs/effects/Random.d.ts.map +1 -0
- package/lib/{effects → cjs/effects}/Random.js +0 -0
- package/lib/cjs/effects/Random.js.map +1 -0
- package/lib/{effects → cjs/effects}/Saturation.d.ts +0 -0
- package/lib/cjs/effects/Saturation.d.ts.map +1 -0
- package/lib/{effects → cjs/effects}/Saturation.js +0 -0
- package/lib/cjs/effects/Saturation.js.map +1 -0
- package/lib/{effects → cjs/effects}/Snow.d.ts +0 -0
- package/lib/cjs/effects/Snow.d.ts.map +1 -0
- package/lib/{effects → cjs/effects}/Snow.js +1 -1
- package/lib/cjs/effects/Snow.js.map +1 -0
- package/lib/{effects → cjs/effects}/Vignette.d.ts +0 -0
- package/lib/cjs/effects/Vignette.d.ts.map +1 -0
- package/lib/{effects → cjs/effects}/Vignette.js +0 -0
- package/lib/cjs/effects/Vignette.js.map +1 -0
- package/lib/{frontend-devtools.d.ts → cjs/frontend-devtools.d.ts} +0 -0
- package/lib/cjs/frontend-devtools.d.ts.map +1 -0
- package/lib/{frontend-devtools.js → cjs/frontend-devtools.js} +0 -0
- package/lib/cjs/frontend-devtools.js.map +1 -0
- package/lib/{tools → cjs/tools}/AnimationIntervalTool.d.ts +0 -0
- package/lib/cjs/tools/AnimationIntervalTool.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/AnimationIntervalTool.js +0 -0
- package/lib/cjs/tools/AnimationIntervalTool.js.map +1 -0
- package/lib/{tools → cjs/tools}/ChangeUnitsTool.d.ts +0 -0
- package/lib/cjs/tools/ChangeUnitsTool.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/ChangeUnitsTool.js +0 -0
- package/lib/cjs/tools/ChangeUnitsTool.js.map +1 -0
- package/lib/{tools → cjs/tools}/ClipTools.d.ts +0 -0
- package/lib/cjs/tools/ClipTools.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/ClipTools.js +4 -1
- package/lib/cjs/tools/ClipTools.js.map +1 -0
- package/lib/{tools → cjs/tools}/DisplayStyleTools.d.ts +0 -0
- package/lib/cjs/tools/DisplayStyleTools.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/DisplayStyleTools.js +2 -2
- package/lib/cjs/tools/DisplayStyleTools.js.map +1 -0
- package/lib/{tools → cjs/tools}/EmphasizeElementsTool.d.ts +0 -0
- package/lib/cjs/tools/EmphasizeElementsTool.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/EmphasizeElementsTool.js +0 -0
- package/lib/cjs/tools/EmphasizeElementsTool.js.map +1 -0
- package/lib/{tools → cjs/tools}/FrustumDecoration.d.ts +0 -0
- package/lib/cjs/tools/FrustumDecoration.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/FrustumDecoration.js +0 -0
- package/lib/cjs/tools/FrustumDecoration.js.map +1 -0
- package/lib/{tools → cjs/tools}/InspectElementTool.d.ts +0 -0
- package/lib/cjs/tools/InspectElementTool.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/InspectElementTool.js +1 -1
- package/lib/cjs/tools/InspectElementTool.js.map +1 -0
- package/lib/{tools → cjs/tools}/MapLayerTool.d.ts +0 -0
- package/lib/cjs/tools/MapLayerTool.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/MapLayerTool.js +1 -1
- package/lib/cjs/tools/MapLayerTool.js.map +1 -0
- package/lib/{tools → cjs/tools}/MeasureTileLoadTime.d.ts +0 -0
- package/lib/cjs/tools/MeasureTileLoadTime.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/MeasureTileLoadTime.js +0 -0
- package/lib/cjs/tools/MeasureTileLoadTime.js.map +1 -0
- package/lib/{tools → cjs/tools}/ModelAppearanceTools.d.ts +0 -0
- package/lib/cjs/tools/ModelAppearanceTools.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/ModelAppearanceTools.js +0 -0
- package/lib/cjs/tools/ModelAppearanceTools.js.map +1 -0
- package/lib/{tools → cjs/tools}/PlanProjectionTools.d.ts +0 -0
- package/lib/cjs/tools/PlanProjectionTools.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/PlanProjectionTools.js +0 -0
- package/lib/cjs/tools/PlanProjectionTools.js.map +1 -0
- package/lib/{tools → cjs/tools}/PlanarMaskTools.d.ts +0 -0
- package/lib/cjs/tools/PlanarMaskTools.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/PlanarMaskTools.js +0 -0
- package/lib/cjs/tools/PlanarMaskTools.js.map +1 -0
- package/lib/{tools → cjs/tools}/ProjectExtents.d.ts +0 -0
- package/lib/cjs/tools/ProjectExtents.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/ProjectExtents.js +0 -0
- package/lib/cjs/tools/ProjectExtents.js.map +1 -0
- package/lib/{tools → cjs/tools}/RealityModelTools.d.ts +0 -0
- package/lib/cjs/tools/RealityModelTools.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/RealityModelTools.js +0 -0
- package/lib/cjs/tools/RealityModelTools.js.map +1 -0
- package/lib/{tools → cjs/tools}/RealityTransitionTool.d.ts +0 -0
- package/lib/cjs/tools/RealityTransitionTool.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/RealityTransitionTool.js +9 -2
- package/lib/cjs/tools/RealityTransitionTool.js.map +1 -0
- package/lib/{tools → cjs/tools}/RenderSystemTools.d.ts +0 -0
- package/lib/cjs/tools/RenderSystemTools.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/RenderSystemTools.js +0 -0
- package/lib/cjs/tools/RenderSystemTools.js.map +1 -0
- package/lib/{tools → cjs/tools}/RenderTargetTools.d.ts +0 -0
- package/lib/cjs/tools/RenderTargetTools.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/RenderTargetTools.js +0 -0
- package/lib/cjs/tools/RenderTargetTools.js.map +1 -0
- package/lib/{tools → cjs/tools}/ReportWebGLCompatibilityTool.d.ts +0 -0
- package/lib/cjs/tools/ReportWebGLCompatibilityTool.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/ReportWebGLCompatibilityTool.js +0 -0
- package/lib/cjs/tools/ReportWebGLCompatibilityTool.js.map +1 -0
- package/lib/{tools → cjs/tools}/SavedViews.d.ts +0 -0
- package/lib/cjs/tools/SavedViews.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/SavedViews.js +0 -0
- package/lib/cjs/tools/SavedViews.js.map +1 -0
- package/lib/{tools → cjs/tools}/SelectionTools.d.ts +0 -0
- package/lib/cjs/tools/SelectionTools.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/SelectionTools.js +0 -0
- package/lib/cjs/tools/SelectionTools.js.map +1 -0
- package/lib/{tools → cjs/tools}/SetGpuMemoryLimitTool.d.ts +0 -0
- package/lib/cjs/tools/SetGpuMemoryLimitTool.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/SetGpuMemoryLimitTool.js +0 -0
- package/lib/cjs/tools/SetGpuMemoryLimitTool.js.map +1 -0
- package/lib/{tools → cjs/tools}/SourceAspectIdTools.d.ts +0 -0
- package/lib/cjs/tools/SourceAspectIdTools.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/SourceAspectIdTools.js +5 -23
- package/lib/cjs/tools/SourceAspectIdTools.js.map +1 -0
- package/lib/{tools → cjs/tools}/TileRequestDecoration.d.ts +0 -0
- package/lib/cjs/tools/TileRequestDecoration.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/TileRequestDecoration.js +0 -0
- package/lib/cjs/tools/TileRequestDecoration.js.map +1 -0
- package/lib/{tools → cjs/tools}/TileTreeBoundsDecoration.d.ts +0 -0
- package/lib/cjs/tools/TileTreeBoundsDecoration.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/TileTreeBoundsDecoration.js +0 -0
- package/lib/cjs/tools/TileTreeBoundsDecoration.js.map +1 -0
- package/lib/{tools → cjs/tools}/ToolTipProvider.d.ts +0 -0
- package/lib/cjs/tools/ToolTipProvider.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/ToolTipProvider.js +0 -0
- package/lib/cjs/tools/ToolTipProvider.js.map +1 -0
- package/lib/{tools → cjs/tools}/ViewportTools.d.ts +0 -0
- package/lib/cjs/tools/ViewportTools.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/ViewportTools.js +0 -0
- package/lib/cjs/tools/ViewportTools.js.map +1 -0
- package/lib/{tools → cjs/tools}/parseArgs.d.ts +0 -0
- package/lib/cjs/tools/parseArgs.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/parseArgs.js +0 -0
- package/lib/cjs/tools/parseArgs.js.map +1 -0
- package/lib/{tools → cjs/tools}/parseBoolean.d.ts +0 -0
- package/lib/cjs/tools/parseBoolean.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/parseBoolean.js +0 -0
- package/lib/cjs/tools/parseBoolean.js.map +1 -0
- package/lib/{tools → cjs/tools}/parseToggle.d.ts +0 -0
- package/lib/cjs/tools/parseToggle.d.ts.map +1 -0
- package/lib/{tools → cjs/tools}/parseToggle.js +0 -0
- package/lib/cjs/tools/parseToggle.js.map +1 -0
- package/lib/{ui → cjs/ui}/Button.d.ts +0 -0
- package/lib/cjs/ui/Button.d.ts.map +1 -0
- package/lib/{ui → cjs/ui}/Button.js +0 -0
- package/lib/cjs/ui/Button.js.map +1 -0
- package/lib/{ui → cjs/ui}/CheckBox.d.ts +0 -0
- package/lib/cjs/ui/CheckBox.d.ts.map +1 -0
- package/lib/{ui → cjs/ui}/CheckBox.js +0 -0
- package/lib/cjs/ui/CheckBox.js.map +1 -0
- package/lib/{ui → cjs/ui}/ColorInput.d.ts +0 -0
- package/lib/cjs/ui/ColorInput.d.ts.map +1 -0
- package/lib/{ui → cjs/ui}/ColorInput.js +0 -0
- package/lib/cjs/ui/ColorInput.js.map +1 -0
- package/lib/{ui → cjs/ui}/ComboBox.d.ts +0 -0
- package/lib/cjs/ui/ComboBox.d.ts.map +1 -0
- package/lib/{ui → cjs/ui}/ComboBox.js +0 -0
- package/lib/cjs/ui/ComboBox.js.map +1 -0
- package/lib/{ui → cjs/ui}/DataList.d.ts +0 -0
- package/lib/cjs/ui/DataList.d.ts.map +1 -0
- package/lib/{ui → cjs/ui}/DataList.js +0 -0
- package/lib/cjs/ui/DataList.js.map +1 -0
- package/lib/{ui → cjs/ui}/NestedMenu.d.ts +0 -0
- package/lib/cjs/ui/NestedMenu.d.ts.map +1 -0
- package/lib/{ui → cjs/ui}/NestedMenu.js +0 -0
- package/lib/cjs/ui/NestedMenu.js.map +1 -0
- package/lib/{ui → cjs/ui}/NumericInput.d.ts +0 -0
- package/lib/cjs/ui/NumericInput.d.ts.map +1 -0
- package/lib/{ui → cjs/ui}/NumericInput.js +1 -1
- package/lib/cjs/ui/NumericInput.js.map +1 -0
- package/lib/{ui → cjs/ui}/RadioBox.d.ts +0 -0
- package/lib/cjs/ui/RadioBox.d.ts.map +1 -0
- package/lib/{ui → cjs/ui}/RadioBox.js +0 -0
- package/lib/cjs/ui/RadioBox.js.map +1 -0
- package/lib/{ui → cjs/ui}/Slider.d.ts +0 -0
- package/lib/cjs/ui/Slider.d.ts.map +1 -0
- package/lib/{ui → cjs/ui}/Slider.js +0 -0
- package/lib/cjs/ui/Slider.js.map +1 -0
- package/lib/{ui → cjs/ui}/TextBox.d.ts +0 -0
- package/lib/cjs/ui/TextBox.d.ts.map +1 -0
- package/lib/{ui → cjs/ui}/TextBox.js +0 -0
- package/lib/cjs/ui/TextBox.js.map +1 -0
- package/lib/{widgets → cjs/widgets}/DiagnosticsPanel.d.ts +0 -0
- package/lib/cjs/widgets/DiagnosticsPanel.d.ts.map +1 -0
- package/lib/{widgets → cjs/widgets}/DiagnosticsPanel.js +0 -0
- package/lib/cjs/widgets/DiagnosticsPanel.js.map +1 -0
- package/lib/{widgets → cjs/widgets}/FpsTracker.d.ts +0 -0
- package/lib/cjs/widgets/FpsTracker.d.ts.map +1 -0
- package/lib/{widgets → cjs/widgets}/FpsTracker.js +0 -0
- package/lib/cjs/widgets/FpsTracker.js.map +1 -0
- package/lib/{widgets → cjs/widgets}/GpuProfiler.d.ts +0 -0
- package/lib/cjs/widgets/GpuProfiler.d.ts.map +1 -0
- package/lib/{widgets → cjs/widgets}/GpuProfiler.js +0 -0
- package/lib/cjs/widgets/GpuProfiler.js.map +1 -0
- package/lib/{widgets → cjs/widgets}/KeyinField.d.ts +0 -0
- package/lib/cjs/widgets/KeyinField.d.ts.map +1 -0
- package/lib/{widgets → cjs/widgets}/KeyinField.js +0 -0
- package/lib/cjs/widgets/KeyinField.js.map +1 -0
- package/lib/{widgets → cjs/widgets}/MemoryTracker.d.ts +0 -0
- package/lib/cjs/widgets/MemoryTracker.d.ts.map +1 -0
- package/lib/{widgets → cjs/widgets}/MemoryTracker.js +0 -0
- package/lib/cjs/widgets/MemoryTracker.js.map +1 -0
- package/lib/{widgets → cjs/widgets}/TileMemoryBreakdown.d.ts +0 -0
- package/lib/cjs/widgets/TileMemoryBreakdown.d.ts.map +1 -0
- package/lib/{widgets → cjs/widgets}/TileMemoryBreakdown.js +0 -0
- package/lib/cjs/widgets/TileMemoryBreakdown.js.map +1 -0
- package/lib/{widgets → cjs/widgets}/TileStatisticsTracker.d.ts +0 -0
- package/lib/cjs/widgets/TileStatisticsTracker.d.ts.map +1 -0
- package/lib/{widgets → cjs/widgets}/TileStatisticsTracker.js +0 -0
- package/lib/cjs/widgets/TileStatisticsTracker.js.map +1 -0
- package/lib/{widgets → cjs/widgets}/ToolSettingsTracker.d.ts +0 -0
- package/lib/cjs/widgets/ToolSettingsTracker.d.ts.map +1 -0
- package/lib/{widgets → cjs/widgets}/ToolSettingsTracker.js +0 -0
- package/lib/cjs/widgets/ToolSettingsTracker.js.map +1 -0
- package/lib/esm/ClipboardUtilities.d.ts +9 -0
- package/lib/esm/ClipboardUtilities.d.ts.map +1 -0
- package/lib/esm/ClipboardUtilities.js +23 -0
- package/lib/esm/ClipboardUtilities.js.map +1 -0
- package/lib/esm/FrontEndDevTools.d.ts +19 -0
- package/lib/esm/FrontEndDevTools.d.ts.map +1 -0
- package/lib/esm/FrontEndDevTools.js +200 -0
- package/lib/esm/FrontEndDevTools.js.map +1 -0
- package/lib/esm/effects/Convolution.d.ts +69 -0
- package/lib/esm/effects/Convolution.d.ts.map +1 -0
- package/lib/esm/effects/Convolution.js +156 -0
- package/lib/esm/effects/Convolution.js.map +1 -0
- package/lib/esm/effects/EffectTools.d.ts +34 -0
- package/lib/esm/effects/EffectTools.d.ts.map +1 -0
- package/lib/esm/effects/EffectTools.js +63 -0
- package/lib/esm/effects/EffectTools.js.map +1 -0
- package/lib/esm/effects/Explosion.d.ts +13 -0
- package/lib/esm/effects/Explosion.d.ts.map +1 -0
- package/lib/esm/effects/Explosion.js +164 -0
- package/lib/esm/effects/Explosion.js.map +1 -0
- package/lib/esm/effects/FlipImage.d.ts +31 -0
- package/lib/esm/effects/FlipImage.d.ts.map +1 -0
- package/lib/esm/effects/FlipImage.js +95 -0
- package/lib/esm/effects/FlipImage.js.map +1 -0
- package/lib/esm/effects/LensDistortion.d.ts +35 -0
- package/lib/esm/effects/LensDistortion.d.ts.map +1 -0
- package/lib/esm/effects/LensDistortion.js +105 -0
- package/lib/esm/effects/LensDistortion.js.map +1 -0
- package/lib/esm/effects/Random.d.ts +25 -0
- package/lib/esm/effects/Random.d.ts.map +1 -0
- package/lib/esm/effects/Random.js +42 -0
- package/lib/esm/effects/Random.js.map +1 -0
- package/lib/esm/effects/Saturation.d.ts +31 -0
- package/lib/esm/effects/Saturation.d.ts.map +1 -0
- package/lib/esm/effects/Saturation.js +81 -0
- package/lib/esm/effects/Saturation.js.map +1 -0
- package/lib/esm/effects/Snow.d.ts +77 -0
- package/lib/esm/effects/Snow.d.ts.map +1 -0
- package/lib/esm/effects/Snow.js +182 -0
- package/lib/esm/effects/Snow.js.map +1 -0
- package/lib/esm/effects/Vignette.d.ts +40 -0
- package/lib/esm/effects/Vignette.d.ts.map +1 -0
- package/lib/esm/effects/Vignette.js +104 -0
- package/lib/esm/effects/Vignette.js.map +1 -0
- package/lib/esm/frontend-devtools.d.ts +82 -0
- package/lib/esm/frontend-devtools.d.ts.map +1 -0
- package/lib/esm/frontend-devtools.js +86 -0
- package/lib/esm/frontend-devtools.js.map +1 -0
- package/lib/esm/tools/AnimationIntervalTool.d.ts +16 -0
- package/lib/esm/tools/AnimationIntervalTool.d.ts.map +1 -0
- package/lib/esm/tools/AnimationIntervalTool.js +27 -0
- package/lib/esm/tools/AnimationIntervalTool.js.map +1 -0
- package/lib/esm/tools/ChangeUnitsTool.d.ts +16 -0
- package/lib/esm/tools/ChangeUnitsTool.d.ts.map +1 -0
- package/lib/esm/tools/ChangeUnitsTool.js +38 -0
- package/lib/esm/tools/ChangeUnitsTool.js.map +1 -0
- package/lib/esm/tools/ClipTools.d.ts +68 -0
- package/lib/esm/tools/ClipTools.d.ts.map +1 -0
- package/lib/esm/tools/ClipTools.js +159 -0
- package/lib/esm/tools/ClipTools.js.map +1 -0
- package/lib/esm/tools/DisplayStyleTools.d.ts +99 -0
- package/lib/esm/tools/DisplayStyleTools.d.ts.map +1 -0
- package/lib/esm/tools/DisplayStyleTools.js +232 -0
- package/lib/esm/tools/DisplayStyleTools.js.map +1 -0
- package/lib/esm/tools/EmphasizeElementsTool.d.ts +61 -0
- package/lib/esm/tools/EmphasizeElementsTool.d.ts.map +1 -0
- package/lib/esm/tools/EmphasizeElementsTool.js +146 -0
- package/lib/esm/tools/EmphasizeElementsTool.js.map +1 -0
- package/lib/esm/tools/FrustumDecoration.d.ts +58 -0
- package/lib/esm/tools/FrustumDecoration.d.ts.map +1 -0
- package/lib/esm/tools/FrustumDecoration.js +365 -0
- package/lib/esm/tools/FrustumDecoration.js.map +1 -0
- package/lib/esm/tools/InspectElementTool.d.ts +42 -0
- package/lib/esm/tools/InspectElementTool.d.ts.map +1 -0
- package/lib/esm/tools/InspectElementTool.js +181 -0
- package/lib/esm/tools/InspectElementTool.js.map +1 -0
- package/lib/esm/tools/MapLayerTool.d.ts +248 -0
- package/lib/esm/tools/MapLayerTool.d.ts.map +1 -0
- package/lib/esm/tools/MapLayerTool.js +442 -0
- package/lib/esm/tools/MapLayerTool.js.map +1 -0
- package/lib/esm/tools/MeasureTileLoadTime.d.ts +13 -0
- package/lib/esm/tools/MeasureTileLoadTime.d.ts.map +1 -0
- package/lib/esm/tools/MeasureTileLoadTime.js +57 -0
- package/lib/esm/tools/MeasureTileLoadTime.js.map +1 -0
- package/lib/esm/tools/ModelAppearanceTools.d.ts +87 -0
- package/lib/esm/tools/ModelAppearanceTools.d.ts.map +1 -0
- package/lib/esm/tools/ModelAppearanceTools.js +173 -0
- package/lib/esm/tools/ModelAppearanceTools.js.map +1 -0
- package/lib/esm/tools/PlanProjectionTools.d.ts +41 -0
- package/lib/esm/tools/PlanProjectionTools.d.ts.map +1 -0
- package/lib/esm/tools/PlanProjectionTools.js +144 -0
- package/lib/esm/tools/PlanProjectionTools.js.map +1 -0
- package/lib/esm/tools/PlanarMaskTools.d.ts +182 -0
- package/lib/esm/tools/PlanarMaskTools.d.ts.map +1 -0
- package/lib/esm/tools/PlanarMaskTools.js +350 -0
- package/lib/esm/tools/PlanarMaskTools.js.map +1 -0
- package/lib/esm/tools/ProjectExtents.d.ts +41 -0
- package/lib/esm/tools/ProjectExtents.d.ts.map +1 -0
- package/lib/esm/tools/ProjectExtents.js +102 -0
- package/lib/esm/tools/ProjectExtents.js.map +1 -0
- package/lib/esm/tools/RealityModelTools.d.ts +117 -0
- package/lib/esm/tools/RealityModelTools.d.ts.map +1 -0
- package/lib/esm/tools/RealityModelTools.js +256 -0
- package/lib/esm/tools/RealityModelTools.js.map +1 -0
- package/lib/esm/tools/RealityTransitionTool.d.ts +26 -0
- package/lib/esm/tools/RealityTransitionTool.d.ts.map +1 -0
- package/lib/esm/tools/RealityTransitionTool.js +113 -0
- package/lib/esm/tools/RealityTransitionTool.js.map +1 -0
- package/lib/esm/tools/RenderSystemTools.d.ts +46 -0
- package/lib/esm/tools/RenderSystemTools.d.ts.map +1 -0
- package/lib/esm/tools/RenderSystemTools.js +73 -0
- package/lib/esm/tools/RenderSystemTools.js.map +1 -0
- package/lib/esm/tools/RenderTargetTools.d.ts +101 -0
- package/lib/esm/tools/RenderTargetTools.d.ts.map +1 -0
- package/lib/esm/tools/RenderTargetTools.js +153 -0
- package/lib/esm/tools/RenderTargetTools.js.map +1 -0
- package/lib/esm/tools/ReportWebGLCompatibilityTool.d.ts +12 -0
- package/lib/esm/tools/ReportWebGLCompatibilityTool.d.ts.map +1 -0
- package/lib/esm/tools/ReportWebGLCompatibilityTool.js +27 -0
- package/lib/esm/tools/ReportWebGLCompatibilityTool.js.map +1 -0
- package/lib/esm/tools/SavedViews.d.ts +47 -0
- package/lib/esm/tools/SavedViews.d.ts.map +1 -0
- package/lib/esm/tools/SavedViews.js +129 -0
- package/lib/esm/tools/SavedViews.js.map +1 -0
- package/lib/esm/tools/SelectionTools.d.ts +17 -0
- package/lib/esm/tools/SelectionTools.d.ts.map +1 -0
- package/lib/esm/tools/SelectionTools.js +24 -0
- package/lib/esm/tools/SelectionTools.js.map +1 -0
- package/lib/esm/tools/SetGpuMemoryLimitTool.d.ts +16 -0
- package/lib/esm/tools/SetGpuMemoryLimitTool.d.ts.map +1 -0
- package/lib/esm/tools/SetGpuMemoryLimitTool.js +30 -0
- package/lib/esm/tools/SetGpuMemoryLimitTool.js.map +1 -0
- package/lib/esm/tools/SourceAspectIdTools.d.ts +41 -0
- package/lib/esm/tools/SourceAspectIdTools.d.ts.map +1 -0
- package/lib/esm/tools/SourceAspectIdTools.js +81 -0
- package/lib/esm/tools/SourceAspectIdTools.js.map +1 -0
- package/lib/esm/tools/TileRequestDecoration.d.ts +13 -0
- package/lib/esm/tools/TileRequestDecoration.d.ts.map +1 -0
- package/lib/esm/tools/TileRequestDecoration.js +80 -0
- package/lib/esm/tools/TileRequestDecoration.js.map +1 -0
- package/lib/esm/tools/TileTreeBoundsDecoration.d.ts +12 -0
- package/lib/esm/tools/TileTreeBoundsDecoration.d.ts.map +1 -0
- package/lib/esm/tools/TileTreeBoundsDecoration.js +71 -0
- package/lib/esm/tools/TileTreeBoundsDecoration.js.map +1 -0
- package/lib/esm/tools/ToolTipProvider.d.ts +16 -0
- package/lib/esm/tools/ToolTipProvider.d.ts.map +1 -0
- package/lib/esm/tools/ToolTipProvider.js +63 -0
- package/lib/esm/tools/ToolTipProvider.js.map +1 -0
- package/lib/esm/tools/ViewportTools.d.ts +194 -0
- package/lib/esm/tools/ViewportTools.d.ts.map +1 -0
- package/lib/esm/tools/ViewportTools.js +429 -0
- package/lib/esm/tools/ViewportTools.js.map +1 -0
- package/lib/esm/tools/parseArgs.d.ts +24 -0
- package/lib/esm/tools/parseArgs.d.ts.map +1 -0
- package/lib/esm/tools/parseArgs.js +48 -0
- package/lib/esm/tools/parseArgs.js.map +1 -0
- package/lib/esm/tools/parseBoolean.d.ts +9 -0
- package/lib/esm/tools/parseBoolean.d.ts.map +1 -0
- package/lib/esm/tools/parseBoolean.js +23 -0
- package/lib/esm/tools/parseBoolean.js.map +1 -0
- package/lib/esm/tools/parseToggle.d.ts +9 -0
- package/lib/esm/tools/parseToggle.d.ts.map +1 -0
- package/lib/esm/tools/parseToggle.js +22 -0
- package/lib/esm/tools/parseToggle.js.map +1 -0
- package/lib/esm/ui/Button.d.ts +30 -0
- package/lib/esm/ui/Button.d.ts.map +1 -0
- package/lib/esm/ui/Button.js +23 -0
- package/lib/esm/ui/Button.js.map +1 -0
- package/lib/esm/ui/CheckBox.d.ts +24 -0
- package/lib/esm/ui/CheckBox.d.ts.map +1 -0
- package/lib/esm/ui/CheckBox.js +24 -0
- package/lib/esm/ui/CheckBox.js.map +1 -0
- package/lib/esm/ui/ColorInput.d.ts +28 -0
- package/lib/esm/ui/ColorInput.d.ts.map +1 -0
- package/lib/esm/ui/ColorInput.js +49 -0
- package/lib/esm/ui/ColorInput.js.map +1 -0
- package/lib/esm/ui/ComboBox.d.ts +29 -0
- package/lib/esm/ui/ComboBox.d.ts.map +1 -0
- package/lib/esm/ui/ComboBox.js +39 -0
- package/lib/esm/ui/ComboBox.js.map +1 -0
- package/lib/esm/ui/DataList.d.ts +28 -0
- package/lib/esm/ui/DataList.d.ts.map +1 -0
- package/lib/esm/ui/DataList.js +35 -0
- package/lib/esm/ui/DataList.js.map +1 -0
- package/lib/esm/ui/NestedMenu.d.ts +20 -0
- package/lib/esm/ui/NestedMenu.d.ts.map +1 -0
- package/lib/esm/ui/NestedMenu.js +43 -0
- package/lib/esm/ui/NestedMenu.js.map +1 -0
- package/lib/esm/ui/NumericInput.d.ts +35 -0
- package/lib/esm/ui/NumericInput.d.ts.map +1 -0
- package/lib/esm/ui/NumericInput.js +55 -0
- package/lib/esm/ui/NumericInput.js.map +1 -0
- package/lib/esm/ui/RadioBox.d.ts +29 -0
- package/lib/esm/ui/RadioBox.d.ts.map +1 -0
- package/lib/esm/ui/RadioBox.js +73 -0
- package/lib/esm/ui/RadioBox.js.map +1 -0
- package/lib/esm/ui/Slider.d.ts +25 -0
- package/lib/esm/ui/Slider.d.ts.map +1 -0
- package/lib/esm/ui/Slider.js +29 -0
- package/lib/esm/ui/Slider.js.map +1 -0
- package/lib/esm/ui/TextBox.d.ts +33 -0
- package/lib/esm/ui/TextBox.d.ts.map +1 -0
- package/lib/esm/ui/TextBox.js +53 -0
- package/lib/esm/ui/TextBox.js.map +1 -0
- package/lib/esm/widgets/DiagnosticsPanel.d.ts +36 -0
- package/lib/esm/widgets/DiagnosticsPanel.d.ts.map +1 -0
- package/lib/esm/widgets/DiagnosticsPanel.js +72 -0
- package/lib/{widgets → esm/widgets}/DiagnosticsPanel.js.map +1 -1
- package/lib/esm/widgets/FpsTracker.d.ts +20 -0
- package/lib/esm/widgets/FpsTracker.d.ts.map +1 -0
- package/lib/esm/widgets/FpsTracker.js +53 -0
- package/lib/esm/widgets/FpsTracker.js.map +1 -0
- package/lib/esm/widgets/GpuProfiler.d.ts +17 -0
- package/lib/esm/widgets/GpuProfiler.d.ts.map +1 -0
- package/lib/esm/widgets/GpuProfiler.js +189 -0
- package/lib/esm/widgets/GpuProfiler.js.map +1 -0
- package/lib/esm/widgets/KeyinField.d.ts +62 -0
- package/lib/esm/widgets/KeyinField.d.ts.map +1 -0
- package/lib/esm/widgets/KeyinField.js +184 -0
- package/lib/esm/widgets/KeyinField.js.map +1 -0
- package/lib/esm/widgets/MemoryTracker.d.ts +28 -0
- package/lib/esm/widgets/MemoryTracker.d.ts.map +1 -0
- package/lib/esm/widgets/MemoryTracker.js +239 -0
- package/lib/esm/widgets/MemoryTracker.js.map +1 -0
- package/lib/esm/widgets/TileMemoryBreakdown.d.ts +31 -0
- package/lib/esm/widgets/TileMemoryBreakdown.d.ts.map +1 -0
- package/lib/esm/widgets/TileMemoryBreakdown.js +201 -0
- package/lib/esm/widgets/TileMemoryBreakdown.js.map +1 -0
- package/lib/esm/widgets/TileStatisticsTracker.d.ts +22 -0
- package/lib/esm/widgets/TileStatisticsTracker.d.ts.map +1 -0
- package/lib/esm/widgets/TileStatisticsTracker.js +139 -0
- package/lib/esm/widgets/TileStatisticsTracker.js.map +1 -0
- package/lib/esm/widgets/ToolSettingsTracker.d.ts +10 -0
- package/lib/esm/widgets/ToolSettingsTracker.d.ts.map +1 -0
- package/lib/esm/widgets/ToolSettingsTracker.js +178 -0
- package/lib/esm/widgets/ToolSettingsTracker.js.map +1 -0
- package/package.json +16 -12
- package/lib/ClipboardUtilities.d.ts.map +0 -1
- package/lib/ClipboardUtilities.js.map +0 -1
- package/lib/FrontEndDevTools.d.ts.map +0 -1
- package/lib/FrontEndDevTools.js.map +0 -1
- package/lib/effects/Convolution.d.ts.map +0 -1
- package/lib/effects/Convolution.js.map +0 -1
- package/lib/effects/EffectTools.d.ts.map +0 -1
- package/lib/effects/EffectTools.js.map +0 -1
- package/lib/effects/Explosion.d.ts.map +0 -1
- package/lib/effects/Explosion.js.map +0 -1
- package/lib/effects/FlipImage.d.ts.map +0 -1
- package/lib/effects/FlipImage.js.map +0 -1
- package/lib/effects/LensDistortion.d.ts.map +0 -1
- package/lib/effects/LensDistortion.js.map +0 -1
- package/lib/effects/Random.d.ts.map +0 -1
- package/lib/effects/Random.js.map +0 -1
- package/lib/effects/Saturation.d.ts.map +0 -1
- package/lib/effects/Saturation.js.map +0 -1
- package/lib/effects/Snow.d.ts.map +0 -1
- package/lib/effects/Snow.js.map +0 -1
- package/lib/effects/Vignette.d.ts.map +0 -1
- package/lib/effects/Vignette.js.map +0 -1
- package/lib/frontend-devtools.d.ts.map +0 -1
- package/lib/frontend-devtools.js.map +0 -1
- package/lib/tools/AnimationIntervalTool.d.ts.map +0 -1
- package/lib/tools/AnimationIntervalTool.js.map +0 -1
- package/lib/tools/ChangeUnitsTool.d.ts.map +0 -1
- package/lib/tools/ChangeUnitsTool.js.map +0 -1
- package/lib/tools/ClipTools.d.ts.map +0 -1
- package/lib/tools/ClipTools.js.map +0 -1
- package/lib/tools/DisplayStyleTools.d.ts.map +0 -1
- package/lib/tools/DisplayStyleTools.js.map +0 -1
- package/lib/tools/EmphasizeElementsTool.d.ts.map +0 -1
- package/lib/tools/EmphasizeElementsTool.js.map +0 -1
- package/lib/tools/FrustumDecoration.d.ts.map +0 -1
- package/lib/tools/FrustumDecoration.js.map +0 -1
- package/lib/tools/InspectElementTool.d.ts.map +0 -1
- package/lib/tools/InspectElementTool.js.map +0 -1
- package/lib/tools/MapLayerTool.d.ts.map +0 -1
- package/lib/tools/MapLayerTool.js.map +0 -1
- package/lib/tools/MeasureTileLoadTime.d.ts.map +0 -1
- package/lib/tools/MeasureTileLoadTime.js.map +0 -1
- package/lib/tools/ModelAppearanceTools.d.ts.map +0 -1
- package/lib/tools/ModelAppearanceTools.js.map +0 -1
- package/lib/tools/PlanProjectionTools.d.ts.map +0 -1
- package/lib/tools/PlanProjectionTools.js.map +0 -1
- package/lib/tools/PlanarMaskTools.d.ts.map +0 -1
- package/lib/tools/PlanarMaskTools.js.map +0 -1
- package/lib/tools/ProjectExtents.d.ts.map +0 -1
- package/lib/tools/ProjectExtents.js.map +0 -1
- package/lib/tools/RealityModelTools.d.ts.map +0 -1
- package/lib/tools/RealityModelTools.js.map +0 -1
- package/lib/tools/RealityTransitionTool.d.ts.map +0 -1
- package/lib/tools/RealityTransitionTool.js.map +0 -1
- package/lib/tools/RenderSystemTools.d.ts.map +0 -1
- package/lib/tools/RenderSystemTools.js.map +0 -1
- package/lib/tools/RenderTargetTools.d.ts.map +0 -1
- package/lib/tools/RenderTargetTools.js.map +0 -1
- package/lib/tools/ReportWebGLCompatibilityTool.d.ts.map +0 -1
- package/lib/tools/ReportWebGLCompatibilityTool.js.map +0 -1
- package/lib/tools/SavedViews.d.ts.map +0 -1
- package/lib/tools/SavedViews.js.map +0 -1
- package/lib/tools/SelectionTools.d.ts.map +0 -1
- package/lib/tools/SelectionTools.js.map +0 -1
- package/lib/tools/SetGpuMemoryLimitTool.d.ts.map +0 -1
- package/lib/tools/SetGpuMemoryLimitTool.js.map +0 -1
- package/lib/tools/SourceAspectIdTools.d.ts.map +0 -1
- package/lib/tools/SourceAspectIdTools.js.map +0 -1
- package/lib/tools/TileRequestDecoration.d.ts.map +0 -1
- package/lib/tools/TileRequestDecoration.js.map +0 -1
- package/lib/tools/TileTreeBoundsDecoration.d.ts.map +0 -1
- package/lib/tools/TileTreeBoundsDecoration.js.map +0 -1
- package/lib/tools/ToolTipProvider.d.ts.map +0 -1
- package/lib/tools/ToolTipProvider.js.map +0 -1
- package/lib/tools/ViewportTools.d.ts.map +0 -1
- package/lib/tools/ViewportTools.js.map +0 -1
- package/lib/tools/parseArgs.d.ts.map +0 -1
- package/lib/tools/parseArgs.js.map +0 -1
- package/lib/tools/parseBoolean.d.ts.map +0 -1
- package/lib/tools/parseBoolean.js.map +0 -1
- package/lib/tools/parseToggle.d.ts.map +0 -1
- package/lib/tools/parseToggle.js.map +0 -1
- package/lib/ui/Button.d.ts.map +0 -1
- package/lib/ui/Button.js.map +0 -1
- package/lib/ui/CheckBox.d.ts.map +0 -1
- package/lib/ui/CheckBox.js.map +0 -1
- package/lib/ui/ColorInput.d.ts.map +0 -1
- package/lib/ui/ColorInput.js.map +0 -1
- package/lib/ui/ComboBox.d.ts.map +0 -1
- package/lib/ui/ComboBox.js.map +0 -1
- package/lib/ui/DataList.d.ts.map +0 -1
- package/lib/ui/DataList.js.map +0 -1
- package/lib/ui/NestedMenu.d.ts.map +0 -1
- package/lib/ui/NestedMenu.js.map +0 -1
- package/lib/ui/NumericInput.d.ts.map +0 -1
- package/lib/ui/NumericInput.js.map +0 -1
- package/lib/ui/RadioBox.d.ts.map +0 -1
- package/lib/ui/RadioBox.js.map +0 -1
- package/lib/ui/Slider.d.ts.map +0 -1
- package/lib/ui/Slider.js.map +0 -1
- package/lib/ui/TextBox.d.ts.map +0 -1
- package/lib/ui/TextBox.js.map +0 -1
- package/lib/widgets/DiagnosticsPanel.d.ts.map +0 -1
- package/lib/widgets/FpsTracker.d.ts.map +0 -1
- package/lib/widgets/FpsTracker.js.map +0 -1
- package/lib/widgets/GpuProfiler.d.ts.map +0 -1
- package/lib/widgets/GpuProfiler.js.map +0 -1
- package/lib/widgets/KeyinField.d.ts.map +0 -1
- package/lib/widgets/KeyinField.js.map +0 -1
- package/lib/widgets/MemoryTracker.d.ts.map +0 -1
- package/lib/widgets/MemoryTracker.js.map +0 -1
- package/lib/widgets/TileMemoryBreakdown.d.ts.map +0 -1
- package/lib/widgets/TileMemoryBreakdown.js.map +0 -1
- package/lib/widgets/TileStatisticsTracker.d.ts.map +0 -1
- package/lib/widgets/TileStatisticsTracker.js.map +0 -1
- package/lib/widgets/ToolSettingsTracker.d.ts.map +0 -1
- package/lib/widgets/ToolSettingsTracker.js.map +0 -1
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
/** @packageDocumentation
|
|
6
|
+
* @module Tools
|
|
7
|
+
*/
|
|
8
|
+
import { Vector3d } from "@itwin/core-geometry";
|
|
9
|
+
import { RenderSchedule } from "@itwin/core-common";
|
|
10
|
+
import { IModelApp, RenderScheduleState, Tool } from "@itwin/core-frontend";
|
|
11
|
+
var FadeMode;
|
|
12
|
+
(function (FadeMode) {
|
|
13
|
+
FadeMode[FadeMode["X"] = 0] = "X";
|
|
14
|
+
FadeMode[FadeMode["Y"] = 1] = "Y";
|
|
15
|
+
FadeMode[FadeMode["Z"] = 2] = "Z";
|
|
16
|
+
FadeMode[FadeMode["Transparent"] = 3] = "Transparent";
|
|
17
|
+
})(FadeMode || (FadeMode = {}));
|
|
18
|
+
/** This tool applies a transition in X, Y, Z, or transparency.
|
|
19
|
+
* @beta
|
|
20
|
+
*/
|
|
21
|
+
export class RealityTransitionTool extends Tool {
|
|
22
|
+
static get minArgs() { return 0; }
|
|
23
|
+
static get maxArgs() { return 1; }
|
|
24
|
+
/** This method runs the tool, applying a transition in X, Y, Z, or transparency.
|
|
25
|
+
* @param fadeMode whether to apply the transition in X, Y, Z, or transparency
|
|
26
|
+
*/
|
|
27
|
+
async run(fadeMode = FadeMode.X) {
|
|
28
|
+
const vp = IModelApp.viewManager.selectedView;
|
|
29
|
+
if (undefined === vp)
|
|
30
|
+
return true;
|
|
31
|
+
const displayStyle = vp.displayStyle;
|
|
32
|
+
const view = vp.view;
|
|
33
|
+
const timeNow = Date.now(), timeEnd = timeNow + 1000.0 * 60.0 * 60.0;
|
|
34
|
+
const range = vp.iModel.projectExtents;
|
|
35
|
+
const directions = [Vector3d.create(1, 0, 0), Vector3d.create(0, 1, 0), Vector3d.create(0, 0, 1)];
|
|
36
|
+
const modelInTimeline = { modelId: "", elementTimelines: [] };
|
|
37
|
+
const modelOutTimeline = { modelId: "", elementTimelines: [] };
|
|
38
|
+
switch (fadeMode) {
|
|
39
|
+
case FadeMode.Transparent: {
|
|
40
|
+
const fadeInTimeline = new Array();
|
|
41
|
+
fadeInTimeline.push({ time: timeNow, interpolation: 2, value: 100.0 });
|
|
42
|
+
fadeInTimeline.push({ time: timeEnd, interpolation: 2, value: 0.0 });
|
|
43
|
+
const fadeOutTimeline = new Array();
|
|
44
|
+
fadeOutTimeline.push({ time: timeNow, interpolation: 2, value: 0.0 });
|
|
45
|
+
fadeOutTimeline.push({ time: timeEnd, interpolation: 2, value: 100.0 });
|
|
46
|
+
modelInTimeline.visibilityTimeline = fadeInTimeline;
|
|
47
|
+
modelOutTimeline.visibilityTimeline = fadeOutTimeline;
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
default: {
|
|
51
|
+
const direction = directions[fadeMode - FadeMode.X];
|
|
52
|
+
const clipInTimeline = new Array();
|
|
53
|
+
clipInTimeline.push({ time: timeNow, interpolation: 2, value: { position: [range.low.x, range.low.y, range.low.z], direction: [direction.x, direction.y, direction.z] } });
|
|
54
|
+
clipInTimeline.push({ time: timeEnd, interpolation: 2, value: { position: [range.high.x, range.high.y, range.high.z], direction: [direction.x, direction.y, direction.z] } });
|
|
55
|
+
const clipOutTimeline = new Array();
|
|
56
|
+
clipOutTimeline.push({ time: timeNow, interpolation: 2, value: { position: [range.low.x, range.low.y, range.low.z], direction: [-direction.x, -direction.y, -direction.z] } });
|
|
57
|
+
clipOutTimeline.push({ time: timeEnd, interpolation: 2, value: { position: [range.high.x, range.high.y, range.high.z], direction: [-direction.x, -direction.y, -direction.z] } });
|
|
58
|
+
modelInTimeline.cuttingPlaneTimeline = clipInTimeline;
|
|
59
|
+
modelOutTimeline.cuttingPlaneTimeline = clipOutTimeline;
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const scriptProps = [];
|
|
64
|
+
view.forEachModel((model) => {
|
|
65
|
+
scriptProps.push({
|
|
66
|
+
...(model.jsonProperties.tilesetUrl ? modelOutTimeline : modelInTimeline),
|
|
67
|
+
modelId: model.id,
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
displayStyle.forEachRealityModel((model) => {
|
|
71
|
+
var _a, _b;
|
|
72
|
+
const modelId = (_b = (_a = model.treeRef) === null || _a === void 0 ? void 0 : _a.treeOwner.tileTree) === null || _b === void 0 ? void 0 : _b.modelId;
|
|
73
|
+
if (modelId) {
|
|
74
|
+
scriptProps.push({
|
|
75
|
+
...modelOutTimeline,
|
|
76
|
+
modelId,
|
|
77
|
+
realityModelUrl: model.url,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
const script = RenderSchedule.Script.fromJSON(scriptProps);
|
|
82
|
+
if (script) {
|
|
83
|
+
displayStyle.setScheduleState(new RenderScheduleState(displayStyle.id, script));
|
|
84
|
+
vp.timePoint = script.duration.low;
|
|
85
|
+
}
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
/** Executes this tool's run method.
|
|
89
|
+
* @param args the first entry of this array contains either "x", "y", "z", or "transparent", indicating the type of transition to apply.
|
|
90
|
+
* @see [[run]]
|
|
91
|
+
*/
|
|
92
|
+
async parseAndRun(...args) {
|
|
93
|
+
const transitionNames = [
|
|
94
|
+
"x",
|
|
95
|
+
"y",
|
|
96
|
+
"z",
|
|
97
|
+
"transparent",
|
|
98
|
+
];
|
|
99
|
+
let fade = FadeMode.X;
|
|
100
|
+
if (0 !== args.length) {
|
|
101
|
+
const arg = args[0].toLowerCase();
|
|
102
|
+
for (let i = 0; i < transitionNames.length; i++) {
|
|
103
|
+
if (arg === transitionNames[i]) {
|
|
104
|
+
fade = i;
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return this.run(fade);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
RealityTransitionTool.toolId = "RealityTransition";
|
|
113
|
+
//# sourceMappingURL=RealityTransitionTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RealityTransitionTool.js","sourceRoot":"","sources":["../../../src/tools/RealityTransitionTool.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Tools\r\n */\r\n\r\nimport { Vector3d } from \"@itwin/core-geometry\";\r\nimport { RenderSchedule } from \"@itwin/core-common\";\r\nimport { IModelApp, RenderScheduleState, Tool } from \"@itwin/core-frontend\";\r\n\r\nenum FadeMode { X, Y, Z, Transparent }\r\n\r\n/** This tool applies a transition in X, Y, Z, or transparency.\r\n * @beta\r\n */\r\nexport class RealityTransitionTool extends Tool {\r\n public static override get minArgs() { return 0; }\r\n public static override get maxArgs() { return 1; }\r\n public static override toolId = \"RealityTransition\";\r\n /** This method runs the tool, applying a transition in X, Y, Z, or transparency.\r\n * @param fadeMode whether to apply the transition in X, Y, Z, or transparency\r\n */\r\n public override async run(fadeMode: FadeMode = FadeMode.X): Promise<boolean> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (undefined === vp)\r\n return true;\r\n\r\n const displayStyle = vp.displayStyle;\r\n const view = vp.view;\r\n const timeNow = Date.now(), timeEnd = timeNow + 1000.0 * 60.0 * 60.0;\r\n const range = vp.iModel.projectExtents;\r\n const directions = [Vector3d.create(1, 0, 0), Vector3d.create(0, 1, 0), Vector3d.create(0, 0, 1)];\r\n const modelInTimeline: RenderSchedule.ModelTimelineProps = { modelId: \"\", elementTimelines: [] };\r\n const modelOutTimeline: RenderSchedule.ModelTimelineProps = { modelId: \"\", elementTimelines: [] };\r\n\r\n switch (fadeMode) {\r\n case FadeMode.Transparent: {\r\n const fadeInTimeline = new Array<RenderSchedule.VisibilityEntryProps>();\r\n fadeInTimeline.push({ time: timeNow, interpolation: 2, value: 100.0 });\r\n fadeInTimeline.push({ time: timeEnd, interpolation: 2, value: 0.0 });\r\n const fadeOutTimeline = new Array<RenderSchedule.VisibilityEntryProps>();\r\n fadeOutTimeline.push({ time: timeNow, interpolation: 2, value: 0.0 });\r\n fadeOutTimeline.push({ time: timeEnd, interpolation: 2, value: 100.0 });\r\n modelInTimeline.visibilityTimeline = fadeInTimeline;\r\n modelOutTimeline.visibilityTimeline = fadeOutTimeline;\r\n break;\r\n }\r\n\r\n default: {\r\n const direction = directions[fadeMode - FadeMode.X];\r\n const clipInTimeline = new Array<RenderSchedule.CuttingPlaneEntryProps>();\r\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] } });\r\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] } });\r\n const clipOutTimeline = new Array<RenderSchedule.CuttingPlaneEntryProps>();\r\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] } });\r\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] } });\r\n modelInTimeline.cuttingPlaneTimeline = clipInTimeline;\r\n modelOutTimeline.cuttingPlaneTimeline = clipOutTimeline;\r\n break;\r\n }\r\n }\r\n\r\n const scriptProps: RenderSchedule.ScriptProps = [];\r\n view.forEachModel((model) => {\r\n scriptProps.push({\r\n ...(model.jsonProperties.tilesetUrl ? modelOutTimeline : modelInTimeline),\r\n modelId: model.id,\r\n });\r\n });\r\n\r\n displayStyle.forEachRealityModel((model) => {\r\n const modelId = model.treeRef?.treeOwner.tileTree?.modelId;\r\n if (modelId) {\r\n scriptProps.push({\r\n ...modelOutTimeline,\r\n modelId,\r\n realityModelUrl: model.url,\r\n });\r\n }\r\n });\r\n\r\n const script = RenderSchedule.Script.fromJSON(scriptProps);\r\n if (script) {\r\n displayStyle.setScheduleState(new RenderScheduleState(displayStyle.id, script));\r\n vp.timePoint = script.duration.low;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /** Executes this tool's run method.\r\n * @param args the first entry of this array contains either \"x\", \"y\", \"z\", or \"transparent\", indicating the type of transition to apply.\r\n * @see [[run]]\r\n */\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n const transitionNames = [\r\n \"x\",\r\n \"y\",\r\n \"z\",\r\n \"transparent\",\r\n ];\r\n let fade = FadeMode.X;\r\n if (0 !== args.length) {\r\n const arg = args[0].toLowerCase();\r\n for (let i = 0; i < transitionNames.length; i++) {\r\n if (arg === transitionNames[i]) {\r\n fade = i;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return this.run(fade);\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Tools
|
|
3
|
+
*/
|
|
4
|
+
import { RenderSystemDebugControl, Tool } from "@itwin/core-frontend";
|
|
5
|
+
/** Executes some code against a RenderSystemDebugControl obtained from the IModelApp's RenderSystem.
|
|
6
|
+
* @beta
|
|
7
|
+
*/
|
|
8
|
+
export declare abstract class RenderSystemDebugControlTool extends Tool {
|
|
9
|
+
run(_args: any[]): Promise<boolean>;
|
|
10
|
+
protected abstract execute(_control: RenderSystemDebugControl): void;
|
|
11
|
+
}
|
|
12
|
+
/** Forces webgl context loss.
|
|
13
|
+
* @beta
|
|
14
|
+
*/
|
|
15
|
+
export declare class LoseWebGLContextTool extends RenderSystemDebugControlTool {
|
|
16
|
+
static toolId: string;
|
|
17
|
+
execute(control: RenderSystemDebugControl): void;
|
|
18
|
+
}
|
|
19
|
+
/** Toggles pseudo-wiremesh surface display, for better visualization of mesh faces.
|
|
20
|
+
* @beta
|
|
21
|
+
*/
|
|
22
|
+
export declare class ToggleWiremeshTool extends RenderSystemDebugControlTool {
|
|
23
|
+
static toolId: string;
|
|
24
|
+
execute(control: RenderSystemDebugControl): void;
|
|
25
|
+
}
|
|
26
|
+
/** Compiles all registered shader programs for which compilation has not already been attempted.
|
|
27
|
+
* This is useful for uncovering/debugging platform-specific shader issues.
|
|
28
|
+
* @beta
|
|
29
|
+
*/
|
|
30
|
+
export declare class CompileShadersTool extends RenderSystemDebugControlTool {
|
|
31
|
+
static toolId: string;
|
|
32
|
+
execute(control: RenderSystemDebugControl): void;
|
|
33
|
+
}
|
|
34
|
+
/** Toggles whether or not device pixel ratio should be taken into account when computing LOD for tiles and decoration graphics.
|
|
35
|
+
* @see [RenderSystem.Options.dpiAwareLOD]($frontend)
|
|
36
|
+
* @beta
|
|
37
|
+
*/
|
|
38
|
+
export declare class ToggleDPIForLODTool extends RenderSystemDebugControlTool {
|
|
39
|
+
static toolId: string;
|
|
40
|
+
static get minArgs(): number;
|
|
41
|
+
static get maxArgs(): number;
|
|
42
|
+
private _enable?;
|
|
43
|
+
execute(control: RenderSystemDebugControl): void;
|
|
44
|
+
parseAndRun(...args: string[]): Promise<boolean>;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=RenderSystemTools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderSystemTools.d.ts","sourceRoot":"","sources":["../../../src/tools/RenderSystemTools.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAA0D,wBAAwB,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAG9H;;GAEG;AACH,8BAAsB,4BAA6B,SAAQ,IAAI;IACvC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAQzD,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,wBAAwB,GAAG,IAAI;CACrE;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,4BAA4B;IACpE,OAAuB,MAAM,SAAsB;IAC5C,OAAO,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI;CAGxD;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,4BAA4B;IAClE,OAAuB,MAAM,SAAoB;IAC1C,OAAO,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI;CAGxD;AAED;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,4BAA4B;IAClE,OAAuB,MAAM,SAAoB;IAC1C,OAAO,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI;CAIxD;AAED;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,4BAA4B;IACnE,OAAuB,MAAM,SAAqB;IAClD,WAA2B,OAAO,WAAgB;IAClD,WAA2B,OAAO,WAAgB;IAElD,OAAO,CAAC,OAAO,CAAC,CAAU;IAEnB,OAAO,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI;IAMjC,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CASvE"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
/** @packageDocumentation
|
|
6
|
+
* @module Tools
|
|
7
|
+
*/
|
|
8
|
+
import { IModelApp, NotifyMessageDetails, OutputMessagePriority, Tool } from "@itwin/core-frontend";
|
|
9
|
+
import { parseToggle } from "./parseToggle";
|
|
10
|
+
/** Executes some code against a RenderSystemDebugControl obtained from the IModelApp's RenderSystem.
|
|
11
|
+
* @beta
|
|
12
|
+
*/
|
|
13
|
+
export class RenderSystemDebugControlTool extends Tool {
|
|
14
|
+
async run(_args) {
|
|
15
|
+
const control = IModelApp.renderSystem.debugControl;
|
|
16
|
+
if (undefined !== control)
|
|
17
|
+
this.execute(control);
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/** Forces webgl context loss.
|
|
22
|
+
* @beta
|
|
23
|
+
*/
|
|
24
|
+
export class LoseWebGLContextTool extends RenderSystemDebugControlTool {
|
|
25
|
+
execute(control) {
|
|
26
|
+
control.loseContext();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
LoseWebGLContextTool.toolId = "LoseWebGLContext";
|
|
30
|
+
/** Toggles pseudo-wiremesh surface display, for better visualization of mesh faces.
|
|
31
|
+
* @beta
|
|
32
|
+
*/
|
|
33
|
+
export class ToggleWiremeshTool extends RenderSystemDebugControlTool {
|
|
34
|
+
execute(control) {
|
|
35
|
+
control.drawSurfacesAsWiremesh = !control.drawSurfacesAsWiremesh;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
ToggleWiremeshTool.toolId = "ToggleWiremesh";
|
|
39
|
+
/** Compiles all registered shader programs for which compilation has not already been attempted.
|
|
40
|
+
* This is useful for uncovering/debugging platform-specific shader issues.
|
|
41
|
+
* @beta
|
|
42
|
+
*/
|
|
43
|
+
export class CompileShadersTool extends RenderSystemDebugControlTool {
|
|
44
|
+
execute(control) {
|
|
45
|
+
const compiled = control.compileAllShaders();
|
|
46
|
+
IModelApp.notifications.outputMessage(new NotifyMessageDetails(compiled ? OutputMessagePriority.Info : OutputMessagePriority.Error, `${compiled ? "No" : "Some"} compilation errors occurred.`));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
CompileShadersTool.toolId = "CompileShaders";
|
|
50
|
+
/** Toggles whether or not device pixel ratio should be taken into account when computing LOD for tiles and decoration graphics.
|
|
51
|
+
* @see [RenderSystem.Options.dpiAwareLOD]($frontend)
|
|
52
|
+
* @beta
|
|
53
|
+
*/
|
|
54
|
+
export class ToggleDPIForLODTool extends RenderSystemDebugControlTool {
|
|
55
|
+
static get minArgs() { return 0; }
|
|
56
|
+
static get maxArgs() { return 1; }
|
|
57
|
+
execute(control) {
|
|
58
|
+
var _a;
|
|
59
|
+
const enable = (_a = this._enable) !== null && _a !== void 0 ? _a : !control.dpiAwareLOD;
|
|
60
|
+
control.dpiAwareLOD = enable;
|
|
61
|
+
IModelApp.viewManager.invalidateViewportScenes();
|
|
62
|
+
}
|
|
63
|
+
async parseAndRun(...args) {
|
|
64
|
+
const enable = parseToggle(args[0]);
|
|
65
|
+
if (typeof enable !== "string") {
|
|
66
|
+
this._enable = enable;
|
|
67
|
+
await this.run([]);
|
|
68
|
+
}
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
ToggleDPIForLODTool.toolId = "ToggleDPIForLOD";
|
|
73
|
+
//# sourceMappingURL=RenderSystemTools.js.map
|
|
@@ -0,0 +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;IAE7D,OAAO,CAAC,OAAiC;QAC9C,OAAO,CAAC,WAAW,EAAE,CAAC;IACxB,CAAC;;AAHsB,2BAAM,GAAG,kBAAkB,CAAC;AAMrD;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,4BAA4B;IAE3D,OAAO,CAAC,OAAiC;QAC9C,OAAO,CAAC,sBAAsB,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACnE,CAAC;;AAHsB,yBAAM,GAAG,gBAAgB,CAAC;AAMnD;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,4BAA4B;IAE3D,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;;AAJsB,yBAAM,GAAG,gBAAgB,CAAC;AAOnD;;;GAGG;AACH,MAAM,OAAO,mBAAoB,SAAQ,4BAA4B;IAE5D,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAI3C,OAAO,CAAC,OAAiC;;QAC9C,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,OAAO,mCAAI,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;YAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACpB;QAED,OAAO,IAAI,CAAC;IACd,CAAC;;AApBsB,0BAAM,GAAG,iBAAiB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Tools\r\n */\r\n\r\nimport { IModelApp, NotifyMessageDetails, OutputMessagePriority, RenderSystemDebugControl, Tool } from \"@itwin/core-frontend\";\r\nimport { parseToggle } from \"./parseToggle\";\r\n\r\n/** Executes some code against a RenderSystemDebugControl obtained from the IModelApp's RenderSystem.\r\n * @beta\r\n */\r\nexport abstract class RenderSystemDebugControlTool extends Tool {\r\n public override async run(_args: any[]): Promise<boolean> {\r\n const control = IModelApp.renderSystem.debugControl;\r\n if (undefined !== control)\r\n this.execute(control);\r\n\r\n return true;\r\n }\r\n\r\n protected abstract execute(_control: RenderSystemDebugControl): void;\r\n}\r\n\r\n/** Forces webgl context loss.\r\n * @beta\r\n */\r\nexport class LoseWebGLContextTool extends RenderSystemDebugControlTool {\r\n public static override toolId = \"LoseWebGLContext\";\r\n public execute(control: RenderSystemDebugControl): void {\r\n control.loseContext();\r\n }\r\n}\r\n\r\n/** Toggles pseudo-wiremesh surface display, for better visualization of mesh faces.\r\n * @beta\r\n */\r\nexport class ToggleWiremeshTool extends RenderSystemDebugControlTool {\r\n public static override toolId = \"ToggleWiremesh\";\r\n public execute(control: RenderSystemDebugControl): void {\r\n control.drawSurfacesAsWiremesh = !control.drawSurfacesAsWiremesh;\r\n }\r\n}\r\n\r\n/** Compiles all registered shader programs for which compilation has not already been attempted.\r\n * This is useful for uncovering/debugging platform-specific shader issues.\r\n * @beta\r\n */\r\nexport class CompileShadersTool extends RenderSystemDebugControlTool {\r\n public static override toolId = \"CompileShaders\";\r\n public execute(control: RenderSystemDebugControl): void {\r\n const compiled = control.compileAllShaders();\r\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(compiled ? OutputMessagePriority.Info : OutputMessagePriority.Error, `${compiled ? \"No\" : \"Some\"} compilation errors occurred.`));\r\n }\r\n}\r\n\r\n/** Toggles whether or not device pixel ratio should be taken into account when computing LOD for tiles and decoration graphics.\r\n * @see [RenderSystem.Options.dpiAwareLOD]($frontend)\r\n * @beta\r\n */\r\nexport class ToggleDPIForLODTool extends RenderSystemDebugControlTool {\r\n public static override toolId = \"ToggleDPIForLOD\";\r\n public static override get minArgs() { return 0; }\r\n public static override get maxArgs() { return 1; }\r\n\r\n private _enable?: boolean;\r\n\r\n public execute(control: RenderSystemDebugControl): void {\r\n const enable = this._enable ?? !control.dpiAwareLOD;\r\n control.dpiAwareLOD = enable;\r\n IModelApp.viewManager.invalidateViewportScenes();\r\n }\r\n\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n const enable = parseToggle(args[0]);\r\n if (typeof enable !== \"string\") {\r\n this._enable = enable;\r\n await this.run([]);\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Tools
|
|
3
|
+
*/
|
|
4
|
+
import { RenderTargetDebugControl, ScreenViewport, Tool } from "@itwin/core-frontend";
|
|
5
|
+
/** Executes some code against a RenderTargetDebugControl obtained from the selected viewport.
|
|
6
|
+
* @beta
|
|
7
|
+
*/
|
|
8
|
+
export declare abstract class RenderTargetDebugControlTool extends Tool {
|
|
9
|
+
run(_args: any[]): Promise<boolean>;
|
|
10
|
+
protected abstract execute(_control: RenderTargetDebugControl, _vp: ScreenViewport): void;
|
|
11
|
+
}
|
|
12
|
+
declare type DebugControlBoolean = "displayDrapeFrustum" | "drawForReadPixels" | "displayRealityTileRanges" | "displayRealityTileRanges" | "displayRealityTilePreload" | "freezeRealityTiles" | "logRealityTiles" | "vcSupportIntersectingVolumes";
|
|
13
|
+
/** Toggles some aspect of a RenderTargetDebugControl for the selected viewport.
|
|
14
|
+
* @beta
|
|
15
|
+
*/
|
|
16
|
+
export declare abstract class RenderTargetDebugControlToggleTool extends RenderTargetDebugControlTool {
|
|
17
|
+
static get minArgs(): number;
|
|
18
|
+
static get maxArgs(): number;
|
|
19
|
+
private _enable?;
|
|
20
|
+
protected abstract get aspect(): DebugControlBoolean;
|
|
21
|
+
protected execute(control: RenderTargetDebugControl, vp: ScreenViewport): void;
|
|
22
|
+
parseAndRun(...args: string[]): Promise<boolean>;
|
|
23
|
+
}
|
|
24
|
+
/** Toggles between normal rendering and rendering as if drawing to an off-screen framebuffer for element locate. Useful for debugging locate issues.
|
|
25
|
+
* @beta
|
|
26
|
+
*/
|
|
27
|
+
export declare class ToggleReadPixelsTool extends RenderTargetDebugControlToggleTool {
|
|
28
|
+
static toolId: string;
|
|
29
|
+
get aspect(): DebugControlBoolean;
|
|
30
|
+
}
|
|
31
|
+
/** Turn on the display of the draping frustum.
|
|
32
|
+
* @beta
|
|
33
|
+
*/
|
|
34
|
+
export declare class ToggleDrapeFrustumTool extends RenderTargetDebugControlToggleTool {
|
|
35
|
+
static toolId: string;
|
|
36
|
+
get aspect(): DebugControlBoolean;
|
|
37
|
+
}
|
|
38
|
+
/** Control whether all geometry renders, or only instanced or batched geometry.
|
|
39
|
+
* Allowed argument: "instanced", "batched", "all". Defaults to "all" if no arguments supplied.
|
|
40
|
+
* @beta
|
|
41
|
+
*/
|
|
42
|
+
export declare class TogglePrimitiveVisibilityTool extends RenderTargetDebugControlTool {
|
|
43
|
+
static toolId: string;
|
|
44
|
+
static get minArgs(): number;
|
|
45
|
+
static get maxArgs(): number;
|
|
46
|
+
private _visibility;
|
|
47
|
+
execute(control: RenderTargetDebugControl, vp: ScreenViewport): void;
|
|
48
|
+
parseAndRun(...args: string[]): Promise<boolean>;
|
|
49
|
+
}
|
|
50
|
+
/** Turn on display of reality tile boundaries.
|
|
51
|
+
* @beta
|
|
52
|
+
*/
|
|
53
|
+
export declare class ToggleRealityTileBounds extends RenderTargetDebugControlToggleTool {
|
|
54
|
+
static toolId: string;
|
|
55
|
+
get aspect(): DebugControlBoolean;
|
|
56
|
+
}
|
|
57
|
+
/** Turn on display of reality tile preload debugging.
|
|
58
|
+
* @beta
|
|
59
|
+
*/
|
|
60
|
+
export declare class ToggleRealityTilePreload extends RenderTargetDebugControlToggleTool {
|
|
61
|
+
static toolId: string;
|
|
62
|
+
get aspect(): DebugControlBoolean;
|
|
63
|
+
}
|
|
64
|
+
/** Freeze loading of reality tiles.
|
|
65
|
+
* @beta
|
|
66
|
+
*/
|
|
67
|
+
export declare class ToggleRealityTileFreeze extends RenderTargetDebugControlToggleTool {
|
|
68
|
+
static toolId: string;
|
|
69
|
+
get aspect(): DebugControlBoolean;
|
|
70
|
+
}
|
|
71
|
+
/** Turn on logging of console tile selection and loading (to console).
|
|
72
|
+
* @beta
|
|
73
|
+
*/
|
|
74
|
+
export declare class ToggleRealityTileLogging extends RenderTargetDebugControlToggleTool {
|
|
75
|
+
static toolId: string;
|
|
76
|
+
get aspect(): DebugControlBoolean;
|
|
77
|
+
}
|
|
78
|
+
/** Toggles support for intersecting volume classifiers.
|
|
79
|
+
* @beta
|
|
80
|
+
*/
|
|
81
|
+
export declare class ToggleVolClassIntersect extends RenderTargetDebugControlToggleTool {
|
|
82
|
+
static toolId: string;
|
|
83
|
+
get aspect(): DebugControlBoolean;
|
|
84
|
+
}
|
|
85
|
+
/** Set the number of antialiasing samples to use (<=1 for no antialiasing).
|
|
86
|
+
* @beta
|
|
87
|
+
*/
|
|
88
|
+
export declare class SetAASamplesTool extends RenderTargetDebugControlTool {
|
|
89
|
+
static toolId: string;
|
|
90
|
+
static get minArgs(): number;
|
|
91
|
+
static get maxArgs(): number;
|
|
92
|
+
private _aaSamples;
|
|
93
|
+
private _changeAll;
|
|
94
|
+
execute(_control: RenderTargetDebugControl, vp: ScreenViewport): void;
|
|
95
|
+
/** Runs this tool, setting the number of antialiasing samples to use (<=1 for no antialiasing).
|
|
96
|
+
* @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.
|
|
97
|
+
*/
|
|
98
|
+
parseAndRun(...args: string[]): Promise<boolean>;
|
|
99
|
+
}
|
|
100
|
+
export {};
|
|
101
|
+
//# sourceMappingURL=RenderTargetTools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderTargetTools.d.ts","sourceRoot":"","sources":["../../../src/tools/RenderTargetTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
/** @packageDocumentation
|
|
6
|
+
* @module Tools
|
|
7
|
+
*/
|
|
8
|
+
import { IModelApp, PrimitiveVisibility, Tool } from "@itwin/core-frontend";
|
|
9
|
+
import { parseToggle } from "./parseToggle";
|
|
10
|
+
/** Executes some code against a RenderTargetDebugControl obtained from the selected viewport.
|
|
11
|
+
* @beta
|
|
12
|
+
*/
|
|
13
|
+
export class RenderTargetDebugControlTool extends Tool {
|
|
14
|
+
async run(_args) {
|
|
15
|
+
const view = IModelApp.viewManager.selectedView;
|
|
16
|
+
const control = undefined !== view ? view.target.debugControl : undefined;
|
|
17
|
+
if (undefined !== control)
|
|
18
|
+
this.execute(control, view);
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/** Toggles some aspect of a RenderTargetDebugControl for the selected viewport.
|
|
23
|
+
* @beta
|
|
24
|
+
*/
|
|
25
|
+
export class RenderTargetDebugControlToggleTool extends RenderTargetDebugControlTool {
|
|
26
|
+
static get minArgs() { return 0; }
|
|
27
|
+
static get maxArgs() { return 1; }
|
|
28
|
+
execute(control, vp) {
|
|
29
|
+
const value = undefined !== this._enable ? this._enable : !control[this.aspect];
|
|
30
|
+
control[this.aspect] = value;
|
|
31
|
+
vp.invalidateRenderPlan();
|
|
32
|
+
}
|
|
33
|
+
async parseAndRun(...args) {
|
|
34
|
+
const enable = parseToggle(args[0]);
|
|
35
|
+
if (typeof enable !== "string") {
|
|
36
|
+
this._enable = enable;
|
|
37
|
+
await this.run([]);
|
|
38
|
+
}
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/** Toggles between normal rendering and rendering as if drawing to an off-screen framebuffer for element locate. Useful for debugging locate issues.
|
|
43
|
+
* @beta
|
|
44
|
+
*/
|
|
45
|
+
export class ToggleReadPixelsTool extends RenderTargetDebugControlToggleTool {
|
|
46
|
+
get aspect() { return "drawForReadPixels"; }
|
|
47
|
+
}
|
|
48
|
+
ToggleReadPixelsTool.toolId = "ToggleReadPixels";
|
|
49
|
+
/** Turn on the display of the draping frustum.
|
|
50
|
+
* @beta
|
|
51
|
+
*/
|
|
52
|
+
export class ToggleDrapeFrustumTool extends RenderTargetDebugControlToggleTool {
|
|
53
|
+
get aspect() { return "displayDrapeFrustum"; }
|
|
54
|
+
}
|
|
55
|
+
ToggleDrapeFrustumTool.toolId = "ToggleDrapeFrustum";
|
|
56
|
+
/** Control whether all geometry renders, or only instanced or batched geometry.
|
|
57
|
+
* Allowed argument: "instanced", "batched", "all". Defaults to "all" if no arguments supplied.
|
|
58
|
+
* @beta
|
|
59
|
+
*/
|
|
60
|
+
export class TogglePrimitiveVisibilityTool extends RenderTargetDebugControlTool {
|
|
61
|
+
constructor() {
|
|
62
|
+
super(...arguments);
|
|
63
|
+
this._visibility = PrimitiveVisibility.All;
|
|
64
|
+
}
|
|
65
|
+
static get minArgs() { return 0; }
|
|
66
|
+
static get maxArgs() { return 1; }
|
|
67
|
+
execute(control, vp) {
|
|
68
|
+
control.primitiveVisibility = this._visibility;
|
|
69
|
+
vp.invalidateScene();
|
|
70
|
+
}
|
|
71
|
+
async parseAndRun(...args) {
|
|
72
|
+
if (0 < args.length) {
|
|
73
|
+
switch (args[0].toLowerCase()) {
|
|
74
|
+
case "instanced":
|
|
75
|
+
this._visibility = PrimitiveVisibility.Instanced;
|
|
76
|
+
break;
|
|
77
|
+
case "batched":
|
|
78
|
+
this._visibility = PrimitiveVisibility.Uninstanced;
|
|
79
|
+
break;
|
|
80
|
+
case "all":
|
|
81
|
+
break;
|
|
82
|
+
default:
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return this.run(args);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
TogglePrimitiveVisibilityTool.toolId = "TogglePrimitiveVisibility";
|
|
90
|
+
/** Turn on display of reality tile boundaries.
|
|
91
|
+
* @beta
|
|
92
|
+
*/
|
|
93
|
+
export class ToggleRealityTileBounds extends RenderTargetDebugControlToggleTool {
|
|
94
|
+
get aspect() { return "displayRealityTileRanges"; }
|
|
95
|
+
}
|
|
96
|
+
ToggleRealityTileBounds.toolId = "ToggleRealityTileBounds";
|
|
97
|
+
/** Turn on display of reality tile preload debugging.
|
|
98
|
+
* @beta
|
|
99
|
+
*/
|
|
100
|
+
export class ToggleRealityTilePreload extends RenderTargetDebugControlToggleTool {
|
|
101
|
+
get aspect() { return "displayRealityTilePreload"; }
|
|
102
|
+
}
|
|
103
|
+
ToggleRealityTilePreload.toolId = "ToggleRealityTilePreload";
|
|
104
|
+
/** Freeze loading of reality tiles.
|
|
105
|
+
* @beta
|
|
106
|
+
*/
|
|
107
|
+
export class ToggleRealityTileFreeze extends RenderTargetDebugControlToggleTool {
|
|
108
|
+
get aspect() { return "freezeRealityTiles"; }
|
|
109
|
+
}
|
|
110
|
+
ToggleRealityTileFreeze.toolId = "ToggleRealityTileFreeze";
|
|
111
|
+
/** Turn on logging of console tile selection and loading (to console).
|
|
112
|
+
* @beta
|
|
113
|
+
*/
|
|
114
|
+
export class ToggleRealityTileLogging extends RenderTargetDebugControlToggleTool {
|
|
115
|
+
get aspect() { return "logRealityTiles"; }
|
|
116
|
+
}
|
|
117
|
+
ToggleRealityTileLogging.toolId = "ToggleRealityTileLogging";
|
|
118
|
+
/** Toggles support for intersecting volume classifiers.
|
|
119
|
+
* @beta
|
|
120
|
+
*/
|
|
121
|
+
export class ToggleVolClassIntersect extends RenderTargetDebugControlToggleTool {
|
|
122
|
+
get aspect() { return "vcSupportIntersectingVolumes"; }
|
|
123
|
+
}
|
|
124
|
+
ToggleVolClassIntersect.toolId = "ToggleVCIntersect";
|
|
125
|
+
/** Set the number of antialiasing samples to use (<=1 for no antialiasing).
|
|
126
|
+
* @beta
|
|
127
|
+
*/
|
|
128
|
+
export class SetAASamplesTool extends RenderTargetDebugControlTool {
|
|
129
|
+
constructor() {
|
|
130
|
+
super(...arguments);
|
|
131
|
+
this._aaSamples = 1;
|
|
132
|
+
this._changeAll = false;
|
|
133
|
+
}
|
|
134
|
+
static get minArgs() { return 1; }
|
|
135
|
+
static get maxArgs() { return 2; }
|
|
136
|
+
execute(_control, vp) {
|
|
137
|
+
if (this._changeAll)
|
|
138
|
+
IModelApp.viewManager.setAntialiasingAllViews(this._aaSamples);
|
|
139
|
+
else
|
|
140
|
+
vp.antialiasSamples = this._aaSamples;
|
|
141
|
+
}
|
|
142
|
+
/** Runs this tool, setting the number of antialiasing samples to use (<=1 for no antialiasing).
|
|
143
|
+
* @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.
|
|
144
|
+
*/
|
|
145
|
+
async parseAndRun(...args) {
|
|
146
|
+
if (0 < args.length)
|
|
147
|
+
this._aaSamples = parseInt(args[0], 10);
|
|
148
|
+
this._changeAll = (1 < args.length && args[1].toLowerCase() === "all");
|
|
149
|
+
return this.run(args);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
SetAASamplesTool.toolId = "SetAASamples";
|
|
153
|
+
//# sourceMappingURL=RenderTargetTools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderTargetTools.js","sourceRoot":"","sources":["../../../src/tools/RenderTargetTools.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Tools\r\n */\r\n\r\nimport { IModelApp, PrimitiveVisibility, RenderTargetDebugControl, ScreenViewport, Tool } from \"@itwin/core-frontend\";\r\nimport { parseToggle } from \"./parseToggle\";\r\n\r\n/** Executes some code against a RenderTargetDebugControl obtained from the selected viewport.\r\n * @beta\r\n */\r\nexport abstract class RenderTargetDebugControlTool extends Tool {\r\n public override async run(_args: any[]): Promise<boolean> {\r\n const view = IModelApp.viewManager.selectedView;\r\n const control = undefined !== view ? view.target.debugControl : undefined;\r\n if (undefined !== control)\r\n this.execute(control, view!);\r\n\r\n return true;\r\n }\r\n\r\n protected abstract execute(_control: RenderTargetDebugControl, _vp: ScreenViewport): void;\r\n}\r\n\r\ntype DebugControlBoolean =\r\n \"displayDrapeFrustum\" | \"drawForReadPixels\" | \"displayRealityTileRanges\" | \"displayRealityTileRanges\" |\r\n \"displayRealityTilePreload\" | \"freezeRealityTiles\" | \"logRealityTiles\" | \"vcSupportIntersectingVolumes\";\r\n\r\n/** Toggles some aspect of a RenderTargetDebugControl for the selected viewport.\r\n * @beta\r\n */\r\nexport abstract class RenderTargetDebugControlToggleTool extends RenderTargetDebugControlTool {\r\n public static override get minArgs() { return 0; }\r\n public static override get maxArgs() { return 1; }\r\n\r\n private _enable?: boolean;\r\n\r\n protected abstract get aspect(): DebugControlBoolean;\r\n\r\n protected execute(control: RenderTargetDebugControl, vp: ScreenViewport): void {\r\n const value = undefined !== this._enable ? this._enable : !control[this.aspect];\r\n control[this.aspect] = value;\r\n vp.invalidateRenderPlan();\r\n }\r\n\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n const enable = parseToggle(args[0]);\r\n if (typeof enable !== \"string\") {\r\n this._enable = enable;\r\n await this.run([]);\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n\r\n/** Toggles between normal rendering and rendering as if drawing to an off-screen framebuffer for element locate. Useful for debugging locate issues.\r\n * @beta\r\n */\r\nexport class ToggleReadPixelsTool extends RenderTargetDebugControlToggleTool {\r\n public static override toolId = \"ToggleReadPixels\";\r\n public get aspect(): DebugControlBoolean { return \"drawForReadPixels\"; }\r\n}\r\n\r\n/** Turn on the display of the draping frustum.\r\n * @beta\r\n */\r\nexport class ToggleDrapeFrustumTool extends RenderTargetDebugControlToggleTool {\r\n public static override toolId = \"ToggleDrapeFrustum\";\r\n public get aspect(): DebugControlBoolean { return \"displayDrapeFrustum\"; }\r\n}\r\n\r\n/** Control whether all geometry renders, or only instanced or batched geometry.\r\n * Allowed argument: \"instanced\", \"batched\", \"all\". Defaults to \"all\" if no arguments supplied.\r\n * @beta\r\n */\r\nexport class TogglePrimitiveVisibilityTool extends RenderTargetDebugControlTool {\r\n public static override toolId = \"TogglePrimitiveVisibility\";\r\n public static override get minArgs() { return 0; }\r\n public static override get maxArgs() { return 1; }\r\n\r\n private _visibility = PrimitiveVisibility.All;\r\n\r\n public execute(control: RenderTargetDebugControl, vp: ScreenViewport): void {\r\n control.primitiveVisibility = this._visibility;\r\n vp.invalidateScene();\r\n }\r\n\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n if (0 < args.length) {\r\n switch (args[0].toLowerCase()) {\r\n case \"instanced\":\r\n this._visibility = PrimitiveVisibility.Instanced;\r\n break;\r\n case \"batched\":\r\n this._visibility = PrimitiveVisibility.Uninstanced;\r\n break;\r\n case \"all\":\r\n break;\r\n default:\r\n return true;\r\n }\r\n }\r\n\r\n return this.run(args);\r\n }\r\n}\r\n\r\n/** Turn on display of reality tile boundaries.\r\n * @beta\r\n */\r\nexport class ToggleRealityTileBounds extends RenderTargetDebugControlToggleTool {\r\n public static override toolId = \"ToggleRealityTileBounds\";\r\n public get aspect(): DebugControlBoolean { return \"displayRealityTileRanges\"; }\r\n}\r\n\r\n/** Turn on display of reality tile preload debugging.\r\n * @beta\r\n */\r\nexport class ToggleRealityTilePreload extends RenderTargetDebugControlToggleTool {\r\n public static override toolId = \"ToggleRealityTilePreload\";\r\n public get aspect(): DebugControlBoolean { return \"displayRealityTilePreload\"; }\r\n}\r\n/** Freeze loading of reality tiles.\r\n * @beta\r\n */\r\nexport class ToggleRealityTileFreeze extends RenderTargetDebugControlToggleTool {\r\n public static override toolId = \"ToggleRealityTileFreeze\";\r\n public get aspect(): DebugControlBoolean { return \"freezeRealityTiles\"; }\r\n}\r\n\r\n/** Turn on logging of console tile selection and loading (to console).\r\n * @beta\r\n */\r\nexport class ToggleRealityTileLogging extends RenderTargetDebugControlToggleTool {\r\n public static override toolId = \"ToggleRealityTileLogging\";\r\n public get aspect(): DebugControlBoolean { return \"logRealityTiles\"; }\r\n}\r\n\r\n/** Toggles support for intersecting volume classifiers.\r\n * @beta\r\n */\r\nexport class ToggleVolClassIntersect extends RenderTargetDebugControlToggleTool {\r\n public static override toolId = \"ToggleVCIntersect\";\r\n public get aspect(): DebugControlBoolean { return \"vcSupportIntersectingVolumes\"; }\r\n}\r\n\r\n/** Set the number of antialiasing samples to use (<=1 for no antialiasing).\r\n * @beta\r\n */\r\nexport class SetAASamplesTool extends RenderTargetDebugControlTool {\r\n public static override toolId = \"SetAASamples\";\r\n public static override get minArgs() { return 1; }\r\n public static override get maxArgs() { return 2; }\r\n\r\n private _aaSamples = 1;\r\n private _changeAll = false;\r\n\r\n public execute(_control: RenderTargetDebugControl, vp: ScreenViewport): void {\r\n if (this._changeAll)\r\n IModelApp.viewManager.setAntialiasingAllViews(this._aaSamples);\r\n else\r\n vp.antialiasSamples = this._aaSamples;\r\n }\r\n\r\n /** Runs this tool, setting the number of antialiasing samples to use (<=1 for no antialiasing).\r\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.\r\n */\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n if (0 < args.length)\r\n this._aaSamples = parseInt(args[0], 10);\r\n this._changeAll = (1 < args.length && args[1].toLowerCase() === \"all\");\r\n\r\n return this.run(args);\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Tools
|
|
3
|
+
*/
|
|
4
|
+
import { Tool } from "@itwin/core-frontend";
|
|
5
|
+
/** Queries the client's level of compatibility with the rendering system and outputs it to NotificationManager.
|
|
6
|
+
* @beta
|
|
7
|
+
*/
|
|
8
|
+
export declare class ReportWebGLCompatibilityTool extends Tool {
|
|
9
|
+
static toolId: string;
|
|
10
|
+
run(_args: any[]): Promise<boolean>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=ReportWebGLCompatibilityTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReportWebGLCompatibilityTool.d.ts","sourceRoot":"","sources":["../../../src/tools/ReportWebGLCompatibilityTool.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAAiD,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE3F;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,IAAI;IACpD,OAAuB,MAAM,SAA8B;IACrC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAc1D"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
/** @packageDocumentation
|
|
6
|
+
* @module Tools
|
|
7
|
+
*/
|
|
8
|
+
import { IModelApp, MessageBoxIconType, MessageBoxType, Tool } from "@itwin/core-frontend";
|
|
9
|
+
/** Queries the client's level of compatibility with the rendering system and outputs it to NotificationManager.
|
|
10
|
+
* @beta
|
|
11
|
+
*/
|
|
12
|
+
export class ReportWebGLCompatibilityTool extends Tool {
|
|
13
|
+
async run(_args) {
|
|
14
|
+
const info = IModelApp.queryRenderCompatibility();
|
|
15
|
+
const statuses = ["OK", "Missing Optional Features", "Major Performance Caveat", "Missing Required Features", "Failed to Create Context"];
|
|
16
|
+
const status = info.status < statuses.length ? statuses[info.status] : "UNKNOWN";
|
|
17
|
+
const json = JSON.stringify(info, null, 2); // prettify JSON output
|
|
18
|
+
const msg = `Compatibility: ${status}\n${json}`;
|
|
19
|
+
const html = document.createElement("div");
|
|
20
|
+
html.style.whiteSpace = "pre-wrap";
|
|
21
|
+
html.appendChild(document.createTextNode(msg));
|
|
22
|
+
await IModelApp.notifications.openMessageBox(MessageBoxType.Ok, html, MessageBoxIconType.Information);
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
ReportWebGLCompatibilityTool.toolId = "ReportWebGLCompatibility";
|
|
27
|
+
//# sourceMappingURL=ReportWebGLCompatibilityTool.js.map
|
|
@@ -0,0 +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;IAEpC,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;;AAdsB,mCAAM,GAAG,0BAA0B,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Tools\r\n */\r\n\r\nimport { IModelApp, MessageBoxIconType, MessageBoxType, Tool } from \"@itwin/core-frontend\";\r\n\r\n/** Queries the client's level of compatibility with the rendering system and outputs it to NotificationManager.\r\n * @beta\r\n */\r\nexport class ReportWebGLCompatibilityTool extends Tool {\r\n public static override toolId = \"ReportWebGLCompatibility\";\r\n public override async run(_args: any[]): Promise<boolean> {\r\n const info = IModelApp.queryRenderCompatibility();\r\n const statuses = [\"OK\", \"Missing Optional Features\", \"Major Performance Caveat\", \"Missing Required Features\", \"Failed to Create Context\"];\r\n const status = info.status < statuses.length ? statuses[info.status] : \"UNKNOWN\";\r\n const json = JSON.stringify(info, null, 2); // prettify JSON output\r\n\r\n const msg = `Compatibility: ${status}\\n${json}`;\r\n const html = document.createElement(\"div\");\r\n html.style.whiteSpace = \"pre-wrap\";\r\n html.appendChild(document.createTextNode(msg));\r\n\r\n await IModelApp.notifications.openMessageBox(MessageBoxType.Ok, html, MessageBoxIconType.Information);\r\n return true;\r\n }\r\n}\r\n"]}
|