@itwin/core-frontend 3.3.0-dev.8 → 3.3.0-dev.80
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 +37 -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/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/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/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/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 +25 -25
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IModelTileTree.js","sourceRoot":"","sources":["../../../src/tile/IModelTileTree.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 Tiles\r\n */\r\n\r\nimport { assert, BeTimePoint, GuidString, Id64Array, Id64String } from \"@itwin/core-bentley\";\r\nimport { Range3d, Transform } from \"@itwin/core-geometry\";\r\nimport {\r\n BatchType, ContentIdProvider, EdgeOptions, ElementAlignedBox3d, ElementGeometryChange, FeatureAppearanceProvider,\r\n IModelTileTreeId, IModelTileTreeProps, ModelGeometryChanges, TileProps,\r\n} from \"@itwin/core-common\";\r\nimport { IModelApp } from \"../IModelApp\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { GraphicalEditingScope } from \"../GraphicalEditingScope\";\r\nimport { RenderSystem } from \"../render/RenderSystem\";\r\nimport { GraphicBranch } from \"../render/GraphicBranch\";\r\nimport {\r\n DynamicIModelTile, IModelTile, IModelTileParams, iModelTileParamsFromJSON, Tile, TileContent, TileDrawArgs, TileLoadPriority, TileParams, TileRequest,\r\n TileRequestChannel, TileTree, TileTreeParams,\r\n} from \"./internal\";\r\n\r\n/** @internal */\r\nexport interface IModelTileTreeOptions {\r\n readonly allowInstancing: boolean;\r\n readonly edges: EdgeOptions | false;\r\n readonly batchType: BatchType;\r\n readonly is3d: boolean;\r\n}\r\n\r\n// Overrides nothing.\r\nconst viewFlagOverrides = {};\r\n\r\n/** Parameters used to construct an [[IModelTileTree]]\r\n * @internal\r\n */\r\nexport interface IModelTileTreeParams extends TileTreeParams {\r\n rootTile: TileProps;\r\n contentIdQualifier?: string;\r\n geometryGuid?: GuidString;\r\n maxInitialTilesToSkip?: number;\r\n formatVersion?: number;\r\n tileScreenSize: number;\r\n options: IModelTileTreeOptions;\r\n transformNodeRanges?: Map<number, Range3d>;\r\n}\r\n\r\n/** @internal */\r\nexport function iModelTileTreeParamsFromJSON(props: IModelTileTreeProps, iModel: IModelConnection, modelId: Id64String, options: IModelTileTreeOptions): IModelTileTreeParams {\r\n const location = Transform.fromJSON(props.location);\r\n const { formatVersion, id, rootTile, contentIdQualifier, maxInitialTilesToSkip, geometryGuid } = props;\r\n const tileScreenSize = props.tileScreenSize ?? 512;\r\n\r\n let contentRange;\r\n if (undefined !== props.contentRange)\r\n contentRange = Range3d.fromJSON<ElementAlignedBox3d>(props.contentRange);\r\n\r\n let transformNodeRanges;\r\n if (props.transformNodeRanges) {\r\n transformNodeRanges = new Map<number, Range3d>();\r\n for (const entry of props.transformNodeRanges)\r\n transformNodeRanges.set(entry.id, Range3d.fromJSON(entry));\r\n }\r\n\r\n const priority = BatchType.Primary === options.batchType ? TileLoadPriority.Primary : TileLoadPriority.Classifier;\r\n return {\r\n formatVersion,\r\n id,\r\n rootTile,\r\n iModel,\r\n location,\r\n modelId,\r\n contentRange,\r\n geometryGuid,\r\n contentIdQualifier,\r\n maxInitialTilesToSkip,\r\n priority,\r\n options,\r\n tileScreenSize,\r\n transformNodeRanges,\r\n };\r\n}\r\n\r\nfunction findElementChangesForModel(changes: Iterable<ModelGeometryChanges>, modelId: Id64String): Iterable<ElementGeometryChange> | undefined {\r\n for (const change of changes)\r\n if (change.id === modelId)\r\n return change.elements;\r\n\r\n return undefined;\r\n}\r\n\r\n/** No graphical editing scope is currently active. */\r\nclass StaticState {\r\n public readonly type = \"static\";\r\n public readonly dispose: () => void;\r\n\r\n public constructor(root: RootTile) {\r\n this.dispose = GraphicalEditingScope.onEnter.addOnce((scope: GraphicalEditingScope) => {\r\n root.transition(new InteractiveState(scope, root));\r\n });\r\n }\r\n}\r\n\r\n/** A graphical editing scope is currently active, but no elements in the tile tree's model have been modified. */\r\nclass InteractiveState {\r\n public readonly type = \"interactive\";\r\n public readonly dispose: () => void;\r\n\r\n public constructor(scope: GraphicalEditingScope, root: RootTile) {\r\n const removeEndingListener = scope.onExiting.addOnce((_) => {\r\n root.transition(new StaticState(root));\r\n });\r\n\r\n const removeGeomListener = scope.onGeometryChanges.addListener((changes: Iterable<ModelGeometryChanges>, _scope: GraphicalEditingScope) => {\r\n assert(scope === _scope);\r\n const elemChanges = findElementChangesForModel(changes, root.tree.modelId);\r\n if (elemChanges)\r\n root.transition(new DynamicState(root, elemChanges, scope));\r\n });\r\n\r\n this.dispose = () => {\r\n removeEndingListener();\r\n removeGeomListener();\r\n };\r\n }\r\n}\r\n\r\n/** Elements in the tile tree's model have been modified during the current editing scope. */\r\nclass DynamicState {\r\n public readonly type = \"dynamic\";\r\n public readonly rootTile: DynamicIModelTile;\r\n private readonly _dispose: () => void;\r\n\r\n public dispose(): void {\r\n this._dispose();\r\n this.rootTile.dispose();\r\n }\r\n\r\n public constructor(root: RootTile, elemChanges: Iterable<ElementGeometryChange>, scope: GraphicalEditingScope) {\r\n this.rootTile = DynamicIModelTile.create(root, elemChanges);\r\n\r\n const removeEndingListener = scope.onExiting.addOnce((_) => {\r\n root.transition(new StaticState(root));\r\n });\r\n\r\n const removeGeomListener = scope.onGeometryChanges.addListener((changes: Iterable<ModelGeometryChanges>, _scope: GraphicalEditingScope) => {\r\n assert(scope === _scope);\r\n const elems = findElementChangesForModel(changes, root.tree.modelId);\r\n if (elems)\r\n this.rootTile.handleGeometryChanges(elems);\r\n });\r\n\r\n this._dispose = () => {\r\n removeEndingListener();\r\n removeGeomListener();\r\n };\r\n }\r\n}\r\n\r\n/** The tile tree has been disposed. */\r\nclass DisposedState {\r\n public readonly type = \"disposed\";\r\n public dispose(): void { }\r\n}\r\n\r\nconst disposedState = new DisposedState();\r\n\r\n/** The current state of an [[IModelTileTree]]'s [[RootTile]]. The tile transitions between these states primarily in response to GraphicalEditingScope events. */\r\ntype RootTileState = StaticState | InteractiveState | DynamicState | DisposedState;\r\n\r\n/** The root tile for an [[IModelTileTree]].\r\n * @internal\r\n */\r\nexport type RootIModelTile = Tile & { tileScreenSize: number, updateDynamicRange: (childTile: Tile) => void };\r\n\r\n/** Represents the root [[Tile]] of an [[IModelTileTree]]. The root tile has one or two direct child tiles which represent different branches of the tree:\r\n * - The static branch, containing tiles that represent the state of the model's geometry as of the beginning of the current [[GraphicalEditingScope]].\r\n * - The dynamic branch, containing tiles representing the geometry of elements that have been modified during the current [[GraphicalEditingScope]].\r\n * If no editing scope is currently active, the dynamic branch does not exist, and the static branch represents the current state of all elements in the model.\r\n */\r\nclass RootTile extends Tile {\r\n public readonly staticBranch: IModelTile;\r\n private _tileState: RootTileState;\r\n private readonly _staticTreeContentRange?: Range3d;\r\n\r\n public get tileState(): RootTileState {\r\n return this._tileState;\r\n }\r\n\r\n public constructor(params: IModelTileParams, tree: IModelTileTree) {\r\n const rootParams: TileParams = {\r\n ...params,\r\n range: params.range.clone(),\r\n contentRange: params.contentRange?.clone(),\r\n isLeaf: false,\r\n contentId: \"\",\r\n };\r\n\r\n super(rootParams, tree);\r\n this.staticBranch = new IModelTile(params, tree);\r\n this._staticTreeContentRange = tree.contentRange?.clone();\r\n\r\n if (!this._contentRange)\r\n this._contentRange = this.staticBranch.contentRange.clone();\r\n\r\n // Determine initial state.\r\n const scope = tree.iModel.isBriefcaseConnection() ? tree.iModel.editingScope : undefined;\r\n if (undefined === scope) {\r\n this._tileState = new StaticState(this);\r\n } else {\r\n const changes = scope.getGeometryChangesForModel(tree.modelId);\r\n this._tileState = changes ? new DynamicState(this, changes, scope) : new InteractiveState(scope, this);\r\n }\r\n\r\n // Load the children immediately.\r\n this.setIsReady();\r\n this.loadChildren();\r\n }\r\n\r\n public override dispose(): void {\r\n this.transition(disposedState);\r\n super.dispose();\r\n }\r\n\r\n protected _loadChildren(resolve: (children: Tile[] | undefined) => void, _reject: (error: Error) => void): void {\r\n const children: Tile[] = [this.staticBranch];\r\n if (this._tileState.type === \"dynamic\")\r\n children.push(this._tileState.rootTile);\r\n\r\n resolve(children);\r\n }\r\n\r\n public get channel(): TileRequestChannel {\r\n throw new Error(\"Root iModel tile has no content\");\r\n }\r\n\r\n public async requestContent(_isCanceled: () => boolean): Promise<TileRequest.Response> {\r\n assert(false, \"Root iModel tile has no content\");\r\n return undefined;\r\n }\r\n\r\n public async readContent(_data: TileRequest.ResponseData, _system: RenderSystem, _isCanceled: () => boolean): Promise<TileContent> {\r\n throw new Error(\"Root iModel tile has no content\");\r\n }\r\n\r\n public draw(args: TileDrawArgs, tiles: Tile[], numStaticTiles: number): void {\r\n assert(numStaticTiles >= 0 && numStaticTiles <= tiles.length);\r\n\r\n // Draw the static tiles.\r\n for (let i = 0; i < numStaticTiles; i++)\r\n tiles[i].drawGraphics(args);\r\n\r\n if (\"dynamic\" !== this._tileState.type || numStaticTiles === tiles.length) {\r\n if (\"dynamic\" === this._tileState.type)\r\n args.addAppearanceProvider(this._tileState.rootTile.appearanceProvider);\r\n\r\n args.drawGraphics();\r\n return;\r\n }\r\n\r\n // We need to hide any modified elements in the static tiles. Pull their graphics into a separate branch.\r\n if (!args.graphics.isEmpty) {\r\n const staticBranch = new GraphicBranch();\r\n for (const staticGraphic of args.graphics.entries)\r\n staticBranch.add(staticGraphic);\r\n\r\n let appearanceProvider = this._tileState.rootTile.appearanceProvider;\r\n if (args.appearanceProvider)\r\n appearanceProvider = FeatureAppearanceProvider.chain(args.appearanceProvider, appearanceProvider);\r\n\r\n args.graphics.clear();\r\n args.graphics.add(args.context.createGraphicBranch(staticBranch, Transform.createIdentity(), { appearanceProvider }));\r\n }\r\n\r\n // Draw the dynamic tiles.\r\n for (let i = numStaticTiles; i < tiles.length; i++)\r\n tiles[i].drawGraphics(args);\r\n\r\n args.drawGraphics();\r\n }\r\n\r\n public prune(olderThan: BeTimePoint): void {\r\n this.staticBranch.pruneChildren(olderThan);\r\n if (\"dynamic\" === this._tileState.type)\r\n this._tileState.rootTile.pruneChildren(olderThan);\r\n }\r\n\r\n public transition(newState: RootTileState): void {\r\n assert(newState.type !== this._tileState.type);\r\n const resetRange = \"dynamic\" === this._tileState.type;\r\n\r\n assert(undefined !== this.children);\r\n if (\"dynamic\" === this._tileState.type) {\r\n assert(2 === this.children.length);\r\n this.children.pop();\r\n } else if (\"dynamic\" === newState.type) {\r\n assert(1 === this.children.length);\r\n this.children.push(newState.rootTile);\r\n }\r\n\r\n this._tileState.dispose();\r\n this._tileState = newState;\r\n\r\n if (resetRange)\r\n this.resetRange();\r\n }\r\n\r\n private resetRange(): void {\r\n this.staticBranch.range.clone(this.range);\r\n this.staticBranch.contentRange.clone(this._contentRange);\r\n\r\n if (this._staticTreeContentRange && this.tree.contentRange)\r\n this._staticTreeContentRange.clone(this.tree.contentRange);\r\n\r\n }\r\n\r\n public get tileScreenSize(): number {\r\n return this.staticBranch.iModelTree.tileScreenSize;\r\n }\r\n\r\n public updateDynamicRange(tile: Tile): void {\r\n this.resetRange();\r\n if (this._staticTreeContentRange && this.tree.contentRange && !tile.contentRange.isNull)\r\n this.tree.contentRange.extendRange(tile.contentRange);\r\n\r\n if (!tile.range.isNull)\r\n this.range.extendRange(tile.range);\r\n\r\n assert(undefined !== this._contentRange);\r\n if (!tile.contentRange.isNull)\r\n this._contentRange.extendRange(tile.contentRange);\r\n }\r\n}\r\n\r\n/** A TileTree whose contents are derived from geometry stored in a Model in an IModelDb.\r\n * @internal\r\n */\r\nexport class IModelTileTree extends TileTree {\r\n private readonly _rootTile: RootTile;\r\n private readonly _options: IModelTileTreeOptions;\r\n private readonly _transformNodeRanges?: Map<number, Range3d>;\r\n public readonly contentIdQualifier?: string;\r\n public readonly geometryGuid?: string;\r\n public readonly maxTilesToSkip: number;\r\n public readonly maxInitialTilesToSkip: number;\r\n public readonly contentIdProvider: ContentIdProvider;\r\n public readonly stringifiedSectionClip?: string;\r\n public readonly tileScreenSize: number;\r\n /** Strictly for debugging/testing - forces tile selection to halt at the specified depth. */\r\n public debugMaxDepth?: number;\r\n /** A little hacky...we must not override selectTiles(), but draw() needs to distinguish between static and dynamic tiles.\r\n * So _selectTiles() puts the static tiles first in the Tile[] array, and records the number of static tiles selected, to be\r\n * used by draw().\r\n */\r\n private _numStaticTilesSelected = 0;\r\n\r\n public constructor(params: IModelTileTreeParams, treeId: IModelTileTreeId) {\r\n super(params);\r\n this.contentIdQualifier = params.contentIdQualifier;\r\n this.geometryGuid = params.geometryGuid;\r\n this.tileScreenSize = params.tileScreenSize;\r\n\r\n if (BatchType.Primary === treeId.type)\r\n this.stringifiedSectionClip = treeId.sectionCut;\r\n\r\n this.maxInitialTilesToSkip = params.maxInitialTilesToSkip ?? 0;\r\n this.maxTilesToSkip = IModelApp.tileAdmin.maximumLevelsToSkip;\r\n\r\n this._options = params.options;\r\n this._transformNodeRanges = params.transformNodeRanges;\r\n\r\n this.contentIdProvider = ContentIdProvider.create(params.options.allowInstancing, IModelApp.tileAdmin, params.formatVersion);\r\n\r\n params.rootTile.contentId = this.contentIdProvider.rootContentId;\r\n this._rootTile = new RootTile(iModelTileParamsFromJSON(params.rootTile, undefined), this);\r\n }\r\n\r\n public get maxDepth() { return 32; }\r\n public get rootTile(): Tile { return this._rootTile; }\r\n /** Exposed chiefly for tests. */\r\n public get staticBranch(): IModelTile { return this._rootTile.staticBranch; }\r\n public get is3d() { return this._options.is3d; }\r\n public override get isContentUnbounded() { return false; }\r\n public get viewFlagOverrides() { return viewFlagOverrides; }\r\n\r\n public get batchType(): BatchType { return this._options.batchType; }\r\n public get edgeOptions(): EdgeOptions | false { return this._options.edges; }\r\n\r\n public override get loadPriority(): TileLoadPriority {\r\n // If the model has been modified, we want to prioritize keeping its graphics up to date.\r\n return this.tileState === \"dynamic\" ? TileLoadPriority.Dynamic : super.loadPriority;\r\n }\r\n\r\n protected _selectTiles(args: TileDrawArgs): Tile[] {\r\n args.markUsed(this._rootTile);\r\n const tiles: Tile[] = [];\r\n this._rootTile.staticBranch.selectTiles(tiles, args, 0);\r\n this._numStaticTilesSelected = tiles.length;\r\n\r\n if (this._rootTile.tileState.type === \"dynamic\")\r\n this._rootTile.tileState.rootTile.selectTiles(tiles, args);\r\n\r\n return tiles;\r\n }\r\n\r\n public draw(args: TileDrawArgs): void {\r\n const tiles = this.selectTiles(args);\r\n this._rootTile.draw(args, tiles, this._numStaticTilesSelected);\r\n }\r\n\r\n public prune(): void {\r\n const olderThan = BeTimePoint.now().minus(this.expirationTime);\r\n this._rootTile.prune(olderThan);\r\n }\r\n\r\n /** Exposed strictly for tests. */\r\n public get tileState(): \"static\" | \"dynamic\" | \"interactive\" | \"disposed\" {\r\n return this._rootTile.tileState.type;\r\n }\r\n\r\n /** Exposed strictly for tests. */\r\n public get hiddenElements(): Id64Array {\r\n const state = this._rootTile.tileState;\r\n return \"dynamic\" === state.type ? state.rootTile.hiddenElements : [];\r\n }\r\n\r\n public getTransformNodeRange(nodeId: number): Range3d | undefined {\r\n return this._transformNodeRanges?.get(nodeId);\r\n }\r\n\r\n public get containsTransformNodes(): boolean {\r\n return undefined !== this._transformNodeRanges;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"IModelTileTree.js","sourceRoot":"","sources":["../../../src/tile/IModelTileTree.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 Tiles\r\n */\r\n\r\nimport { assert, BeTimePoint, GuidString, Id64Array, Id64String } from \"@itwin/core-bentley\";\r\nimport { Range3d, Transform } from \"@itwin/core-geometry\";\r\nimport {\r\n BatchType, ContentIdProvider, EdgeOptions, ElementAlignedBox3d, ElementGeometryChange, FeatureAppearanceProvider,\r\n IModelTileTreeId, IModelTileTreeProps, ModelGeometryChanges, RenderSchedule, TileProps,\r\n} from \"@itwin/core-common\";\r\nimport { IModelApp } from \"../IModelApp\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { GraphicalEditingScope } from \"../GraphicalEditingScope\";\r\nimport { RenderSystem } from \"../render/RenderSystem\";\r\nimport { GraphicBranch } from \"../render/GraphicBranch\";\r\nimport {\r\n DynamicIModelTile, IModelTile, IModelTileParams, iModelTileParamsFromJSON, Tile, TileContent, TileDrawArgs, TileLoadPriority, TileParams, TileRequest,\r\n TileRequestChannel, TileTree, TileTreeParams,\r\n} from \"./internal\";\r\n\r\n/** @internal */\r\nexport interface IModelTileTreeOptions {\r\n readonly allowInstancing: boolean;\r\n readonly edges: EdgeOptions | false;\r\n readonly batchType: BatchType;\r\n readonly is3d: boolean;\r\n readonly timeline: RenderSchedule.ModelTimeline | undefined;\r\n}\r\n\r\n// Overrides nothing.\r\nconst viewFlagOverrides = {};\r\n\r\n/** Parameters used to construct an [[IModelTileTree]]\r\n * @internal\r\n */\r\nexport interface IModelTileTreeParams extends TileTreeParams {\r\n rootTile: TileProps;\r\n contentIdQualifier?: string;\r\n geometryGuid?: GuidString;\r\n maxInitialTilesToSkip?: number;\r\n formatVersion?: number;\r\n tileScreenSize: number;\r\n options: IModelTileTreeOptions;\r\n transformNodeRanges?: Map<number, Range3d>;\r\n}\r\n\r\n/** @internal */\r\nexport function iModelTileTreeParamsFromJSON(props: IModelTileTreeProps, iModel: IModelConnection, modelId: Id64String, options: IModelTileTreeOptions): IModelTileTreeParams {\r\n const location = Transform.fromJSON(props.location);\r\n const { formatVersion, id, rootTile, contentIdQualifier, maxInitialTilesToSkip, geometryGuid } = props;\r\n const tileScreenSize = props.tileScreenSize ?? 512;\r\n\r\n let contentRange;\r\n if (undefined !== props.contentRange)\r\n contentRange = Range3d.fromJSON<ElementAlignedBox3d>(props.contentRange);\r\n\r\n let transformNodeRanges;\r\n if (props.transformNodeRanges) {\r\n transformNodeRanges = new Map<number, Range3d>();\r\n for (const entry of props.transformNodeRanges)\r\n transformNodeRanges.set(entry.id, Range3d.fromJSON(entry));\r\n }\r\n\r\n const priority = BatchType.Primary === options.batchType ? TileLoadPriority.Primary : TileLoadPriority.Classifier;\r\n return {\r\n formatVersion,\r\n id,\r\n rootTile,\r\n iModel,\r\n location,\r\n modelId,\r\n contentRange,\r\n geometryGuid,\r\n contentIdQualifier,\r\n maxInitialTilesToSkip,\r\n priority,\r\n options,\r\n tileScreenSize,\r\n transformNodeRanges,\r\n };\r\n}\r\n\r\nfunction findElementChangesForModel(changes: Iterable<ModelGeometryChanges>, modelId: Id64String): Iterable<ElementGeometryChange> | undefined {\r\n for (const change of changes)\r\n if (change.id === modelId)\r\n return change.elements;\r\n\r\n return undefined;\r\n}\r\n\r\n/** No graphical editing scope is currently active. */\r\nclass StaticState {\r\n public readonly type = \"static\";\r\n public readonly dispose: () => void;\r\n\r\n public constructor(root: RootTile) {\r\n this.dispose = GraphicalEditingScope.onEnter.addOnce((scope: GraphicalEditingScope) => {\r\n root.transition(new InteractiveState(scope, root));\r\n });\r\n }\r\n}\r\n\r\n/** A graphical editing scope is currently active, but no elements in the tile tree's model have been modified. */\r\nclass InteractiveState {\r\n public readonly type = \"interactive\";\r\n public readonly dispose: () => void;\r\n\r\n public constructor(scope: GraphicalEditingScope, root: RootTile) {\r\n const removeEndingListener = scope.onExiting.addOnce((_) => {\r\n root.transition(new StaticState(root));\r\n });\r\n\r\n const removeGeomListener = scope.onGeometryChanges.addListener((changes: Iterable<ModelGeometryChanges>, _scope: GraphicalEditingScope) => {\r\n assert(scope === _scope);\r\n const elemChanges = findElementChangesForModel(changes, root.tree.modelId);\r\n if (elemChanges)\r\n root.transition(new DynamicState(root, elemChanges, scope));\r\n });\r\n\r\n this.dispose = () => {\r\n removeEndingListener();\r\n removeGeomListener();\r\n };\r\n }\r\n}\r\n\r\n/** Elements in the tile tree's model have been modified during the current editing scope. */\r\nclass DynamicState {\r\n public readonly type = \"dynamic\";\r\n public readonly rootTile: DynamicIModelTile;\r\n private readonly _dispose: () => void;\r\n\r\n public dispose(): void {\r\n this._dispose();\r\n this.rootTile.dispose();\r\n }\r\n\r\n public constructor(root: RootTile, elemChanges: Iterable<ElementGeometryChange>, scope: GraphicalEditingScope) {\r\n this.rootTile = DynamicIModelTile.create(root, elemChanges);\r\n\r\n const removeEndingListener = scope.onExiting.addOnce((_) => {\r\n root.transition(new StaticState(root));\r\n });\r\n\r\n const removeGeomListener = scope.onGeometryChanges.addListener((changes: Iterable<ModelGeometryChanges>, _scope: GraphicalEditingScope) => {\r\n assert(scope === _scope);\r\n const elems = findElementChangesForModel(changes, root.tree.modelId);\r\n if (elems)\r\n this.rootTile.handleGeometryChanges(elems);\r\n });\r\n\r\n this._dispose = () => {\r\n removeEndingListener();\r\n removeGeomListener();\r\n };\r\n }\r\n}\r\n\r\n/** The tile tree has been disposed. */\r\nclass DisposedState {\r\n public readonly type = \"disposed\";\r\n public dispose(): void { }\r\n}\r\n\r\nconst disposedState = new DisposedState();\r\n\r\n/** The current state of an [[IModelTileTree]]'s [[RootTile]]. The tile transitions between these states primarily in response to GraphicalEditingScope events. */\r\ntype RootTileState = StaticState | InteractiveState | DynamicState | DisposedState;\r\n\r\n/** The root tile for an [[IModelTileTree]].\r\n * @internal\r\n */\r\nexport type RootIModelTile = Tile & { tileScreenSize: number, updateDynamicRange: (childTile: Tile) => void };\r\n\r\n/** Represents the root [[Tile]] of an [[IModelTileTree]]. The root tile has one or two direct child tiles which represent different branches of the tree:\r\n * - The static branch, containing tiles that represent the state of the model's geometry as of the beginning of the current [[GraphicalEditingScope]].\r\n * - The dynamic branch, containing tiles representing the geometry of elements that have been modified during the current [[GraphicalEditingScope]].\r\n * If no editing scope is currently active, the dynamic branch does not exist, and the static branch represents the current state of all elements in the model.\r\n */\r\nclass RootTile extends Tile {\r\n public readonly staticBranch: IModelTile;\r\n private _tileState: RootTileState;\r\n private readonly _staticTreeContentRange?: Range3d;\r\n\r\n public get tileState(): RootTileState {\r\n return this._tileState;\r\n }\r\n\r\n public constructor(params: IModelTileParams, tree: IModelTileTree) {\r\n const rootParams: TileParams = {\r\n ...params,\r\n range: params.range.clone(),\r\n contentRange: params.contentRange?.clone(),\r\n isLeaf: false,\r\n contentId: \"\",\r\n };\r\n\r\n super(rootParams, tree);\r\n this.staticBranch = new IModelTile(params, tree);\r\n this._staticTreeContentRange = tree.contentRange?.clone();\r\n\r\n if (!this._contentRange)\r\n this._contentRange = this.staticBranch.contentRange.clone();\r\n\r\n // Determine initial state.\r\n const scope = tree.iModel.isBriefcaseConnection() ? tree.iModel.editingScope : undefined;\r\n if (undefined === scope) {\r\n this._tileState = new StaticState(this);\r\n } else {\r\n const changes = scope.getGeometryChangesForModel(tree.modelId);\r\n this._tileState = changes ? new DynamicState(this, changes, scope) : new InteractiveState(scope, this);\r\n }\r\n\r\n // Load the children immediately.\r\n this.setIsReady();\r\n this.loadChildren();\r\n }\r\n\r\n public override dispose(): void {\r\n this.transition(disposedState);\r\n super.dispose();\r\n }\r\n\r\n protected _loadChildren(resolve: (children: Tile[] | undefined) => void, _reject: (error: Error) => void): void {\r\n const children: Tile[] = [this.staticBranch];\r\n if (this._tileState.type === \"dynamic\")\r\n children.push(this._tileState.rootTile);\r\n\r\n resolve(children);\r\n }\r\n\r\n public get channel(): TileRequestChannel {\r\n throw new Error(\"Root iModel tile has no content\");\r\n }\r\n\r\n public async requestContent(_isCanceled: () => boolean): Promise<TileRequest.Response> {\r\n assert(false, \"Root iModel tile has no content\");\r\n return undefined;\r\n }\r\n\r\n public async readContent(_data: TileRequest.ResponseData, _system: RenderSystem, _isCanceled: () => boolean): Promise<TileContent> {\r\n throw new Error(\"Root iModel tile has no content\");\r\n }\r\n\r\n public draw(args: TileDrawArgs, tiles: Tile[], numStaticTiles: number): void {\r\n assert(numStaticTiles >= 0 && numStaticTiles <= tiles.length);\r\n\r\n // Draw the static tiles.\r\n for (let i = 0; i < numStaticTiles; i++)\r\n tiles[i].drawGraphics(args);\r\n\r\n if (\"dynamic\" !== this._tileState.type || numStaticTiles === tiles.length) {\r\n if (\"dynamic\" === this._tileState.type)\r\n args.addAppearanceProvider(this._tileState.rootTile.appearanceProvider);\r\n\r\n args.drawGraphics();\r\n return;\r\n }\r\n\r\n // We need to hide any modified elements in the static tiles. Pull their graphics into a separate branch.\r\n if (!args.graphics.isEmpty) {\r\n const staticBranch = new GraphicBranch();\r\n for (const staticGraphic of args.graphics.entries)\r\n staticBranch.add(staticGraphic);\r\n\r\n let appearanceProvider = this._tileState.rootTile.appearanceProvider;\r\n if (args.appearanceProvider)\r\n appearanceProvider = FeatureAppearanceProvider.chain(args.appearanceProvider, appearanceProvider);\r\n\r\n args.graphics.clear();\r\n args.graphics.add(args.context.createGraphicBranch(staticBranch, Transform.createIdentity(), { appearanceProvider }));\r\n }\r\n\r\n // Draw the dynamic tiles.\r\n for (let i = numStaticTiles; i < tiles.length; i++)\r\n tiles[i].drawGraphics(args);\r\n\r\n args.drawGraphics();\r\n }\r\n\r\n public prune(olderThan: BeTimePoint): void {\r\n this.staticBranch.pruneChildren(olderThan);\r\n if (\"dynamic\" === this._tileState.type)\r\n this._tileState.rootTile.pruneChildren(olderThan);\r\n }\r\n\r\n public transition(newState: RootTileState): void {\r\n assert(newState.type !== this._tileState.type);\r\n const resetRange = \"dynamic\" === this._tileState.type;\r\n\r\n assert(undefined !== this.children);\r\n if (\"dynamic\" === this._tileState.type) {\r\n assert(2 === this.children.length);\r\n this.children.pop();\r\n } else if (\"dynamic\" === newState.type) {\r\n assert(1 === this.children.length);\r\n this.children.push(newState.rootTile);\r\n }\r\n\r\n this._tileState.dispose();\r\n this._tileState = newState;\r\n\r\n if (resetRange)\r\n this.resetRange();\r\n }\r\n\r\n private resetRange(): void {\r\n this.staticBranch.range.clone(this.range);\r\n this.staticBranch.contentRange.clone(this._contentRange);\r\n\r\n if (this._staticTreeContentRange && this.tree.contentRange)\r\n this._staticTreeContentRange.clone(this.tree.contentRange);\r\n\r\n }\r\n\r\n public get tileScreenSize(): number {\r\n return this.staticBranch.iModelTree.tileScreenSize;\r\n }\r\n\r\n public updateDynamicRange(tile: Tile): void {\r\n this.resetRange();\r\n if (this._staticTreeContentRange && this.tree.contentRange && !tile.contentRange.isNull)\r\n this.tree.contentRange.extendRange(tile.contentRange);\r\n\r\n if (!tile.range.isNull)\r\n this.range.extendRange(tile.range);\r\n\r\n assert(undefined !== this._contentRange);\r\n if (!tile.contentRange.isNull)\r\n this._contentRange.extendRange(tile.contentRange);\r\n }\r\n}\r\n\r\n/** A TileTree whose contents are derived from geometry stored in a Model in an IModelDb.\r\n * @internal\r\n */\r\nexport class IModelTileTree extends TileTree {\r\n private readonly _rootTile: RootTile;\r\n private readonly _options: IModelTileTreeOptions;\r\n private readonly _transformNodeRanges?: Map<number, Range3d>;\r\n public readonly contentIdQualifier?: string;\r\n public readonly geometryGuid?: string;\r\n public readonly maxTilesToSkip: number;\r\n public readonly maxInitialTilesToSkip: number;\r\n public readonly contentIdProvider: ContentIdProvider;\r\n public readonly stringifiedSectionClip?: string;\r\n public readonly tileScreenSize: number;\r\n /** Strictly for debugging/testing - forces tile selection to halt at the specified depth. */\r\n public debugMaxDepth?: number;\r\n /** A little hacky...we must not override selectTiles(), but draw() needs to distinguish between static and dynamic tiles.\r\n * So _selectTiles() puts the static tiles first in the Tile[] array, and records the number of static tiles selected, to be\r\n * used by draw().\r\n */\r\n private _numStaticTilesSelected = 0;\r\n\r\n public constructor(params: IModelTileTreeParams, treeId: IModelTileTreeId) {\r\n super(params);\r\n this.contentIdQualifier = params.contentIdQualifier;\r\n this.geometryGuid = params.geometryGuid;\r\n this.tileScreenSize = params.tileScreenSize;\r\n\r\n if (BatchType.Primary === treeId.type)\r\n this.stringifiedSectionClip = treeId.sectionCut;\r\n\r\n this.maxInitialTilesToSkip = params.maxInitialTilesToSkip ?? 0;\r\n this.maxTilesToSkip = IModelApp.tileAdmin.maximumLevelsToSkip;\r\n\r\n this._options = params.options;\r\n this._transformNodeRanges = params.transformNodeRanges;\r\n\r\n this.contentIdProvider = ContentIdProvider.create(params.options.allowInstancing, IModelApp.tileAdmin, params.formatVersion);\r\n\r\n params.rootTile.contentId = this.contentIdProvider.rootContentId;\r\n this._rootTile = new RootTile(iModelTileParamsFromJSON(params.rootTile, undefined), this);\r\n }\r\n\r\n public get maxDepth() { return 32; }\r\n public get rootTile(): Tile { return this._rootTile; }\r\n /** Exposed chiefly for tests. */\r\n public get staticBranch(): IModelTile { return this._rootTile.staticBranch; }\r\n public get is3d() { return this._options.is3d; }\r\n public override get isContentUnbounded() { return false; }\r\n public get viewFlagOverrides() { return viewFlagOverrides; }\r\n\r\n public get batchType(): BatchType { return this._options.batchType; }\r\n public get edgeOptions(): EdgeOptions | false { return this._options.edges; }\r\n public get timeline(): RenderSchedule.ModelTimeline | undefined { return this._options.timeline; }\r\n\r\n public override get loadPriority(): TileLoadPriority {\r\n // If the model has been modified, we want to prioritize keeping its graphics up to date.\r\n return this.tileState === \"dynamic\" ? TileLoadPriority.Dynamic : super.loadPriority;\r\n }\r\n\r\n protected _selectTiles(args: TileDrawArgs): Tile[] {\r\n args.markUsed(this._rootTile);\r\n const tiles: Tile[] = [];\r\n this._rootTile.staticBranch.selectTiles(tiles, args, 0);\r\n this._numStaticTilesSelected = tiles.length;\r\n\r\n if (this._rootTile.tileState.type === \"dynamic\")\r\n this._rootTile.tileState.rootTile.selectTiles(tiles, args);\r\n\r\n return tiles;\r\n }\r\n\r\n public draw(args: TileDrawArgs): void {\r\n const tiles = this.selectTiles(args);\r\n this._rootTile.draw(args, tiles, this._numStaticTilesSelected);\r\n }\r\n\r\n public prune(): void {\r\n const olderThan = BeTimePoint.now().minus(this.expirationTime);\r\n this._rootTile.prune(olderThan);\r\n }\r\n\r\n /** Exposed strictly for tests. */\r\n public get tileState(): \"static\" | \"dynamic\" | \"interactive\" | \"disposed\" {\r\n return this._rootTile.tileState.type;\r\n }\r\n\r\n /** Exposed strictly for tests. */\r\n public get hiddenElements(): Id64Array {\r\n const state = this._rootTile.tileState;\r\n return \"dynamic\" === state.type ? state.rootTile.hiddenElements : [];\r\n }\r\n\r\n public getTransformNodeRange(nodeId: number): Range3d | undefined {\r\n return this._transformNodeRanges?.get(nodeId);\r\n }\r\n\r\n public get containsTransformNodes(): boolean {\r\n return undefined !== this._transformNodeRanges;\r\n }\r\n}\r\n"]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { ByteStream, Id64String } from "@itwin/core-bentley";
|
|
5
5
|
import { ClipVectorProps, Range3dProps, TransformProps, XYProps, XYZProps } from "@itwin/core-geometry";
|
|
6
|
-
import { BatchType, ColorDef, ColorDefProps, FeatureIndexType, FillFlags, Gradient, ImageSourceFormat, LinePixels, PackedFeatureTable, RenderMaterial, TextureMapping, TextureTransparency, TileHeader, TileReadStatus } from "@itwin/core-common";
|
|
6
|
+
import { BatchType, ColorDef, ColorDefProps, FeatureIndexType, FillFlags, Gradient, ImageSourceFormat, LinePixels, PackedFeatureTable, RenderMaterial, RenderSchedule, TextureMapping, TextureTransparency, TileHeader, TileReadStatus } from "@itwin/core-common";
|
|
7
7
|
import { IModelConnection } from "../IModelConnection";
|
|
8
8
|
import { AuxChannelTableProps } from "../render/primitives/AuxChannelTable";
|
|
9
9
|
import { DisplayParams } from "../render/primitives/DisplayParams";
|
|
@@ -360,6 +360,8 @@ export interface ImdlReaderCreateArgs {
|
|
|
360
360
|
sizeMultiplier?: number;
|
|
361
361
|
options?: BatchOptions | false;
|
|
362
362
|
containsTransformNodes?: boolean;
|
|
363
|
+
/** Supplied if the graphics in the tile are to be split up based on the nodes in the timeline. */
|
|
364
|
+
timeline?: RenderSchedule.ModelTimeline;
|
|
363
365
|
}
|
|
364
366
|
/** Deserializes tile content in iMdl format. These tiles contain element geometry encoded into a format optimized for the imodeljs webgl renderer.
|
|
365
367
|
* @internal
|
|
@@ -386,6 +388,7 @@ export declare class ImdlReader {
|
|
|
386
388
|
private readonly _options;
|
|
387
389
|
private readonly _patternGeometry;
|
|
388
390
|
private readonly _containsTransformNodes;
|
|
391
|
+
private readonly _timeline?;
|
|
389
392
|
private get _isCanceled();
|
|
390
393
|
private get _isVolumeClassifier();
|
|
391
394
|
/** Attempt to initialize an ImdlReader to deserialize iModel tile data beginning at the stream's current position. */
|
|
@@ -407,23 +410,25 @@ export declare class ImdlReader {
|
|
|
407
410
|
protected readFeatureTable(startPos: number): PackedFeatureTable | undefined;
|
|
408
411
|
private static skipFeatureTable;
|
|
409
412
|
private readAreaPattern;
|
|
413
|
+
private readMeshGeometry;
|
|
410
414
|
private readMeshGraphic;
|
|
411
415
|
private findBuffer;
|
|
412
416
|
private readVertexTable;
|
|
413
417
|
private readAuxChannelTable;
|
|
414
418
|
private readInstances;
|
|
415
419
|
private readVertexIndices;
|
|
416
|
-
private createPointStringGeometry;
|
|
417
420
|
private readTesselatedPolyline;
|
|
418
|
-
private createPolylineGeometry;
|
|
419
421
|
private readSurface;
|
|
420
422
|
private readSegmentEdges;
|
|
421
423
|
private readSilhouettes;
|
|
422
424
|
private readIndexedEdges;
|
|
423
425
|
private readEdges;
|
|
424
|
-
private
|
|
426
|
+
private readPrimitiveParams;
|
|
425
427
|
private readPrimitiveGeometry;
|
|
428
|
+
private createPrimitiveGeometry;
|
|
426
429
|
private getPatternGeometry;
|
|
430
|
+
private readAnimationBranches;
|
|
431
|
+
private readBranch;
|
|
427
432
|
private finishRead;
|
|
428
433
|
}
|
|
429
434
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImdlReader.d.ts","sourceRoot":"","sources":["../../../src/tile/ImdlReader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ImdlReader.d.ts","sourceRoot":"","sources":["../../../src/tile/ImdlReader.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAU,UAAU,EAAE,UAAU,EAA2B,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAc,eAAe,EAAsC,YAAY,EAAa,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACnK,OAAO,EACL,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAsC,gBAAgB,EAAsB,SAAS,EAAkC,QAAQ,EACpJ,iBAAiB,EAAc,UAAU,EAAE,kBAAkB,EAAuE,cAAc,EAC/J,cAAc,EAAiB,cAAc,EAAE,mBAAmB,EAAc,UAAU,EAAiB,cAAc,EAC1H,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAmB,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAChE,OAAO,EAA6E,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAM5I,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAkB,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,gBAAgB;AAChB,oBAAY,qBAAqB,GAAG,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC;AAIpE,gBAAgB;AAChB,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,UAAU;IACxC,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,aAAa,EAAE,MAAM,CAAK;IAC1C,SAAgB,cAAc,EAAE,MAAM,CAAK;IAC3C,SAAgB,cAAc,EAAE,MAAM,CAAK;IAC3C,IAAW,OAAO,IAAI,OAAO,CAA4C;gBAEtD,MAAM,EAAE,UAAU;CAqCtC;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAY7L;AAcD,kFAAkF;AAClF,aAAK,YAAY,GAAG,MAAM,EAAE,CAAC;AAE7B,6CAA6C;AAC7C,UAAU,kBAAkB;IAC1B,wJAAwJ;IACxJ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,MAAM,EAAE;QACN,sEAAsE;QACtE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;QACtB,kEAAkE;QAClE,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,0DAA0D;QAC1D,IAAI,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC;QAC3B,0EAA0E;QAC1E,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACH;AAED,uFAAuF;AACvF,UAAU,gBAAgB;IACxB,2FAA2F;IAC3F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,MAAM,EAAE,iBAAiB,CAAC;IAC1B,6EAA6E;IAC7E,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAED,qCAAqC;AACrC,UAAU,iBAAiB;IACzB,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,QAAQ,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC;CAC/B;AAED,6CAA6C;AAC7C,UAAU,kBAAkB;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE;QACf,OAAO,EAAE,kBAAkB,CAAC;KAC7B,CAAC;CACH;AAED,iFAAiF;AACjF,UAAU,iBAAiB;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,mCAAmC;AACnC,UAAU,eAAe;IACvB,4EAA4E;IAC5E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,2HAA2H;IAC3H,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,uCAAuC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yGAAyG;IACzG,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,6FAA6F;IAC7F,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,uIAAuI;IACvI,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,uEAAuE;IACvE,QAAQ,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC;IACtC,iFAAiF;IACjF,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;KAC/B,CAAC;IACF,sGAAsG;IACtG,QAAQ,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAC3C,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;CAC7C;AAED;;GAEG;AACH,UAAU,aAAa;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,2DAA2D;AAC3D,UAAU,aAAa;IACrB,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,uDAAuD;IACvD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,4GAA4G;IAC5G,QAAQ,CAAC,qBAAqB,CAAC,EAAE,QAAQ,CAAC;IAC1C,sEAAsE;IACtE,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;CACpC;AAED;;GAEG;AACH,aAAK,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvF;;;GAGG;AACH,UAAU,gBAAgB;IACxB,iJAAiJ;IACjJ,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;CACzC;AAED;;;GAGG;AACH,UAAU,mBAAoB,SAAQ,gBAAgB;IACpD,yJAAyJ;IACzJ,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,UAAU,gBAAgB;IACxB,2FAA2F;IAC3F,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,oCAAoC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,wHAAwH;IACxH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,2JAA2J;IAC3J,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAED,uDAAuD;AACvD,UAAU,aAAa;IACrB,iCAAiC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IACrC,oCAAoC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAC3C;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC;IAClC,iCAAiC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED;;GAEG;AACH,UAAU,YAAY;IACpB,kFAAkF;IAClF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,sFAAsF;IACtF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,+FAA+F;IAC/F,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;CACvC;AAED;;GAEG;AACH,UAAU,eAAe;IACvB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,4FAA4F;IAC5F,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,4GAA4G;IAC5G,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IACrC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,QAAQ,CAAC;CAC3C;AAED,sFAAsF;AACtF,UAAU,WAAW;IACnB,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,iFAAiF;IACjF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,kGAAkG;IAClG,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAClB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;KAC/B,CAAC;CACH;AAED,sFAAsF;AACtF,UAAU,iBAAkB,SAAQ,aAAa;IAC/C,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC;CACxC;AAED,uEAAuE;AACvE,UAAU,qBAAsB,SAAQ,aAAa,EAAE,YAAY;IACjE,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;CAC5C;AAED,6EAA6E;AAC7E,UAAU,wBAAyB,SAAQ,aAAa;IACtD,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;IACxC,8IAA8I;IAC9I,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,aAAK,gBAAgB,GAAG,iBAAiB,GAAG,qBAAqB,GAAG,wBAAwB,CAAC;AAE7F,yDAAyD;AACzD,UAAU,QAAQ;IAChB,mCAAmC;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,gBAAgB,GAAG,eAAe,CAAC,CAAC;IAChE;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,0GAA0G;AAC1G,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,CAAC;CACzC;AAED,qIAAqI;AACrI,UAAU,kBAAkB;IAC1B,6FAA6F;IAC7F,UAAU,EAAE,MAAM,CAAC;IACnB,8KAA8K;IAC9K,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,mFAAmF;AACnF,UAAU,cAAc;IACtB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,2GAA2G;IAC3G,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,UAAU,cAAc,CAAC,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;CAC9B;AAED,2DAA2D;AAC3D,UAAU,SAAS;IACjB,6EAA6E;IAC7E,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IAClC,2EAA2E;IAC3E,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IACjC,WAAW,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;IAC5C,SAAS,CAAC,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAC9C,cAAc,CAAC,EAAE,cAAc,CAAC,qBAAqB,CAAC,CAAC;IACvD,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,eAAe,CAAC,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAAC;IACrD,aAAa,CAAC,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,UAAU,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,kGAAkG;IAClG,QAAQ,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC;CACzC;AAgBD;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiC;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAChD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoC;IACpE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqC;IACtE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuE;IACtG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuD;IACvF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAqB;IACtD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAwB;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAuC;IACxE,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAU;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAA+B;IAE1D,OAAO,KAAK,WAAW,GAA4E;IACnG,OAAO,KAAK,mBAAmB,GAAiE;IAEhG,sHAAsH;WACxG,MAAM,CAAC,IAAI,EAAE,oBAAoB,GAAG,UAAU,GAAG,SAAS;IAyCxE,OAAO;IA2BP,2CAA2C;IAC9B,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAuB9C,gBAAgB;IAChB,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,aAAa,GAAG,SAAS;IAoCjF,gBAAgB;IAChB,SAAS,CAAC,wBAAwB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS;IAIxF,gBAAgB;IAChB,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IA2CnE,OAAO,CAAC,sBAAsB;YAwBhB,iBAAiB;YAYjB,gBAAgB;YAkBhB,gBAAgB;IA2C9B,gBAAgB;IAChB,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IA2C5E,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAS/B,OAAO,CAAC,eAAe;IA4CvB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,eAAe;IA2CvB,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,aAAa;IAqCrB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,WAAW;IAyCnB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,SAAS;IAmCjB,OAAO,CAAC,mBAAmB;IAsE3B,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,qBAAqB;IA+F7B,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,UAAU;CAmFnB"}
|
|
@@ -18,6 +18,7 @@ const DisplayParams_1 = require("../render/primitives/DisplayParams");
|
|
|
18
18
|
const MeshPrimitives_1 = require("../render/primitives/mesh/MeshPrimitives");
|
|
19
19
|
const SurfaceParams_1 = require("../render/primitives/SurfaceParams");
|
|
20
20
|
const VertexTable_1 = require("../render/primitives/VertexTable");
|
|
21
|
+
const VertexTableSplitter_1 = require("../render/primitives/VertexTableSplitter");
|
|
21
22
|
const PointStringParams_1 = require("../render/primitives/PointStringParams");
|
|
22
23
|
const PolylineParams_1 = require("../render/primitives/PolylineParams");
|
|
23
24
|
/** Header preceding "glTF" data in iMdl tile.
|
|
@@ -122,6 +123,7 @@ class ImdlReader {
|
|
|
122
123
|
this._loadEdges = (_f = args.loadEdges) !== null && _f !== void 0 ? _f : true;
|
|
123
124
|
this._options = (_g = args.options) !== null && _g !== void 0 ? _g : {};
|
|
124
125
|
this._containsTransformNodes = (_h = args.containsTransformNodes) !== null && _h !== void 0 ? _h : false;
|
|
126
|
+
this._timeline = args.timeline;
|
|
125
127
|
}
|
|
126
128
|
get _isCanceled() { return undefined !== this._canceled && this._canceled(this); }
|
|
127
129
|
get _isVolumeClassifier() { return core_common_1.BatchType.VolumeClassifier === this._type; }
|
|
@@ -413,12 +415,18 @@ class ImdlReader {
|
|
|
413
415
|
return undefined;
|
|
414
416
|
return this._system.createGraphicBranch(branch, core_geometry_1.Transform.createIdentity(), { clipVolume });
|
|
415
417
|
}
|
|
418
|
+
readMeshGeometry(primitive) {
|
|
419
|
+
const geometry = this.readPrimitiveGeometry(primitive);
|
|
420
|
+
if (!geometry)
|
|
421
|
+
return undefined;
|
|
422
|
+
const instances = this.readInstances(primitive);
|
|
423
|
+
return { geometry, instances };
|
|
424
|
+
}
|
|
416
425
|
readMeshGraphic(primitive) {
|
|
417
426
|
if (primitive.type === "areaPattern")
|
|
418
427
|
return this.readAreaPattern(primitive);
|
|
419
|
-
const
|
|
420
|
-
|
|
421
|
-
return geometry ? this._system.createRenderGraphic(geometry, instances) : undefined;
|
|
428
|
+
const geom = this.readMeshGeometry(primitive);
|
|
429
|
+
return geom ? this._system.createRenderGraphic(geom.geometry, geom.instances) : undefined;
|
|
422
430
|
}
|
|
423
431
|
findBuffer(bufferViewId) {
|
|
424
432
|
if (typeof bufferViewId !== "string" || 0 === bufferViewId.length)
|
|
@@ -518,13 +526,6 @@ class ImdlReader {
|
|
|
518
526
|
const bytes = this.findBuffer(bufferName);
|
|
519
527
|
return undefined !== bytes ? new VertexTable_1.VertexIndices(bytes) : undefined;
|
|
520
528
|
}
|
|
521
|
-
createPointStringGeometry(primitive, displayParams, vertices, viewIndependentOrigin) {
|
|
522
|
-
const indices = this.readVertexIndices(primitive.indices);
|
|
523
|
-
if (undefined === indices)
|
|
524
|
-
return undefined;
|
|
525
|
-
const params = new PointStringParams_1.PointStringParams(vertices, indices, displayParams.width);
|
|
526
|
-
return this._system.createPointStringGeometry(params, viewIndependentOrigin);
|
|
527
|
-
}
|
|
528
529
|
readTesselatedPolyline(json) {
|
|
529
530
|
const indices = this.readVertexIndices(json.indices);
|
|
530
531
|
const prevIndices = this.readVertexIndices(json.prevIndices);
|
|
@@ -533,16 +534,6 @@ class ImdlReader {
|
|
|
533
534
|
return undefined;
|
|
534
535
|
return { indices, prevIndices, nextIndicesAndParams };
|
|
535
536
|
}
|
|
536
|
-
createPolylineGeometry(primitive, displayParams, vertices, isPlanar, viewIndependentOrigin) {
|
|
537
|
-
const polyline = this.readTesselatedPolyline(primitive);
|
|
538
|
-
if (undefined === polyline)
|
|
539
|
-
return undefined;
|
|
540
|
-
let flags = core_common_1.PolylineTypeFlags.Normal;
|
|
541
|
-
if (DisplayParams_1.DisplayParams.RegionEdgeType.Outline === displayParams.regionEdgeType)
|
|
542
|
-
flags = (undefined === displayParams.gradient || displayParams.gradient.isOutlined) ? core_common_1.PolylineTypeFlags.Edge : core_common_1.PolylineTypeFlags.Outline;
|
|
543
|
-
const params = new PolylineParams_1.PolylineParams(vertices, polyline, displayParams.width, displayParams.linePixels, isPlanar, flags);
|
|
544
|
-
return this._system.createPolylineGeometry(params, viewIndependentOrigin);
|
|
545
|
-
}
|
|
546
537
|
readSurface(mesh, displayParams) {
|
|
547
538
|
const surf = mesh.surface;
|
|
548
539
|
if (undefined === surf)
|
|
@@ -634,23 +625,7 @@ class ImdlReader {
|
|
|
634
625
|
}
|
|
635
626
|
return { succeeded, params };
|
|
636
627
|
}
|
|
637
|
-
|
|
638
|
-
const surface = this.readSurface(primitive, displayParams);
|
|
639
|
-
if (undefined === surface)
|
|
640
|
-
return undefined;
|
|
641
|
-
// ###TODO: Tile generator shouldn't bother producing edges for classification meshes in the first place...
|
|
642
|
-
let edgeParams;
|
|
643
|
-
if (this._loadEdges && undefined !== primitive.edges && SurfaceParams_1.SurfaceType.VolumeClassifier !== surface.type) {
|
|
644
|
-
const edgeResult = this.readEdges(primitive.edges, displayParams);
|
|
645
|
-
if (!edgeResult.succeeded)
|
|
646
|
-
return undefined;
|
|
647
|
-
else
|
|
648
|
-
edgeParams = edgeResult.params;
|
|
649
|
-
}
|
|
650
|
-
const params = new VertexTable_1.MeshParams(vertices, surface, edgeParams, isPlanar, auxChannels);
|
|
651
|
-
return this._system.createMeshGeometry(params, viewIndependentOrigin);
|
|
652
|
-
}
|
|
653
|
-
readPrimitiveGeometry(primitive) {
|
|
628
|
+
readPrimitiveParams(primitive) {
|
|
654
629
|
var _a;
|
|
655
630
|
const materialName = (_a = primitive.material) !== null && _a !== void 0 ? _a : "";
|
|
656
631
|
const materialValue = 0 < materialName.length ? core_bentley_1.JsonUtils.asObject(this._materialValues[materialName]) : undefined;
|
|
@@ -665,17 +640,67 @@ class ImdlReader {
|
|
|
665
640
|
const viOrigin = primitive.viewIndependentOrigin ? core_geometry_1.Point3d.fromJSON(primitive.viewIndependentOrigin) : undefined;
|
|
666
641
|
const isPlanar = !this._is3d || core_bentley_1.JsonUtils.asBool(primitive.isPlanar);
|
|
667
642
|
switch (primitive.type) {
|
|
668
|
-
case MeshPrimitives_1.Mesh.PrimitiveType.Mesh:
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
643
|
+
case MeshPrimitives_1.Mesh.PrimitiveType.Mesh: {
|
|
644
|
+
const surface = this.readSurface(primitive, displayParams);
|
|
645
|
+
if (!surface)
|
|
646
|
+
return undefined;
|
|
647
|
+
// ###TODO: Tile generator shouldn't bother producing edges for classification meshes in the first place...
|
|
648
|
+
let edgeParams;
|
|
649
|
+
if (this._loadEdges && undefined !== primitive.edges && SurfaceParams_1.SurfaceType.VolumeClassifier !== surface.type) {
|
|
650
|
+
const edgeResult = this.readEdges(primitive.edges, displayParams);
|
|
651
|
+
if (!edgeResult.succeeded)
|
|
652
|
+
return undefined;
|
|
653
|
+
else
|
|
654
|
+
edgeParams = edgeResult.params;
|
|
655
|
+
}
|
|
656
|
+
return {
|
|
657
|
+
params: new VertexTable_1.MeshParams(vertices, surface, edgeParams, isPlanar, this.readAuxChannelTable(primitive)),
|
|
658
|
+
type: "mesh",
|
|
659
|
+
viOrigin,
|
|
660
|
+
};
|
|
661
|
+
}
|
|
662
|
+
case MeshPrimitives_1.Mesh.PrimitiveType.Polyline: {
|
|
663
|
+
const polyline = this.readTesselatedPolyline(primitive);
|
|
664
|
+
if (!polyline)
|
|
665
|
+
return undefined;
|
|
666
|
+
let flags = core_common_1.PolylineTypeFlags.Normal;
|
|
667
|
+
if (DisplayParams_1.DisplayParams.RegionEdgeType.Outline === displayParams.regionEdgeType)
|
|
668
|
+
flags = (undefined === displayParams.gradient || displayParams.gradient.isOutlined) ? core_common_1.PolylineTypeFlags.Edge : core_common_1.PolylineTypeFlags.Outline;
|
|
669
|
+
return {
|
|
670
|
+
params: new PolylineParams_1.PolylineParams(vertices, polyline, displayParams.width, displayParams.linePixels, isPlanar, flags),
|
|
671
|
+
type: "polyline",
|
|
672
|
+
viOrigin,
|
|
673
|
+
};
|
|
674
|
+
}
|
|
675
|
+
case MeshPrimitives_1.Mesh.PrimitiveType.Point: {
|
|
676
|
+
const indices = this.readVertexIndices(primitive.indices);
|
|
677
|
+
if (undefined === indices)
|
|
678
|
+
return undefined;
|
|
679
|
+
return {
|
|
680
|
+
params: new PointStringParams_1.PointStringParams(vertices, indices, displayParams.width),
|
|
681
|
+
type: "point",
|
|
682
|
+
viOrigin,
|
|
683
|
+
};
|
|
684
|
+
}
|
|
674
685
|
default:
|
|
675
686
|
(0, core_bentley_1.assert)(false, "unhandled primitive type");
|
|
676
687
|
return undefined;
|
|
677
688
|
}
|
|
678
689
|
}
|
|
690
|
+
readPrimitiveGeometry(primitive) {
|
|
691
|
+
const prim = this.readPrimitiveParams(primitive);
|
|
692
|
+
return prim ? this.createPrimitiveGeometry(prim) : undefined;
|
|
693
|
+
}
|
|
694
|
+
createPrimitiveGeometry(prim) {
|
|
695
|
+
switch (prim.type) {
|
|
696
|
+
case "mesh":
|
|
697
|
+
return this._system.createMeshGeometry(prim.params, prim.viOrigin);
|
|
698
|
+
case "polyline":
|
|
699
|
+
return this._system.createPolylineGeometry(prim.params, prim.viOrigin);
|
|
700
|
+
case "point":
|
|
701
|
+
return this._system.createPointStringGeometry(prim.params, prim.viOrigin);
|
|
702
|
+
}
|
|
703
|
+
}
|
|
679
704
|
getPatternGeometry(patternName) {
|
|
680
705
|
let geometry = this._patternGeometry.get(patternName);
|
|
681
706
|
if (geometry)
|
|
@@ -692,6 +717,103 @@ class ImdlReader {
|
|
|
692
717
|
this._patternGeometry.set(patternName, geometry);
|
|
693
718
|
return geometry;
|
|
694
719
|
}
|
|
720
|
+
readAnimationBranches(output, mesh, featureTable) {
|
|
721
|
+
const timeline = this._timeline;
|
|
722
|
+
(0, core_bentley_1.assert)(undefined !== timeline);
|
|
723
|
+
const primitives = mesh.primitives;
|
|
724
|
+
if (!primitives)
|
|
725
|
+
return;
|
|
726
|
+
const branchesByNodeId = new Map();
|
|
727
|
+
const getBranch = (nodeId) => {
|
|
728
|
+
let branch = branchesByNodeId.get(nodeId);
|
|
729
|
+
if (!branch) {
|
|
730
|
+
branchesByNodeId.set(nodeId, branch = new GraphicBranch_1.GraphicBranch(true));
|
|
731
|
+
branch.animationNodeId = nodeId;
|
|
732
|
+
branch.animationId = `${this._modelId}_Node_${nodeId}`;
|
|
733
|
+
}
|
|
734
|
+
return branch;
|
|
735
|
+
};
|
|
736
|
+
featureTable.populateAnimationNodeIds((elemIdPair) => {
|
|
737
|
+
var _a;
|
|
738
|
+
const elementTimeline = timeline.getTimelineForElement(elemIdPair.lower, elemIdPair.upper);
|
|
739
|
+
return (_a = elementTimeline === null || elementTimeline === void 0 ? void 0 : elementTimeline.batchId) !== null && _a !== void 0 ? _a : 0;
|
|
740
|
+
}, timeline.maxBatchId);
|
|
741
|
+
const discreteNodeIds = timeline.discreteBatchIds;
|
|
742
|
+
const computeNodeId = (_id, featureIndex) => {
|
|
743
|
+
const nodeId = featureTable.getAnimationNodeId(featureIndex);
|
|
744
|
+
return 0 !== nodeId && discreteNodeIds.has(nodeId) ? nodeId : 0;
|
|
745
|
+
};
|
|
746
|
+
const splitArgs = {
|
|
747
|
+
maxDimension: this._system.maxTextureSize,
|
|
748
|
+
computeNodeId,
|
|
749
|
+
featureTable,
|
|
750
|
+
};
|
|
751
|
+
for (const primitive of primitives) {
|
|
752
|
+
if (primitive.type === "areaPattern") {
|
|
753
|
+
// ###TODO animated area patterns.
|
|
754
|
+
const gf = this.readAreaPattern(primitive);
|
|
755
|
+
if (gf)
|
|
756
|
+
getBranch(GraphicBranch_1.AnimationNodeId.Untransformed).add(gf);
|
|
757
|
+
}
|
|
758
|
+
else {
|
|
759
|
+
const prim = this.readPrimitiveParams(primitive);
|
|
760
|
+
if (!prim)
|
|
761
|
+
continue;
|
|
762
|
+
const viOrigin = prim.viOrigin;
|
|
763
|
+
switch (prim.type) {
|
|
764
|
+
case "mesh": {
|
|
765
|
+
const split = (0, VertexTableSplitter_1.splitMeshParams)({ ...splitArgs, params: prim.params });
|
|
766
|
+
for (const [nodeId, params] of split) {
|
|
767
|
+
const geometry = this.createPrimitiveGeometry({ params, viOrigin, type: "mesh" });
|
|
768
|
+
const instances = undefined; // ###TODO support splitting instances (currently animation tile trees do not permit instancing).
|
|
769
|
+
const graphic = geometry ? this._system.createRenderGraphic(geometry, instances) : undefined;
|
|
770
|
+
if (graphic)
|
|
771
|
+
getBranch(nodeId).add(graphic);
|
|
772
|
+
}
|
|
773
|
+
break;
|
|
774
|
+
}
|
|
775
|
+
case "point": {
|
|
776
|
+
const split = (0, VertexTableSplitter_1.splitPointStringParams)({ ...splitArgs, params: prim.params });
|
|
777
|
+
for (const [nodeId, params] of split) {
|
|
778
|
+
const geometry = this.createPrimitiveGeometry({ params, viOrigin, type: "point" });
|
|
779
|
+
const instances = undefined; // ###TODO support splitting instances (currently animation tile trees do not permit instancing).
|
|
780
|
+
const graphic = geometry ? this._system.createRenderGraphic(geometry, instances) : undefined;
|
|
781
|
+
if (graphic)
|
|
782
|
+
getBranch(nodeId).add(graphic);
|
|
783
|
+
}
|
|
784
|
+
break;
|
|
785
|
+
}
|
|
786
|
+
case "polyline": {
|
|
787
|
+
const split = (0, VertexTableSplitter_1.splitPolylineParams)({ ...splitArgs, params: prim.params });
|
|
788
|
+
for (const [nodeId, params] of split) {
|
|
789
|
+
const geometry = this.createPrimitiveGeometry({ params, viOrigin, type: "polyline" });
|
|
790
|
+
const instances = undefined; // ###TODO support splitting instances (currently animation tile trees do not permit instancing).
|
|
791
|
+
const graphic = geometry ? this._system.createRenderGraphic(geometry, instances) : undefined;
|
|
792
|
+
if (graphic)
|
|
793
|
+
getBranch(nodeId).add(graphic);
|
|
794
|
+
}
|
|
795
|
+
break;
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
for (const branch of branchesByNodeId.values()) {
|
|
801
|
+
(0, core_bentley_1.assert)(!branch.isEmpty);
|
|
802
|
+
output.push(this._system.createBranch(branch, core_geometry_1.Transform.createIdentity()));
|
|
803
|
+
}
|
|
804
|
+
}
|
|
805
|
+
readBranch(output, primitives, nodeId, animationId) {
|
|
806
|
+
const branch = new GraphicBranch_1.GraphicBranch(true);
|
|
807
|
+
branch.animationId = animationId;
|
|
808
|
+
branch.animationNodeId = nodeId;
|
|
809
|
+
for (const primitive of primitives) {
|
|
810
|
+
const graphic = this.readMeshGraphic(primitive);
|
|
811
|
+
if (graphic)
|
|
812
|
+
branch.add(graphic);
|
|
813
|
+
}
|
|
814
|
+
if (!branch.isEmpty)
|
|
815
|
+
output.push(this._system.createBranch(branch, core_geometry_1.Transform.createIdentity()));
|
|
816
|
+
}
|
|
695
817
|
finishRead(isLeaf, featureTable, contentRange, emptySubRangeMask, sizeMultiplier) {
|
|
696
818
|
const graphics = [];
|
|
697
819
|
if (undefined === this._nodes.Node_Root) {
|
|
@@ -709,18 +831,6 @@ class ImdlReader {
|
|
|
709
831
|
}
|
|
710
832
|
}
|
|
711
833
|
else {
|
|
712
|
-
const readBranch = (primitives, nodeId, animationId) => {
|
|
713
|
-
const branch = new GraphicBranch_1.GraphicBranch(true);
|
|
714
|
-
branch.animationId = animationId;
|
|
715
|
-
branch.animationNodeId = nodeId;
|
|
716
|
-
for (const primitive of primitives) {
|
|
717
|
-
const graphic = this.readMeshGraphic(primitive);
|
|
718
|
-
if (graphic)
|
|
719
|
-
branch.add(graphic);
|
|
720
|
-
}
|
|
721
|
-
if (!branch.isEmpty)
|
|
722
|
-
graphics.push(this._system.createBranch(branch, core_geometry_1.Transform.createIdentity()));
|
|
723
|
-
};
|
|
724
834
|
for (const nodeKey of Object.keys(this._nodes)) {
|
|
725
835
|
const nodeValue = this._nodes[nodeKey];
|
|
726
836
|
const meshValue = undefined !== nodeValue ? this._meshes[nodeValue] : undefined;
|
|
@@ -729,10 +839,14 @@ class ImdlReader {
|
|
|
729
839
|
continue;
|
|
730
840
|
const layerId = meshValue.layer;
|
|
731
841
|
if ("Node_Root" === nodeKey) {
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
842
|
+
if (this._timeline) {
|
|
843
|
+
// Split up the root node into transform nodes.
|
|
844
|
+
this.readAnimationBranches(graphics, meshValue, featureTable);
|
|
845
|
+
}
|
|
846
|
+
else if (this._containsTransformNodes) {
|
|
847
|
+
// If transform nodes exist in the tile tree, then we need to create a branch for Node_Root so that elements not associated with
|
|
848
|
+
// any node in the schedule script can be grouped together.
|
|
849
|
+
this.readBranch(graphics, primitives, GraphicBranch_1.AnimationNodeId.Untransformed, undefined);
|
|
736
850
|
}
|
|
737
851
|
else {
|
|
738
852
|
for (const primitive of primitives) {
|
|
@@ -743,7 +857,7 @@ class ImdlReader {
|
|
|
743
857
|
}
|
|
744
858
|
}
|
|
745
859
|
else if (undefined === layerId) {
|
|
746
|
-
readBranch(primitives, extractNodeId(nodeKey), `${this._modelId}_${nodeKey}`);
|
|
860
|
+
this.readBranch(graphics, primitives, extractNodeId(nodeKey), `${this._modelId}_${nodeKey}`);
|
|
747
861
|
}
|
|
748
862
|
else {
|
|
749
863
|
const layerGraphics = [];
|