@itwin/core-frontend 5.1.0-dev.4 → 5.1.0-dev.40
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 +40 -1
- package/lib/cjs/AccuDraw.d.ts +2 -0
- package/lib/cjs/AccuDraw.d.ts.map +1 -1
- package/lib/cjs/AccuDraw.js +2 -0
- package/lib/cjs/AccuDraw.js.map +1 -1
- package/lib/cjs/AccuSnap.js +2 -2
- package/lib/cjs/AccuSnap.js.map +1 -1
- package/lib/cjs/HitDetail.d.ts +1 -1
- package/lib/cjs/HitDetail.d.ts.map +1 -1
- package/lib/cjs/HitDetail.js.map +1 -1
- package/lib/cjs/IModelApp.d.ts +16 -1
- package/lib/cjs/IModelApp.d.ts.map +1 -1
- package/lib/cjs/IModelApp.js +20 -1
- package/lib/cjs/IModelApp.js.map +1 -1
- package/lib/cjs/IModelConnection.d.ts +4 -4
- package/lib/cjs/IModelConnection.js +4 -4
- package/lib/cjs/IModelConnection.js.map +1 -1
- package/lib/cjs/IpcApp.d.ts +2 -1
- package/lib/cjs/IpcApp.d.ts.map +1 -1
- package/lib/cjs/IpcApp.js +4 -2
- package/lib/cjs/IpcApp.js.map +1 -1
- package/lib/cjs/SheetViewState.d.ts +2 -0
- package/lib/cjs/SheetViewState.d.ts.map +1 -1
- package/lib/cjs/SheetViewState.js +25 -3
- package/lib/cjs/SheetViewState.js.map +1 -1
- package/lib/cjs/ViewContext.d.ts +4 -1
- package/lib/cjs/ViewContext.d.ts.map +1 -1
- package/lib/cjs/ViewContext.js +10 -5
- package/lib/cjs/ViewContext.js.map +1 -1
- package/lib/cjs/ViewManager.js +2 -2
- package/lib/cjs/ViewManager.js.map +1 -1
- package/lib/cjs/Viewport.d.ts +3 -1
- package/lib/cjs/Viewport.d.ts.map +1 -1
- package/lib/cjs/Viewport.js +6 -2
- package/lib/cjs/Viewport.js.map +1 -1
- package/lib/cjs/core-frontend.d.ts +1 -1
- package/lib/cjs/core-frontend.d.ts.map +1 -1
- package/lib/cjs/core-frontend.js.map +1 -1
- package/lib/cjs/extension/ExtensionRuntime.js +15 -2
- package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
- package/lib/cjs/extension/providers/ExtensionLoadScript.js.map +1 -1
- package/lib/cjs/internal/render/MockRender.d.ts +1 -1
- package/lib/cjs/internal/render/MockRender.d.ts.map +1 -1
- package/lib/cjs/internal/render/MockRender.js +1 -1
- package/lib/cjs/internal/render/MockRender.js.map +1 -1
- package/lib/cjs/internal/render/webgl/RenderCommands.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/RenderCommands.js +2 -3
- package/lib/cjs/internal/render/webgl/RenderCommands.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Target.d.ts +1 -1
- package/lib/cjs/internal/render/webgl/Target.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/Target.js +2 -2
- package/lib/cjs/internal/render/webgl/Target.js.map +1 -1
- package/lib/cjs/internal/render/webgl/TargetGraphics.d.ts +3 -3
- package/lib/cjs/internal/render/webgl/TargetGraphics.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/TargetGraphics.js +10 -7
- package/lib/cjs/internal/render/webgl/TargetGraphics.js.map +1 -1
- package/lib/cjs/internal/tile/ClassifierTileTree.js +3 -1
- package/lib/cjs/internal/tile/ClassifierTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/IModelTile.d.ts +1 -0
- package/lib/cjs/internal/tile/IModelTile.d.ts.map +1 -1
- package/lib/cjs/internal/tile/IModelTile.js +4 -0
- package/lib/cjs/internal/tile/IModelTile.js.map +1 -1
- package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.d.ts.map +1 -1
- package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.js +8 -0
- package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
- package/lib/cjs/internal/tile/PrimaryTileTree.d.ts.map +1 -1
- package/lib/cjs/internal/tile/PrimaryTileTree.js +4 -3
- package/lib/cjs/internal/tile/PrimaryTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/RealityModelTileTree.d.ts +14 -0
- package/lib/cjs/internal/tile/RealityModelTileTree.d.ts.map +1 -1
- package/lib/cjs/internal/tile/RealityModelTileTree.js +24 -10
- package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +4 -0
- package/lib/cjs/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +52 -11
- package/lib/cjs/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/WmtsCapabilities.d.ts +7 -0
- package/lib/cjs/internal/tile/map/WmtsCapabilities.d.ts.map +1 -1
- package/lib/cjs/internal/tile/map/WmtsCapabilities.js +17 -0
- package/lib/cjs/internal/tile/map/WmtsCapabilities.js.map +1 -1
- package/lib/cjs/properties/AngleDescription.d.ts +4 -1
- package/lib/cjs/properties/AngleDescription.d.ts.map +1 -1
- package/lib/cjs/properties/AngleDescription.js +10 -2
- package/lib/cjs/properties/AngleDescription.js.map +1 -1
- package/lib/cjs/properties/FormattedQuantityDescription.d.ts +11 -1
- package/lib/cjs/properties/FormattedQuantityDescription.d.ts.map +1 -1
- package/lib/cjs/properties/FormattedQuantityDescription.js +7 -2
- package/lib/cjs/properties/FormattedQuantityDescription.js.map +1 -1
- package/lib/cjs/properties/LengthDescription.d.ts +12 -3
- package/lib/cjs/properties/LengthDescription.d.ts.map +1 -1
- package/lib/cjs/properties/LengthDescription.js +30 -6
- package/lib/cjs/properties/LengthDescription.js.map +1 -1
- package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts +103 -7
- package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
- package/lib/cjs/quantity-formatting/QuantityFormatter.js +212 -23
- package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
- package/lib/cjs/render/RenderSystem.d.ts +1 -1
- package/lib/cjs/render/RenderSystem.js.map +1 -1
- package/lib/cjs/render/RenderTarget.d.ts +1 -1
- package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
- package/lib/cjs/render/RenderTarget.js.map +1 -1
- package/lib/cjs/render/ScreenSpaceEffectBuilder.d.ts +1 -1
- package/lib/cjs/render/ScreenSpaceEffectBuilder.js.map +1 -1
- package/lib/cjs/request/Request.d.ts +2 -2
- package/lib/cjs/request/Request.js.map +1 -1
- package/lib/cjs/tile/TileAdmin.d.ts +10 -0
- package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
- package/lib/cjs/tile/TileAdmin.js +3 -0
- package/lib/cjs/tile/TileAdmin.js.map +1 -1
- package/lib/cjs/tile/map/MapCartoRectangle.d.ts +10 -0
- package/lib/cjs/tile/map/MapCartoRectangle.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapCartoRectangle.js +12 -0
- package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +2 -2
- package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryProvider.js +8 -4
- package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/QuadId.d.ts +15 -0
- package/lib/cjs/tile/map/QuadId.d.ts.map +1 -1
- package/lib/cjs/tile/map/QuadId.js +12 -0
- package/lib/cjs/tile/map/QuadId.js.map +1 -1
- package/lib/cjs/tools/AccuDrawViewportUI.d.ts +7 -0
- package/lib/cjs/tools/AccuDrawViewportUI.d.ts.map +1 -1
- package/lib/cjs/tools/AccuDrawViewportUI.js +14 -0
- package/lib/cjs/tools/AccuDrawViewportUI.js.map +1 -1
- package/lib/cjs/tools/ElementSetTool.d.ts +9 -1
- package/lib/cjs/tools/ElementSetTool.d.ts.map +1 -1
- package/lib/cjs/tools/ElementSetTool.js +128 -7
- package/lib/cjs/tools/ElementSetTool.js.map +1 -1
- package/lib/cjs/tools/MeasureTool.d.ts +9 -0
- package/lib/cjs/tools/MeasureTool.d.ts.map +1 -1
- package/lib/cjs/tools/MeasureTool.js +53 -22
- package/lib/cjs/tools/MeasureTool.js.map +1 -1
- package/lib/cjs/tools/SelectTool.d.ts +2 -2
- package/lib/cjs/tools/SelectTool.d.ts.map +1 -1
- package/lib/cjs/tools/SelectTool.js +26 -97
- package/lib/cjs/tools/SelectTool.js.map +1 -1
- package/lib/cjs/tools/Tool.d.ts +10 -1
- package/lib/cjs/tools/Tool.d.ts.map +1 -1
- package/lib/cjs/tools/Tool.js +27 -4
- package/lib/cjs/tools/Tool.js.map +1 -1
- package/lib/cjs/tools/ToolAdmin.d.ts +1 -0
- package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
- package/lib/cjs/tools/ToolAdmin.js +8 -2
- package/lib/cjs/tools/ToolAdmin.js.map +1 -1
- package/lib/cjs/tools/ToolSettings.d.ts +5 -0
- package/lib/cjs/tools/ToolSettings.d.ts.map +1 -1
- package/lib/cjs/tools/ToolSettings.js +5 -0
- package/lib/cjs/tools/ToolSettings.js.map +1 -1
- package/lib/cjs/tools/ViewTool.d.ts +1 -2
- package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
- package/lib/cjs/tools/ViewTool.js +10 -47
- package/lib/cjs/tools/ViewTool.js.map +1 -1
- package/lib/esm/AccuDraw.d.ts +2 -0
- package/lib/esm/AccuDraw.d.ts.map +1 -1
- package/lib/esm/AccuDraw.js +2 -0
- package/lib/esm/AccuDraw.js.map +1 -1
- package/lib/esm/AccuSnap.js +2 -2
- package/lib/esm/AccuSnap.js.map +1 -1
- package/lib/esm/HitDetail.d.ts +1 -1
- package/lib/esm/HitDetail.d.ts.map +1 -1
- package/lib/esm/HitDetail.js.map +1 -1
- package/lib/esm/IModelApp.d.ts +16 -1
- package/lib/esm/IModelApp.d.ts.map +1 -1
- package/lib/esm/IModelApp.js +21 -2
- package/lib/esm/IModelApp.js.map +1 -1
- package/lib/esm/IModelConnection.d.ts +4 -4
- package/lib/esm/IModelConnection.js +4 -4
- package/lib/esm/IModelConnection.js.map +1 -1
- package/lib/esm/IpcApp.d.ts +2 -1
- package/lib/esm/IpcApp.d.ts.map +1 -1
- package/lib/esm/IpcApp.js +4 -2
- package/lib/esm/IpcApp.js.map +1 -1
- package/lib/esm/SheetViewState.d.ts +2 -0
- package/lib/esm/SheetViewState.d.ts.map +1 -1
- package/lib/esm/SheetViewState.js +25 -3
- package/lib/esm/SheetViewState.js.map +1 -1
- package/lib/esm/ViewContext.d.ts +4 -1
- package/lib/esm/ViewContext.d.ts.map +1 -1
- package/lib/esm/ViewContext.js +10 -5
- package/lib/esm/ViewContext.js.map +1 -1
- package/lib/esm/ViewManager.js +2 -2
- package/lib/esm/ViewManager.js.map +1 -1
- package/lib/esm/Viewport.d.ts +3 -1
- package/lib/esm/Viewport.d.ts.map +1 -1
- package/lib/esm/Viewport.js +6 -2
- package/lib/esm/Viewport.js.map +1 -1
- package/lib/esm/core-frontend.d.ts +1 -1
- package/lib/esm/core-frontend.d.ts.map +1 -1
- package/lib/esm/core-frontend.js.map +1 -1
- package/lib/esm/extension/ExtensionRuntime.js +15 -2
- package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
- package/lib/esm/extension/providers/ExtensionLoadScript.js +1 -1
- package/lib/esm/extension/providers/ExtensionLoadScript.js.map +1 -1
- package/lib/esm/internal/render/MockRender.d.ts +1 -1
- package/lib/esm/internal/render/MockRender.d.ts.map +1 -1
- package/lib/esm/internal/render/MockRender.js +1 -1
- package/lib/esm/internal/render/MockRender.js.map +1 -1
- package/lib/esm/internal/render/webgl/RenderCommands.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/RenderCommands.js +2 -3
- package/lib/esm/internal/render/webgl/RenderCommands.js.map +1 -1
- package/lib/esm/internal/render/webgl/Target.d.ts +1 -1
- package/lib/esm/internal/render/webgl/Target.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/Target.js +2 -2
- package/lib/esm/internal/render/webgl/Target.js.map +1 -1
- package/lib/esm/internal/render/webgl/TargetGraphics.d.ts +3 -3
- package/lib/esm/internal/render/webgl/TargetGraphics.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/TargetGraphics.js +10 -7
- package/lib/esm/internal/render/webgl/TargetGraphics.js.map +1 -1
- package/lib/esm/internal/tile/ClassifierTileTree.js +3 -1
- package/lib/esm/internal/tile/ClassifierTileTree.js.map +1 -1
- package/lib/esm/internal/tile/IModelTile.d.ts +1 -0
- package/lib/esm/internal/tile/IModelTile.d.ts.map +1 -1
- package/lib/esm/internal/tile/IModelTile.js +4 -0
- package/lib/esm/internal/tile/IModelTile.js.map +1 -1
- package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.d.ts.map +1 -1
- package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.js +8 -0
- package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
- package/lib/esm/internal/tile/PrimaryTileTree.d.ts.map +1 -1
- package/lib/esm/internal/tile/PrimaryTileTree.js +4 -3
- package/lib/esm/internal/tile/PrimaryTileTree.js.map +1 -1
- package/lib/esm/internal/tile/RealityModelTileTree.d.ts +14 -0
- package/lib/esm/internal/tile/RealityModelTileTree.d.ts.map +1 -1
- package/lib/esm/internal/tile/RealityModelTileTree.js +23 -10
- package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +4 -0
- package/lib/esm/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +52 -11
- package/lib/esm/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/WmtsCapabilities.d.ts +7 -0
- package/lib/esm/internal/tile/map/WmtsCapabilities.d.ts.map +1 -1
- package/lib/esm/internal/tile/map/WmtsCapabilities.js +17 -0
- package/lib/esm/internal/tile/map/WmtsCapabilities.js.map +1 -1
- package/lib/esm/properties/AngleDescription.d.ts +4 -1
- package/lib/esm/properties/AngleDescription.d.ts.map +1 -1
- package/lib/esm/properties/AngleDescription.js +10 -2
- package/lib/esm/properties/AngleDescription.js.map +1 -1
- package/lib/esm/properties/FormattedQuantityDescription.d.ts +11 -1
- package/lib/esm/properties/FormattedQuantityDescription.d.ts.map +1 -1
- package/lib/esm/properties/FormattedQuantityDescription.js +7 -2
- package/lib/esm/properties/FormattedQuantityDescription.js.map +1 -1
- package/lib/esm/properties/LengthDescription.d.ts +12 -3
- package/lib/esm/properties/LengthDescription.d.ts.map +1 -1
- package/lib/esm/properties/LengthDescription.js +30 -6
- package/lib/esm/properties/LengthDescription.js.map +1 -1
- package/lib/esm/quantity-formatting/QuantityFormatter.d.ts +103 -7
- package/lib/esm/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
- package/lib/esm/quantity-formatting/QuantityFormatter.js +210 -23
- package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
- package/lib/esm/render/RenderSystem.d.ts +1 -1
- package/lib/esm/render/RenderSystem.js.map +1 -1
- package/lib/esm/render/RenderTarget.d.ts +1 -1
- package/lib/esm/render/RenderTarget.d.ts.map +1 -1
- package/lib/esm/render/RenderTarget.js.map +1 -1
- package/lib/esm/render/ScreenSpaceEffectBuilder.d.ts +1 -1
- package/lib/esm/render/ScreenSpaceEffectBuilder.js.map +1 -1
- package/lib/esm/request/Request.d.ts +2 -2
- package/lib/esm/request/Request.js.map +1 -1
- package/lib/esm/tile/TileAdmin.d.ts +10 -0
- package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
- package/lib/esm/tile/TileAdmin.js +3 -0
- package/lib/esm/tile/TileAdmin.js.map +1 -1
- package/lib/esm/tile/map/MapCartoRectangle.d.ts +10 -0
- package/lib/esm/tile/map/MapCartoRectangle.d.ts.map +1 -1
- package/lib/esm/tile/map/MapCartoRectangle.js +12 -0
- package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +2 -2
- package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryProvider.js +8 -4
- package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/QuadId.d.ts +15 -0
- package/lib/esm/tile/map/QuadId.d.ts.map +1 -1
- package/lib/esm/tile/map/QuadId.js +12 -0
- package/lib/esm/tile/map/QuadId.js.map +1 -1
- package/lib/esm/tools/AccuDrawViewportUI.d.ts +7 -0
- package/lib/esm/tools/AccuDrawViewportUI.d.ts.map +1 -1
- package/lib/esm/tools/AccuDrawViewportUI.js +14 -0
- package/lib/esm/tools/AccuDrawViewportUI.js.map +1 -1
- package/lib/esm/tools/ElementSetTool.d.ts +9 -1
- package/lib/esm/tools/ElementSetTool.d.ts.map +1 -1
- package/lib/esm/tools/ElementSetTool.js +130 -9
- package/lib/esm/tools/ElementSetTool.js.map +1 -1
- package/lib/esm/tools/MeasureTool.d.ts +9 -0
- package/lib/esm/tools/MeasureTool.d.ts.map +1 -1
- package/lib/esm/tools/MeasureTool.js +53 -22
- package/lib/esm/tools/MeasureTool.js.map +1 -1
- package/lib/esm/tools/SelectTool.d.ts +2 -2
- package/lib/esm/tools/SelectTool.d.ts.map +1 -1
- package/lib/esm/tools/SelectTool.js +26 -97
- package/lib/esm/tools/SelectTool.js.map +1 -1
- package/lib/esm/tools/Tool.d.ts +10 -1
- package/lib/esm/tools/Tool.d.ts.map +1 -1
- package/lib/esm/tools/Tool.js +27 -4
- package/lib/esm/tools/Tool.js.map +1 -1
- package/lib/esm/tools/ToolAdmin.d.ts +1 -0
- package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
- package/lib/esm/tools/ToolAdmin.js +8 -2
- package/lib/esm/tools/ToolAdmin.js.map +1 -1
- package/lib/esm/tools/ToolSettings.d.ts +5 -0
- package/lib/esm/tools/ToolSettings.d.ts.map +1 -1
- package/lib/esm/tools/ToolSettings.js +5 -0
- package/lib/esm/tools/ToolSettings.js.map +1 -1
- package/lib/esm/tools/ViewTool.d.ts +1 -2
- package/lib/esm/tools/ViewTool.d.ts.map +1 -1
- package/lib/esm/tools/ViewTool.js +10 -47
- package/lib/esm/tools/ViewTool.js.map +1 -1
- package/lib/public/scripts/parse-imdl-worker.js +1 -1
- package/lib/workers/webpack/parse-imdl-worker.js +1 -1
- package/package.json +20 -20
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderCommands.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/RenderCommands.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 WebGL\n */\n\nimport { assert } from \"@itwin/core-bentley\";\nimport { Range3d } from \"@itwin/core-geometry\";\nimport { Frustum, FrustumPlanes, RenderMode, ViewFlags } from \"@itwin/core-common\";\nimport { Decorations } from \"../../../render/Decorations\";\nimport { SurfaceType } from \"../../../common/internal/render/SurfaceParams\";\nimport { GraphicList, RenderGraphic } from \"../../../render/RenderGraphic\";\nimport { AnimationBranchState } from \"../AnimationBranchState\";\nimport { BranchStack } from \"./BranchStack\";\nimport { BatchState } from \"./BatchState\";\nimport { BranchState } from \"./BranchState\";\nimport {\n DrawCommands, PopBatchCommand, PopBranchCommand, PopClipCommand, PopCommand, PrimitiveCommand, PushBatchCommand,\n PushBranchCommand, PushClipCommand, PushCommand, PushStateCommand,\n} from \"./DrawCommand\";\nimport { Batch, Branch, Graphic, GraphicsArray } from \"./Graphic\";\nimport { Layer, LayerContainer } from \"./Layer\";\nimport { LayerCommandLists } from \"./LayerCommands\";\nimport { MeshGraphic } from \"./Mesh\";\nimport { Primitive } from \"./Primitive\";\nimport { CompositeFlags, Pass, RenderOrder, RenderPass } from \"./RenderFlags\";\nimport { TargetGraphics } from \"./TargetGraphics\";\nimport { Target } from \"./Target\";\nimport { ClipVolume } from \"./ClipVolume\";\n\n/** A list of DrawCommands to be rendered, ordered by render pass.\n * @internal\n */\nexport class RenderCommands implements Iterable<DrawCommands> {\n private _frustumPlanes?: FrustumPlanes;\n private readonly _scratchFrustum = new Frustum();\n private readonly _scratchRange = new Range3d();\n private readonly _commands = new Array<DrawCommands>(RenderPass.COUNT);\n private _target: Target;\n private _stack: BranchStack; // refers to the Target's BranchStack\n private _batchState: BatchState; // refers to the Target's BatchState\n private _forcedRenderPass: RenderPass = RenderPass.None;\n private _addLayersAsNormalGraphics = false;\n private _opaqueOverrides = false;\n private _translucentOverrides = false;\n private _addTranslucentAsOpaque = false; // true when rendering for _ReadPixels to force translucent items to be drawn in opaque pass.\n private readonly _layers: LayerCommandLists;\n\n public get target(): Target { return this._target; }\n\n public [Symbol.iterator](): Iterator<DrawCommands> {\n return this._commands[Symbol.iterator]();\n }\n\n public get isEmpty(): boolean {\n for (const commands of this._commands)\n if (0 < commands.length)\n return false;\n\n return true;\n }\n\n public get isDrawingLayers() {\n switch (this._forcedRenderPass) {\n case RenderPass.OpaqueLayers:\n case RenderPass.TranslucentLayers:\n case RenderPass.OverlayLayers:\n return true;\n default:\n return false;\n }\n }\n\n public get currentViewFlags(): ViewFlags { return this._stack.top.viewFlags; }\n public get compositeFlags(): CompositeFlags {\n let flags = CompositeFlags.None;\n if (this.hasCommands(RenderPass.Translucent))\n flags |= CompositeFlags.Translucent;\n\n if (this.hasCommands(RenderPass.Hilite) || this.hasCommands(RenderPass.HiliteClassification) || this.hasCommands(RenderPass.HilitePlanarClassification))\n flags |= CompositeFlags.Hilite;\n\n if (this.target.wantAmbientOcclusion)\n flags |= CompositeFlags.AmbientOcclusion;\n\n return flags;\n }\n\n private get _curBatch(): Batch | undefined { return this._batchState.currentBatch; }\n\n public hasCommands(pass: RenderPass): boolean { return 0 !== this.getCommands(pass).length; }\n public isOpaquePass(pass: RenderPass): boolean { return pass >= RenderPass.OpaqueLinear && pass <= RenderPass.OpaqueGeneral; }\n\n constructor(target: Target, stack: BranchStack, batchState: BatchState) {\n this._target = target;\n this._stack = stack;\n this._batchState = batchState;\n this._layers = new LayerCommandLists(this);\n\n for (let i = 0; i < RenderPass.COUNT; ++i)\n this._commands[i] = [];\n }\n\n public reset(target: Target, stack: BranchStack, batchState: BatchState): void {\n this._target = target;\n this._stack = stack;\n this._batchState = batchState;\n this.clear();\n }\n\n public collectGraphicsForPlanarProjection(scene: GraphicList): void {\n assert(this._forcedRenderPass === RenderPass.None);\n assert(!this._addLayersAsNormalGraphics);\n\n this._addLayersAsNormalGraphics = true;\n this.addGraphics(scene);\n this._addLayersAsNormalGraphics = false;\n }\n\n public addGraphics(scene: GraphicList, forcedPass: RenderPass = RenderPass.None): void {\n this._forcedRenderPass = forcedPass;\n scene.forEach((entry: RenderGraphic) => (entry as Graphic).addCommands(this));\n this._forcedRenderPass = RenderPass.None;\n }\n\n /** Add backgroundMap graphics to their own render pass. */\n public addBackgroundMapGraphics(backgroundMapGraphics: GraphicList): void {\n this._forcedRenderPass = RenderPass.BackgroundMap;\n backgroundMapGraphics.forEach((entry: RenderGraphic) => (entry as Graphic).addCommands(this));\n this._forcedRenderPass = RenderPass.None;\n }\n /** Add overlay graphics to the world overlay pass */\n public addOverlayGraphics(overlayGraphics: GraphicList): void {\n this._forcedRenderPass = RenderPass.WorldOverlay;\n overlayGraphics.forEach((entry: RenderGraphic) => (entry as Graphic).addCommands(this));\n this._forcedRenderPass = RenderPass.None;\n }\n\n public addDecorations(dec: GraphicList, forcedPass: RenderPass = RenderPass.None): void {\n this._forcedRenderPass = forcedPass;\n for (const entry of dec) {\n (entry as Graphic).addCommands(this);\n }\n\n this._forcedRenderPass = RenderPass.None;\n }\n\n public addWorldDecorations(decs: GraphicList): void {\n const world = this.target.getWorldDecorations(decs);\n this.pushAndPopBranch(world, () => {\n for (const entry of world.branch.entries) {\n (entry as Graphic).addCommands(this);\n }\n });\n }\n\n private addPickableDecorations(decs: Decorations): void {\n if (undefined !== decs.normal) {\n for (const normal of decs.normal) {\n const gf = normal as Graphic;\n if (gf.isPickable)\n gf.addCommands(this);\n }\n }\n\n if (undefined !== decs.world) {\n const world = this.target.getWorldDecorations(decs.world);\n this.pushAndPopBranch(world, () => {\n for (const gf of world.branch.entries) {\n if ((gf as Graphic).isPickable)\n (gf as Graphic).addCommands(this);\n }\n });\n }\n }\n\n public addBackground(gf?: Graphic): void {\n if (undefined === gf)\n return;\n\n assert(RenderPass.None === this._forcedRenderPass);\n\n this._forcedRenderPass = RenderPass.Background;\n this.pushAndPopState(this.target.decorationsState, () => gf.addCommands(this));\n this._forcedRenderPass = RenderPass.None;\n }\n\n public addSkyBox(gf?: Graphic): void {\n if (undefined === gf)\n return;\n\n assert(RenderPass.None === this._forcedRenderPass);\n\n this._forcedRenderPass = RenderPass.SkyBox;\n this.pushAndPopState(this.target.decorationsState, () => gf.addCommands(this));\n this._forcedRenderPass = RenderPass.None;\n }\n\n public addPrimitiveCommand(command: PrimitiveCommand, pass?: Pass): void {\n if (undefined === pass)\n pass = command.getPass(this.target);\n\n if (\"none\" === pass) // Edges will return none if they don't want to draw at all (edges not turned on).\n return;\n\n if (RenderPass.None !== this._forcedRenderPass) {\n // Add the command to the forced render pass (background).\n this.getCommands(this._forcedRenderPass).push(command);\n return;\n }\n\n if (!command.hasFeatures) {\n // Draw in general opaque pass so they are not in pick data.\n switch (pass) {\n case \"opaque-linear\":\n case \"opaque-planar\":\n pass = \"opaque\";\n break;\n case \"opaque-planar-translucent\":\n pass = \"opaque-translucent\";\n break;\n }\n }\n\n const haveFeatureOverrides = (this._opaqueOverrides || this._translucentOverrides) && command.opcode && command.hasFeatures;\n\n if (Pass.rendersTranslucent(pass) && this._addTranslucentAsOpaque) {\n switch (command.renderOrder) {\n case RenderOrder.PlanarLitSurface:\n case RenderOrder.PlanarUnlitSurface:\n case RenderOrder.BlankingRegion:\n pass = \"opaque-planar\";\n break;\n case RenderOrder.LitSurface:\n case RenderOrder.UnlitSurface:\n pass = \"opaque\";\n break;\n default:\n pass = \"opaque-linear\";\n break;\n }\n }\n\n const isDoublePass = Pass.rendersOpaqueAndTranslucent(pass);\n const renderTranslucentDuringOpaque = isDoublePass || (this._opaqueOverrides && haveFeatureOverrides);\n if (renderTranslucentDuringOpaque && Pass.rendersTranslucent(pass) && !command.primitive.cachedGeometry.alwaysRenderTranslucent) {\n let opaquePass: RenderPass;\n if (Pass.rendersOpaqueAndTranslucent(pass)) {\n opaquePass = Pass.toOpaquePass(pass);\n } else {\n switch (command.renderOrder) {\n case RenderOrder.PlanarLitSurface:\n case RenderOrder.PlanarUnlitSurface:\n case RenderOrder.BlankingRegion:\n opaquePass = RenderPass.OpaquePlanar;\n break;\n case RenderOrder.LitSurface:\n case RenderOrder.UnlitSurface:\n opaquePass = RenderPass.OpaqueGeneral;\n break;\n default:\n opaquePass = RenderPass.OpaqueLinear;\n break;\n }\n }\n\n this.getCommands(opaquePass).push(command);\n }\n\n const renderOpaqueDuringTranslucent = isDoublePass || (this._translucentOverrides && haveFeatureOverrides);\n if (renderOpaqueDuringTranslucent && Pass.rendersOpaque(pass) && !this._addTranslucentAsOpaque)\n this.getCommands(RenderPass.Translucent).push(command);\n\n if (!Pass.rendersOpaqueAndTranslucent(pass))\n this.getCommands(Pass.toRenderPass(pass)).push(command);\n }\n\n public getCommands(pass: RenderPass): DrawCommands {\n let idx = pass as number;\n assert(idx < this._commands.length);\n if (idx >= this._commands.length)\n idx -= 1;\n\n return this._commands[idx];\n }\n\n public replaceCommands(pass: RenderPass, cmds: DrawCommands): void {\n const idx = pass as number;\n this._commands[idx].splice(0);\n this._commands[idx] = cmds;\n }\n\n public addHiliteBranch(branch: Branch, pass: RenderPass): void {\n this.pushAndPopBranchForPass(pass, branch, () => {\n branch.branch.entries.forEach((entry: RenderGraphic) => (entry as Graphic).addHiliteCommands(this, pass));\n });\n }\n\n public processLayers(container: LayerContainer): void {\n assert(RenderPass.None === this._forcedRenderPass);\n if (RenderPass.None !== this._forcedRenderPass)\n return;\n\n this._forcedRenderPass = container.renderPass;\n this._layers.processLayers(container, () => container.graphic.addCommands(this));\n this._forcedRenderPass = RenderPass.None;\n }\n\n public addLayerCommands(layer: Layer): void {\n if (this._addLayersAsNormalGraphics) {\n // GraphicsCollectorDrawArgs wants to collect graphics to project to a plane for masking.\n // It bypasses PlanProjectionTreeReference.createDrawArgs which would otherwise wrap the graphics in a LayerContainer.\n assert(this._forcedRenderPass === RenderPass.None);\n this._forcedRenderPass = RenderPass.OpaqueGeneral;\n layer.graphic.addCommands(this);\n this._forcedRenderPass = RenderPass.None;\n return;\n }\n\n assert(this.isDrawingLayers);\n if (!this.isDrawingLayers)\n return;\n\n // Let the graphic add its commands. Afterward, pull them out and add them to the LayerCommands.\n this._layers.currentLayer = layer;\n layer.graphic.addCommands(this);\n\n const cmds = this.getCommands(this._forcedRenderPass);\n this._layers.addCommands(cmds);\n\n cmds.length = 0;\n this._layers.currentLayer = undefined;\n }\n\n public addHiliteLayerCommands(graphic: Graphic, pass: RenderPass): void {\n assert(this.isDrawingLayers || this._addLayersAsNormalGraphics);\n if (!this.isDrawingLayers && !this._addLayersAsNormalGraphics)\n return;\n\n const prevPass = this._forcedRenderPass;\n this._forcedRenderPass = RenderPass.None;\n\n graphic.addHiliteCommands(this, pass);\n\n this._forcedRenderPass = prevPass;\n }\n\n private getAnimationBranchState(branch: Branch): AnimationBranchState | undefined {\n const animId = branch.branch.animationId;\n return undefined !== animId ? this.target.animationBranches?.branchStates.get(animId) : undefined;\n }\n\n private pushAndPopBranchForPass(pass: RenderPass, branch: Branch, func: () => void): void {\n assert(!this.isDrawingLayers);\n\n const animState = this.getAnimationBranchState(branch);\n if (animState?.omit)\n return;\n\n assert(RenderPass.None !== pass);\n\n this._stack.pushBranch(branch);\n if (branch.planarClassifier)\n branch.planarClassifier.pushBatchState(this._batchState);\n\n if (branch.secondaryClassifiers)\n branch.secondaryClassifiers.forEach((classifier) => classifier.pushBatchState(this._batchState));\n\n const cmds = this.getCommands(pass);\n const clip = animState?.clip as ClipVolume | undefined;\n const pushClip = undefined !== clip ? new PushClipCommand(clip) : undefined;\n if (pushClip)\n cmds.push(pushClip);\n\n const push = new PushBranchCommand(branch);\n cmds.push(push);\n\n func();\n\n this._stack.pop();\n if (cmds[cmds.length - 1] === push) {\n cmds.pop();\n if (pushClip)\n cmds.pop();\n } else {\n cmds.push(PopBranchCommand.instance);\n if (pushClip)\n cmds.push(PopClipCommand.instance);\n }\n }\n\n private pushAndPop(push: PushCommand, pop: PopCommand, func: () => void): void {\n if (this.isDrawingLayers) {\n this._commands[RenderPass.Hilite].push(push);\n this._layers.pushAndPop(push, pop, func);\n\n const cmds = this._commands[RenderPass.Hilite];\n if (0 < cmds.length && cmds[cmds.length - 1] === push)\n cmds.pop();\n else\n cmds.push(pop);\n\n return;\n }\n\n if (RenderPass.None === this._forcedRenderPass) {\n // Need to make sure the push command precedes any subsequent commands added to any render pass.\n for (const cmds of this._commands)\n cmds.push(push);\n } else {\n // May want to add hilite commands as well - add the push command to that pass.\n this._commands[this._forcedRenderPass].push(push);\n this._commands[RenderPass.Hilite].push(push);\n }\n\n func();\n\n // Remove push command from any passes that didn't receive any commands; add the pop command to any passes that did.\n if (RenderPass.None === this._forcedRenderPass) {\n for (const cmds of this._commands) {\n assert(0 < cmds.length);\n if (0 < cmds.length && cmds[cmds.length - 1] === push)\n cmds.pop();\n else\n cmds.push(pop);\n }\n } else {\n assert(0 < this._commands[this._forcedRenderPass].length);\n assert(0 < this._commands[RenderPass.Hilite].length);\n\n let cmds = this._commands[this._forcedRenderPass];\n if (cmds[cmds.length - 1] === push)\n cmds.pop();\n else\n cmds.push(pop);\n\n cmds = this._commands[RenderPass.Hilite];\n if (cmds[cmds.length - 1] === push)\n cmds.pop();\n else\n cmds.push(pop);\n }\n }\n\n public pushAndPopBranch(branch: Branch, func: () => void): void {\n const animState = this.getAnimationBranchState(branch);\n if (animState?.omit)\n return;\n\n if (animState?.clip)\n this.pushAndPop(new PushClipCommand(animState.clip as ClipVolume), PopClipCommand.instance, () => this._pushAndPopBranch(branch, func));\n else\n this._pushAndPopBranch(branch, func);\n }\n\n private _pushAndPopBranch(branch: Branch, func: () => void): void {\n this._stack.pushBranch(branch);\n if (branch.planarClassifier)\n branch.planarClassifier.pushBatchState(this._batchState);\n\n if (branch.secondaryClassifiers)\n branch.secondaryClassifiers.forEach((classifier) => classifier.pushBatchState(this._batchState));\n\n this.pushAndPop(new PushBranchCommand(branch), PopBranchCommand.instance, func);\n\n this._stack.pop();\n }\n\n public pushAndPopState(state: BranchState, func: () => void): void {\n this._stack.pushState(state);\n this.pushAndPop(new PushStateCommand(state), PopBranchCommand.instance, func);\n this._stack.pop();\n }\n\n public clear(): void {\n assert(this._batchState.isEmpty);\n this._clearCommands();\n }\n\n private _clearCommands(): void {\n this._commands.forEach((cmds: DrawCommands) => cmds.splice(0));\n this._layers.clear();\n }\n\n private initForPickOverlayDecorations(overlays: GraphicList): void {\n for (const overlay of overlays) {\n const gf = overlay as Graphic;\n if (gf.isPickable)\n gf.addCommands(this);\n }\n }\n\n public initForPickOverlays(sceneOverlays: GraphicList, worldOverlayDecorations: GraphicList | undefined, viewOverlayDecorations: GraphicList | undefined): void {\n this._clearCommands();\n\n this._addTranslucentAsOpaque = true;\n\n for (const sceneGf of sceneOverlays)\n (sceneGf as Graphic).addCommands(this);\n\n if (worldOverlayDecorations?.length) {\n this.pushAndPopState(this.target.decorationsState, () => {\n this.initForPickOverlayDecorations(worldOverlayDecorations);\n });\n }\n\n if (viewOverlayDecorations?.length) {\n this.pushAndPopState(this.target.decorationsState.withViewCoords(), () => {\n this.initForPickOverlayDecorations(viewOverlayDecorations);\n });\n }\n\n this._addTranslucentAsOpaque = false;\n }\n\n public initForReadPixels(gfx: TargetGraphics): void {\n this.clear();\n\n // Set flag to force translucent geometry to be put into the opaque pass.\n this._addTranslucentAsOpaque = true;\n\n // Add the scene graphics.\n this.addGraphics(gfx.foreground);\n\n // Also add any pickable decorations.\n if (undefined !== gfx.decorations)\n this.addPickableDecorations(gfx.decorations);\n\n // Also background map is pickable\n this.addBackgroundMapGraphics(gfx.background);\n\n this._addTranslucentAsOpaque = false;\n\n this.setupClassificationByVolume();\n this._layers.outputCommands();\n }\n\n public initForRender(gfx: TargetGraphics): void {\n this.clear();\n\n this.addGraphics(gfx.foreground);\n this.addBackgroundMapGraphics(gfx.background);\n this.addOverlayGraphics(gfx.overlays);\n\n const dynamics = gfx.dynamics;\n if (dynamics && dynamics.length > 0)\n this.addDecorations(dynamics);\n\n const dec = gfx.decorations;\n if (undefined !== dec) {\n this.addBackground(dec.viewBackground as Graphic);\n\n this.addSkyBox(dec.skyBox as Graphic);\n\n if (undefined !== dec.normal && 0 < dec.normal.length)\n this.addGraphics(dec.normal);\n\n if (undefined !== dec.world && 0 < dec.world.length)\n this.addWorldDecorations(dec.world);\n\n this.pushAndPopState(this.target.decorationsState, () => {\n if (undefined !== dec.viewOverlay && 0 < dec.viewOverlay.length)\n this.addDecorations(dec.viewOverlay, RenderPass.ViewOverlay);\n\n if (undefined !== dec.worldOverlay && 0 < dec.worldOverlay.length)\n this.addDecorations(dec.worldOverlay, RenderPass.WorldOverlay);\n });\n }\n\n this.setupClassificationByVolume();\n this._layers.outputCommands();\n }\n\n public addPrimitive(prim: Primitive): void {\n // ###TODO Would be nice if we could detect outside active volume here, but active volume only applies to specific render passes\n // if (this.target.isGeometryOutsideActiveVolume(prim.cachedGeometry))\n // return;\n\n if (undefined !== this._frustumPlanes) { // See if we can cull this primitive.\n if (\"classification\" === prim.getPass(this.target)) {\n const geom = prim.cachedGeometry;\n geom.computeRange(this._scratchRange);\n let frustum = Frustum.fromRange(this._scratchRange, this._scratchFrustum);\n frustum = frustum.transformBy(this.target.currentTransform, frustum);\n if (FrustumPlanes.Containment.Outside === this._frustumPlanes.computeFrustumContainment(frustum)) {\n return;\n }\n }\n }\n\n const command = new PrimitiveCommand(prim);\n this.addPrimitiveCommand(command);\n\n if (RenderPass.None === this._forcedRenderPass && prim.isEdge) {\n const vf: ViewFlags = this.target.currentViewFlags;\n if (vf.renderMode !== RenderMode.Wireframe && vf.hiddenEdges)\n this.getCommands(RenderPass.HiddenEdge).push(command);\n }\n }\n\n public addBranch(branch: Branch): void {\n this.pushAndPopBranch(branch, () => {\n branch.branch.entries.forEach((entry: RenderGraphic) => (entry as Graphic).addCommands(this));\n });\n }\n\n public computeBatchHiliteRenderPass(batch: Batch): RenderPass {\n let pass = RenderPass.Hilite;\n if (batch.graphic instanceof MeshGraphic) {\n const mg = batch.graphic;\n if (SurfaceType.VolumeClassifier === mg.surfaceType)\n pass = RenderPass.HiliteClassification;\n } else if (batch.graphic instanceof GraphicsArray) {\n const ga = batch.graphic;\n if (ga.graphics[0] instanceof MeshGraphic) {\n const mg = ga.graphics[0];\n if (SurfaceType.VolumeClassifier === mg.surfaceType)\n pass = RenderPass.HiliteClassification;\n } else if (ga.graphics[0] instanceof Branch) {\n const b = ga.graphics[0];\n if (b.branch.entries.length > 0 && b.branch.entries[0] instanceof MeshGraphic) {\n const mg = b.branch.entries[0];\n if (SurfaceType.VolumeClassifier === mg.surfaceType)\n pass = RenderPass.HiliteClassification;\n }\n }\n }\n return pass;\n }\n\n public addBatch(batch: Batch): void {\n if (batch.locateOnly && !this.target.isReadPixelsInProgress)\n return;\n\n // Batches (aka element tiles) should only draw during ordinary (translucent or opaque) passes.\n // They may draw during both, or neither.\n // NB: This is no longer true - pickable overlay decorations are defined as Batches. Problem?\n // assert(RenderPass.None === this._forcedRenderPass);\n assert(!this._opaqueOverrides && !this._translucentOverrides);\n assert(undefined === this._curBatch);\n\n // If all features are overridden to be invisible, draw no graphics in this batch\n const overrides = batch.getOverrides(this.target);\n if (overrides.allHidden)\n return;\n\n if (!batch.range.isNull) {\n // ###TODO Would be nice if we could detect outside active volume here, but active volume only applies to specific render passes\n // if (this.target.isRangeOutsideActiveVolume(batch.range))\n // return;\n\n if (undefined !== this._frustumPlanes) {\n let frustum = Frustum.fromRange(batch.range, this._scratchFrustum);\n frustum = frustum.transformBy(this.target.currentTransform, frustum);\n if (FrustumPlanes.Containment.Outside === this._frustumPlanes.computeFrustumContainment(frustum)) {\n return;\n }\n }\n }\n\n const classifier = this._stack.top.planarClassifier;\n\n this._batchState.push(batch, true);\n\n this.pushAndPop(new PushBatchCommand(batch), PopBatchCommand.instance, () => {\n if (this.currentViewFlags.transparency || overrides.anyViewIndependentTranslucent) {\n this._opaqueOverrides = overrides.anyOpaque;\n this._translucentOverrides = overrides.anyTranslucent;\n\n if (undefined !== classifier) {\n this._opaqueOverrides = this._opaqueOverrides || classifier.anyOpaque;\n this._translucentOverrides = this._translucentOverrides || classifier.anyTranslucent;\n }\n }\n\n // If we have an active volume classifier then force all batches for the reality data being classified into a special render pass.\n let savedForcedRenderPass = RenderPass.None;\n if (undefined !== this.target.activeVolumeClassifierModelId && batch.featureTable.batchModelId === this.target.activeVolumeClassifierModelId) {\n savedForcedRenderPass = this._forcedRenderPass;\n this._forcedRenderPass = RenderPass.VolumeClassifiedRealityData;\n }\n\n (batch.graphic as Graphic).addCommands(this);\n\n if (RenderPass.VolumeClassifiedRealityData === this._forcedRenderPass)\n this._forcedRenderPass = savedForcedRenderPass;\n\n // If the batch contains hilited features, need to render them in the hilite pass\n const anyHilited = overrides.anyHilited;\n const planarClassifierHilited = undefined !== classifier && classifier.anyHilited;\n if (anyHilited || planarClassifierHilited)\n (batch.graphic as Graphic).addHiliteCommands(this, planarClassifierHilited ? RenderPass.HilitePlanarClassification : this.computeBatchHiliteRenderPass(batch));\n\n });\n\n this._opaqueOverrides = this._translucentOverrides = false;\n this._batchState.pop();\n }\n\n // Define a culling frustum. Commands associated with Graphics whose ranges do not intersect the frustum will be skipped.\n public setCheckRange(frustum: Frustum) { this._frustumPlanes = FrustumPlanes.fromFrustum(frustum); }\n // Clear the culling frustum.\n public clearCheckRange(): void { this._frustumPlanes = undefined; }\n\n private setupClassificationByVolume(): void {\n // To make it easier to process the classifiers individually, set up a secondary command list for them where they\n // are each separated by their own pushes & pops so that they can easily be drawn individually. This now supports\n // nested branches and batches.\n const groupedCmds = this._commands[RenderPass.Classification];\n const byIndexCmds = this._commands[RenderPass.ClassificationByIndex];\n const pushCommands: DrawCommands = []; // will contain current set of pushes ahead of a primitive\n for (const cmd of groupedCmds) {\n switch (cmd.opcode) {\n case \"pushBranch\":\n case \"pushBatch\":\n case \"pushState\":\n pushCommands.push(cmd);\n break;\n case \"drawPrimitive\":\n for (const pushCmd of pushCommands) {\n byIndexCmds.push(pushCmd);\n }\n byIndexCmds.push(cmd);\n for (let i = pushCommands.length - 1; i >= 0; --i) {\n if (\"pushBatch\" === pushCommands[i].opcode)\n byIndexCmds.push(PopBatchCommand.instance);\n else // should be eith pushBranch or pushState opcode\n byIndexCmds.push(PopBranchCommand.instance);\n }\n break;\n case \"popBatch\":\n case \"popBranch\":\n pushCommands.pop();\n break;\n }\n }\n }\n\n public dump(): Array<{ name: string, count: number }> {\n const dump = [\n { name: \"Primitives\", count: 0 },\n { name: \"Batches\", count: 0 },\n { name: \"Branches\", count: 0 },\n ];\n\n for (const cmds of this._commands) {\n for (const cmd of cmds) {\n let index;\n switch (cmd.opcode) {\n case \"drawPrimitive\":\n index = 0;\n break;\n case \"pushBatch\":\n index = 1;\n break;\n case \"pushBranch\":\n index = 2;\n break;\n default:\n continue;\n }\n\n dump[index].count++;\n }\n }\n\n return dump;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"RenderCommands.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/RenderCommands.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 WebGL\n */\n\nimport { assert } from \"@itwin/core-bentley\";\nimport { Range3d } from \"@itwin/core-geometry\";\nimport { Frustum, FrustumPlanes, RenderMode, ViewFlags } from \"@itwin/core-common\";\nimport { Decorations } from \"../../../render/Decorations\";\nimport { SurfaceType } from \"../../../common/internal/render/SurfaceParams\";\nimport { GraphicList, RenderGraphic } from \"../../../render/RenderGraphic\";\nimport { AnimationBranchState } from \"../AnimationBranchState\";\nimport { BranchStack } from \"./BranchStack\";\nimport { BatchState } from \"./BatchState\";\nimport { BranchState } from \"./BranchState\";\nimport {\n DrawCommands, PopBatchCommand, PopBranchCommand, PopClipCommand, PopCommand, PrimitiveCommand, PushBatchCommand,\n PushBranchCommand, PushClipCommand, PushCommand, PushStateCommand,\n} from \"./DrawCommand\";\nimport { Batch, Branch, Graphic, GraphicsArray } from \"./Graphic\";\nimport { Layer, LayerContainer } from \"./Layer\";\nimport { LayerCommandLists } from \"./LayerCommands\";\nimport { MeshGraphic } from \"./Mesh\";\nimport { Primitive } from \"./Primitive\";\nimport { CompositeFlags, Pass, RenderOrder, RenderPass } from \"./RenderFlags\";\nimport { TargetGraphics } from \"./TargetGraphics\";\nimport { Target } from \"./Target\";\nimport { ClipVolume } from \"./ClipVolume\";\n\n/** A list of DrawCommands to be rendered, ordered by render pass.\n * @internal\n */\nexport class RenderCommands implements Iterable<DrawCommands> {\n private _frustumPlanes?: FrustumPlanes;\n private readonly _scratchFrustum = new Frustum();\n private readonly _scratchRange = new Range3d();\n private readonly _commands = new Array<DrawCommands>(RenderPass.COUNT);\n private _target: Target;\n private _stack: BranchStack; // refers to the Target's BranchStack\n private _batchState: BatchState; // refers to the Target's BatchState\n private _forcedRenderPass: RenderPass = RenderPass.None;\n private _addLayersAsNormalGraphics = false;\n private _opaqueOverrides = false;\n private _translucentOverrides = false;\n private _addTranslucentAsOpaque = false; // true when rendering for _ReadPixels to force translucent items to be drawn in opaque pass.\n private readonly _layers: LayerCommandLists;\n\n public get target(): Target { return this._target; }\n\n public [Symbol.iterator](): Iterator<DrawCommands> {\n return this._commands[Symbol.iterator]();\n }\n\n public get isEmpty(): boolean {\n for (const commands of this._commands)\n if (0 < commands.length)\n return false;\n\n return true;\n }\n\n public get isDrawingLayers() {\n switch (this._forcedRenderPass) {\n case RenderPass.OpaqueLayers:\n case RenderPass.TranslucentLayers:\n case RenderPass.OverlayLayers:\n return true;\n default:\n return false;\n }\n }\n\n public get currentViewFlags(): ViewFlags { return this._stack.top.viewFlags; }\n public get compositeFlags(): CompositeFlags {\n let flags = CompositeFlags.None;\n if (this.hasCommands(RenderPass.Translucent))\n flags |= CompositeFlags.Translucent;\n\n if (this.hasCommands(RenderPass.Hilite) || this.hasCommands(RenderPass.HiliteClassification) || this.hasCommands(RenderPass.HilitePlanarClassification))\n flags |= CompositeFlags.Hilite;\n\n if (this.target.wantAmbientOcclusion)\n flags |= CompositeFlags.AmbientOcclusion;\n\n return flags;\n }\n\n private get _curBatch(): Batch | undefined { return this._batchState.currentBatch; }\n\n public hasCommands(pass: RenderPass): boolean { return 0 !== this.getCommands(pass).length; }\n public isOpaquePass(pass: RenderPass): boolean { return pass >= RenderPass.OpaqueLinear && pass <= RenderPass.OpaqueGeneral; }\n\n constructor(target: Target, stack: BranchStack, batchState: BatchState) {\n this._target = target;\n this._stack = stack;\n this._batchState = batchState;\n this._layers = new LayerCommandLists(this);\n\n for (let i = 0; i < RenderPass.COUNT; ++i)\n this._commands[i] = [];\n }\n\n public reset(target: Target, stack: BranchStack, batchState: BatchState): void {\n this._target = target;\n this._stack = stack;\n this._batchState = batchState;\n this.clear();\n }\n\n public collectGraphicsForPlanarProjection(scene: GraphicList): void {\n assert(this._forcedRenderPass === RenderPass.None);\n assert(!this._addLayersAsNormalGraphics);\n\n this._addLayersAsNormalGraphics = true;\n this.addGraphics(scene);\n this._addLayersAsNormalGraphics = false;\n }\n\n public addGraphics(scene: GraphicList, forcedPass: RenderPass = RenderPass.None): void {\n this._forcedRenderPass = forcedPass;\n scene.forEach((entry: RenderGraphic) => (entry as Graphic).addCommands(this));\n this._forcedRenderPass = RenderPass.None;\n }\n\n /** Add backgroundMap graphics to their own render pass. */\n public addBackgroundMapGraphics(backgroundMapGraphics: GraphicList): void {\n this._forcedRenderPass = RenderPass.BackgroundMap;\n backgroundMapGraphics.forEach((entry: RenderGraphic) => (entry as Graphic).addCommands(this));\n this._forcedRenderPass = RenderPass.None;\n }\n /** Add overlay graphics to the world overlay pass */\n public addOverlayGraphics(overlayGraphics: GraphicList): void {\n this._forcedRenderPass = RenderPass.WorldOverlay;\n overlayGraphics.forEach((entry: RenderGraphic) => (entry as Graphic).addCommands(this));\n this._forcedRenderPass = RenderPass.None;\n }\n\n public addDecorations(dec: GraphicList, forcedPass: RenderPass = RenderPass.None): void {\n this._forcedRenderPass = forcedPass;\n for (const entry of dec) {\n (entry as Graphic).addCommands(this);\n }\n\n this._forcedRenderPass = RenderPass.None;\n }\n\n public addWorldDecorations(decs: GraphicList): void {\n const world = this.target.getWorldDecorations(decs);\n this.pushAndPopBranch(world, () => {\n for (const entry of world.branch.entries) {\n (entry as Graphic).addCommands(this);\n }\n });\n }\n\n private addPickableDecorations(decs: Decorations): void {\n if (undefined !== decs.normal) {\n for (const normal of decs.normal) {\n const gf = normal as Graphic;\n if (gf.isPickable)\n gf.addCommands(this);\n }\n }\n\n if (undefined !== decs.world) {\n const world = this.target.getWorldDecorations(decs.world);\n this.pushAndPopBranch(world, () => {\n for (const gf of world.branch.entries) {\n if ((gf as Graphic).isPickable)\n (gf as Graphic).addCommands(this);\n }\n });\n }\n }\n\n public addBackground(gf?: Graphic): void {\n if (undefined === gf)\n return;\n\n assert(RenderPass.None === this._forcedRenderPass);\n\n this._forcedRenderPass = RenderPass.Background;\n this.pushAndPopState(this.target.decorationsState, () => gf.addCommands(this));\n this._forcedRenderPass = RenderPass.None;\n }\n\n public addSkyBox(gf?: Graphic): void {\n if (undefined === gf)\n return;\n\n assert(RenderPass.None === this._forcedRenderPass);\n\n this._forcedRenderPass = RenderPass.SkyBox;\n this.pushAndPopState(this.target.decorationsState, () => gf.addCommands(this));\n this._forcedRenderPass = RenderPass.None;\n }\n\n public addPrimitiveCommand(command: PrimitiveCommand, pass?: Pass): void {\n if (undefined === pass)\n pass = command.getPass(this.target);\n\n if (\"none\" === pass) // Edges will return none if they don't want to draw at all (edges not turned on).\n return;\n\n if (RenderPass.None !== this._forcedRenderPass) {\n // Add the command to the forced render pass (background).\n this.getCommands(this._forcedRenderPass).push(command);\n return;\n }\n\n if (!command.hasFeatures) {\n // Draw in general opaque pass so they are not in pick data.\n switch (pass) {\n case \"opaque-linear\":\n case \"opaque-planar\":\n pass = \"opaque\";\n break;\n case \"opaque-planar-translucent\":\n pass = \"opaque-translucent\";\n break;\n }\n }\n\n const haveFeatureOverrides = (this._opaqueOverrides || this._translucentOverrides) && command.opcode && command.hasFeatures;\n\n if (Pass.rendersTranslucent(pass) && this._addTranslucentAsOpaque) {\n switch (command.renderOrder) {\n case RenderOrder.PlanarLitSurface:\n case RenderOrder.PlanarUnlitSurface:\n case RenderOrder.BlankingRegion:\n pass = \"opaque-planar\";\n break;\n case RenderOrder.LitSurface:\n case RenderOrder.UnlitSurface:\n pass = \"opaque\";\n break;\n default:\n pass = \"opaque-linear\";\n break;\n }\n }\n\n const isDoublePass = Pass.rendersOpaqueAndTranslucent(pass);\n const renderTranslucentDuringOpaque = isDoublePass || (this._opaqueOverrides && haveFeatureOverrides);\n if (renderTranslucentDuringOpaque && Pass.rendersTranslucent(pass) && !command.primitive.cachedGeometry.alwaysRenderTranslucent) {\n let opaquePass: RenderPass;\n if (Pass.rendersOpaqueAndTranslucent(pass)) {\n opaquePass = Pass.toOpaquePass(pass);\n } else {\n switch (command.renderOrder) {\n case RenderOrder.PlanarLitSurface:\n case RenderOrder.PlanarUnlitSurface:\n case RenderOrder.BlankingRegion:\n opaquePass = RenderPass.OpaquePlanar;\n break;\n case RenderOrder.LitSurface:\n case RenderOrder.UnlitSurface:\n opaquePass = RenderPass.OpaqueGeneral;\n break;\n default:\n opaquePass = RenderPass.OpaqueLinear;\n break;\n }\n }\n\n this.getCommands(opaquePass).push(command);\n }\n\n const renderOpaqueDuringTranslucent = isDoublePass || (this._translucentOverrides && haveFeatureOverrides);\n if (renderOpaqueDuringTranslucent && Pass.rendersOpaque(pass) && !this._addTranslucentAsOpaque)\n this.getCommands(RenderPass.Translucent).push(command);\n\n if (!Pass.rendersOpaqueAndTranslucent(pass))\n this.getCommands(Pass.toRenderPass(pass)).push(command);\n }\n\n public getCommands(pass: RenderPass): DrawCommands {\n let idx = pass as number;\n assert(idx < this._commands.length);\n if (idx >= this._commands.length)\n idx -= 1;\n\n return this._commands[idx];\n }\n\n public replaceCommands(pass: RenderPass, cmds: DrawCommands): void {\n const idx = pass as number;\n this._commands[idx].splice(0);\n this._commands[idx] = cmds;\n }\n\n public addHiliteBranch(branch: Branch, pass: RenderPass): void {\n this.pushAndPopBranchForPass(pass, branch, () => {\n branch.branch.entries.forEach((entry: RenderGraphic) => (entry as Graphic).addHiliteCommands(this, pass));\n });\n }\n\n public processLayers(container: LayerContainer): void {\n assert(RenderPass.None === this._forcedRenderPass);\n if (RenderPass.None !== this._forcedRenderPass)\n return;\n\n this._forcedRenderPass = container.renderPass;\n this._layers.processLayers(container, () => container.graphic.addCommands(this));\n this._forcedRenderPass = RenderPass.None;\n }\n\n public addLayerCommands(layer: Layer): void {\n if (this._addLayersAsNormalGraphics) {\n // GraphicsCollectorDrawArgs wants to collect graphics to project to a plane for masking.\n // It bypasses PlanProjectionTreeReference.createDrawArgs which would otherwise wrap the graphics in a LayerContainer.\n assert(this._forcedRenderPass === RenderPass.None);\n this._forcedRenderPass = RenderPass.OpaqueGeneral;\n layer.graphic.addCommands(this);\n this._forcedRenderPass = RenderPass.None;\n return;\n }\n\n assert(this.isDrawingLayers);\n if (!this.isDrawingLayers)\n return;\n\n // Let the graphic add its commands. Afterward, pull them out and add them to the LayerCommands.\n this._layers.currentLayer = layer;\n layer.graphic.addCommands(this);\n\n const cmds = this.getCommands(this._forcedRenderPass);\n this._layers.addCommands(cmds);\n\n cmds.length = 0;\n this._layers.currentLayer = undefined;\n }\n\n public addHiliteLayerCommands(graphic: Graphic, pass: RenderPass): void {\n assert(this.isDrawingLayers || this._addLayersAsNormalGraphics);\n if (!this.isDrawingLayers && !this._addLayersAsNormalGraphics)\n return;\n\n const prevPass = this._forcedRenderPass;\n this._forcedRenderPass = RenderPass.None;\n\n graphic.addHiliteCommands(this, pass);\n\n this._forcedRenderPass = prevPass;\n }\n\n private getAnimationBranchState(branch: Branch): AnimationBranchState | undefined {\n const animId = branch.branch.animationId;\n return undefined !== animId ? this.target.animationBranches?.branchStates.get(animId) : undefined;\n }\n\n private pushAndPopBranchForPass(pass: RenderPass, branch: Branch, func: () => void): void {\n assert(!this.isDrawingLayers);\n\n const animState = this.getAnimationBranchState(branch);\n if (animState?.omit)\n return;\n\n assert(RenderPass.None !== pass);\n\n this._stack.pushBranch(branch);\n if (branch.planarClassifier)\n branch.planarClassifier.pushBatchState(this._batchState);\n\n if (branch.secondaryClassifiers)\n branch.secondaryClassifiers.forEach((classifier) => classifier.pushBatchState(this._batchState));\n\n const cmds = this.getCommands(pass);\n const clip = animState?.clip as ClipVolume | undefined;\n const pushClip = undefined !== clip ? new PushClipCommand(clip) : undefined;\n if (pushClip)\n cmds.push(pushClip);\n\n const push = new PushBranchCommand(branch);\n cmds.push(push);\n\n func();\n\n this._stack.pop();\n if (cmds[cmds.length - 1] === push) {\n cmds.pop();\n if (pushClip)\n cmds.pop();\n } else {\n cmds.push(PopBranchCommand.instance);\n if (pushClip)\n cmds.push(PopClipCommand.instance);\n }\n }\n\n private pushAndPop(push: PushCommand, pop: PopCommand, func: () => void): void {\n if (this.isDrawingLayers) {\n this._commands[RenderPass.Hilite].push(push);\n this._layers.pushAndPop(push, pop, func);\n\n const cmds = this._commands[RenderPass.Hilite];\n if (0 < cmds.length && cmds[cmds.length - 1] === push)\n cmds.pop();\n else\n cmds.push(pop);\n\n return;\n }\n\n if (RenderPass.None === this._forcedRenderPass) {\n // Need to make sure the push command precedes any subsequent commands added to any render pass.\n for (const cmds of this._commands)\n cmds.push(push);\n } else {\n // May want to add hilite commands as well - add the push command to that pass.\n this._commands[this._forcedRenderPass].push(push);\n this._commands[RenderPass.Hilite].push(push);\n }\n\n func();\n\n // Remove push command from any passes that didn't receive any commands; add the pop command to any passes that did.\n if (RenderPass.None === this._forcedRenderPass) {\n for (const cmds of this._commands) {\n assert(0 < cmds.length);\n if (0 < cmds.length && cmds[cmds.length - 1] === push)\n cmds.pop();\n else\n cmds.push(pop);\n }\n } else {\n assert(0 < this._commands[this._forcedRenderPass].length);\n assert(0 < this._commands[RenderPass.Hilite].length);\n\n let cmds = this._commands[this._forcedRenderPass];\n if (cmds[cmds.length - 1] === push)\n cmds.pop();\n else\n cmds.push(pop);\n\n cmds = this._commands[RenderPass.Hilite];\n if (cmds[cmds.length - 1] === push)\n cmds.pop();\n else\n cmds.push(pop);\n }\n }\n\n public pushAndPopBranch(branch: Branch, func: () => void): void {\n const animState = this.getAnimationBranchState(branch);\n if (animState?.omit)\n return;\n\n if (animState?.clip)\n this.pushAndPop(new PushClipCommand(animState.clip as ClipVolume), PopClipCommand.instance, () => this._pushAndPopBranch(branch, func));\n else\n this._pushAndPopBranch(branch, func);\n }\n\n private _pushAndPopBranch(branch: Branch, func: () => void): void {\n this._stack.pushBranch(branch);\n if (branch.planarClassifier)\n branch.planarClassifier.pushBatchState(this._batchState);\n\n if (branch.secondaryClassifiers)\n branch.secondaryClassifiers.forEach((classifier) => classifier.pushBatchState(this._batchState));\n\n this.pushAndPop(new PushBranchCommand(branch), PopBranchCommand.instance, func);\n\n this._stack.pop();\n }\n\n public pushAndPopState(state: BranchState, func: () => void): void {\n this._stack.pushState(state);\n this.pushAndPop(new PushStateCommand(state), PopBranchCommand.instance, func);\n this._stack.pop();\n }\n\n public clear(): void {\n assert(this._batchState.isEmpty);\n this._clearCommands();\n }\n\n private _clearCommands(): void {\n this._commands.forEach((cmds: DrawCommands) => cmds.splice(0));\n this._layers.clear();\n }\n\n private initForPickOverlayDecorations(overlays: GraphicList): void {\n for (const overlay of overlays) {\n const gf = overlay as Graphic;\n if (gf.isPickable)\n gf.addCommands(this);\n }\n }\n\n public initForPickOverlays(sceneOverlays: GraphicList, worldOverlayDecorations: GraphicList | undefined, viewOverlayDecorations: GraphicList | undefined): void {\n this._clearCommands();\n\n this._addTranslucentAsOpaque = true;\n\n for (const sceneGf of sceneOverlays)\n (sceneGf as Graphic).addCommands(this);\n\n if (worldOverlayDecorations?.length) {\n this.pushAndPopState(this.target.decorationsState, () => {\n this.initForPickOverlayDecorations(worldOverlayDecorations);\n });\n }\n\n if (viewOverlayDecorations?.length) {\n this.pushAndPopState(this.target.decorationsState.withViewCoords(), () => {\n this.initForPickOverlayDecorations(viewOverlayDecorations);\n });\n }\n\n this._addTranslucentAsOpaque = false;\n }\n\n public initForReadPixels(gfx: TargetGraphics): void {\n this.clear();\n\n // Set flag to force translucent geometry to be put into the opaque pass.\n this._addTranslucentAsOpaque = true;\n\n // Add the scene graphics.\n this.addGraphics(gfx.foreground);\n\n // Also add any pickable decorations.\n if (undefined !== gfx.decorations)\n this.addPickableDecorations(gfx.decorations);\n\n // Also background map is pickable\n this.addBackgroundMapGraphics(gfx.background);\n\n this._addTranslucentAsOpaque = false;\n\n this.setupClassificationByVolume();\n this._layers.outputCommands();\n }\n\n public initForRender(gfx: TargetGraphics): void {\n this.clear();\n\n this.addGraphics(gfx.foreground);\n this.addBackgroundMapGraphics(gfx.background);\n this.addOverlayGraphics(gfx.overlays);\n\n this.addGraphics(gfx.foregroundDynamics);\n this.addOverlayGraphics(gfx.overlayDynamics);\n\n const dec = gfx.decorations;\n if (undefined !== dec) {\n this.addBackground(dec.viewBackground as Graphic);\n\n this.addSkyBox(dec.skyBox as Graphic);\n\n if (undefined !== dec.normal && 0 < dec.normal.length)\n this.addGraphics(dec.normal);\n\n if (undefined !== dec.world && 0 < dec.world.length)\n this.addWorldDecorations(dec.world);\n\n this.pushAndPopState(this.target.decorationsState, () => {\n if (undefined !== dec.viewOverlay && 0 < dec.viewOverlay.length)\n this.addDecorations(dec.viewOverlay, RenderPass.ViewOverlay);\n\n if (undefined !== dec.worldOverlay && 0 < dec.worldOverlay.length)\n this.addDecorations(dec.worldOverlay, RenderPass.WorldOverlay);\n });\n }\n\n this.setupClassificationByVolume();\n this._layers.outputCommands();\n }\n\n public addPrimitive(prim: Primitive): void {\n // ###TODO Would be nice if we could detect outside active volume here, but active volume only applies to specific render passes\n // if (this.target.isGeometryOutsideActiveVolume(prim.cachedGeometry))\n // return;\n\n if (undefined !== this._frustumPlanes) { // See if we can cull this primitive.\n if (\"classification\" === prim.getPass(this.target)) {\n const geom = prim.cachedGeometry;\n geom.computeRange(this._scratchRange);\n let frustum = Frustum.fromRange(this._scratchRange, this._scratchFrustum);\n frustum = frustum.transformBy(this.target.currentTransform, frustum);\n if (FrustumPlanes.Containment.Outside === this._frustumPlanes.computeFrustumContainment(frustum)) {\n return;\n }\n }\n }\n\n const command = new PrimitiveCommand(prim);\n this.addPrimitiveCommand(command);\n\n if (RenderPass.None === this._forcedRenderPass && prim.isEdge) {\n const vf: ViewFlags = this.target.currentViewFlags;\n if (vf.renderMode !== RenderMode.Wireframe && vf.hiddenEdges)\n this.getCommands(RenderPass.HiddenEdge).push(command);\n }\n }\n\n public addBranch(branch: Branch): void {\n this.pushAndPopBranch(branch, () => {\n branch.branch.entries.forEach((entry: RenderGraphic) => (entry as Graphic).addCommands(this));\n });\n }\n\n public computeBatchHiliteRenderPass(batch: Batch): RenderPass {\n let pass = RenderPass.Hilite;\n if (batch.graphic instanceof MeshGraphic) {\n const mg = batch.graphic;\n if (SurfaceType.VolumeClassifier === mg.surfaceType)\n pass = RenderPass.HiliteClassification;\n } else if (batch.graphic instanceof GraphicsArray) {\n const ga = batch.graphic;\n if (ga.graphics[0] instanceof MeshGraphic) {\n const mg = ga.graphics[0];\n if (SurfaceType.VolumeClassifier === mg.surfaceType)\n pass = RenderPass.HiliteClassification;\n } else if (ga.graphics[0] instanceof Branch) {\n const b = ga.graphics[0];\n if (b.branch.entries.length > 0 && b.branch.entries[0] instanceof MeshGraphic) {\n const mg = b.branch.entries[0];\n if (SurfaceType.VolumeClassifier === mg.surfaceType)\n pass = RenderPass.HiliteClassification;\n }\n }\n }\n return pass;\n }\n\n public addBatch(batch: Batch): void {\n if (batch.locateOnly && !this.target.isReadPixelsInProgress)\n return;\n\n // Batches (aka element tiles) should only draw during ordinary (translucent or opaque) passes.\n // They may draw during both, or neither.\n // NB: This is no longer true - pickable overlay decorations are defined as Batches. Problem?\n // assert(RenderPass.None === this._forcedRenderPass);\n assert(!this._opaqueOverrides && !this._translucentOverrides);\n assert(undefined === this._curBatch);\n\n // If all features are overridden to be invisible, draw no graphics in this batch\n const overrides = batch.getOverrides(this.target);\n if (overrides.allHidden)\n return;\n\n if (!batch.range.isNull) {\n // ###TODO Would be nice if we could detect outside active volume here, but active volume only applies to specific render passes\n // if (this.target.isRangeOutsideActiveVolume(batch.range))\n // return;\n\n if (undefined !== this._frustumPlanes) {\n let frustum = Frustum.fromRange(batch.range, this._scratchFrustum);\n frustum = frustum.transformBy(this.target.currentTransform, frustum);\n if (FrustumPlanes.Containment.Outside === this._frustumPlanes.computeFrustumContainment(frustum)) {\n return;\n }\n }\n }\n\n const classifier = this._stack.top.planarClassifier;\n\n this._batchState.push(batch, true);\n\n this.pushAndPop(new PushBatchCommand(batch), PopBatchCommand.instance, () => {\n if (this.currentViewFlags.transparency || overrides.anyViewIndependentTranslucent) {\n this._opaqueOverrides = overrides.anyOpaque;\n this._translucentOverrides = overrides.anyTranslucent;\n\n if (undefined !== classifier) {\n this._opaqueOverrides = this._opaqueOverrides || classifier.anyOpaque;\n this._translucentOverrides = this._translucentOverrides || classifier.anyTranslucent;\n }\n }\n\n // If we have an active volume classifier then force all batches for the reality data being classified into a special render pass.\n let savedForcedRenderPass = RenderPass.None;\n if (undefined !== this.target.activeVolumeClassifierModelId && batch.featureTable.batchModelId === this.target.activeVolumeClassifierModelId) {\n savedForcedRenderPass = this._forcedRenderPass;\n this._forcedRenderPass = RenderPass.VolumeClassifiedRealityData;\n }\n\n (batch.graphic as Graphic).addCommands(this);\n\n if (RenderPass.VolumeClassifiedRealityData === this._forcedRenderPass)\n this._forcedRenderPass = savedForcedRenderPass;\n\n // If the batch contains hilited features, need to render them in the hilite pass\n const anyHilited = overrides.anyHilited;\n const planarClassifierHilited = undefined !== classifier && classifier.anyHilited;\n if (anyHilited || planarClassifierHilited)\n (batch.graphic as Graphic).addHiliteCommands(this, planarClassifierHilited ? RenderPass.HilitePlanarClassification : this.computeBatchHiliteRenderPass(batch));\n\n });\n\n this._opaqueOverrides = this._translucentOverrides = false;\n this._batchState.pop();\n }\n\n // Define a culling frustum. Commands associated with Graphics whose ranges do not intersect the frustum will be skipped.\n public setCheckRange(frustum: Frustum) { this._frustumPlanes = FrustumPlanes.fromFrustum(frustum); }\n // Clear the culling frustum.\n public clearCheckRange(): void { this._frustumPlanes = undefined; }\n\n private setupClassificationByVolume(): void {\n // To make it easier to process the classifiers individually, set up a secondary command list for them where they\n // are each separated by their own pushes & pops so that they can easily be drawn individually. This now supports\n // nested branches and batches.\n const groupedCmds = this._commands[RenderPass.Classification];\n const byIndexCmds = this._commands[RenderPass.ClassificationByIndex];\n const pushCommands: DrawCommands = []; // will contain current set of pushes ahead of a primitive\n for (const cmd of groupedCmds) {\n switch (cmd.opcode) {\n case \"pushBranch\":\n case \"pushBatch\":\n case \"pushState\":\n pushCommands.push(cmd);\n break;\n case \"drawPrimitive\":\n for (const pushCmd of pushCommands) {\n byIndexCmds.push(pushCmd);\n }\n byIndexCmds.push(cmd);\n for (let i = pushCommands.length - 1; i >= 0; --i) {\n if (\"pushBatch\" === pushCommands[i].opcode)\n byIndexCmds.push(PopBatchCommand.instance);\n else // should be eith pushBranch or pushState opcode\n byIndexCmds.push(PopBranchCommand.instance);\n }\n break;\n case \"popBatch\":\n case \"popBranch\":\n pushCommands.pop();\n break;\n }\n }\n }\n\n public dump(): Array<{ name: string, count: number }> {\n const dump = [\n { name: \"Primitives\", count: 0 },\n { name: \"Batches\", count: 0 },\n { name: \"Branches\", count: 0 },\n ];\n\n for (const cmds of this._commands) {\n for (const cmd of cmds) {\n let index;\n switch (cmd.opcode) {\n case \"drawPrimitive\":\n index = 0;\n break;\n case \"pushBatch\":\n index = 1;\n break;\n case \"pushBranch\":\n index = 2;\n break;\n default:\n continue;\n }\n\n dump[index].count++;\n }\n }\n\n return dump;\n }\n}\n"]}
|
|
@@ -183,7 +183,7 @@ export declare abstract class Target extends RenderTarget implements RenderTarge
|
|
|
183
183
|
private changeDrapesOrClassifiers;
|
|
184
184
|
changeTextureDrapes(textureDrapes: TextureDrapeMap | undefined): void;
|
|
185
185
|
changePlanarClassifiers(planarClassifiers?: PlanarClassifierMap): void;
|
|
186
|
-
changeDynamics(
|
|
186
|
+
changeDynamics(foreground: GraphicList | undefined, overlay: GraphicList | undefined): void;
|
|
187
187
|
overrideFeatureSymbology(ovr: FeatureSymbology.Overrides): void;
|
|
188
188
|
setHiliteSet(hilite: HiliteSet): void;
|
|
189
189
|
setFlashed(id: Id64String, intensity: number): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Target.d.ts","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/Target.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Target.d.ts","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/Target.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAmB,IAAI,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAW,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EACL,gBAAgB,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAsC,aAAa,EAAuB,SAAS,EACzI,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAyB,UAAU,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACxG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAsC,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAoB,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAU,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAQ7E,gBAAgB;AAChB,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,oBAAoB,EAAE,0BAA0B,CAAC;CAC3D;AAmBD,gBAAgB;AAChB,8BAAsB,MAAO,SAAQ,YAAa,YAAW,wBAAwB,EAAE,eAAe;IACpG,mBAA4B,CAAC,yBAAyB,CAAC,YAAa;IACpE,SAAgB,QAAQ,iBAAwB;IAChD,OAAO,CAAC,kBAAkB,CAAC,CAAsB;IACjD,OAAO,CAAC,cAAc,CAAC,CAAkB;IACzC,OAAO,CAAC,iBAAiB,CAAC,CAAmB;IAC7C,OAAO,CAAC,mBAAmB,CAAwB;IACnD,OAAO,CAAC,mBAAmB,CAAwB;IACnD,SAAgB,wBAAwB,EAAE,UAAU,CAAwC;IAC5F,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoD;IACtF,OAAO,CAAC,QAAQ,CAA2C;IAC3D,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,mBAAmB,CAAc;IACzC,SAAS,CAAC,WAAW,EAAE,eAAe,CAAC;IACvC,SAAS,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;IAC7B,OAAO,CAAC,WAAW,CAAS;IACrB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IAC/C,SAAgB,gBAAgB,cAAsC;IACtE,SAAgB,QAAQ,iBAA4B;IACpD,SAAgB,UAAU,WAAkB;IACrC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC,wBAAwB,4BAAsC;IACrE,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAe;IACxB,IAAI,aAA2B;IACtC,OAAO,CAAC,kBAAkB,CAAC,CAAwB;IACnD,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,2BAA2B,CAAC,CAAqB;IACzD,OAAO,CAAC,iBAAiB,CAAQ;IACjC,OAAO,CAAC,2BAA2B,CAAC,CAAmB;IACvD,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,iBAAiB,CAAK;IAE9B,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,OAAO,CAAC,mBAAmB,CAAgB;IACpC,eAAe,UAAS;IACxB,6BAA6B,CAAC,EAAE,YAAY,CAAC;IAC7C,2BAA2B,CAAC,EAAE,uBAAuB,CAAC;IACtD,6BAA6B,CAAC,EAAE,UAAU,CAAC;IAClD,OAAO,CAAC,gCAAgC,CAAC,CAAS;IAG3C,4BAA4B,EAAE,OAAO,CAAS;IAC9C,iBAAiB,UAAS;IAC1B,8BAA8B,UAAS;IACvC,mBAAmB,sBAA2B;IAC9C,mBAAmB,UAAS;IAC5B,kBAAkB,UAAS;IAC3B,yBAAyB,UAAS;IAClC,wBAAwB,UAAS;IACjC,eAAe,UAAS;IACxB,iBAAiB,UAAQ;IAEzB,kBAAkB,UAAS;IAElC,IAAW,aAAa,IAAI,OAAO,GAAG,SAAS,CAG9C;IAED,IAAoB,YAAY,IAAI,wBAAwB,CAAiB;IAE7E,IAAW,QAAQ,IAAI,QAAQ,CAE9B;IAED,SAAS,aAAa,IAAI,CAAC,EAAE,QAAQ;IAerC,IAAW,UAAU,oBAA+B;IACpD,IAAW,sBAAsB,IAAI,OAAO,CAAyC;IACrF,IAAW,kBAAkB,IAAI,KAAK,CAAC,QAAQ,CAAqC;IACpF,IAAW,gBAAgB,IAAI,OAAO,CAAmC;IAEzE,IAAW,UAAU,IAAI,UAAU,CAAyC;IAE5E,IAAW,OAAO,IAAI,OAAO,CAA0B;IACvD,IAAW,gBAAgB,IAAI,UAAU,CAAmC;IAE5E,IAAW,cAAc,IAAI,IAAI,CAAC,SAAS,CAAqC;IAEhF,IAAW,OAAO,IAAI,IAAI,CAAC,UAAU,GAAG,SAAS,CAAsE;IACvH,IAAW,SAAS,IAAI,UAAU,CAA4B;IAC9D,IAAW,cAAc,IAAI,MAAM,CAAiC;IAEpE,IAAW,gBAAgB,IAAI,MAAM,CAAmC;IACxE,IAAW,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAwC;IAEpF,IAAoB,iBAAiB,IAAI,qBAAqB,GAAG,SAAS,CAEzE;IACD,IAAoB,iBAAiB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,SAAS,EAGhF;IAED,OAAO,CAAC,wBAAwB;IAIhC,IAAoB,gBAAgB,IAAI,MAAM,CAAmC;IACjF,IAAoB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAA0C;IAEjG,IAAW,cAAc,IAAI,cAAc,CAA2C;IACtF,IAAW,kBAAkB,IAAI,OAAO,CAA2E;IACnG,mBAAmB,CAAC,EAAE,EAAE,UAAU,GAAG,sBAAsB,GAAG,SAAS;IAGvE,sBAAsB,CAAC,UAAU,CAAC,EAAE,uBAAuB,GAAG,gBAAgB;IAG9E,eAAe,CAAC,EAAE,EAAE,UAAU,GAAG,kBAAkB,GAAG,SAAS;IAIxE,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;IAkBrD,IAAW,aAAa,IAAI,WAAW,CAAqC;IAC5E,IAAW,gBAAgB,IAAI,SAAS,CAAyC;IACjF,IAAW,gBAAgB,IAAI,SAAS,CAAyC;IACjF,IAAW,4BAA4B,IAAI,MAAM,CAA2D;IAC5G,IAAW,mBAAmB,IAAI,YAAY,CAA4C;IAC1F,IAAW,gCAAgC,IAAI,gBAAgB,CAAC,SAAS,CAAkD;IAC3H,IAAW,uBAAuB,IAAI,gBAAgB,GAAG,SAAS,CAAgD;IAClH,IAAW,0BAA0B,IAAI,gBAAgB,GAAG,SAAS,CAA6C;IAClH,IAAW,mBAAmB,IAAI,YAAY,GAAG,SAAS,CAGzD;IACD,IAAW,8BAA8B,IAAI,gBAAgB,GAAG,YAAY,GAAG,SAAS,CAGvF;IAEM,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAI3D,IAAW,IAAI,IAAI,OAAO,CAAuC;IACjE,IAAW,IAAI,IAAI,OAAO,CAAuB;IAEjD,OAAO,CAAC,WAAW,CAAS;IAC5B,IAAW,UAAU,IAAI,OAAO,CAU/B;IAED,SAAS,CAAC,WAAW,IAAI,WAAW,GAAG,SAAS;IAyBhD,SAAS,CAAC,UAAU,IAAI,IAAI;IAiBb,CAAC,MAAM,CAAC,OAAO,CAAC;IASxB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAGhC,SAAS,CAAC,KAAK,EAAE,WAAW;IAG5B,SAAS,IAAI,IAAI;IAIjB,YAAY,IAAI,IAAI;IAIpB,WAAW,IAAI,IAAI;IAI1B,gBAAgB;IACT,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAI1D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAE/C,gBAAgB;IACT,6BAA6B,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO;IAQ5D,SAAS,CAAC,KAAK,EAAE,KAAK;IAGtB,QAAQ;IAIR,QAAQ,CAAC,KAAK,EAAE,KAAK;IAKrB,eAAe,CAAC,KAAK,EAAE,KAAK;IAMnC,IAAW,oBAAoB,IAAI,OAAO,CAEzC;IAED,IAAW,mBAAmB,IAAI,OAAO,CAExC;IAED,IAAW,cAAc,IAAI,OAAO,CAEnC;IAED,IAAW,mBAAmB,IAAI,OAAO,CAGxC;IAEe,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI;IAM3E,IAAW,YAAY,IAAI,MAAM,CAA4B;IAE7D,IAAW,YAAY,WAAiD;IACxE,IAAW,WAAW,YAAgD;IAE/D,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAI1C,WAAW,CAAC,KAAK,EAAE,KAAK;IAaf,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI;IAShG,OAAO,CAAC,yBAAyB;IAe1B,mBAAmB,CAAC,aAAa,EAAE,eAAe,GAAG,SAAS;IAI9D,uBAAuB,CAAC,iBAAiB,CAAC,EAAE,mBAAmB;IAK/D,cAAc,CAAC,UAAU,EAAE,WAAW,GAAG,SAAS,EAAE,OAAO,EAAE,WAAW,GAAG,SAAS;IAI3E,wBAAwB,CAAC,GAAG,EAAE,gBAAgB,CAAC,SAAS,GAAG,IAAI;IAG/D,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAIrC,UAAU,CAAC,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM;IASrD,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAI5E,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAmDxC,SAAS,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI;IAUnD,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAExC;;;;OAIG;IACa,KAAK,CAAC,uBAAuB,CAAC,EAAE,OAAO,GAAG,IAAI;IAmC9D,IAAW,yBAAyB,IAAI,OAAO,CAAkB;IAE1D,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAG/D,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAG/D,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS;IAKjD,oBAAoB,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,UAAU,UAAQ;IASpE,kBAAkB,CAAC,UAAU,UAAQ;IAarC,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,UAAQ,GAAG,IAAI;IASlE,mBAAmB,CAAC,UAAU,UAAQ,GAAG,IAAI;IASpD,OAAO,CAAC,oBAAoB,CAA6B;IAEzD,IAAW,mBAAmB,IAAI,mBAAmB,CAAsC;IAE3E,yBAAyB,CAAC,SAAS,EAAE,mBAAmB;IAExE,OAAO,CAAC,UAAU;IAmFlB,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,QAAQ;IAiBT,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,mBAAmB,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI;IA2DlK,OAAO,CAAC,+BAA+B;IA0BvC,OAAO,CAAC,gCAAgC;IA0BxC,OAAO,CAAC,eAAe;IAyCvB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiB;IACpD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAiB;IACrD,OAAO,CAAC,iBAAiB;IAwET,wBAAwB,CAAC,OAAO,EAAE,wBAAwB,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,4BAA4B,GAAG,IAAI;IAMnJ,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO;IAkB/F;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAO1B,eAAe,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS;IA0E7E,iBAAiB,CAAC,aAAa,CAAC,EAAE,iBAAiB,GAAG,iBAAiB;IAgBvE,qBAAqB;IASrB,kBAAkB;IAIlB,iBAAiB;IAKxB,IAAW,kBAAkB,IAAI,QAAQ,CAAC,MAAM,CAAC,CAEhD;IAED,IAAW,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EAEtD;IAED,IAAW,wBAAwB,IAAI,wBAAwB,CAG9D;IAED,IAAW,+BAA+B,IAAI,MAAM,GAAG,SAAS,CAE/D;IACD,IAAW,+BAA+B,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAGhE;IAED;;OAEG;IACI,2BAA2B,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;IAO3F,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,OAAO;IACvC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IACtD,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI;IAEpB,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,GAAG,IAAI;IAWvE,SAAS,CAAC,2BAA2B,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ;IAUxD,iBAAiB,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAGnE;AAyCD;;GAEG;AACH,qBAAa,cAAe,SAAQ,MAAM;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,SAAS,CAAC,CAAqC;IACvD,OAAO,CAAC,kBAAkB,CAAC,CAAsB;IACjD,OAAO,CAAC,kBAAkB,CAAC,CAAa;IACxC,OAAO,CAAC,yBAAyB,CAAC,CAAS;IAE3C,OAAO,KAAK,UAAU,GAA0E;gBAE7E,MAAM,EAAE,iBAAiB;IAM5C,IAAoB,UAAU,IAAI,OAAO,CAKxC;IAEc,CAAC,MAAM,CAAC,OAAO,CAAC;IAOf,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,GAAG,IAAI;IAMvE,IAAW,wBAAwB,IAAI,MAAM,GAAG,SAAS,CAA2C;IACpG,IAAW,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAA2C;IACtG,IAAoB,gBAAgB,IAAI,MAAM,CAW7C;IAEM,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAI9D,yGAAyG;IAClG,kBAAkB,IAAI,OAAO;IASpC,SAAS,CAAC,SAAS,IAAI,OAAO;IAevB,cAAc,IAAI,OAAO;IAQhC,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAiB7C,OAAO,CAAC,aAAa;IAWrB,SAAS,CAAC,SAAS,IAAI,IAAI;cAkCR,sBAAsB,IAAI,IAAI;IAwBjC,qBAAqB,CAAC,EAAE,EAAE,KAAK,GAAG,gBAAgB,GAAG,SAAS;IAc9D,SAAS,IAAI,IAAI;IAIjB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS;IAYnE,iBAAiB,CAAC,aAAa,CAAC,EAAE,iBAAiB,GAAG,iBAAiB;CAGxF;AACD,gBAAgB;AAChB,qBAAa,eAAgB,SAAQ,MAAM;gBACtB,IAAI,EAAE,QAAQ;IAIjB,SAAS,IAAI,IAAI;IAI1B,cAAc,IAAI,OAAO;IAEzB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;IAe5D,SAAS,CAAC,SAAS,IAAI,OAAO;IAI9B,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAI7C,SAAS,CAAC,SAAS,IAAI,IAAI;IAIX,iBAAiB,IAAI,iBAAiB;CAGvD"}
|
|
@@ -363,8 +363,8 @@ class Target extends RenderTarget_1.RenderTarget {
|
|
|
363
363
|
this.changeDrapesOrClassifiers(this._planarClassifiers, planarClassifiers);
|
|
364
364
|
this._planarClassifiers = planarClassifiers;
|
|
365
365
|
}
|
|
366
|
-
changeDynamics(
|
|
367
|
-
this.graphics.
|
|
366
|
+
changeDynamics(foreground, overlay) {
|
|
367
|
+
this.graphics.changeDynamics(foreground, overlay);
|
|
368
368
|
}
|
|
369
369
|
overrideFeatureSymbology(ovr) {
|
|
370
370
|
this.uniforms.branch.overrideFeatureSymbology(ovr);
|