@itwin/core-frontend 3.3.0-dev.9 → 3.3.2
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 +90 -1
- package/lib/cjs/DisplayStyleState.d.ts +80 -31
- package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
- package/lib/cjs/DisplayStyleState.js +150 -89
- package/lib/cjs/DisplayStyleState.js.map +1 -1
- package/lib/cjs/DrawingViewState.js +1 -1
- package/lib/cjs/DrawingViewState.js.map +1 -1
- package/lib/cjs/EmphasizeElements.d.ts.map +1 -1
- package/lib/cjs/EmphasizeElements.js +5 -0
- package/lib/cjs/EmphasizeElements.js.map +1 -1
- package/lib/cjs/EntityState.d.ts +5 -5
- package/lib/cjs/EntityState.d.ts.map +1 -1
- package/lib/cjs/EntityState.js.map +1 -1
- package/lib/cjs/IModelApp.d.ts +5 -0
- package/lib/cjs/IModelApp.d.ts.map +1 -1
- package/lib/cjs/IModelApp.js +16 -12
- package/lib/cjs/IModelApp.js.map +1 -1
- package/lib/cjs/IModelConnection.d.ts +43 -3
- package/lib/cjs/IModelConnection.d.ts.map +1 -1
- package/lib/cjs/IModelConnection.js +29 -3
- package/lib/cjs/IModelConnection.js.map +1 -1
- package/lib/cjs/LocalhostIpcApp.d.ts.map +1 -1
- package/lib/cjs/LocalhostIpcApp.js +10 -0
- package/lib/cjs/LocalhostIpcApp.js.map +1 -1
- package/lib/cjs/NoRenderApp.d.ts.map +1 -1
- package/lib/cjs/NoRenderApp.js +1 -0
- package/lib/cjs/NoRenderApp.js.map +1 -1
- package/lib/cjs/RealityDataSource.d.ts.map +1 -1
- package/lib/cjs/RealityDataSource.js +6 -2
- package/lib/cjs/RealityDataSource.js.map +1 -1
- package/lib/cjs/SelectionSet.d.ts +30 -4
- package/lib/cjs/SelectionSet.d.ts.map +1 -1
- package/lib/cjs/SelectionSet.js +26 -2
- package/lib/cjs/SelectionSet.js.map +1 -1
- package/lib/cjs/SheetViewState.js +1 -1
- package/lib/cjs/SheetViewState.js.map +1 -1
- package/lib/cjs/SubCategoriesCache.d.ts +3 -0
- package/lib/cjs/SubCategoriesCache.d.ts.map +1 -1
- package/lib/cjs/SubCategoriesCache.js +34 -0
- package/lib/cjs/SubCategoriesCache.js.map +1 -1
- package/lib/cjs/TentativePoint.js +1 -1
- package/lib/cjs/TentativePoint.js.map +1 -1
- package/lib/cjs/ViewState.d.ts +2 -3
- package/lib/cjs/ViewState.d.ts.map +1 -1
- package/lib/cjs/ViewState.js +7 -3
- package/lib/cjs/ViewState.js.map +1 -1
- package/lib/cjs/Viewport.d.ts +10 -10
- package/lib/cjs/Viewport.d.ts.map +1 -1
- package/lib/cjs/Viewport.js +19 -14
- package/lib/cjs/Viewport.js.map +1 -1
- package/lib/cjs/core-frontend.d.ts +0 -2
- package/lib/cjs/core-frontend.d.ts.map +1 -1
- package/lib/cjs/core-frontend.js +0 -2
- package/lib/cjs/core-frontend.js.map +1 -1
- package/lib/cjs/extension/ExtensionAdmin.d.ts +5 -2
- package/lib/cjs/extension/ExtensionAdmin.d.ts.map +1 -1
- package/lib/cjs/extension/ExtensionAdmin.js +24 -6
- package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
- package/lib/cjs/extension/providers/RemoteExtensionProvider.d.ts +0 -2
- package/lib/cjs/extension/providers/RemoteExtensionProvider.d.ts.map +1 -1
- package/lib/cjs/extension/providers/RemoteExtensionProvider.js +9 -22
- package/lib/cjs/extension/providers/RemoteExtensionProvider.js.map +1 -1
- package/lib/cjs/render/FeatureSymbology.js +2 -2
- package/lib/cjs/render/FeatureSymbology.js.map +1 -1
- package/lib/cjs/render/GraphicBranch.d.ts +15 -9
- package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
- package/lib/cjs/render/GraphicBranch.js +38 -1
- package/lib/cjs/render/GraphicBranch.js.map +1 -1
- package/lib/cjs/render/RenderSystem.d.ts +5 -0
- package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
- package/lib/cjs/render/RenderSystem.js.map +1 -1
- package/lib/cjs/render/primitives/EdgeParams.d.ts +11 -0
- package/lib/cjs/render/primitives/EdgeParams.d.ts.map +1 -1
- package/lib/cjs/render/primitives/EdgeParams.js +36 -29
- package/lib/cjs/render/primitives/EdgeParams.js.map +1 -1
- package/lib/cjs/render/primitives/VertexTable.d.ts +11 -4
- package/lib/cjs/render/primitives/VertexTable.d.ts.map +1 -1
- package/lib/cjs/render/primitives/VertexTable.js +13 -6
- package/lib/cjs/render/primitives/VertexTable.js.map +1 -1
- package/lib/cjs/render/primitives/VertexTableSplitter.d.ts +41 -0
- package/lib/cjs/render/primitives/VertexTableSplitter.d.ts.map +1 -0
- package/lib/cjs/render/primitives/VertexTableSplitter.js +662 -0
- package/lib/cjs/render/primitives/VertexTableSplitter.js.map +1 -0
- package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
- package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js +3 -1
- package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
- package/lib/cjs/render/webgl/DrawCommand.js +1 -1
- package/lib/cjs/render/webgl/DrawCommand.js.map +1 -1
- package/lib/cjs/render/webgl/FeatureOverrides.d.ts +4 -1
- package/lib/cjs/render/webgl/FeatureOverrides.d.ts.map +1 -1
- package/lib/cjs/render/webgl/FeatureOverrides.js +56 -26
- package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
- package/lib/cjs/render/webgl/RealityMesh.d.ts +1 -1
- package/lib/cjs/render/webgl/RealityMesh.d.ts.map +1 -1
- package/lib/cjs/render/webgl/RealityMesh.js +0 -2
- package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
- package/lib/cjs/render/webgl/ShaderProgram.js +1 -1
- package/lib/cjs/render/webgl/ShaderProgram.js.map +1 -1
- package/lib/cjs/render/webgl/Target.d.ts +2 -1
- package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
- package/lib/cjs/render/webgl/Target.js +1 -0
- package/lib/cjs/render/webgl/Target.js.map +1 -1
- package/lib/cjs/render/webgl/UniformHandle.d.ts +2 -1
- package/lib/cjs/render/webgl/UniformHandle.d.ts.map +1 -1
- package/lib/cjs/render/webgl/UniformHandle.js +15 -3
- package/lib/cjs/render/webgl/UniformHandle.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
- package/lib/cjs/render/webgl/glsl/RealityMesh.js +5 -2
- package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/cjs/render-primitives.d.ts +1 -0
- package/lib/cjs/render-primitives.d.ts.map +1 -1
- package/lib/cjs/render-primitives.js +1 -0
- package/lib/cjs/render-primitives.js.map +1 -1
- package/lib/cjs/tile/ClassifierTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/ClassifierTileTree.js +8 -8
- package/lib/cjs/tile/ClassifierTileTree.js.map +1 -1
- package/lib/cjs/tile/IModelTile.d.ts.map +1 -1
- package/lib/cjs/tile/IModelTile.js +1 -0
- package/lib/cjs/tile/IModelTile.js.map +1 -1
- package/lib/cjs/tile/IModelTileTree.d.ts +3 -1
- package/lib/cjs/tile/IModelTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/IModelTileTree.js +1 -0
- package/lib/cjs/tile/IModelTileTree.js.map +1 -1
- package/lib/cjs/tile/ImdlReader.d.ts +9 -4
- package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
- package/lib/cjs/tile/ImdlReader.js +174 -60
- package/lib/cjs/tile/ImdlReader.js.map +1 -1
- package/lib/cjs/tile/PrimaryTileTree.d.ts +8 -7
- package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/PrimaryTileTree.js +30 -25
- package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
- package/lib/cjs/tile/RealityTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/RealityTileTree.js +1 -0
- package/lib/cjs/tile/RealityTileTree.js.map +1 -1
- package/lib/cjs/tile/TileAdmin.d.ts +21 -2
- package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
- package/lib/cjs/tile/TileAdmin.js +32 -12
- package/lib/cjs/tile/TileAdmin.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +46 -2
- package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/MapCartoRectangle.d.ts +1 -0
- package/lib/cjs/tile/map/MapCartoRectangle.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapCartoRectangle.js +1 -0
- package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts +2 -1
- package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +2 -0
- package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryProvider.js +23 -9
- package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerSources.d.ts +14 -9
- package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapLayerSources.js +14 -6
- package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
- package/lib/cjs/tools/ClipViewTool.d.ts.map +1 -1
- package/lib/cjs/tools/ClipViewTool.js +25 -2
- package/lib/cjs/tools/ClipViewTool.js.map +1 -1
- package/lib/cjs/tools/PrimitiveTool.js +4 -4
- package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
- package/lib/cjs/tools/Tool.d.ts +7 -7
- package/lib/cjs/tools/Tool.js +7 -7
- package/lib/cjs/tools/Tool.js.map +1 -1
- package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
- package/lib/cjs/tools/ToolAdmin.js +25 -10
- package/lib/cjs/tools/ToolAdmin.js.map +1 -1
- package/lib/esm/DisplayStyleState.d.ts +80 -31
- package/lib/esm/DisplayStyleState.d.ts.map +1 -1
- package/lib/esm/DisplayStyleState.js +150 -89
- package/lib/esm/DisplayStyleState.js.map +1 -1
- package/lib/esm/DrawingViewState.js +1 -1
- package/lib/esm/DrawingViewState.js.map +1 -1
- package/lib/esm/EmphasizeElements.d.ts.map +1 -1
- package/lib/esm/EmphasizeElements.js +5 -0
- package/lib/esm/EmphasizeElements.js.map +1 -1
- package/lib/esm/EntityState.d.ts +5 -5
- package/lib/esm/EntityState.d.ts.map +1 -1
- package/lib/esm/EntityState.js.map +1 -1
- package/lib/esm/IModelApp.d.ts +5 -0
- package/lib/esm/IModelApp.d.ts.map +1 -1
- package/lib/esm/IModelApp.js +16 -12
- package/lib/esm/IModelApp.js.map +1 -1
- package/lib/esm/IModelConnection.d.ts +43 -3
- package/lib/esm/IModelConnection.d.ts.map +1 -1
- package/lib/esm/IModelConnection.js +29 -3
- package/lib/esm/IModelConnection.js.map +1 -1
- package/lib/esm/LocalhostIpcApp.d.ts.map +1 -1
- package/lib/esm/LocalhostIpcApp.js +11 -1
- package/lib/esm/LocalhostIpcApp.js.map +1 -1
- package/lib/esm/NoRenderApp.d.ts.map +1 -1
- package/lib/esm/NoRenderApp.js +1 -0
- package/lib/esm/NoRenderApp.js.map +1 -1
- package/lib/esm/RealityDataSource.d.ts.map +1 -1
- package/lib/esm/RealityDataSource.js +6 -2
- package/lib/esm/RealityDataSource.js.map +1 -1
- package/lib/esm/SelectionSet.d.ts +30 -4
- package/lib/esm/SelectionSet.d.ts.map +1 -1
- package/lib/esm/SelectionSet.js +26 -2
- package/lib/esm/SelectionSet.js.map +1 -1
- package/lib/esm/SheetViewState.js +1 -1
- package/lib/esm/SheetViewState.js.map +1 -1
- package/lib/esm/SubCategoriesCache.d.ts +3 -0
- package/lib/esm/SubCategoriesCache.d.ts.map +1 -1
- package/lib/esm/SubCategoriesCache.js +34 -0
- package/lib/esm/SubCategoriesCache.js.map +1 -1
- package/lib/esm/TentativePoint.js +1 -1
- package/lib/esm/TentativePoint.js.map +1 -1
- package/lib/esm/ViewState.d.ts +2 -3
- package/lib/esm/ViewState.d.ts.map +1 -1
- package/lib/esm/ViewState.js +7 -3
- package/lib/esm/ViewState.js.map +1 -1
- package/lib/esm/Viewport.d.ts +10 -10
- package/lib/esm/Viewport.d.ts.map +1 -1
- package/lib/esm/Viewport.js +19 -14
- package/lib/esm/Viewport.js.map +1 -1
- package/lib/esm/core-frontend.d.ts +0 -2
- package/lib/esm/core-frontend.d.ts.map +1 -1
- package/lib/esm/core-frontend.js +0 -2
- package/lib/esm/core-frontend.js.map +1 -1
- package/lib/esm/extension/ExtensionAdmin.d.ts +5 -2
- package/lib/esm/extension/ExtensionAdmin.d.ts.map +1 -1
- package/lib/esm/extension/ExtensionAdmin.js +24 -6
- package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
- package/lib/esm/extension/providers/RemoteExtensionProvider.d.ts +0 -2
- package/lib/esm/extension/providers/RemoteExtensionProvider.d.ts.map +1 -1
- package/lib/esm/extension/providers/RemoteExtensionProvider.js +9 -22
- package/lib/esm/extension/providers/RemoteExtensionProvider.js.map +1 -1
- package/lib/esm/render/FeatureSymbology.js +2 -2
- package/lib/esm/render/FeatureSymbology.js.map +1 -1
- package/lib/esm/render/GraphicBranch.d.ts +15 -9
- package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
- package/lib/esm/render/GraphicBranch.js +36 -0
- package/lib/esm/render/GraphicBranch.js.map +1 -1
- package/lib/esm/render/RenderSystem.d.ts +5 -0
- package/lib/esm/render/RenderSystem.d.ts.map +1 -1
- package/lib/esm/render/RenderSystem.js.map +1 -1
- package/lib/esm/render/primitives/EdgeParams.d.ts +11 -0
- package/lib/esm/render/primitives/EdgeParams.d.ts.map +1 -1
- package/lib/esm/render/primitives/EdgeParams.js +34 -28
- package/lib/esm/render/primitives/EdgeParams.js.map +1 -1
- package/lib/esm/render/primitives/VertexTable.d.ts +11 -4
- package/lib/esm/render/primitives/VertexTable.d.ts.map +1 -1
- package/lib/esm/render/primitives/VertexTable.js +14 -7
- package/lib/esm/render/primitives/VertexTable.js.map +1 -1
- package/lib/esm/render/primitives/VertexTableSplitter.d.ts +41 -0
- package/lib/esm/render/primitives/VertexTableSplitter.d.ts.map +1 -0
- package/lib/esm/render/primitives/VertexTableSplitter.js +655 -0
- package/lib/esm/render/primitives/VertexTableSplitter.js.map +1 -0
- package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
- package/lib/esm/render/primitives/geometry/GeometryListBuilder.js +3 -1
- package/lib/esm/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
- package/lib/esm/render/webgl/DrawCommand.js +1 -1
- package/lib/esm/render/webgl/DrawCommand.js.map +1 -1
- package/lib/esm/render/webgl/FeatureOverrides.d.ts +4 -1
- package/lib/esm/render/webgl/FeatureOverrides.d.ts.map +1 -1
- package/lib/esm/render/webgl/FeatureOverrides.js +56 -26
- package/lib/esm/render/webgl/FeatureOverrides.js.map +1 -1
- package/lib/esm/render/webgl/RealityMesh.d.ts +1 -1
- package/lib/esm/render/webgl/RealityMesh.d.ts.map +1 -1
- package/lib/esm/render/webgl/RealityMesh.js +0 -2
- package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
- package/lib/esm/render/webgl/ShaderProgram.js +1 -1
- package/lib/esm/render/webgl/ShaderProgram.js.map +1 -1
- package/lib/esm/render/webgl/Target.d.ts +2 -1
- package/lib/esm/render/webgl/Target.d.ts.map +1 -1
- package/lib/esm/render/webgl/Target.js +1 -0
- package/lib/esm/render/webgl/Target.js.map +1 -1
- package/lib/esm/render/webgl/UniformHandle.d.ts +2 -1
- package/lib/esm/render/webgl/UniformHandle.d.ts.map +1 -1
- package/lib/esm/render/webgl/UniformHandle.js +15 -3
- package/lib/esm/render/webgl/UniformHandle.js.map +1 -1
- package/lib/esm/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
- package/lib/esm/render/webgl/glsl/RealityMesh.js +5 -2
- package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/esm/render-primitives.d.ts +1 -0
- package/lib/esm/render-primitives.d.ts.map +1 -1
- package/lib/esm/render-primitives.js +1 -0
- package/lib/esm/render-primitives.js.map +1 -1
- package/lib/esm/tile/ClassifierTileTree.d.ts.map +1 -1
- package/lib/esm/tile/ClassifierTileTree.js +10 -10
- package/lib/esm/tile/ClassifierTileTree.js.map +1 -1
- package/lib/esm/tile/IModelTile.d.ts.map +1 -1
- package/lib/esm/tile/IModelTile.js +1 -0
- package/lib/esm/tile/IModelTile.js.map +1 -1
- package/lib/esm/tile/IModelTileTree.d.ts +3 -1
- package/lib/esm/tile/IModelTileTree.d.ts.map +1 -1
- package/lib/esm/tile/IModelTileTree.js +1 -0
- package/lib/esm/tile/IModelTileTree.js.map +1 -1
- package/lib/esm/tile/ImdlReader.d.ts +9 -4
- package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
- package/lib/esm/tile/ImdlReader.js +174 -60
- package/lib/esm/tile/ImdlReader.js.map +1 -1
- package/lib/esm/tile/PrimaryTileTree.d.ts +8 -7
- package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
- package/lib/esm/tile/PrimaryTileTree.js +31 -26
- package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
- package/lib/esm/tile/RealityTileTree.d.ts.map +1 -1
- package/lib/esm/tile/RealityTileTree.js +1 -0
- package/lib/esm/tile/RealityTileTree.js.map +1 -1
- package/lib/esm/tile/TileAdmin.d.ts +21 -2
- package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
- package/lib/esm/tile/TileAdmin.js +33 -13
- package/lib/esm/tile/TileAdmin.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +46 -2
- package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/MapCartoRectangle.d.ts +1 -0
- package/lib/esm/tile/map/MapCartoRectangle.d.ts.map +1 -1
- package/lib/esm/tile/map/MapCartoRectangle.js +1 -0
- package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
- package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts +2 -1
- package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
- package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +2 -0
- package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryProvider.js +24 -10
- package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/MapLayerSources.d.ts +14 -9
- package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
- package/lib/esm/tile/map/MapLayerSources.js +14 -6
- package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
- package/lib/esm/tools/ClipViewTool.d.ts.map +1 -1
- package/lib/esm/tools/ClipViewTool.js +25 -2
- package/lib/esm/tools/ClipViewTool.js.map +1 -1
- package/lib/esm/tools/PrimitiveTool.js +4 -4
- package/lib/esm/tools/PrimitiveTool.js.map +1 -1
- package/lib/esm/tools/Tool.d.ts +7 -7
- package/lib/esm/tools/Tool.js +7 -7
- package/lib/esm/tools/Tool.js.map +1 -1
- package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
- package/lib/esm/tools/ToolAdmin.js +25 -10
- package/lib/esm/tools/ToolAdmin.js.map +1 -1
- package/package.json +27 -27
- package/lib/cjs/RenderScheduleState.d.ts +0 -24
- package/lib/cjs/RenderScheduleState.d.ts.map +0 -1
- package/lib/cjs/RenderScheduleState.js +0 -76
- package/lib/cjs/RenderScheduleState.js.map +0 -1
- package/lib/cjs/extension/providers/ExtensionServiceClient.d.ts +0 -52
- package/lib/cjs/extension/providers/ExtensionServiceClient.d.ts.map +0 -1
- package/lib/cjs/extension/providers/ExtensionServiceClient.js +0 -131
- package/lib/cjs/extension/providers/ExtensionServiceClient.js.map +0 -1
- package/lib/cjs/extension/providers/ServiceExtensionProvider.d.ts +0 -37
- package/lib/cjs/extension/providers/ServiceExtensionProvider.d.ts.map +0 -1
- package/lib/cjs/extension/providers/ServiceExtensionProvider.js +0 -84
- package/lib/cjs/extension/providers/ServiceExtensionProvider.js.map +0 -1
- package/lib/esm/RenderScheduleState.d.ts +0 -24
- package/lib/esm/RenderScheduleState.d.ts.map +0 -1
- package/lib/esm/RenderScheduleState.js +0 -71
- package/lib/esm/RenderScheduleState.js.map +0 -1
- package/lib/esm/extension/providers/ExtensionServiceClient.d.ts +0 -52
- package/lib/esm/extension/providers/ExtensionServiceClient.d.ts.map +0 -1
- package/lib/esm/extension/providers/ExtensionServiceClient.js +0 -127
- package/lib/esm/extension/providers/ExtensionServiceClient.js.map +0 -1
- package/lib/esm/extension/providers/ServiceExtensionProvider.d.ts +0 -37
- package/lib/esm/extension/providers/ServiceExtensionProvider.d.ts.map +0 -1
- package/lib/esm/extension/providers/ServiceExtensionProvider.js +0 -80
- package/lib/esm/extension/providers/ServiceExtensionProvider.js.map +0 -1
|
@@ -44,7 +44,6 @@ export * from "./NoRenderApp";
|
|
|
44
44
|
export * from "./NotificationManager";
|
|
45
45
|
export * from "./PerModelCategoryVisibility";
|
|
46
46
|
export * from "./PlanarClipMaskState";
|
|
47
|
-
export * from "./RenderScheduleState";
|
|
48
47
|
export * from "./SelectionSet";
|
|
49
48
|
export * from "./SheetViewState";
|
|
50
49
|
export * from "./SpatialViewState";
|
|
@@ -68,7 +67,6 @@ export * from "./ViewStatus";
|
|
|
68
67
|
export * from "./extension/Extension";
|
|
69
68
|
export * from "./extension/providers/LocalExtensionProvider";
|
|
70
69
|
export * from "./extension/providers/RemoteExtensionProvider";
|
|
71
|
-
export * from "./extension/providers/ServiceExtensionProvider";
|
|
72
70
|
export * from "./properties/AngleDescription";
|
|
73
71
|
export * from "./properties/FormattedQuantityDescription";
|
|
74
72
|
export * from "./properties/LengthDescription";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-frontend.d.ts","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":"AAKA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,
|
|
1
|
+
{"version":3,"file":"core-frontend.d.ts","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/core-frontend.js
CHANGED
|
@@ -60,7 +60,6 @@ __exportStar(require("./NoRenderApp"), exports);
|
|
|
60
60
|
__exportStar(require("./NotificationManager"), exports);
|
|
61
61
|
__exportStar(require("./PerModelCategoryVisibility"), exports);
|
|
62
62
|
__exportStar(require("./PlanarClipMaskState"), exports);
|
|
63
|
-
__exportStar(require("./RenderScheduleState"), exports);
|
|
64
63
|
__exportStar(require("./SelectionSet"), exports);
|
|
65
64
|
__exportStar(require("./SheetViewState"), exports);
|
|
66
65
|
__exportStar(require("./SpatialViewState"), exports);
|
|
@@ -84,7 +83,6 @@ __exportStar(require("./ViewStatus"), exports);
|
|
|
84
83
|
__exportStar(require("./extension/Extension"), exports);
|
|
85
84
|
__exportStar(require("./extension/providers/LocalExtensionProvider"), exports);
|
|
86
85
|
__exportStar(require("./extension/providers/RemoteExtensionProvider"), exports);
|
|
87
|
-
__exportStar(require("./extension/providers/ServiceExtensionProvider"), exports);
|
|
88
86
|
__exportStar(require("./properties/AngleDescription"), exports);
|
|
89
87
|
__exportStar(require("./properties/FormattedQuantityDescription"), exports);
|
|
90
88
|
__exportStar(require("./properties/LengthDescription"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-frontend.js","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;;;;;;;;;;AAE/F,6CAA2B;AAC3B,6CAA2B;AAC3B,gDAA8B;AAC9B,iDAA+B;AAC/B,wDAAsC;AACtC,kDAAgC;AAChC,0DAAwC;AACxC,gDAA8B;AAC9B,yDAAuC;AACvC,6DAA2C;AAC3C,gDAA8B;AAC9B,qDAAmC;AACnC,6CAA2B;AAC3B,sDAAoC;AACpC,qDAAmC;AACnC,yDAAuC;AACvC,sDAAoC;AACpC,gDAA8B;AAC9B,2DAAyC;AACzC,4DAA0C;AAC1C,kDAAgC;AAChC,2DAAyC;AACzC,sDAAoC;AACpC,8CAA4B;AAC5B,oDAAkC;AAClC,gDAA8B;AAC9B,gDAA8B;AAC9B,kDAAgC;AAChC,0DAAwC;AACxC,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,qDAAmC;AACnC,yDAAuC;AACvC,2CAAyB;AACzB,uDAAqC;AACrC,kDAAgC;AAChC,2CAAyB;AACzB,uDAAqC;AACrC,+CAA6B;AAC7B,8CAA4B;AAC5B,oDAAkC;AAClC,gDAA8B;AAC9B,wDAAsC;AACtC,+DAA6C;AAC7C,wDAAsC;AACtC,wDAAsC;AACtC,iDAA+B;AAC/B,mDAAiC;AACjC,qDAAmC;AACnC,4CAA0B;AAC1B,iDAA+B;AAC/B,uDAAqC;AACrC,mDAAiC;AACjC,0CAAwB;AACxB,oDAAkC;AAClC,kDAAgC;AAChC,gDAA8B;AAC9B,uDAAqC;AACrC,iDAA+B;AAC/B,gDAA8B;AAC9B,6CAA2B;AAC3B,iDAA+B;AAC/B,6CAA2B;AAC3B,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,wDAAsC;AACtC,+EAA6D;AAC7D,gFAA8D;AAC9D,iFAA+D;AAC/D,gEAA8C;AAC9C,4EAA0D;AAC1D,iEAA+C;AAC/C,0EAAwD;AACxD,2FAAyE;AACzE,gFAA8D;AAC9D,iFAA+D;AAC/D,4DAA0C;AAC1C,uDAAqC;AACrC,4DAA0C;AAC1C,sDAAoC;AACpC,yDAAuC;AACvC,0DAAwC;AACxC,4DAA0C;AAC1C,kEAAgD;AAChD,sDAAoC;AACpC,qEAAmD;AACnD,iDAA+B;AAC/B,4DAA0C;AAC1C,yDAAuC;AACvC,0DAAwC;AACxC,wDAAsC;AACtC,sDAAoC;AACpC,kEAAgD;AAChD,wDAAsC;AACtC,wDAAsC;AACtC,yDAAuC;AACvC,iDAA+B;AAC/B,oEAAkD;AAClD,0DAAwC;AACxC,oEAAkD;AAClD,wDAAsC;AACtC,sEAAoD;AACpD,kDAAgC;AAChC,uDAAqC;AACrC,uDAAqC;AACrC,0DAAwC;AACxC,yDAAuC;AACvC,0DAAwC;AACxC,mDAAiC;AACjC,sDAAoC;AACpC,wDAAsC;AACtC,qDAAmC;AACnC,+CAA6B;AAC7B,uDAAqC;AACrC,oDAAkC;AAClC,yDAAuC;AACvC,mDAAiC;AACjC,0DAAwC;AACxC,kDAAgC;AAChC,kDAAgC;AAChC,oDAAkC;AAClC,sDAAoC;AACpC,sGAAsG;AACtG,wCAAsC;AAEtC;;GAEG;AAEH;;;;GAIG;AACH;;;GAGG;AACH;;;;GAIG;AACH;;;;GAIG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;;GAIG;AACH;;;;GAIG;AACH;;;;GAIG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;;GAIG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;;GAIG;AACH;;;GAGG","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\nexport * from \"./AccuDraw\";\r\nexport * from \"./AccuSnap\";\r\nexport * from \"./AuxCoordSys\";\r\nexport * from \"./BingLocation\";\r\nexport * from \"./BriefcaseConnection\";\r\nexport * from \"./BriefcaseTxns\";\r\nexport * from \"./CategorySelectorState\";\r\nexport * from \"./ChangeFlags\";\r\nexport * from \"./CheckpointConnection\";\r\nexport * from \"./ContextRealityModelState\";\r\nexport * from \"./CoordSystem\";\r\nexport * from \"./DecorationsCache\";\r\nexport * from \"./DevTools\";\r\nexport * from \"./DisplayStyleState\";\r\nexport * from \"./DrawingViewState\";\r\nexport * from \"./ElementLocateManager\";\r\nexport * from \"./EmphasizeElements\";\r\nexport * from \"./EntityState\";\r\nexport * from \"./EnvironmentDecorations\";\r\nexport * from \"./FeatureOverrideProvider\";\r\nexport * from \"./FlashSettings\";\r\nexport * from \"./FrontendLoggerCategory\";\r\nexport * from \"./FrontendHubAccess\";\r\nexport * from \"./Frustum2d\";\r\nexport * from \"./FrustumAnimator\";\r\nexport * from \"./FuzzySearch\";\r\nexport * from \"./GeoServices\";\r\nexport * from \"./GlobeAnimator\";\r\nexport * from \"./GraphicalEditingScope\";\r\nexport * from \"./HitDetail\";\r\nexport * from \"./ImageUtil\";\r\nexport * from \"./IModelApp\";\r\nexport * from \"./IModelConnection\";\r\nexport * from \"./IModelRoutingContext\";\r\nexport * from \"./IpcApp\";\r\nexport * from \"./LinePlaneIntersect\";\r\nexport * from \"./MarginPercent\";\r\nexport * from \"./Marker\";\r\nexport * from \"./ModelSelectorState\";\r\nexport * from \"./ModelState\";\r\nexport * from \"./NativeApp\";\r\nexport * from \"./NativeAppLogger\";\r\nexport * from \"./NoRenderApp\";\r\nexport * from \"./NotificationManager\";\r\nexport * from \"./PerModelCategoryVisibility\";\r\nexport * from \"./PlanarClipMaskState\";\r\nexport * from \"./RenderScheduleState\";\r\nexport * from \"./SelectionSet\";\r\nexport * from \"./SheetViewState\";\r\nexport * from \"./SpatialViewState\";\r\nexport * from \"./Sprites\";\r\nexport * from \"./StandardView\";\r\nexport * from \"./SubCategoriesCache\";\r\nexport * from \"./TentativePoint\";\r\nexport * from \"./Tiles\";\r\nexport * from \"./UserPreferences\";\r\nexport * from \"./ViewAnimation\";\r\nexport * from \"./ViewContext\";\r\nexport * from \"./ViewGlobalLocation\";\r\nexport * from \"./ViewingSpace\";\r\nexport * from \"./ViewManager\";\r\nexport * from \"./Viewport\";\r\nexport * from \"./ViewportSync\";\r\nexport * from \"./ViewPose\";\r\nexport * from \"./ViewRect\";\r\nexport * from \"./ViewState\";\r\nexport * from \"./ViewStatus\";\r\nexport * from \"./extension/Extension\";\r\nexport * from \"./extension/providers/LocalExtensionProvider\";\r\nexport * from \"./extension/providers/RemoteExtensionProvider\";\r\nexport * from \"./extension/providers/ServiceExtensionProvider\";\r\nexport * from \"./properties/AngleDescription\";\r\nexport * from \"./properties/FormattedQuantityDescription\";\r\nexport * from \"./properties/LengthDescription\";\r\nexport * from \"./quantity-formatting/QuantityFormatter\";\r\nexport * from \"./quantity-formatting/BaseUnitFormattingSettingsProvider\";\r\nexport * from \"./quantity-formatting/LocalUnitFormatProvider\";\r\nexport * from \"./quantity-formatting/QuantityTypesEditorSpecs\";\r\nexport * from \"./render/CanvasDecoration\";\r\nexport * from \"./render/Decorations\";\r\nexport * from \"./render/FeatureSymbology\";\r\nexport * from \"./render/FrameStats\";\r\nexport * from \"./render/GraphicBranch\";\r\nexport * from \"./render/GraphicBuilder\";\r\nexport * from \"./render/GraphicPrimitive\";\r\nexport * from \"./render/InstancedGraphicParams\";\r\nexport * from \"./render/MockRender\";\r\nexport * from \"./render/ParticleCollectionBuilder\";\r\nexport * from \"./render/Pixel\";\r\nexport * from \"./render/RenderClipVolume\";\r\nexport * from \"./render/RenderGraphic\";\r\nexport * from \"./render/RenderMaterial\";\r\nexport * from \"./render/RenderMemory\";\r\nexport * from \"./render/RenderPlan\";\r\nexport * from \"./render/RenderPlanarClassifier\";\r\nexport * from \"./render/RenderTarget\";\r\nexport * from \"./render/RenderSystem\";\r\nexport * from \"./render/RenderTexture\";\r\nexport * from \"./render/Scene\";\r\nexport * from \"./render/ScreenSpaceEffectBuilder\";\r\nexport * from \"./render/VisibleFeature\";\r\nexport * from \"./render/webgl/PerformanceMetrics\";\r\nexport * from \"./render/webgl/Target\";\r\nexport * from \"./render/webgl/IModelFrameLifecycle\";\r\nexport * from \"./tile/internal\";\r\nexport * from \"./tools/AccuDrawTool\";\r\nexport * from \"./tools/ClipViewTool\";\r\nexport * from \"./tools/EditManipulator\";\r\nexport * from \"./tools/ElementSetTool\";\r\nexport * from \"./tools/EventController\";\r\nexport * from \"./tools/IdleTool\";\r\nexport * from \"./tools/MeasureTool\";\r\nexport * from \"./tools/PrimitiveTool\";\r\nexport * from \"./tools/SelectTool\";\r\nexport * from \"./tools/Tool\";\r\nexport * from \"./tools/ToolSettings\";\r\nexport * from \"./tools/ToolAdmin\";\r\nexport * from \"./tools/ToolAssistance\";\r\nexport * from \"./tools/ViewTool\";\r\nexport * from \"./BackgroundMapGeometry\";\r\nexport * from \"./ViewCreator2d\";\r\nexport * from \"./ViewCreator3d\";\r\nexport * from \"./LocalhostIpcApp\";\r\nexport * from \"./RealityDataSource\";\r\n// TODO/FIX: \"./extension/ExtensionRuntime\" import has to be last to avoid circular dependency errors.\r\nimport \"./extension/ExtensionRuntime\";\r\n\r\n/** @docs-package-description\r\n * The core-frontend package always runs in a web browser. It contains classes for [querying iModels and showing views]($docs/learning/frontend/index.md).\r\n */\r\n\r\n/**\r\n * @docs-group-description IModelApp\r\n * Classes for configuring and administering an iTwin.js application.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description IModelConnection\r\n * Classes for working with a connection to an [iModel briefcase]($docs/learning/IModels.md)\r\n */\r\n/**\r\n * @docs-group-description ElementState\r\n * Classes for working with the *state* of Elements in the frontend.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description ModelState\r\n * Classes for working with the *state* of Models in the frontend.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Tools\r\n * Classes for [working with Tools]($docs/learning/frontend/Tools.md)\r\n */\r\n/**\r\n * @docs-group-description Measure\r\n * Classes for reporting point to point distances and mass properties of elements.\r\n */\r\n/**\r\n * @docs-group-description Views\r\n * Classes for [working with Views]($docs/learning/frontend/Views.md)\r\n */\r\n/**\r\n * @docs-group-description LocatingElements\r\n * Classes for locating and snapping to elements in views.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description AccuDraw\r\n * AccuDraw provides helpful assistance for creating and modifying elements in a view.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Notifications\r\n * Notifications provide feedback to the user of something of interest.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Extensions\r\n * Classes for creating and managing Extensions.\r\n */\r\n/**\r\n * @docs-group-description Properties\r\n * Classes for working with property records and descriptions.\r\n */\r\n/**\r\n * @docs-group-description Rendering\r\n * Classes for rendering the contents of views.\r\n */\r\n/**\r\n * @docs-group-description SelectionSet\r\n * Classes for working with the set of selected elements.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description NativeApp\r\n * Classes for working with Native Applications\r\n */\r\n/**\r\n * @docs-group-description Utils\r\n * Miscellaneous utility classes.\r\n */\r\n/**\r\n * @docs-group-description Logging\r\n * Logger categories used by this package\r\n */\r\n/**\r\n * @docs-group-description QuantityFormatting\r\n * Classes for formatting and parsing quantity values.\r\n */\r\n/**\r\n * @docs-group-description Tiles\r\n * Classes representing graphics as [hierarchical 3d tiles](https://github.com/CesiumGS/3d-tiles).\r\n */\r\n/**\r\n * @docs-group-description HubAccess\r\n * APIs for working with IModelHub\r\n */\r\n/**\r\n * @docs-group-description UserPreferences\r\n * APIs for working with user preferences in an iModelApp.\r\n * See [the learning articles]($docs/learning/frontend/preferences.md).\r\n */\r\n/**\r\n * @docs-group-description MapLayers\r\n * Classes supporting map layers display.\r\n */\r\n"]}
|
|
1
|
+
{"version":3,"file":"core-frontend.js","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;;;;;;;;;;AAE/F,6CAA2B;AAC3B,6CAA2B;AAC3B,gDAA8B;AAC9B,iDAA+B;AAC/B,wDAAsC;AACtC,kDAAgC;AAChC,0DAAwC;AACxC,gDAA8B;AAC9B,yDAAuC;AACvC,6DAA2C;AAC3C,gDAA8B;AAC9B,qDAAmC;AACnC,6CAA2B;AAC3B,sDAAoC;AACpC,qDAAmC;AACnC,yDAAuC;AACvC,sDAAoC;AACpC,gDAA8B;AAC9B,2DAAyC;AACzC,4DAA0C;AAC1C,kDAAgC;AAChC,2DAAyC;AACzC,sDAAoC;AACpC,8CAA4B;AAC5B,oDAAkC;AAClC,gDAA8B;AAC9B,gDAA8B;AAC9B,kDAAgC;AAChC,0DAAwC;AACxC,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,qDAAmC;AACnC,yDAAuC;AACvC,2CAAyB;AACzB,uDAAqC;AACrC,kDAAgC;AAChC,2CAAyB;AACzB,uDAAqC;AACrC,+CAA6B;AAC7B,8CAA4B;AAC5B,oDAAkC;AAClC,gDAA8B;AAC9B,wDAAsC;AACtC,+DAA6C;AAC7C,wDAAsC;AACtC,iDAA+B;AAC/B,mDAAiC;AACjC,qDAAmC;AACnC,4CAA0B;AAC1B,iDAA+B;AAC/B,uDAAqC;AACrC,mDAAiC;AACjC,0CAAwB;AACxB,oDAAkC;AAClC,kDAAgC;AAChC,gDAA8B;AAC9B,uDAAqC;AACrC,iDAA+B;AAC/B,gDAA8B;AAC9B,6CAA2B;AAC3B,iDAA+B;AAC/B,6CAA2B;AAC3B,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,wDAAsC;AACtC,+EAA6D;AAC7D,gFAA8D;AAC9D,gEAA8C;AAC9C,4EAA0D;AAC1D,iEAA+C;AAC/C,0EAAwD;AACxD,2FAAyE;AACzE,gFAA8D;AAC9D,iFAA+D;AAC/D,4DAA0C;AAC1C,uDAAqC;AACrC,4DAA0C;AAC1C,sDAAoC;AACpC,yDAAuC;AACvC,0DAAwC;AACxC,4DAA0C;AAC1C,kEAAgD;AAChD,sDAAoC;AACpC,qEAAmD;AACnD,iDAA+B;AAC/B,4DAA0C;AAC1C,yDAAuC;AACvC,0DAAwC;AACxC,wDAAsC;AACtC,sDAAoC;AACpC,kEAAgD;AAChD,wDAAsC;AACtC,wDAAsC;AACtC,yDAAuC;AACvC,iDAA+B;AAC/B,oEAAkD;AAClD,0DAAwC;AACxC,oEAAkD;AAClD,wDAAsC;AACtC,sEAAoD;AACpD,kDAAgC;AAChC,uDAAqC;AACrC,uDAAqC;AACrC,0DAAwC;AACxC,yDAAuC;AACvC,0DAAwC;AACxC,mDAAiC;AACjC,sDAAoC;AACpC,wDAAsC;AACtC,qDAAmC;AACnC,+CAA6B;AAC7B,uDAAqC;AACrC,oDAAkC;AAClC,yDAAuC;AACvC,mDAAiC;AACjC,0DAAwC;AACxC,kDAAgC;AAChC,kDAAgC;AAChC,oDAAkC;AAClC,sDAAoC;AACpC,sGAAsG;AACtG,wCAAsC;AAEtC;;GAEG;AAEH;;;;GAIG;AACH;;;GAGG;AACH;;;;GAIG;AACH;;;;GAIG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;;GAIG;AACH;;;;GAIG;AACH;;;;GAIG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;;GAIG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;;GAIG;AACH;;;GAGG","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\nexport * from \"./AccuDraw\";\r\nexport * from \"./AccuSnap\";\r\nexport * from \"./AuxCoordSys\";\r\nexport * from \"./BingLocation\";\r\nexport * from \"./BriefcaseConnection\";\r\nexport * from \"./BriefcaseTxns\";\r\nexport * from \"./CategorySelectorState\";\r\nexport * from \"./ChangeFlags\";\r\nexport * from \"./CheckpointConnection\";\r\nexport * from \"./ContextRealityModelState\";\r\nexport * from \"./CoordSystem\";\r\nexport * from \"./DecorationsCache\";\r\nexport * from \"./DevTools\";\r\nexport * from \"./DisplayStyleState\";\r\nexport * from \"./DrawingViewState\";\r\nexport * from \"./ElementLocateManager\";\r\nexport * from \"./EmphasizeElements\";\r\nexport * from \"./EntityState\";\r\nexport * from \"./EnvironmentDecorations\";\r\nexport * from \"./FeatureOverrideProvider\";\r\nexport * from \"./FlashSettings\";\r\nexport * from \"./FrontendLoggerCategory\";\r\nexport * from \"./FrontendHubAccess\";\r\nexport * from \"./Frustum2d\";\r\nexport * from \"./FrustumAnimator\";\r\nexport * from \"./FuzzySearch\";\r\nexport * from \"./GeoServices\";\r\nexport * from \"./GlobeAnimator\";\r\nexport * from \"./GraphicalEditingScope\";\r\nexport * from \"./HitDetail\";\r\nexport * from \"./ImageUtil\";\r\nexport * from \"./IModelApp\";\r\nexport * from \"./IModelConnection\";\r\nexport * from \"./IModelRoutingContext\";\r\nexport * from \"./IpcApp\";\r\nexport * from \"./LinePlaneIntersect\";\r\nexport * from \"./MarginPercent\";\r\nexport * from \"./Marker\";\r\nexport * from \"./ModelSelectorState\";\r\nexport * from \"./ModelState\";\r\nexport * from \"./NativeApp\";\r\nexport * from \"./NativeAppLogger\";\r\nexport * from \"./NoRenderApp\";\r\nexport * from \"./NotificationManager\";\r\nexport * from \"./PerModelCategoryVisibility\";\r\nexport * from \"./PlanarClipMaskState\";\r\nexport * from \"./SelectionSet\";\r\nexport * from \"./SheetViewState\";\r\nexport * from \"./SpatialViewState\";\r\nexport * from \"./Sprites\";\r\nexport * from \"./StandardView\";\r\nexport * from \"./SubCategoriesCache\";\r\nexport * from \"./TentativePoint\";\r\nexport * from \"./Tiles\";\r\nexport * from \"./UserPreferences\";\r\nexport * from \"./ViewAnimation\";\r\nexport * from \"./ViewContext\";\r\nexport * from \"./ViewGlobalLocation\";\r\nexport * from \"./ViewingSpace\";\r\nexport * from \"./ViewManager\";\r\nexport * from \"./Viewport\";\r\nexport * from \"./ViewportSync\";\r\nexport * from \"./ViewPose\";\r\nexport * from \"./ViewRect\";\r\nexport * from \"./ViewState\";\r\nexport * from \"./ViewStatus\";\r\nexport * from \"./extension/Extension\";\r\nexport * from \"./extension/providers/LocalExtensionProvider\";\r\nexport * from \"./extension/providers/RemoteExtensionProvider\";\r\nexport * from \"./properties/AngleDescription\";\r\nexport * from \"./properties/FormattedQuantityDescription\";\r\nexport * from \"./properties/LengthDescription\";\r\nexport * from \"./quantity-formatting/QuantityFormatter\";\r\nexport * from \"./quantity-formatting/BaseUnitFormattingSettingsProvider\";\r\nexport * from \"./quantity-formatting/LocalUnitFormatProvider\";\r\nexport * from \"./quantity-formatting/QuantityTypesEditorSpecs\";\r\nexport * from \"./render/CanvasDecoration\";\r\nexport * from \"./render/Decorations\";\r\nexport * from \"./render/FeatureSymbology\";\r\nexport * from \"./render/FrameStats\";\r\nexport * from \"./render/GraphicBranch\";\r\nexport * from \"./render/GraphicBuilder\";\r\nexport * from \"./render/GraphicPrimitive\";\r\nexport * from \"./render/InstancedGraphicParams\";\r\nexport * from \"./render/MockRender\";\r\nexport * from \"./render/ParticleCollectionBuilder\";\r\nexport * from \"./render/Pixel\";\r\nexport * from \"./render/RenderClipVolume\";\r\nexport * from \"./render/RenderGraphic\";\r\nexport * from \"./render/RenderMaterial\";\r\nexport * from \"./render/RenderMemory\";\r\nexport * from \"./render/RenderPlan\";\r\nexport * from \"./render/RenderPlanarClassifier\";\r\nexport * from \"./render/RenderTarget\";\r\nexport * from \"./render/RenderSystem\";\r\nexport * from \"./render/RenderTexture\";\r\nexport * from \"./render/Scene\";\r\nexport * from \"./render/ScreenSpaceEffectBuilder\";\r\nexport * from \"./render/VisibleFeature\";\r\nexport * from \"./render/webgl/PerformanceMetrics\";\r\nexport * from \"./render/webgl/Target\";\r\nexport * from \"./render/webgl/IModelFrameLifecycle\";\r\nexport * from \"./tile/internal\";\r\nexport * from \"./tools/AccuDrawTool\";\r\nexport * from \"./tools/ClipViewTool\";\r\nexport * from \"./tools/EditManipulator\";\r\nexport * from \"./tools/ElementSetTool\";\r\nexport * from \"./tools/EventController\";\r\nexport * from \"./tools/IdleTool\";\r\nexport * from \"./tools/MeasureTool\";\r\nexport * from \"./tools/PrimitiveTool\";\r\nexport * from \"./tools/SelectTool\";\r\nexport * from \"./tools/Tool\";\r\nexport * from \"./tools/ToolSettings\";\r\nexport * from \"./tools/ToolAdmin\";\r\nexport * from \"./tools/ToolAssistance\";\r\nexport * from \"./tools/ViewTool\";\r\nexport * from \"./BackgroundMapGeometry\";\r\nexport * from \"./ViewCreator2d\";\r\nexport * from \"./ViewCreator3d\";\r\nexport * from \"./LocalhostIpcApp\";\r\nexport * from \"./RealityDataSource\";\r\n// TODO/FIX: \"./extension/ExtensionRuntime\" import has to be last to avoid circular dependency errors.\r\nimport \"./extension/ExtensionRuntime\";\r\n\r\n/** @docs-package-description\r\n * The core-frontend package always runs in a web browser. It contains classes for [querying iModels and showing views]($docs/learning/frontend/index.md).\r\n */\r\n\r\n/**\r\n * @docs-group-description IModelApp\r\n * Classes for configuring and administering an iTwin.js application.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description IModelConnection\r\n * Classes for working with a connection to an [iModel briefcase]($docs/learning/IModels.md)\r\n */\r\n/**\r\n * @docs-group-description ElementState\r\n * Classes for working with the *state* of Elements in the frontend.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description ModelState\r\n * Classes for working with the *state* of Models in the frontend.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Tools\r\n * Classes for [working with Tools]($docs/learning/frontend/Tools.md)\r\n */\r\n/**\r\n * @docs-group-description Measure\r\n * Classes for reporting point to point distances and mass properties of elements.\r\n */\r\n/**\r\n * @docs-group-description Views\r\n * Classes for [working with Views]($docs/learning/frontend/Views.md)\r\n */\r\n/**\r\n * @docs-group-description LocatingElements\r\n * Classes for locating and snapping to elements in views.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description AccuDraw\r\n * AccuDraw provides helpful assistance for creating and modifying elements in a view.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Notifications\r\n * Notifications provide feedback to the user of something of interest.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Extensions\r\n * Classes for creating and managing Extensions.\r\n */\r\n/**\r\n * @docs-group-description Properties\r\n * Classes for working with property records and descriptions.\r\n */\r\n/**\r\n * @docs-group-description Rendering\r\n * Classes for rendering the contents of views.\r\n */\r\n/**\r\n * @docs-group-description SelectionSet\r\n * Classes for working with the set of selected elements.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description NativeApp\r\n * Classes for working with Native Applications\r\n */\r\n/**\r\n * @docs-group-description Utils\r\n * Miscellaneous utility classes.\r\n */\r\n/**\r\n * @docs-group-description Logging\r\n * Logger categories used by this package\r\n */\r\n/**\r\n * @docs-group-description QuantityFormatting\r\n * Classes for formatting and parsing quantity values.\r\n */\r\n/**\r\n * @docs-group-description Tiles\r\n * Classes representing graphics as [hierarchical 3d tiles](https://github.com/CesiumGS/3d-tiles).\r\n */\r\n/**\r\n * @docs-group-description HubAccess\r\n * APIs for working with IModelHub\r\n */\r\n/**\r\n * @docs-group-description UserPreferences\r\n * APIs for working with user preferences in an iModelApp.\r\n * See [the learning articles]($docs/learning/frontend/preferences.md).\r\n */\r\n/**\r\n * @docs-group-description MapLayers\r\n * Classes supporting map layers display.\r\n */\r\n"]}
|
|
@@ -29,10 +29,13 @@ export declare class ExtensionAdmin {
|
|
|
29
29
|
*/
|
|
30
30
|
addExtensions(providers: ExtensionProvider[]): Promise<void[]>;
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
33
|
-
*
|
|
32
|
+
* Registers a hostname for an extension.
|
|
33
|
+
* Once a hostname has been registered, only remote extensions from registered hosts are permitted to be added.
|
|
34
|
+
* @param hostUrl (string) Accepts both URLs and hostnames (e.g., http://localhost:3000, yourdomain.com, https://www.yourdomain.com, etc.).
|
|
34
35
|
*/
|
|
35
36
|
registerHost(hostUrl: string): void;
|
|
37
|
+
/** Returns the hostname of an input string. Throws an error if input is not a valid hostname (or URL). */
|
|
38
|
+
private getHostName;
|
|
36
39
|
/** Loops over all enabled Extensions and triggers each one if the provided event is defined. */
|
|
37
40
|
private activateExtensionEvents;
|
|
38
41
|
/** Executes the extension. Catches and logs any errors (so that an extension will not crash the main application). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtensionAdmin.d.ts","sourceRoot":"","sources":["../../../src/extension/ExtensionAdmin.ts"],"names":[],"mappings":"AAIA;;GAEG;AAKH,OAAO,KAAK,EAAqB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AA4BxE;;;GAGG;AACH,qBAAa,cAAc;IACzB,2GAA2G;IAC3G,OAAO,CAAC,WAAW,CAA0E;IAC7F,OAAO,CAAC,MAAM,CAAW;IAEzB;;OAEG;IACI,SAAS,sBAEd;;IAMF;;;;;OAKG;IACU,YAAY,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBrE;;;;OAIG;IACU,aAAa,CAAC,SAAS,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAM3E
|
|
1
|
+
{"version":3,"file":"ExtensionAdmin.d.ts","sourceRoot":"","sources":["../../../src/extension/ExtensionAdmin.ts"],"names":[],"mappings":"AAIA;;GAEG;AAKH,OAAO,KAAK,EAAqB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AA4BxE;;;GAGG;AACH,qBAAa,cAAc;IACzB,2GAA2G;IAC3G,OAAO,CAAC,WAAW,CAA0E;IAC7F,OAAO,CAAC,MAAM,CAAW;IAEzB;;OAEG;IACI,SAAS,sBAEd;;IAMF;;;;;OAKG;IACU,YAAY,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBrE;;;;OAIG;IACU,aAAa,CAAC,SAAS,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAM3E;;;;OAIG;IACI,YAAY,CAAC,OAAO,EAAE,MAAM;IAOnC,0GAA0G;IAC1G,OAAO,CAAC,WAAW;IAgBnB,gGAAgG;YAClF,uBAAuB;IAWrC,sHAAsH;YACxG,QAAQ;CAOvB"}
|
|
@@ -50,7 +50,7 @@ class ExtensionAdmin {
|
|
|
50
50
|
provider.execute(); // eslint-disable-line @typescript-eslint/no-floating-promises
|
|
51
51
|
}
|
|
52
52
|
catch (e) {
|
|
53
|
-
throw new Error(`Failed to get manifest
|
|
53
|
+
throw new Error(`Failed to get extension manifest ${provider.hostname ? `at ${provider.hostname}` : ""}: ${e}`);
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
@@ -62,13 +62,31 @@ class ExtensionAdmin {
|
|
|
62
62
|
return Promise.all(providers.map(async (provider) => this.addExtension(provider)));
|
|
63
63
|
}
|
|
64
64
|
/**
|
|
65
|
-
*
|
|
66
|
-
*
|
|
65
|
+
* Registers a hostname for an extension.
|
|
66
|
+
* Once a hostname has been registered, only remote extensions from registered hosts are permitted to be added.
|
|
67
|
+
* @param hostUrl (string) Accepts both URLs and hostnames (e.g., http://localhost:3000, yourdomain.com, https://www.yourdomain.com, etc.).
|
|
67
68
|
*/
|
|
68
69
|
registerHost(hostUrl) {
|
|
69
|
-
const
|
|
70
|
-
if (this._hosts.indexOf(
|
|
71
|
-
this._hosts.push(
|
|
70
|
+
const hostname = this.getHostName(hostUrl);
|
|
71
|
+
if (this._hosts.indexOf(hostname) < 0) {
|
|
72
|
+
this._hosts.push(hostname);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/** Returns the hostname of an input string. Throws an error if input is not a valid hostname (or URL). */
|
|
76
|
+
getHostName(inputUrl) {
|
|
77
|
+
// inputs without a protocol (e.g., http://) will throw an error in URL constructor
|
|
78
|
+
const inputWithProtocol = /(http|https):\/\//.test(inputUrl) ?
|
|
79
|
+
inputUrl :
|
|
80
|
+
`https://${inputUrl}`;
|
|
81
|
+
try {
|
|
82
|
+
const hostname = new URL(inputWithProtocol).hostname.replace("www.", "");
|
|
83
|
+
return hostname;
|
|
84
|
+
}
|
|
85
|
+
catch (e) {
|
|
86
|
+
if (e instanceof TypeError) {
|
|
87
|
+
throw new Error("Argument hostUrl should be a valid URL or hostname (i.e. http://localhost:3000, yourdomain.com, etc.).");
|
|
88
|
+
}
|
|
89
|
+
throw e;
|
|
72
90
|
}
|
|
73
91
|
}
|
|
74
92
|
/** Loops over all enabled Extensions and triggers each one if the provided event is defined. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtensionAdmin.js","sourceRoot":"","sources":["../../../src/extension/ExtensionAdmin.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA6C;AAE7C,sEAAmE;AA6BnE;;;GAGG;AACH,MAAa,cAAc;IAYzB;QAXA,2GAA2G;QACnG,gBAAW,GAAoC,IAAI,GAAG,EAA8B,CAAC;QAG7F;;WAEG;QACI,cAAS,GAAG,KAAK,IAAI,EAAE;YAC5B,MAAM,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC,CAAC;QAGA,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,YAAY,CAAC,QAA2B;QACnD,IAAI,QAAQ,CAAC,QAAQ,EAAE;YACrB,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACnC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC/D,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,sBAAsB,CAAC,CAAC;aAC7E;SACF;QACD,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC9C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;gBAClC,QAAQ;gBACR,QAAQ;aACT,CAAC,CAAC;YACH,2DAA2D;YAC3D,IAAI,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC;gBACjD,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,8DAA8D;SACrF;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"ExtensionAdmin.js","sourceRoot":"","sources":["../../../src/extension/ExtensionAdmin.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/** @packageDocumentation\r\n * @module Extensions\r\n */\r\n\r\nimport { Logger } from \"@itwin/core-bentley\";\r\n\r\nimport { FrontendLoggerCategory } from \"../FrontendLoggerCategory\";\r\nimport type { ExtensionManifest, ExtensionProvider } from \"./Extension\";\r\n\r\n/** The Extensions loading system has the following goals:\r\n * 1. Only fetch what is needed when it is required\r\n * 1. Load a manifest file\r\n * 2. Load the the main module when necessary (usually at an activation event)\r\n * 2. Download the extension's files\r\n *\r\n * 3 ways to load an Extension into the system:\r\n *\r\n * 1. Load both the Extension Manifest and import the main module of the extension from a local file/package.\r\n * 2. A minimum set of properties to get the manifest and javascript from a remote server.\r\n * 3. A minimum set of properties to get the manifest and javascript from Bentley's Extension Service.\r\n *\r\n * An Extension must be added to ExtensionAdmin before it can be executed during activation events.\r\n */\r\n\r\n/**\r\n * A \"ready to use\" Extension (contains a manifest object and an extension provider to help execute).\r\n * Will be used as the type for in-memory extensions in the ExtensionAdmin\r\n */\r\ninterface InstalledExtension {\r\n /** An extension provider that has been added to ExtensionAdmin */\r\n provider: ExtensionProvider;\r\n /** The manifest (package.json) of the extension */\r\n manifest: ExtensionManifest;\r\n}\r\n\r\n/** The Extension Admin controls the list of currently loaded Extensions.\r\n *\r\n * @alpha\r\n */\r\nexport class ExtensionAdmin {\r\n /** Defines the set of extensions that are currently known and can be invoked during activation events. */\r\n private _extensions: Map<string, InstalledExtension> = new Map<string, InstalledExtension>();\r\n private _hosts: string[];\r\n\r\n /** Fired when an Extension has been added or removed.\r\n * @internal\r\n */\r\n public onStartup = async () => {\r\n await this.activateExtensionEvents(\"onStartup\");\r\n };\r\n\r\n public constructor() {\r\n this._hosts = [];\r\n }\r\n\r\n /**\r\n * Adds an extension.\r\n * The manifest will be fetched and the extension will be activated on an activation event.\r\n * @param provider\r\n * @alpha\r\n */\r\n public async addExtension(provider: ExtensionProvider): Promise<void> {\r\n if (provider.hostname) {\r\n const hostName = provider.hostname;\r\n if (this._hosts.length > 0 && this._hosts.indexOf(hostName) < 0) {\r\n throw new Error(`Error loading extension: ${hostName} was not registered.`);\r\n }\r\n }\r\n try {\r\n const manifest = await provider.getManifest();\r\n this._extensions.set(manifest.name, {\r\n manifest,\r\n provider,\r\n });\r\n // TODO - temporary fix to execute the missed startup event\r\n if (manifest.activationEvents.includes(\"onStartup\"))\r\n provider.execute(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n } catch (e) {\r\n throw new Error(`Failed to get extension manifest ${provider.hostname ? `at ${provider.hostname}` : \"\"}: ${e}`);\r\n }\r\n }\r\n\r\n /**\r\n * Adds a list of extensions\r\n * @param providers\r\n * @alpha\r\n */\r\n public async addExtensions(providers: ExtensionProvider[]): Promise<void[]> {\r\n return Promise.all(\r\n providers.map(async (provider) => this.addExtension(provider))\r\n );\r\n }\r\n\r\n /**\r\n * Registers a hostname for an extension.\r\n * Once a hostname has been registered, only remote extensions from registered hosts are permitted to be added.\r\n * @param hostUrl (string) Accepts both URLs and hostnames (e.g., http://localhost:3000, yourdomain.com, https://www.yourdomain.com, etc.).\r\n */\r\n public registerHost(hostUrl: string) {\r\n const hostname = this.getHostName(hostUrl);\r\n if (this._hosts.indexOf(hostname) < 0) {\r\n this._hosts.push(hostname);\r\n }\r\n }\r\n\r\n /** Returns the hostname of an input string. Throws an error if input is not a valid hostname (or URL). */\r\n private getHostName(inputUrl: string): string {\r\n // inputs without a protocol (e.g., http://) will throw an error in URL constructor\r\n const inputWithProtocol = /(http|https):\\/\\//.test(inputUrl) ?\r\n inputUrl :\r\n `https://${inputUrl}`;\r\n try {\r\n const hostname = new URL(inputWithProtocol).hostname.replace(\"www.\", \"\");\r\n return hostname;\r\n } catch (e) {\r\n if (e instanceof TypeError) {\r\n throw new Error(\"Argument hostUrl should be a valid URL or hostname (i.e. http://localhost:3000, yourdomain.com, etc.).\");\r\n }\r\n throw e;\r\n }\r\n }\r\n\r\n /** Loops over all enabled Extensions and triggers each one if the provided event is defined. */\r\n private async activateExtensionEvents(event: string) {\r\n for (const extension of this._extensions.values()) {\r\n if (!extension.manifest.activationEvents) continue;\r\n for (const activationEvent of extension.manifest.activationEvents) {\r\n if (activationEvent === event) {\r\n this._execute(extension); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** Executes the extension. Catches and logs any errors (so that an extension will not crash the main application). */\r\n private async _execute(extension: InstalledExtension) {\r\n try {\r\n await extension.provider.execute();\r\n } catch (e) {\r\n Logger.logError(FrontendLoggerCategory.Extensions, `Error executing extension ${extension.manifest.name}: ${e}`);\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -30,7 +30,5 @@ export declare class RemoteExtensionProvider implements ExtensionProvider {
|
|
|
30
30
|
* Throws an error if the provided manifestUrl is not accessible.
|
|
31
31
|
*/
|
|
32
32
|
getManifest(): Promise<ExtensionManifest>;
|
|
33
|
-
/** Checks if url actually exists */
|
|
34
|
-
private _exists;
|
|
35
33
|
}
|
|
36
34
|
//# sourceMappingURL=RemoteExtensionProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteExtensionProvider.d.ts","sourceRoot":"","sources":["../../../../src/extension/providers/RemoteExtensionProvider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"RemoteExtensionProvider.d.ts","sourceRoot":"","sources":["../../../../src/extension/providers/RemoteExtensionProvider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAItB;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,qBAAa,uBAAwB,YAAW,iBAAiB;IAInD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,4DAA4D;IAC5D,SAAgB,QAAQ,EAAE,MAAM,CAAC;gBAEJ,MAAM,EAAE,4BAA4B;IAIjE;;;OAGG;IACU,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAIvC;;;OAGG;IACU,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC;CAWvD"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RemoteExtensionProvider = void 0;
|
|
4
|
+
const Request_1 = require("../../request/Request");
|
|
4
5
|
const ExtensionLoadScript_1 = require("./ExtensionLoadScript");
|
|
5
6
|
/**
|
|
6
7
|
* Implements a "remote" extension.
|
|
@@ -18,10 +19,6 @@ class RemoteExtensionProvider {
|
|
|
18
19
|
* Throws an error if the provided jsUrl is not accessible.
|
|
19
20
|
*/
|
|
20
21
|
async execute() {
|
|
21
|
-
const doesUrlExist = await this._exists(this._props.jsUrl);
|
|
22
|
-
if (!doesUrlExist) {
|
|
23
|
-
throw new Error(`Extension at ${this._props.jsUrl} could not be found.`);
|
|
24
|
-
}
|
|
25
22
|
return (0, ExtensionLoadScript_1.loadScript)(this._props.jsUrl);
|
|
26
23
|
}
|
|
27
24
|
/**
|
|
@@ -29,24 +26,14 @@ class RemoteExtensionProvider {
|
|
|
29
26
|
* Throws an error if the provided manifestUrl is not accessible.
|
|
30
27
|
*/
|
|
31
28
|
async getManifest() {
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
let exists = false;
|
|
41
|
-
try {
|
|
42
|
-
const response = await fetch(url, { method: "HEAD" });
|
|
43
|
-
if (response.status === 200)
|
|
44
|
-
exists = true;
|
|
45
|
-
}
|
|
46
|
-
catch (error) {
|
|
47
|
-
exists = false;
|
|
48
|
-
}
|
|
49
|
-
return exists;
|
|
29
|
+
const options = { method: "GET" };
|
|
30
|
+
const response = await (0, Request_1.request)(this._props.manifestUrl, options);
|
|
31
|
+
const data = response.body || (() => {
|
|
32
|
+
if (!response.text)
|
|
33
|
+
throw new Error("Manifest file was empty.");
|
|
34
|
+
return JSON.parse(response.text);
|
|
35
|
+
})();
|
|
36
|
+
return data;
|
|
50
37
|
}
|
|
51
38
|
}
|
|
52
39
|
exports.RemoteExtensionProvider = RemoteExtensionProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteExtensionProvider.js","sourceRoot":"","sources":["../../../../src/extension/providers/RemoteExtensionProvider.ts"],"names":[],"mappings":";;;AAQA,+DAAmD;AAanD;;;;;GAKG;AACH,MAAa,uBAAuB;IAIlC,YAA6B,MAAoC;QAApC,WAAM,GAAN,MAAM,CAA8B;QAC/D,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,OAAO;QAClB,
|
|
1
|
+
{"version":3,"file":"RemoteExtensionProvider.js","sourceRoot":"","sources":["../../../../src/extension/providers/RemoteExtensionProvider.ts"],"names":[],"mappings":";;;AAQA,mDAAgE;AAChE,+DAAmD;AAanD;;;;;GAKG;AACH,MAAa,uBAAuB;IAIlC,YAA6B,MAAoC;QAApC,WAAM,GAAN,MAAM,CAA8B;QAC/D,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,OAAO;QAClB,OAAO,IAAA,gCAAU,EAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,WAAW;QACtB,MAAM,OAAO,GAAmB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,IAAA,iBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;YAClC,IAAI,CAAC,QAAQ,CAAC,IAAI;gBAChB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,IAAI,CAAC;IACd,CAAC;CAEF;AA/BD,0DA+BC","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\nimport type {\r\n ExtensionManifest,\r\n ExtensionProvider,\r\n} from \"../Extension\";\r\nimport { request, RequestOptions } from \"../../request/Request\";\r\nimport { loadScript } from \"./ExtensionLoadScript\";\r\n\r\n/**\r\n * Required props for a remote extension provider\r\n * @alpha\r\n */\r\nexport interface RemoteExtensionProviderProps {\r\n /** URL where the extension entry point can be loaded from */\r\n jsUrl: string;\r\n /** URL where the manifest (package.json) can be loaded from */\r\n manifestUrl: string;\r\n}\r\n\r\n/**\r\n * Implements a \"remote\" extension.\r\n * Remote extensions are hosted on an external server.\r\n * The execute() and getManifest() methods are used by the ExtensionAdmin to load and execute the extension.\r\n * @alpha\r\n */\r\nexport class RemoteExtensionProvider implements ExtensionProvider {\r\n /** The name of the server where the extension is hosted. */\r\n public readonly hostname: string;\r\n\r\n constructor(private readonly _props: RemoteExtensionProviderProps) {\r\n this.hostname = new URL(this._props.jsUrl).hostname.replace(\"www\", \"\");\r\n }\r\n\r\n /**\r\n * Attempts to execute an extension.\r\n * Throws an error if the provided jsUrl is not accessible.\r\n */\r\n public async execute(): Promise<string> {\r\n return loadScript(this._props.jsUrl);\r\n }\r\n\r\n /**\r\n * Attempts to fetch an extension's manifest (package.json) file.\r\n * Throws an error if the provided manifestUrl is not accessible.\r\n */\r\n public async getManifest(): Promise<ExtensionManifest> {\r\n const options: RequestOptions = { method: \"GET\" };\r\n const response = await request(this._props.manifestUrl, options);\r\n const data = response.body || (() => {\r\n if (!response.text)\r\n throw new Error(\"Manifest file was empty.\");\r\n return JSON.parse(response.text);\r\n })();\r\n return data;\r\n }\r\n\r\n}\r\n"]}
|
|
@@ -121,9 +121,9 @@ var FeatureSymbology;
|
|
|
121
121
|
if (realityModel.appearanceOverrides && realityModel.modelId)
|
|
122
122
|
this.override({ modelId: realityModel.modelId, appearance: realityModel.appearanceOverrides });
|
|
123
123
|
});
|
|
124
|
-
const script = style.
|
|
124
|
+
const script = style.scheduleScript;
|
|
125
125
|
if (script)
|
|
126
|
-
script.
|
|
126
|
+
script.addSymbologyOverrides(this, (_a = style.settings.timePoint) !== null && _a !== void 0 ? _a : 0);
|
|
127
127
|
if (!view.is3d())
|
|
128
128
|
return;
|
|
129
129
|
const planProjectionSettings = view.getDisplayStyle3d().settings.planProjectionSettings;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureSymbology.js","sourceRoot":"","sources":["../../../src/render/FeatureSymbology.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/** @packageDocumentation\r\n * @module Rendering\r\n */\r\n\r\nimport { BeEvent, Id64 } from \"@itwin/core-bentley\";\r\nimport { FeatureAppearance, FeatureOverrides } from \"@itwin/core-common\";\r\nimport { Viewport } from \"../Viewport\";\r\nimport { ViewState } from \"../ViewState\";\r\n\r\n// cspell:ignore subcat subcats\r\n\r\n/** Contains types that enable an application to customize how [Feature]($common)s are drawn within a [[Viewport]].\r\n * @public\r\n * @extensions\r\n */\r\nexport namespace FeatureSymbology {\r\n /** An object that serves as the source of a [[FeatureSymbology.Overrides]].\r\n * Use this if you are drawing the same tiles into a single Viewport and overriding the FeatureSymbology.Overrides applied to them\r\n * by settings [[GraphicBranch.symbologyOverrides]].\r\n * Each tile will have a separate set of feature overrides per combination of Source and Viewport. This prevents the display system\r\n * from constantly recomputing the feature overrides for a tile.\r\n * You must call `onSourceDisposed.raiseEvent()` when the source is no longer being used by the Viewport to allow the feature overrides\r\n * and their WebGL resources to be freed - failure to do so will result in memory leaks, which may eventually produce WebGL context loss.\r\n * @alpha\r\n */\r\n export interface Source {\r\n /** An event raised when this source becomes disassociated with the viewport, indicating any WebGL resources allocated for it\r\n * can be freed.\r\n * Failure to invoke this event appropriately will result in memory leaks, which may eventually produce WebGL context loss.\r\n */\r\n readonly onSourceDisposed: BeEvent<() => void>;\r\n }\r\n\r\n /** Allows a [[Viewport]] to customize the appearance of individual [Feature]($common)s within it.\r\n *\r\n * The Viewport computes its base Overrides based on the following:\r\n * - The set of categories enabled for display in its [[CategorySelectorState]]. Every [[SubCategory]] belonging to an enabled [[Category]] is added to the set of visible subcategories - all other subcategories are assumed to be invisible.\r\n * - For the set of visible subcategories, any [[SubCategoryOverride]]s defined by the view's [[DisplayStyleState]] are applied. This may render some subcategories invisible, and change the symbology of others.\r\n * - The visibility of each [GeometryClass]($common) is set based on the view's [ViewFlags]($common).\r\n * - The line weight is overridden to 1 pixel for all Features if line weight has been disabled by the view's [ViewFlags]($common).\r\n * - The sets of elements which are always drawn and never drawn are initialized from the [[Viewport]]'s sets.\r\n * An application can further customize the symbology of any Features by registering a [[FeatureOverrideProvider]] with a [[Viewport]]. That provider's addFeatureOverrides function will be invoked\r\n * whenever the Overrides need to be regenerated.\r\n *\r\n * To override the symbology of *most* Features within a view, specify a `defaultOverrides` to be applied to any Feature not explicitly overridden.\r\n * If default overrides are defined and some Features should draw normally without being affected by the default overrides, override that Feature with\r\n * an Appearance which defines no overrides.\r\n *\r\n * It is possible to override multiple aspects of a Feature. For example, you might specify that all elements belonging to subcategory \"A\" should be drawn in red, and\r\n * that the element with Id \"0x123\" should be drawn with 0.25 transparency. In this case, when drawing a Feature with subcategory \"A\" and element Id \"0x123\", the two overrides will\r\n * be merged, causing the Feature's geometry to draw 25% transparent red. On the other hand, if subcategory \"A\" is specified to draw in red and element \"0x123\" to draw in green,\r\n * the color specified by the element override will take precedence over that specified for the subcategory, resulting in a green Feature.\r\n *\r\n * @see [[Viewport.alwaysDrawn]]\r\n * @see [[Viewport.neverDrawn]]\r\n */\r\n export class Overrides extends FeatureOverrides {\r\n private _source?: Source;\r\n\r\n /** @alpha */\r\n public get source(): Source | undefined {\r\n return this._source;\r\n }\r\n\r\n /** Construct a new Overrides. The result is an empty set of overrides if no view or viewport is supplied.\r\n * @param view If supplied, the overrides will be initialized based on the current state of the view or viewport.\r\n */\r\n public constructor(view?: ViewState | Viewport) {\r\n super();\r\n if (undefined !== view) {\r\n if (view instanceof Viewport)\r\n this.initFromViewport(view);\r\n else\r\n this.initFromView(view);\r\n }\r\n }\r\n\r\n /** Create symbology overrides associated with a [[FeatureSymbology.Source]].\r\n * @alpha\r\n */\r\n public static withSource(source: Source, view?: ViewState | Viewport): Overrides {\r\n const ovrs = new Overrides(view);\r\n ovrs._source = source;\r\n return ovrs;\r\n }\r\n\r\n /** Initialize these Overrides based on a specific view.\r\n * @internal\r\n */\r\n public initFromView(view: ViewState): void {\r\n this._initFromView(view);\r\n this._initSubCategoryOverrides(view);\r\n }\r\n\r\n /** Initialize these Overrides based on a specific viewport.\r\n * @internal\r\n */\r\n public initFromViewport(viewport: Viewport): void {\r\n const view = viewport.view;\r\n this._initFromView(view);\r\n\r\n if (undefined !== viewport.neverDrawn)\r\n this.setNeverDrawnSet(viewport.neverDrawn);\r\n\r\n if (undefined !== viewport.alwaysDrawn)\r\n this.setAlwaysDrawnSet(viewport.alwaysDrawn, viewport.isAlwaysDrawnExclusive);\r\n\r\n viewport.addFeatureOverrides(this);\r\n viewport.addModelSubCategoryVisibilityOverrides(this, this._modelSubCategoryOverrides);\r\n\r\n // This will include any per-model subcategory visibility overrides added above.\r\n this._initSubCategoryOverrides(view);\r\n }\r\n\r\n private _initFromView(view: ViewState): void {\r\n const { viewFlags } = view;\r\n const { constructions, dimensions, patterns } = viewFlags;\r\n\r\n this.neverDrawnAnimationNodes.clear();\r\n this.animationNodeOverrides.clear();\r\n\r\n for (const excluded of view.displayStyle.settings.excludedElementIds)\r\n this.setNeverDrawn(excluded);\r\n\r\n this._constructions = constructions;\r\n this._dimensions = dimensions;\r\n this._patterns = patterns;\r\n this._lineWeights = viewFlags.weights;\r\n\r\n for (const categoryId of view.categorySelector.categories) {\r\n const subCategoryIds = view.iModel.subcategories.getSubCategories(categoryId);\r\n if (undefined === subCategoryIds)\r\n continue;\r\n\r\n for (const subCategoryId of subCategoryIds) {\r\n if (view.isSubCategoryVisible(subCategoryId)) {\r\n const idLo = Id64.getLowerUint32(subCategoryId);\r\n const idHi = Id64.getUpperUint32(subCategoryId);\r\n this._visibleSubCategories.add(idLo, idHi);\r\n\r\n const app = view.iModel.subcategories.getSubCategoryAppearance(subCategoryId);\r\n if (undefined !== app)\r\n this._subCategoryPriorities.set(idLo, idHi, app.priority);\r\n }\r\n }\r\n }\r\n const style = view.displayStyle;\r\n style.settings.modelAppearanceOverrides.forEach((appearance, modelId) => this.override({ modelId, appearance, onConflict: \"skip\" }));\r\n\r\n style.forEachRealityModel((realityModel) => {\r\n if (realityModel.appearanceOverrides && realityModel.modelId)\r\n this.override({ modelId: realityModel.modelId, appearance: realityModel.appearanceOverrides });\r\n });\r\n\r\n const script = style.scheduleState;\r\n if (script)\r\n script.getSymbologyOverrides(this, style.settings.timePoint ?? 0);\r\n\r\n if (!view.is3d())\r\n return;\r\n\r\n const planProjectionSettings = view.getDisplayStyle3d().settings.planProjectionSettings;\r\n if (undefined === planProjectionSettings)\r\n return;\r\n\r\n for (const [modelId, projSettings] of planProjectionSettings) {\r\n if (undefined !== projSettings.transparency)\r\n this.override({ modelId, appearance: FeatureAppearance.fromJSON({ transparency: projSettings.transparency }) });\r\n }\r\n }\r\n\r\n private _initSubCategoryOverrides(view: ViewState): void {\r\n const addOverride = (idLo: number, idHi: number) => {\r\n const subCategoryId = Id64.fromUint32Pair(idLo, idHi);\r\n const ovr = view.getSubCategoryOverride(subCategoryId);\r\n if (undefined !== ovr) {\r\n const app = FeatureAppearance.fromSubCategoryOverride(ovr);\r\n if (app.overridesSymbology)\r\n this._subCategoryOverrides.set(idLo, idHi, app);\r\n\r\n if (undefined !== ovr.priority)\r\n this._subCategoryPriorities.set(idLo, idHi, ovr.priority);\r\n }\r\n };\r\n\r\n // Add overrides for all subcategories visible in the view\r\n this._visibleSubCategories.forEach((idLo: number, idHi: number) => {\r\n addOverride(idLo, idHi);\r\n });\r\n\r\n // Add overrides for all subcategories overridden to be visible in specific models\r\n this._modelSubCategoryOverrides.forEach((_modelIdLo: number, _modelIdHi: number, subcats: Id64.Uint32Set) => {\r\n subcats.forEach((idLo: number, idHi: number) => {\r\n if (!this.isSubCategoryVisible(idLo, idHi)) {\r\n // Overridden to be visible in one or more models - will need the appearance overrides\r\n addOverride(idLo, idHi);\r\n }\r\n });\r\n });\r\n }\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"FeatureSymbology.js","sourceRoot":"","sources":["../../../src/render/FeatureSymbology.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/** @packageDocumentation\r\n * @module Rendering\r\n */\r\n\r\nimport { BeEvent, Id64 } from \"@itwin/core-bentley\";\r\nimport { FeatureAppearance, FeatureOverrides } from \"@itwin/core-common\";\r\nimport { Viewport } from \"../Viewport\";\r\nimport { ViewState } from \"../ViewState\";\r\n\r\n// cspell:ignore subcat subcats\r\n\r\n/** Contains types that enable an application to customize how [Feature]($common)s are drawn within a [[Viewport]].\r\n * @public\r\n * @extensions\r\n */\r\nexport namespace FeatureSymbology {\r\n /** An object that serves as the source of a [[FeatureSymbology.Overrides]].\r\n * Use this if you are drawing the same tiles into a single Viewport and overriding the FeatureSymbology.Overrides applied to them\r\n * by settings [[GraphicBranch.symbologyOverrides]].\r\n * Each tile will have a separate set of feature overrides per combination of Source and Viewport. This prevents the display system\r\n * from constantly recomputing the feature overrides for a tile.\r\n * You must call `onSourceDisposed.raiseEvent()` when the source is no longer being used by the Viewport to allow the feature overrides\r\n * and their WebGL resources to be freed - failure to do so will result in memory leaks, which may eventually produce WebGL context loss.\r\n * @alpha\r\n */\r\n export interface Source {\r\n /** An event raised when this source becomes disassociated with the viewport, indicating any WebGL resources allocated for it\r\n * can be freed.\r\n * Failure to invoke this event appropriately will result in memory leaks, which may eventually produce WebGL context loss.\r\n */\r\n readonly onSourceDisposed: BeEvent<() => void>;\r\n }\r\n\r\n /** Allows a [[Viewport]] to customize the appearance of individual [Feature]($common)s within it.\r\n *\r\n * The Viewport computes its base Overrides based on the following:\r\n * - The set of categories enabled for display in its [[CategorySelectorState]]. Every [[SubCategory]] belonging to an enabled [[Category]] is added to the set of visible subcategories - all other subcategories are assumed to be invisible.\r\n * - For the set of visible subcategories, any [[SubCategoryOverride]]s defined by the view's [[DisplayStyleState]] are applied. This may render some subcategories invisible, and change the symbology of others.\r\n * - The visibility of each [GeometryClass]($common) is set based on the view's [ViewFlags]($common).\r\n * - The line weight is overridden to 1 pixel for all Features if line weight has been disabled by the view's [ViewFlags]($common).\r\n * - The sets of elements which are always drawn and never drawn are initialized from the [[Viewport]]'s sets.\r\n * An application can further customize the symbology of any Features by registering a [[FeatureOverrideProvider]] with a [[Viewport]]. That provider's addFeatureOverrides function will be invoked\r\n * whenever the Overrides need to be regenerated.\r\n *\r\n * To override the symbology of *most* Features within a view, specify a `defaultOverrides` to be applied to any Feature not explicitly overridden.\r\n * If default overrides are defined and some Features should draw normally without being affected by the default overrides, override that Feature with\r\n * an Appearance which defines no overrides.\r\n *\r\n * It is possible to override multiple aspects of a Feature. For example, you might specify that all elements belonging to subcategory \"A\" should be drawn in red, and\r\n * that the element with Id \"0x123\" should be drawn with 0.25 transparency. In this case, when drawing a Feature with subcategory \"A\" and element Id \"0x123\", the two overrides will\r\n * be merged, causing the Feature's geometry to draw 25% transparent red. On the other hand, if subcategory \"A\" is specified to draw in red and element \"0x123\" to draw in green,\r\n * the color specified by the element override will take precedence over that specified for the subcategory, resulting in a green Feature.\r\n *\r\n * @see [[Viewport.alwaysDrawn]]\r\n * @see [[Viewport.neverDrawn]]\r\n */\r\n export class Overrides extends FeatureOverrides {\r\n private _source?: Source;\r\n\r\n /** @alpha */\r\n public get source(): Source | undefined {\r\n return this._source;\r\n }\r\n\r\n /** Construct a new Overrides. The result is an empty set of overrides if no view or viewport is supplied.\r\n * @param view If supplied, the overrides will be initialized based on the current state of the view or viewport.\r\n */\r\n public constructor(view?: ViewState | Viewport) {\r\n super();\r\n if (undefined !== view) {\r\n if (view instanceof Viewport)\r\n this.initFromViewport(view);\r\n else\r\n this.initFromView(view);\r\n }\r\n }\r\n\r\n /** Create symbology overrides associated with a [[FeatureSymbology.Source]].\r\n * @alpha\r\n */\r\n public static withSource(source: Source, view?: ViewState | Viewport): Overrides {\r\n const ovrs = new Overrides(view);\r\n ovrs._source = source;\r\n return ovrs;\r\n }\r\n\r\n /** Initialize these Overrides based on a specific view.\r\n * @internal\r\n */\r\n public initFromView(view: ViewState): void {\r\n this._initFromView(view);\r\n this._initSubCategoryOverrides(view);\r\n }\r\n\r\n /** Initialize these Overrides based on a specific viewport.\r\n * @internal\r\n */\r\n public initFromViewport(viewport: Viewport): void {\r\n const view = viewport.view;\r\n this._initFromView(view);\r\n\r\n if (undefined !== viewport.neverDrawn)\r\n this.setNeverDrawnSet(viewport.neverDrawn);\r\n\r\n if (undefined !== viewport.alwaysDrawn)\r\n this.setAlwaysDrawnSet(viewport.alwaysDrawn, viewport.isAlwaysDrawnExclusive);\r\n\r\n viewport.addFeatureOverrides(this);\r\n viewport.addModelSubCategoryVisibilityOverrides(this, this._modelSubCategoryOverrides);\r\n\r\n // This will include any per-model subcategory visibility overrides added above.\r\n this._initSubCategoryOverrides(view);\r\n }\r\n\r\n private _initFromView(view: ViewState): void {\r\n const { viewFlags } = view;\r\n const { constructions, dimensions, patterns } = viewFlags;\r\n\r\n this.neverDrawnAnimationNodes.clear();\r\n this.animationNodeOverrides.clear();\r\n\r\n for (const excluded of view.displayStyle.settings.excludedElementIds)\r\n this.setNeverDrawn(excluded);\r\n\r\n this._constructions = constructions;\r\n this._dimensions = dimensions;\r\n this._patterns = patterns;\r\n this._lineWeights = viewFlags.weights;\r\n\r\n for (const categoryId of view.categorySelector.categories) {\r\n const subCategoryIds = view.iModel.subcategories.getSubCategories(categoryId);\r\n if (undefined === subCategoryIds)\r\n continue;\r\n\r\n for (const subCategoryId of subCategoryIds) {\r\n if (view.isSubCategoryVisible(subCategoryId)) {\r\n const idLo = Id64.getLowerUint32(subCategoryId);\r\n const idHi = Id64.getUpperUint32(subCategoryId);\r\n this._visibleSubCategories.add(idLo, idHi);\r\n\r\n const app = view.iModel.subcategories.getSubCategoryAppearance(subCategoryId);\r\n if (undefined !== app)\r\n this._subCategoryPriorities.set(idLo, idHi, app.priority);\r\n }\r\n }\r\n }\r\n const style = view.displayStyle;\r\n style.settings.modelAppearanceOverrides.forEach((appearance, modelId) => this.override({ modelId, appearance, onConflict: \"skip\" }));\r\n\r\n style.forEachRealityModel((realityModel) => {\r\n if (realityModel.appearanceOverrides && realityModel.modelId)\r\n this.override({ modelId: realityModel.modelId, appearance: realityModel.appearanceOverrides });\r\n });\r\n\r\n const script = style.scheduleScript;\r\n if (script)\r\n script.addSymbologyOverrides(this, style.settings.timePoint ?? 0);\r\n\r\n if (!view.is3d())\r\n return;\r\n\r\n const planProjectionSettings = view.getDisplayStyle3d().settings.planProjectionSettings;\r\n if (undefined === planProjectionSettings)\r\n return;\r\n\r\n for (const [modelId, projSettings] of planProjectionSettings) {\r\n if (undefined !== projSettings.transparency)\r\n this.override({ modelId, appearance: FeatureAppearance.fromJSON({ transparency: projSettings.transparency }) });\r\n }\r\n }\r\n\r\n private _initSubCategoryOverrides(view: ViewState): void {\r\n const addOverride = (idLo: number, idHi: number) => {\r\n const subCategoryId = Id64.fromUint32Pair(idLo, idHi);\r\n const ovr = view.getSubCategoryOverride(subCategoryId);\r\n if (undefined !== ovr) {\r\n const app = FeatureAppearance.fromSubCategoryOverride(ovr);\r\n if (app.overridesSymbology)\r\n this._subCategoryOverrides.set(idLo, idHi, app);\r\n\r\n if (undefined !== ovr.priority)\r\n this._subCategoryPriorities.set(idLo, idHi, ovr.priority);\r\n }\r\n };\r\n\r\n // Add overrides for all subcategories visible in the view\r\n this._visibleSubCategories.forEach((idLo: number, idHi: number) => {\r\n addOverride(idLo, idHi);\r\n });\r\n\r\n // Add overrides for all subcategories overridden to be visible in specific models\r\n this._modelSubCategoryOverrides.forEach((_modelIdLo: number, _modelIdHi: number, subcats: Id64.Uint32Set) => {\r\n subcats.forEach((idLo: number, idHi: number) => {\r\n if (!this.isSubCategoryVisible(idLo, idHi)) {\r\n // Overridden to be visible in one or more models - will need the appearance overrides\r\n addOverride(idLo, idHi);\r\n }\r\n });\r\n });\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
/** @packageDocumentation
|
|
2
2
|
* @module Rendering
|
|
3
3
|
*/
|
|
4
|
+
import { Id64String, IDisposable } from "@itwin/core-bentley";
|
|
5
|
+
import { FeatureAppearanceProvider, HiddenLine, RenderSchedule, ViewFlagOverrides, ViewFlags } from "@itwin/core-common";
|
|
6
|
+
import { IModelConnection } from "../IModelConnection";
|
|
7
|
+
import { FeatureSymbology } from "./FeatureSymbology";
|
|
8
|
+
import { RenderClipVolume } from "./RenderClipVolume";
|
|
9
|
+
import { RenderGraphic } from "./RenderGraphic";
|
|
10
|
+
import { RenderMemory } from "./RenderMemory";
|
|
11
|
+
import { RenderPlanarClassifier } from "./RenderPlanarClassifier";
|
|
12
|
+
import { RenderTextureDrape } from "./RenderSystem";
|
|
4
13
|
/** Carries information in a GraphicBranchOptions about a GraphicBranch produced by drawing one view into the context of another.
|
|
5
14
|
* @internal
|
|
6
15
|
*/
|
|
@@ -11,15 +20,6 @@ export interface GraphicBranchFrustum {
|
|
|
11
20
|
y: number;
|
|
12
21
|
};
|
|
13
22
|
}
|
|
14
|
-
import { IDisposable } from "@itwin/core-bentley";
|
|
15
|
-
import { FeatureAppearanceProvider, HiddenLine, ViewFlagOverrides, ViewFlags } from "@itwin/core-common";
|
|
16
|
-
import { IModelConnection } from "../IModelConnection";
|
|
17
|
-
import { FeatureSymbology } from "./FeatureSymbology";
|
|
18
|
-
import { RenderClipVolume } from "./RenderClipVolume";
|
|
19
|
-
import { RenderGraphic } from "./RenderGraphic";
|
|
20
|
-
import { RenderMemory } from "./RenderMemory";
|
|
21
|
-
import { RenderPlanarClassifier } from "./RenderPlanarClassifier";
|
|
22
|
-
import { RenderTextureDrape } from "./RenderSystem";
|
|
23
23
|
/** Special values of [[GraphicBranch.animationNodeId]].
|
|
24
24
|
* All other values refer to an [ElementTimeline.batchId]($common) that applies a transform to the graphics in the branch.
|
|
25
25
|
* @internal
|
|
@@ -105,6 +105,8 @@ export interface AnimationBranchState {
|
|
|
105
105
|
readonly clip?: RenderClipVolume;
|
|
106
106
|
readonly omit?: boolean;
|
|
107
107
|
}
|
|
108
|
+
/** @internal */
|
|
109
|
+
export declare function formatAnimationBranchId(modelId: Id64String, branchId: number): string;
|
|
108
110
|
/** Mapping from node/branch IDs to animation branch state
|
|
109
111
|
* @internal
|
|
110
112
|
*/
|
|
@@ -114,4 +116,8 @@ export interface AnimationBranchStates {
|
|
|
114
116
|
/** Ids of nodes that apply a transform. */
|
|
115
117
|
readonly transformNodeIds: ReadonlySet<number>;
|
|
116
118
|
}
|
|
119
|
+
/** @internal */
|
|
120
|
+
export declare namespace AnimationBranchStates {
|
|
121
|
+
function fromScript(script: RenderSchedule.Script, time: number): AnimationBranchStates | undefined;
|
|
122
|
+
}
|
|
117
123
|
//# sourceMappingURL=GraphicBranch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphicBranch.d.ts","sourceRoot":"","sources":["../../../src/render/GraphicBranch.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH
|
|
1
|
+
{"version":3,"file":"GraphicBranch.d.ts","sourceRoot":"","sources":["../../../src/render/GraphicBranch.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
* @module Rendering
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.GraphicBranch = exports.AnimationNodeId = void 0;
|
|
10
|
+
exports.AnimationBranchStates = exports.formatAnimationBranchId = exports.GraphicBranch = exports.AnimationNodeId = void 0;
|
|
11
11
|
const core_bentley_1 = require("@itwin/core-bentley");
|
|
12
|
+
const IModelApp_1 = require("../IModelApp");
|
|
12
13
|
/** Special values of [[GraphicBranch.animationNodeId]].
|
|
13
14
|
* All other values refer to an [ElementTimeline.batchId]($common) that applies a transform to the graphics in the branch.
|
|
14
15
|
* @internal
|
|
@@ -79,4 +80,40 @@ class GraphicBranch {
|
|
|
79
80
|
}
|
|
80
81
|
}
|
|
81
82
|
exports.GraphicBranch = GraphicBranch;
|
|
83
|
+
/** @internal */
|
|
84
|
+
function formatAnimationBranchId(modelId, branchId) {
|
|
85
|
+
if (branchId < 0)
|
|
86
|
+
return modelId;
|
|
87
|
+
return `${modelId}_Node_${branchId.toString()}`;
|
|
88
|
+
}
|
|
89
|
+
exports.formatAnimationBranchId = formatAnimationBranchId;
|
|
90
|
+
function addAnimationBranch(modelId, timeline, branchId, branches, time) {
|
|
91
|
+
const clipVector = timeline.getClipVector(time);
|
|
92
|
+
const clip = clipVector ? IModelApp_1.IModelApp.renderSystem.createClipVolume(clipVector) : undefined;
|
|
93
|
+
if (clip)
|
|
94
|
+
branches.set(formatAnimationBranchId(modelId, branchId), { clip });
|
|
95
|
+
}
|
|
96
|
+
/** @internal */
|
|
97
|
+
var AnimationBranchStates;
|
|
98
|
+
(function (AnimationBranchStates) {
|
|
99
|
+
function fromScript(script, time) {
|
|
100
|
+
if (!script.containsModelClipping && !script.requiresBatching)
|
|
101
|
+
return undefined;
|
|
102
|
+
const branches = new Map();
|
|
103
|
+
for (const model of script.modelTimelines) {
|
|
104
|
+
addAnimationBranch(model.modelId, model, -1, branches, time);
|
|
105
|
+
for (const elem of model.elementTimelines) {
|
|
106
|
+
if (elem.getVisibility(time) <= 0)
|
|
107
|
+
branches.set(formatAnimationBranchId(model.modelId, elem.batchId), { omit: true });
|
|
108
|
+
else
|
|
109
|
+
addAnimationBranch(model.modelId, elem, elem.batchId, branches, time);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return {
|
|
113
|
+
branchStates: branches,
|
|
114
|
+
transformNodeIds: script.transformBatchIds,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
AnimationBranchStates.fromScript = fromScript;
|
|
118
|
+
})(AnimationBranchStates = exports.AnimationBranchStates || (exports.AnimationBranchStates = {}));
|
|
82
119
|
//# sourceMappingURL=GraphicBranch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphicBranch.js","sourceRoot":"","sources":["../../../src/render/GraphicBranch.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAaH,sDAAgE;AAUhE;;;GAGG;AACH,IAAY,eAEX;AAFD,WAAY,eAAe;IACzB,gFAA0B,CAAA;AAC5B,CAAC,EAFW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAE1B;AAED;;;;;;;GAOG;AACH,MAAa,aAAa;IAoBxB;;OAEG;IACH,YAAmB,cAAuB,KAAK;QAtB/C,qCAAqC;QACrB,YAAO,GAAoB,EAAE,CAAC;QAG9C;;WAEG;QACI,sBAAiB,GAAsB,EAAE,CAAC;QAgB/C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,oCAAoC;IAC7B,GAAG,CAAC,OAAsB;QAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,KAAgB;QAClC,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,uFAAuF;IAChF,YAAY,CAAC,KAAgB;QAClC,IAAI,CAAC,iBAAiB,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,oCAAoC;IAC7B,oBAAoB,CAAC,GAAsB;QAChD,IAAI,CAAC,iBAAiB,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IACtC,CAAC;IAED,uFAAuF;IAChF,OAAO;QACZ,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,wDAAwD;IACxD,IAAW,OAAO;QAChB,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IACnC,CAAC;IAED,sIAAsI;IAC/H,KAAK;QACV,IAAI,IAAI,CAAC,WAAW;YAClB,IAAA,2BAAY,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;YAE3B,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,gBAAgB;IACT,iBAAiB,CAAC,KAA8B;QACrD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO;YAC9B,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;CACF;AAzED,sCAyEC","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/** @packageDocumentation\r\n * @module Rendering\r\n */\r\n\r\n/** Carries information in a GraphicBranchOptions about a GraphicBranch produced by drawing one view into the context of another.\r\n * @internal\r\n */\r\nexport interface GraphicBranchFrustum {\r\n is3d: boolean;\r\n scale: {\r\n x: number;\r\n y: number;\r\n };\r\n}\r\n\r\nimport { disposeArray, IDisposable } from \"@itwin/core-bentley\";\r\nimport { FeatureAppearanceProvider, HiddenLine, ViewFlagOverrides, ViewFlags } from \"@itwin/core-common\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { FeatureSymbology } from \"./FeatureSymbology\";\r\nimport { RenderClipVolume } from \"./RenderClipVolume\";\r\nimport { RenderGraphic } from \"./RenderGraphic\";\r\nimport { RenderMemory } from \"./RenderMemory\";\r\nimport { RenderPlanarClassifier } from \"./RenderPlanarClassifier\";\r\nimport { RenderTextureDrape } from \"./RenderSystem\";\r\n\r\n/** Special values of [[GraphicBranch.animationNodeId]].\r\n * All other values refer to an [ElementTimeline.batchId]($common) that applies a transform to the graphics in the branch.\r\n * @internal\r\n */\r\nexport enum AnimationNodeId {\r\n Untransformed = 0xffffffff,\r\n}\r\n\r\n/**\r\n * A node in a scene graph. The branch itself is not renderable. Instead it contains a list of RenderGraphics,\r\n * and a transform, symbology overrides, and clip volume which are to be applied when rendering them.\r\n * Branches can be nested to build an arbitrarily-complex scene graph.\r\n * @see [[RenderSystem.createBranch]]\r\n * @public\r\n * @extensions\r\n */\r\nexport class GraphicBranch implements IDisposable /* , RenderMemory.Consumer */ {\r\n /** The child nodes of this branch */\r\n public readonly entries: RenderGraphic[] = [];\r\n /** If true, when the branch is disposed of, the RenderGraphics in its entries array will also be disposed */\r\n public readonly ownsEntries: boolean;\r\n /** Selectively overrides the view's [ViewFlags]($common) while drawing graphics within this branch. The default overrides nothing.\r\n * @see [[setViewFlagOverrides]].\r\n */\r\n public viewFlagOverrides: ViewFlagOverrides = {};\r\n /** Optional symbology overrides to be applied to all graphics in this branch */\r\n public symbologyOverrides?: FeatureSymbology.Overrides;\r\n /** Optional animation branch Id that incorporates the model Id and, for element timelines, the batch Id.\r\n * @internal\r\n */\r\n public animationId?: string;\r\n /** Identifies the node in the [RenderSchedule.Script]($backend) with which this branch is associated.\r\n * @internal\r\n */\r\n public animationNodeId?: AnimationNodeId | number;\r\n\r\n /** Constructor\r\n * @param ownsEntries If true, when this branch is [[dispose]]d, all of the [[RenderGraphic]]s it contains will also be disposed.\r\n */\r\n public constructor(ownsEntries: boolean = false) {\r\n this.ownsEntries = ownsEntries;\r\n }\r\n\r\n /** Add a graphic to this branch. */\r\n public add(graphic: RenderGraphic): void {\r\n this.entries.push(graphic);\r\n }\r\n\r\n /** Compute the view flags that result from applying this branch's [[viewFlagOverrides]] to the input flags.\r\n * @param flags The input view flags, e.g., from the view's [[DisplayStyleState]].\r\n * @returns The result of applying [[viewFlagOverrides]] to `flags`.\r\n */\r\n public getViewFlags(flags: ViewFlags): ViewFlags {\r\n return flags.override(this.viewFlagOverrides);\r\n }\r\n\r\n /** Set [[viewFlagOverrides]] to override **all** ViewFlags as specified by `flags`. */\r\n public setViewFlags(flags: ViewFlags): void {\r\n this.viewFlagOverrides = { ...flags };\r\n }\r\n\r\n /** Change [[viewFlagOverrides]]. */\r\n public setViewFlagOverrides(ovr: ViewFlagOverrides): void {\r\n this.viewFlagOverrides = { ...ovr };\r\n }\r\n\r\n /** Disposes of all graphics in this branch, if and only if [[ownsEntries]] is true. */\r\n public dispose() {\r\n this.clear();\r\n }\r\n\r\n /** Returns true if this branch contains no graphics. */\r\n public get isEmpty(): boolean {\r\n return 0 === this.entries.length;\r\n }\r\n\r\n /** Empties the list of [[RenderGraphic]]s contained in this branch, and if the [[ownsEntries]] flag is set, also disposes of them. */\r\n public clear(): void {\r\n if (this.ownsEntries)\r\n disposeArray(this.entries);\r\n else\r\n this.entries.length = 0;\r\n }\r\n\r\n /** @internal */\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n for (const entry of this.entries)\r\n entry.collectStatistics(stats);\r\n }\r\n}\r\n\r\n/** Options passed to [[RenderSystem.createGraphicBranch]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GraphicBranchOptions {\r\n /** Clip applied to the graphics in the branch. */\r\n clipVolume?: RenderClipVolume;\r\n /** @internal */\r\n classifierOrDrape?: RenderPlanarClassifier | RenderTextureDrape;\r\n /** Optionally replaces the view's hidden line settings when drawing the branch. */\r\n hline?: HiddenLine.Settings;\r\n /** The iModel from which the graphics originate, if different than that associated with the view. */\r\n iModel?: IModelConnection;\r\n /** @internal */\r\n frustum?: GraphicBranchFrustum;\r\n /** Supplements the view's [[FeatureSymbology.Overrides]] for graphics in the branch. */\r\n appearanceProvider?: FeatureAppearanceProvider;\r\n /** @internal Secondary planar classifiers (map layers) */\r\n secondaryClassifiers?: Map<number, RenderPlanarClassifier>;\r\n}\r\n\r\n/** Clip/Transform for a branch that are varied over time.\r\n * @internal\r\n */\r\nexport interface AnimationBranchState {\r\n readonly clip?: RenderClipVolume;\r\n readonly omit?: boolean;\r\n}\r\n\r\n/** Mapping from node/branch IDs to animation branch state\r\n * @internal\r\n */\r\nexport interface AnimationBranchStates {\r\n /** Maps node Id to branch state. */\r\n readonly branchStates: Map<string, AnimationBranchState>;\r\n /** Ids of nodes that apply a transform. */\r\n readonly transformNodeIds: ReadonlySet<number>;\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"GraphicBranch.js","sourceRoot":"","sources":["../../../src/render/GraphicBranch.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/** @packageDocumentation\r\n * @module Rendering\r\n */\r\n\r\nimport { disposeArray, Id64String, IDisposable } from \"@itwin/core-bentley\";\r\nimport {\r\n FeatureAppearanceProvider, HiddenLine, RenderSchedule, ViewFlagOverrides, ViewFlags,\r\n} from \"@itwin/core-common\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { IModelApp } from \"../IModelApp\";\r\nimport { FeatureSymbology } from \"./FeatureSymbology\";\r\nimport { RenderClipVolume } from \"./RenderClipVolume\";\r\nimport { RenderGraphic } from \"./RenderGraphic\";\r\nimport { RenderMemory } from \"./RenderMemory\";\r\nimport { RenderPlanarClassifier } from \"./RenderPlanarClassifier\";\r\nimport { RenderTextureDrape } from \"./RenderSystem\";\r\n\r\n/** Carries information in a GraphicBranchOptions about a GraphicBranch produced by drawing one view into the context of another.\r\n * @internal\r\n */\r\nexport interface GraphicBranchFrustum {\r\n is3d: boolean;\r\n scale: {\r\n x: number;\r\n y: number;\r\n };\r\n}\r\n\r\n/** Special values of [[GraphicBranch.animationNodeId]].\r\n * All other values refer to an [ElementTimeline.batchId]($common) that applies a transform to the graphics in the branch.\r\n * @internal\r\n */\r\nexport enum AnimationNodeId {\r\n Untransformed = 0xffffffff,\r\n}\r\n\r\n/**\r\n * A node in a scene graph. The branch itself is not renderable. Instead it contains a list of RenderGraphics,\r\n * and a transform, symbology overrides, and clip volume which are to be applied when rendering them.\r\n * Branches can be nested to build an arbitrarily-complex scene graph.\r\n * @see [[RenderSystem.createBranch]]\r\n * @public\r\n * @extensions\r\n */\r\nexport class GraphicBranch implements IDisposable /* , RenderMemory.Consumer */ {\r\n /** The child nodes of this branch */\r\n public readonly entries: RenderGraphic[] = [];\r\n /** If true, when the branch is disposed of, the RenderGraphics in its entries array will also be disposed */\r\n public readonly ownsEntries: boolean;\r\n /** Selectively overrides the view's [ViewFlags]($common) while drawing graphics within this branch. The default overrides nothing.\r\n * @see [[setViewFlagOverrides]].\r\n */\r\n public viewFlagOverrides: ViewFlagOverrides = {};\r\n /** Optional symbology overrides to be applied to all graphics in this branch */\r\n public symbologyOverrides?: FeatureSymbology.Overrides;\r\n /** Optional animation branch Id that incorporates the model Id and, for element timelines, the batch Id.\r\n * @internal\r\n */\r\n public animationId?: string;\r\n /** Identifies the node in the [RenderSchedule.Script]($backend) with which this branch is associated.\r\n * @internal\r\n */\r\n public animationNodeId?: AnimationNodeId | number;\r\n\r\n /** Constructor\r\n * @param ownsEntries If true, when this branch is [[dispose]]d, all of the [[RenderGraphic]]s it contains will also be disposed.\r\n */\r\n public constructor(ownsEntries: boolean = false) {\r\n this.ownsEntries = ownsEntries;\r\n }\r\n\r\n /** Add a graphic to this branch. */\r\n public add(graphic: RenderGraphic): void {\r\n this.entries.push(graphic);\r\n }\r\n\r\n /** Compute the view flags that result from applying this branch's [[viewFlagOverrides]] to the input flags.\r\n * @param flags The input view flags, e.g., from the view's [[DisplayStyleState]].\r\n * @returns The result of applying [[viewFlagOverrides]] to `flags`.\r\n */\r\n public getViewFlags(flags: ViewFlags): ViewFlags {\r\n return flags.override(this.viewFlagOverrides);\r\n }\r\n\r\n /** Set [[viewFlagOverrides]] to override **all** ViewFlags as specified by `flags`. */\r\n public setViewFlags(flags: ViewFlags): void {\r\n this.viewFlagOverrides = { ...flags };\r\n }\r\n\r\n /** Change [[viewFlagOverrides]]. */\r\n public setViewFlagOverrides(ovr: ViewFlagOverrides): void {\r\n this.viewFlagOverrides = { ...ovr };\r\n }\r\n\r\n /** Disposes of all graphics in this branch, if and only if [[ownsEntries]] is true. */\r\n public dispose() {\r\n this.clear();\r\n }\r\n\r\n /** Returns true if this branch contains no graphics. */\r\n public get isEmpty(): boolean {\r\n return 0 === this.entries.length;\r\n }\r\n\r\n /** Empties the list of [[RenderGraphic]]s contained in this branch, and if the [[ownsEntries]] flag is set, also disposes of them. */\r\n public clear(): void {\r\n if (this.ownsEntries)\r\n disposeArray(this.entries);\r\n else\r\n this.entries.length = 0;\r\n }\r\n\r\n /** @internal */\r\n public collectStatistics(stats: RenderMemory.Statistics): void {\r\n for (const entry of this.entries)\r\n entry.collectStatistics(stats);\r\n }\r\n}\r\n\r\n/** Options passed to [[RenderSystem.createGraphicBranch]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GraphicBranchOptions {\r\n /** Clip applied to the graphics in the branch. */\r\n clipVolume?: RenderClipVolume;\r\n /** @internal */\r\n classifierOrDrape?: RenderPlanarClassifier | RenderTextureDrape;\r\n /** Optionally replaces the view's hidden line settings when drawing the branch. */\r\n hline?: HiddenLine.Settings;\r\n /** The iModel from which the graphics originate, if different than that associated with the view. */\r\n iModel?: IModelConnection;\r\n /** @internal */\r\n frustum?: GraphicBranchFrustum;\r\n /** Supplements the view's [[FeatureSymbology.Overrides]] for graphics in the branch. */\r\n appearanceProvider?: FeatureAppearanceProvider;\r\n /** @internal Secondary planar classifiers (map layers) */\r\n secondaryClassifiers?: Map<number, RenderPlanarClassifier>;\r\n}\r\n\r\n/** Clip/Transform for a branch that are varied over time.\r\n * @internal\r\n */\r\nexport interface AnimationBranchState {\r\n readonly clip?: RenderClipVolume;\r\n readonly omit?: boolean;\r\n}\r\n\r\n/** @internal */\r\nexport function formatAnimationBranchId(modelId: Id64String, branchId: number): string {\r\n if (branchId < 0)\r\n return modelId;\r\n\r\n return `${modelId}_Node_${branchId.toString()}`;\r\n}\r\n\r\nfunction addAnimationBranch(modelId: Id64String, timeline: RenderSchedule.Timeline, branchId: number, branches: Map<string, AnimationBranchState>, time: number): void {\r\n const clipVector = timeline.getClipVector(time);\r\n const clip = clipVector ? IModelApp.renderSystem.createClipVolume(clipVector) : undefined;\r\n if (clip)\r\n branches.set(formatAnimationBranchId(modelId, branchId), { clip });\r\n}\r\n\r\n/** Mapping from node/branch IDs to animation branch state\r\n * @internal\r\n */\r\nexport interface AnimationBranchStates {\r\n /** Maps node Id to branch state. */\r\n readonly branchStates: Map<string, AnimationBranchState>;\r\n /** Ids of nodes that apply a transform. */\r\n readonly transformNodeIds: ReadonlySet<number>;\r\n}\r\n\r\n/** @internal */\r\nexport namespace AnimationBranchStates {\r\n export function fromScript(script: RenderSchedule.Script, time: number): AnimationBranchStates | undefined {\r\n if (!script.containsModelClipping && !script.requiresBatching)\r\n return undefined;\r\n\r\n const branches = new Map<string, AnimationBranchState>();\r\n for (const model of script.modelTimelines) {\r\n addAnimationBranch(model.modelId, model, -1, branches, time);\r\n for (const elem of model.elementTimelines) {\r\n if (elem.getVisibility(time) <= 0)\r\n branches.set(formatAnimationBranchId(model.modelId, elem.batchId), { omit: true });\r\n else\r\n addAnimationBranch(model.modelId, elem, elem.batchId, branches, time);\r\n }\r\n }\r\n\r\n return {\r\n branchStates: branches,\r\n transformNodeIds: script.transformBatchIds,\r\n };\r\n }\r\n}\r\n"]}
|
|
@@ -548,6 +548,11 @@ export declare namespace RenderSystem {
|
|
|
548
548
|
* @internal
|
|
549
549
|
*/
|
|
550
550
|
contextAttributes?: WebGLContextAttributes;
|
|
551
|
+
/** If true, will cause exception when a shader uniform is missing (usually optimized out), otherwise will only log these.
|
|
552
|
+
* Default value: false
|
|
553
|
+
* @public
|
|
554
|
+
*/
|
|
555
|
+
errorOnMissingUniform?: boolean;
|
|
551
556
|
/** If true, and the `WEBGL_debug_shaders` extension is available, accumulate debug information during shader compilation.
|
|
552
557
|
* This information can be accessed via `RenderSystemDebugControl.debugShaderFiles`.
|
|
553
558
|
* Default value: false
|