@itwin/core-frontend 5.0.0-dev.90 → 5.0.0-dev.92
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/ContextRealityModelState.d.ts.map +1 -1
- package/lib/cjs/ContextRealityModelState.js +2 -0
- package/lib/cjs/ContextRealityModelState.js.map +1 -1
- package/lib/cjs/ModelState.d.ts.map +1 -1
- package/lib/cjs/ModelState.js +4 -0
- package/lib/cjs/ModelState.js.map +1 -1
- package/lib/cjs/NoRenderApp.d.ts +1 -1
- package/lib/cjs/NoRenderApp.d.ts.map +1 -1
- package/lib/cjs/NoRenderApp.js +1 -1
- package/lib/cjs/NoRenderApp.js.map +1 -1
- package/lib/cjs/Viewport.d.ts +1 -0
- package/lib/cjs/Viewport.d.ts.map +1 -1
- package/lib/cjs/Viewport.js +4 -1
- package/lib/cjs/Viewport.js.map +1 -1
- package/lib/cjs/common/internal/render/MeshParams.d.ts +2 -0
- package/lib/cjs/common/internal/render/MeshParams.d.ts.map +1 -1
- package/lib/cjs/common/internal/render/MeshParams.js.map +1 -1
- package/lib/cjs/internal/render/{RealityMeshGraphicParams.d.ts → MeshMapLayerGraphicParams.d.ts} +4 -4
- package/lib/cjs/internal/render/MeshMapLayerGraphicParams.d.ts.map +1 -0
- package/lib/cjs/internal/render/{RealityMeshGraphicParams.js → MeshMapLayerGraphicParams.js} +1 -1
- package/lib/cjs/internal/render/MeshMapLayerGraphicParams.js.map +1 -0
- package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js +1 -1
- package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
- package/lib/cjs/internal/render/webgl/MapLayerParams.d.ts +54 -0
- package/lib/cjs/internal/render/webgl/MapLayerParams.d.ts.map +1 -0
- package/lib/cjs/internal/render/webgl/MapLayerParams.js +198 -0
- package/lib/cjs/internal/render/webgl/MapLayerParams.js.map +1 -0
- package/lib/cjs/internal/render/webgl/Mesh.js +1 -1
- package/lib/cjs/internal/render/webgl/Mesh.js.map +1 -1
- package/lib/cjs/internal/render/webgl/PlanarClassifier.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/PlanarClassifier.js.map +1 -1
- package/lib/cjs/internal/render/webgl/RealityMesh.d.ts +6 -35
- package/lib/cjs/internal/render/webgl/RealityMesh.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/RealityMesh.js +41 -154
- package/lib/cjs/internal/render/webgl/RealityMesh.js.map +1 -1
- package/lib/cjs/internal/render/webgl/RenderFlags.d.ts +7 -1
- package/lib/cjs/internal/render/webgl/RenderFlags.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/RenderFlags.js +7 -0
- package/lib/cjs/internal/render/webgl/RenderFlags.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ShaderBuilder.d.ts +12 -11
- package/lib/cjs/internal/render/webgl/ShaderBuilder.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/ShaderBuilder.js +13 -8
- package/lib/cjs/internal/render/webgl/ShaderBuilder.js.map +1 -1
- package/lib/cjs/internal/render/webgl/SurfaceGeometry.d.ts +5 -2
- package/lib/cjs/internal/render/webgl/SurfaceGeometry.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/SurfaceGeometry.js +49 -3
- package/lib/cjs/internal/render/webgl/SurfaceGeometry.js.map +1 -1
- package/lib/cjs/internal/render/webgl/System.d.ts +2 -2
- package/lib/cjs/internal/render/webgl/System.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/System.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Target.d.ts +1 -1
- package/lib/cjs/internal/render/webgl/Target.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/Target.js +11 -2
- package/lib/cjs/internal/render/webgl/Target.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/AmbientOcclusion.js +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Atmosphere.js +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Blur.js +1 -1
- package/lib/cjs/internal/render/webgl/glsl/ClearPickAndColor.js +1 -1
- package/lib/cjs/internal/render/webgl/glsl/ClearTranslucent.js +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Clipping.js +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Combine3Textures.js +1 -1
- package/lib/cjs/internal/render/webgl/glsl/CombineTextures.js +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Composite.js +1 -1
- package/lib/cjs/internal/render/webgl/glsl/CopyColor.js +1 -1
- package/lib/cjs/internal/render/webgl/glsl/CopyPickBuffers.js +1 -1
- package/lib/cjs/internal/render/webgl/glsl/CopyStencil.js +5 -5
- package/lib/cjs/internal/render/webgl/glsl/EDL.js +4 -4
- package/lib/cjs/internal/render/webgl/glsl/EVSMFromDepth.js +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Edge.js +1 -1
- package/lib/cjs/internal/render/webgl/glsl/FeatureSymbology.js +2 -2
- package/lib/cjs/internal/render/webgl/glsl/Fragment.js +9 -9
- package/lib/cjs/internal/render/webgl/glsl/LogarithmicDepthBuffer.js +1 -1
- package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.d.ts +12 -0
- package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.d.ts.map +1 -0
- package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.js +116 -0
- package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.js.map +1 -0
- package/lib/cjs/internal/render/webgl/glsl/PlanarClassification.js +3 -3
- package/lib/cjs/internal/render/webgl/glsl/PointCloud.js +2 -2
- package/lib/cjs/internal/render/webgl/glsl/PointCloud.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js +6 -91
- package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/ScreenSpaceEffect.js +1 -1
- package/lib/cjs/internal/render/webgl/glsl/SkyBox.js +1 -1
- package/lib/cjs/internal/render/webgl/glsl/SkySphere.js +1 -1
- package/lib/cjs/internal/render/webgl/glsl/SolarShadowMapping.js +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Surface.d.ts +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Surface.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Surface.js +73 -7
- package/lib/cjs/internal/render/webgl/glsl/Surface.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Translucency.js +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Wiremesh.js +1 -1
- package/lib/cjs/internal/tile/B3dmReader.d.ts +2 -1
- package/lib/cjs/internal/tile/B3dmReader.d.ts.map +1 -1
- package/lib/cjs/internal/tile/B3dmReader.js +5 -5
- package/lib/cjs/internal/tile/B3dmReader.js.map +1 -1
- package/lib/cjs/internal/tile/I3dmReader.d.ts +2 -1
- package/lib/cjs/internal/tile/I3dmReader.d.ts.map +1 -1
- package/lib/cjs/internal/tile/I3dmReader.js +4 -4
- package/lib/cjs/internal/tile/I3dmReader.js.map +1 -1
- package/lib/cjs/internal/tile/IModelTileTree.d.ts.map +1 -1
- package/lib/cjs/internal/tile/IModelTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/ImdlGraphicsCreator.d.ts +2 -0
- package/lib/cjs/internal/tile/ImdlGraphicsCreator.d.ts.map +1 -1
- package/lib/cjs/internal/tile/ImdlGraphicsCreator.js +1 -0
- package/lib/cjs/internal/tile/ImdlGraphicsCreator.js.map +1 -1
- package/lib/cjs/internal/tile/PrimaryTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/RealityModelTileTree.d.ts +14 -3
- package/lib/cjs/internal/tile/RealityModelTileTree.d.ts.map +1 -1
- package/lib/cjs/internal/tile/RealityModelTileTree.js +51 -11
- package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/RealityTileLoader.d.ts.map +1 -1
- package/lib/cjs/internal/tile/RealityTileLoader.js +8 -2
- package/lib/cjs/internal/tile/RealityTileLoader.js.map +1 -1
- package/lib/cjs/render/RealityMeshParams.d.ts +3 -0
- package/lib/cjs/render/RealityMeshParams.d.ts.map +1 -1
- package/lib/cjs/render/RealityMeshParams.js.map +1 -1
- package/lib/cjs/render/RenderSystem.d.ts +4 -3
- package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
- package/lib/cjs/render/RenderSystem.js +2 -1
- package/lib/cjs/render/RenderSystem.js.map +1 -1
- package/lib/cjs/render/RenderTarget.d.ts +1 -1
- package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
- package/lib/cjs/render/RenderTarget.js +1 -1
- package/lib/cjs/render/RenderTarget.js.map +1 -1
- package/lib/cjs/tile/GltfReader.d.ts +8 -2
- package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
- package/lib/cjs/tile/GltfReader.js +11 -2
- package/lib/cjs/tile/GltfReader.js.map +1 -1
- package/lib/cjs/tile/ImdlReader.d.ts +2 -1
- package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
- package/lib/cjs/tile/ImdlReader.js.map +1 -1
- package/lib/cjs/tile/LayerTileTreeHandler.d.ts +47 -0
- package/lib/cjs/tile/LayerTileTreeHandler.d.ts.map +1 -0
- package/lib/cjs/tile/LayerTileTreeHandler.js +54 -0
- package/lib/cjs/tile/LayerTileTreeHandler.js.map +1 -0
- package/lib/cjs/tile/LayerTileTreeReferenceHandler.d.ts +36 -0
- package/lib/cjs/tile/LayerTileTreeReferenceHandler.d.ts.map +1 -0
- package/lib/cjs/tile/LayerTileTreeReferenceHandler.js +150 -0
- package/lib/cjs/tile/LayerTileTreeReferenceHandler.js.map +1 -0
- package/lib/cjs/tile/Tile.d.ts +2 -0
- package/lib/cjs/tile/Tile.d.ts.map +1 -1
- package/lib/cjs/tile/Tile.js +7 -0
- package/lib/cjs/tile/Tile.js.map +1 -1
- package/lib/cjs/tile/TileTree.d.ts +3 -1
- package/lib/cjs/tile/TileTree.d.ts.map +1 -1
- package/lib/cjs/tile/TileTree.js +2 -0
- package/lib/cjs/tile/TileTree.js.map +1 -1
- package/lib/cjs/tile/internal.d.ts +2 -0
- package/lib/cjs/tile/internal.d.ts.map +1 -1
- package/lib/cjs/tile/internal.js +2 -0
- package/lib/cjs/tile/internal.js.map +1 -1
- package/lib/cjs/tile/map/MapTile.d.ts +8 -2
- package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapTile.js +10 -16
- package/lib/cjs/tile/map/MapTile.js.map +1 -1
- package/lib/cjs/tile/map/MapTileTree.d.ts +8 -36
- package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapTileTree.js +47 -176
- package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
- package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +9 -9
- package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
- package/lib/esm/ContextRealityModelState.d.ts.map +1 -1
- package/lib/esm/ContextRealityModelState.js +2 -0
- package/lib/esm/ContextRealityModelState.js.map +1 -1
- package/lib/esm/ModelState.d.ts.map +1 -1
- package/lib/esm/ModelState.js +4 -0
- package/lib/esm/ModelState.js.map +1 -1
- package/lib/esm/NoRenderApp.d.ts +1 -1
- package/lib/esm/NoRenderApp.d.ts.map +1 -1
- package/lib/esm/NoRenderApp.js +1 -1
- package/lib/esm/NoRenderApp.js.map +1 -1
- package/lib/esm/Viewport.d.ts +1 -0
- package/lib/esm/Viewport.d.ts.map +1 -1
- package/lib/esm/Viewport.js +4 -1
- package/lib/esm/Viewport.js.map +1 -1
- package/lib/esm/common/internal/render/MeshParams.d.ts +2 -0
- package/lib/esm/common/internal/render/MeshParams.d.ts.map +1 -1
- package/lib/esm/common/internal/render/MeshParams.js.map +1 -1
- package/lib/esm/internal/render/{RealityMeshGraphicParams.d.ts → MeshMapLayerGraphicParams.d.ts} +4 -4
- package/lib/esm/internal/render/MeshMapLayerGraphicParams.d.ts.map +1 -0
- package/lib/esm/internal/render/{RealityMeshGraphicParams.js → MeshMapLayerGraphicParams.js} +1 -1
- package/lib/esm/internal/render/MeshMapLayerGraphicParams.js.map +1 -0
- package/lib/esm/internal/render/webgl/BackgroundMapDrape.js +1 -1
- package/lib/esm/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
- package/lib/esm/internal/render/webgl/MapLayerParams.d.ts +54 -0
- package/lib/esm/internal/render/webgl/MapLayerParams.d.ts.map +1 -0
- package/lib/esm/internal/render/webgl/MapLayerParams.js +192 -0
- package/lib/esm/internal/render/webgl/MapLayerParams.js.map +1 -0
- package/lib/esm/internal/render/webgl/Mesh.js +1 -1
- package/lib/esm/internal/render/webgl/Mesh.js.map +1 -1
- package/lib/esm/internal/render/webgl/PlanarClassifier.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/PlanarClassifier.js.map +1 -1
- package/lib/esm/internal/render/webgl/RealityMesh.d.ts +6 -35
- package/lib/esm/internal/render/webgl/RealityMesh.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/RealityMesh.js +41 -153
- package/lib/esm/internal/render/webgl/RealityMesh.js.map +1 -1
- package/lib/esm/internal/render/webgl/RenderFlags.d.ts +7 -1
- package/lib/esm/internal/render/webgl/RenderFlags.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/RenderFlags.js +7 -0
- package/lib/esm/internal/render/webgl/RenderFlags.js.map +1 -1
- package/lib/esm/internal/render/webgl/ShaderBuilder.d.ts +12 -11
- package/lib/esm/internal/render/webgl/ShaderBuilder.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/ShaderBuilder.js +13 -8
- package/lib/esm/internal/render/webgl/ShaderBuilder.js.map +1 -1
- package/lib/esm/internal/render/webgl/SurfaceGeometry.d.ts +5 -2
- package/lib/esm/internal/render/webgl/SurfaceGeometry.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/SurfaceGeometry.js +50 -4
- package/lib/esm/internal/render/webgl/SurfaceGeometry.js.map +1 -1
- package/lib/esm/internal/render/webgl/System.d.ts +2 -2
- package/lib/esm/internal/render/webgl/System.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/System.js.map +1 -1
- package/lib/esm/internal/render/webgl/Target.d.ts +1 -1
- package/lib/esm/internal/render/webgl/Target.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/Target.js +11 -2
- package/lib/esm/internal/render/webgl/Target.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/AmbientOcclusion.js +1 -1
- package/lib/esm/internal/render/webgl/glsl/Atmosphere.js +1 -1
- package/lib/esm/internal/render/webgl/glsl/Blur.js +1 -1
- package/lib/esm/internal/render/webgl/glsl/ClearPickAndColor.js +1 -1
- package/lib/esm/internal/render/webgl/glsl/ClearTranslucent.js +1 -1
- package/lib/esm/internal/render/webgl/glsl/Clipping.js +1 -1
- package/lib/esm/internal/render/webgl/glsl/Combine3Textures.js +1 -1
- package/lib/esm/internal/render/webgl/glsl/CombineTextures.js +1 -1
- package/lib/esm/internal/render/webgl/glsl/Composite.js +1 -1
- package/lib/esm/internal/render/webgl/glsl/CopyColor.js +1 -1
- package/lib/esm/internal/render/webgl/glsl/CopyPickBuffers.js +1 -1
- package/lib/esm/internal/render/webgl/glsl/CopyStencil.js +5 -5
- package/lib/esm/internal/render/webgl/glsl/EDL.js +4 -4
- package/lib/esm/internal/render/webgl/glsl/EVSMFromDepth.js +1 -1
- package/lib/esm/internal/render/webgl/glsl/Edge.js +1 -1
- package/lib/esm/internal/render/webgl/glsl/FeatureSymbology.js +2 -2
- package/lib/esm/internal/render/webgl/glsl/Fragment.js +9 -9
- package/lib/esm/internal/render/webgl/glsl/LogarithmicDepthBuffer.js +1 -1
- package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.d.ts +12 -0
- package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.d.ts.map +1 -0
- package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.js +111 -0
- package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.js.map +1 -0
- package/lib/esm/internal/render/webgl/glsl/PlanarClassification.js +3 -3
- package/lib/esm/internal/render/webgl/glsl/PointCloud.js +2 -2
- package/lib/esm/internal/render/webgl/glsl/PointCloud.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/RealityMesh.js +5 -90
- package/lib/esm/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/ScreenSpaceEffect.js +1 -1
- package/lib/esm/internal/render/webgl/glsl/SkyBox.js +1 -1
- package/lib/esm/internal/render/webgl/glsl/SkySphere.js +1 -1
- package/lib/esm/internal/render/webgl/glsl/SolarShadowMapping.js +1 -1
- package/lib/esm/internal/render/webgl/glsl/Surface.d.ts +1 -1
- package/lib/esm/internal/render/webgl/glsl/Surface.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Surface.js +73 -7
- package/lib/esm/internal/render/webgl/glsl/Surface.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Translucency.js +1 -1
- package/lib/esm/internal/render/webgl/glsl/Wiremesh.js +1 -1
- package/lib/esm/internal/tile/B3dmReader.d.ts +2 -1
- package/lib/esm/internal/tile/B3dmReader.d.ts.map +1 -1
- package/lib/esm/internal/tile/B3dmReader.js +5 -5
- package/lib/esm/internal/tile/B3dmReader.js.map +1 -1
- package/lib/esm/internal/tile/I3dmReader.d.ts +2 -1
- package/lib/esm/internal/tile/I3dmReader.d.ts.map +1 -1
- package/lib/esm/internal/tile/I3dmReader.js +4 -4
- package/lib/esm/internal/tile/I3dmReader.js.map +1 -1
- package/lib/esm/internal/tile/IModelTileTree.d.ts.map +1 -1
- package/lib/esm/internal/tile/IModelTileTree.js +2 -2
- package/lib/esm/internal/tile/IModelTileTree.js.map +1 -1
- package/lib/esm/internal/tile/ImdlGraphicsCreator.d.ts +2 -0
- package/lib/esm/internal/tile/ImdlGraphicsCreator.d.ts.map +1 -1
- package/lib/esm/internal/tile/ImdlGraphicsCreator.js +1 -0
- package/lib/esm/internal/tile/ImdlGraphicsCreator.js.map +1 -1
- package/lib/esm/internal/tile/PrimaryTileTree.js.map +1 -1
- package/lib/esm/internal/tile/RealityModelTileTree.d.ts +14 -3
- package/lib/esm/internal/tile/RealityModelTileTree.d.ts.map +1 -1
- package/lib/esm/internal/tile/RealityModelTileTree.js +53 -13
- package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -1
- package/lib/esm/internal/tile/RealityTileLoader.d.ts.map +1 -1
- package/lib/esm/internal/tile/RealityTileLoader.js +8 -2
- package/lib/esm/internal/tile/RealityTileLoader.js.map +1 -1
- package/lib/esm/render/RealityMeshParams.d.ts +3 -0
- package/lib/esm/render/RealityMeshParams.d.ts.map +1 -1
- package/lib/esm/render/RealityMeshParams.js.map +1 -1
- package/lib/esm/render/RenderSystem.d.ts +4 -3
- package/lib/esm/render/RenderSystem.d.ts.map +1 -1
- package/lib/esm/render/RenderSystem.js +2 -1
- package/lib/esm/render/RenderSystem.js.map +1 -1
- package/lib/esm/render/RenderTarget.d.ts +1 -1
- package/lib/esm/render/RenderTarget.d.ts.map +1 -1
- package/lib/esm/render/RenderTarget.js +1 -1
- package/lib/esm/render/RenderTarget.js.map +1 -1
- package/lib/esm/tile/GltfReader.d.ts +8 -2
- package/lib/esm/tile/GltfReader.d.ts.map +1 -1
- package/lib/esm/tile/GltfReader.js +11 -2
- package/lib/esm/tile/GltfReader.js.map +1 -1
- package/lib/esm/tile/ImdlReader.d.ts +2 -1
- package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
- package/lib/esm/tile/ImdlReader.js.map +1 -1
- package/lib/esm/tile/LayerTileTreeHandler.d.ts +47 -0
- package/lib/esm/tile/LayerTileTreeHandler.d.ts.map +1 -0
- package/lib/esm/tile/LayerTileTreeHandler.js +50 -0
- package/lib/esm/tile/LayerTileTreeHandler.js.map +1 -0
- package/lib/esm/tile/LayerTileTreeReferenceHandler.d.ts +36 -0
- package/lib/esm/tile/LayerTileTreeReferenceHandler.d.ts.map +1 -0
- package/lib/esm/tile/LayerTileTreeReferenceHandler.js +146 -0
- package/lib/esm/tile/LayerTileTreeReferenceHandler.js.map +1 -0
- package/lib/esm/tile/Tile.d.ts +2 -0
- package/lib/esm/tile/Tile.d.ts.map +1 -1
- package/lib/esm/tile/Tile.js +7 -0
- package/lib/esm/tile/Tile.js.map +1 -1
- package/lib/esm/tile/TileTree.d.ts +3 -1
- package/lib/esm/tile/TileTree.d.ts.map +1 -1
- package/lib/esm/tile/TileTree.js +2 -0
- package/lib/esm/tile/TileTree.js.map +1 -1
- package/lib/esm/tile/internal.d.ts +2 -0
- package/lib/esm/tile/internal.d.ts.map +1 -1
- package/lib/esm/tile/internal.js +2 -0
- package/lib/esm/tile/internal.js.map +1 -1
- package/lib/esm/tile/map/MapTile.d.ts +8 -2
- package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
- package/lib/esm/tile/map/MapTile.js +9 -16
- package/lib/esm/tile/map/MapTile.js.map +1 -1
- package/lib/esm/tile/map/MapTileTree.d.ts +8 -36
- package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
- package/lib/esm/tile/map/MapTileTree.js +49 -178
- package/lib/esm/tile/map/MapTileTree.js.map +1 -1
- package/lib/esm/tile/map/MapTiledGraphicsProvider.js +9 -9
- package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
- package/package.json +16 -16
- package/lib/cjs/internal/render/RealityMeshGraphicParams.d.ts.map +0 -1
- package/lib/cjs/internal/render/RealityMeshGraphicParams.js.map +0 -1
- package/lib/esm/internal/render/RealityMeshGraphicParams.d.ts.map +0 -1
- package/lib/esm/internal/render/RealityMeshGraphicParams.js.map +0 -1
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
* @module Tiles
|
|
7
7
|
*/
|
|
8
8
|
import { assert, compareBooleans, compareBooleansOrUndefined, compareNumbers, compareStrings, compareStringsOrUndefined, CompressedId64Set } from "@itwin/core-bentley";
|
|
9
|
-
import { Cartographic, FeatureAppearance, GeoCoordStatus, GlobeMode,
|
|
9
|
+
import { Cartographic, FeatureAppearance, GeoCoordStatus, GlobeMode, ModelMapLayerDrapeTarget, ModelMapLayerSettings, PlanarClipMaskPriority, TerrainHeightOriginMode, } from "@itwin/core-common";
|
|
10
10
|
import { Angle, AngleSweep, Constant, Ellipsoid, EllipsoidPatch, Point3d, Range1d, Range3d, Ray3d, Transform, Vector3d, } from "@itwin/core-geometry";
|
|
11
11
|
import { ApproximateTerrainHeights } from "../../ApproximateTerrainHeights";
|
|
12
12
|
import { IModelApp } from "../../IModelApp";
|
|
13
13
|
import { PlanarClipMaskState } from "../../PlanarClipMaskState";
|
|
14
14
|
import { FeatureSymbology } from "../../render/FeatureSymbology";
|
|
15
|
-
import { BingElevationProvider, createDefaultViewFlagOverrides,
|
|
15
|
+
import { BingElevationProvider, createDefaultViewFlagOverrides, EllipsoidTerrainProvider, ImageryMapTileTree, LayerTileTreeHandler, LayerTileTreeReferenceHandler, MapCartoRectangle, MapLayerTileTreeReference, MapTile, MapTileLoader, PlanarTilePatch, QuadId, RealityTileDrawArgs, RealityTileTree, TileTreeReference, UpsampledMapTile, WebMercatorTilingScheme, } from "../internal";
|
|
16
16
|
const scratchPoint = Point3d.create();
|
|
17
17
|
const scratchCorners = [Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero()];
|
|
18
18
|
const scratchCorner = Point3d.createZero();
|
|
@@ -78,11 +78,9 @@ export class MapTileTree extends RealityTileTree {
|
|
|
78
78
|
produceGeometry;
|
|
79
79
|
/** @internal */
|
|
80
80
|
layerImageryTrees = [];
|
|
81
|
-
|
|
82
|
-
_imageryTreeState = new Map();
|
|
83
|
-
_modelIdToIndex = new Map();
|
|
81
|
+
_layerHandler;
|
|
84
82
|
/** @internal */
|
|
85
|
-
|
|
83
|
+
get layerHandler() { return this._layerHandler; }
|
|
86
84
|
/** @internal */
|
|
87
85
|
constructor(params, ecefToDb, bimElevationBias, geodeticOffset, sourceTilingScheme, id, applyTerrain) {
|
|
88
86
|
super(params);
|
|
@@ -124,6 +122,7 @@ export class MapTileTree extends RealityTileTree {
|
|
|
124
122
|
range = Range3d.createArray(MapTile.computeRangeCorners(corners, Vector3d.create(0, 0, 1), 0, scratchCorners, globalHeightRange));
|
|
125
123
|
}
|
|
126
124
|
this._rootTile = this.createGlobeChild({ contentId: quadId.contentId, maximumSize: 0, range }, quadId, range.corners(), globalRectangle, rootPatch, undefined);
|
|
125
|
+
this._layerHandler = new LayerTileTreeHandler(this);
|
|
127
126
|
}
|
|
128
127
|
/** @internal */
|
|
129
128
|
get parentsAndChildrenExclusive() {
|
|
@@ -135,14 +134,14 @@ export class MapTileTree extends RealityTileTree {
|
|
|
135
134
|
* @internal
|
|
136
135
|
*/
|
|
137
136
|
getImageryTreeState(imageryTreeId) {
|
|
138
|
-
return this.
|
|
137
|
+
return this._layerHandler.imageryTreeState.get(imageryTreeId);
|
|
139
138
|
}
|
|
140
139
|
/** Return a cloned dictionary of the imagery tile tree states
|
|
141
140
|
* @internal
|
|
142
141
|
*/
|
|
143
142
|
cloneImageryTreeState() {
|
|
144
143
|
const clone = new Map();
|
|
145
|
-
for (const [treeId, state] of this.
|
|
144
|
+
for (const [treeId, state] of this._layerHandler.imageryTreeState) {
|
|
146
145
|
clone.set(treeId, state.clone());
|
|
147
146
|
}
|
|
148
147
|
return clone;
|
|
@@ -151,36 +150,16 @@ export class MapTileTree extends RealityTileTree {
|
|
|
151
150
|
tileFromQuadId(quadId) {
|
|
152
151
|
return this._rootTile.tileFromQuadId(quadId);
|
|
153
152
|
}
|
|
154
|
-
/** Add a new imagery tile tree / map-layer settings pair and initialize the imagery tile tree state.
|
|
155
|
-
* @internal
|
|
156
|
-
*/
|
|
157
|
-
addImageryLayer(tree, settings, index, baseImageryLayer) {
|
|
158
|
-
this.layerImageryTrees.push({ tree, settings, baseImageryLayer });
|
|
159
|
-
this._layerSettings.set(tree.modelId, settings);
|
|
160
|
-
if (!this._imageryTreeState.has(tree.modelId))
|
|
161
|
-
this._imageryTreeState.set(tree.modelId, new ImageryTileTreeState());
|
|
162
|
-
this._modelIdToIndex.set(tree.modelId, index);
|
|
163
|
-
}
|
|
164
|
-
/** @internal */
|
|
165
|
-
addModelLayer(layerTreeRef, context) {
|
|
166
|
-
const classifier = context.addPlanarClassifier(`MapLayer ${this.modelId}-${layerTreeRef.layerIndex}`, layerTreeRef);
|
|
167
|
-
if (classifier)
|
|
168
|
-
this.layerClassifiers.set(layerTreeRef.layerIndex, classifier);
|
|
169
|
-
}
|
|
170
|
-
/** @internal */
|
|
171
153
|
collectClassifierGraphics(args, selectedTiles) {
|
|
172
154
|
super.collectClassifierGraphics(args, selectedTiles);
|
|
173
|
-
this.
|
|
174
|
-
if (!(args instanceof GraphicsCollectorDrawArgs))
|
|
175
|
-
layerClassifier.collectGraphics(args.context, { modelId: this.modelId, tiles: selectedTiles, location: args.location, isPointCloud: this.isPointCloud });
|
|
176
|
-
});
|
|
155
|
+
this._layerHandler.collectClassifierGraphics(args, selectedTiles);
|
|
177
156
|
}
|
|
178
157
|
/** @internal */
|
|
179
158
|
clearImageryTreesAndClassifiers() {
|
|
180
|
-
this.layerImageryTrees.length = 0;
|
|
181
|
-
this.
|
|
182
|
-
this.
|
|
183
|
-
this.layerClassifiers.clear();
|
|
159
|
+
this._layerHandler.layerImageryTrees.length = 0;
|
|
160
|
+
this._layerHandler.layerSettings.clear();
|
|
161
|
+
this._layerHandler.modelIdToIndex.clear();
|
|
162
|
+
this._layerHandler.layerClassifiers.clear();
|
|
184
163
|
}
|
|
185
164
|
/** @internal */
|
|
186
165
|
get isTransparent() {
|
|
@@ -189,6 +168,7 @@ export class MapTileTree extends RealityTileTree {
|
|
|
189
168
|
/** @internal */
|
|
190
169
|
get maxDepth() {
|
|
191
170
|
let maxDepth = this.loader.maxDepth;
|
|
171
|
+
/** NB: need to use local layerImageTrees because of the order super() is called (before layerHandler exists on this class)! */
|
|
192
172
|
this.layerImageryTrees?.forEach((layerImageryTree) => maxDepth = Math.max(maxDepth, layerImageryTree.tree.maxDepth));
|
|
193
173
|
return maxDepth;
|
|
194
174
|
}
|
|
@@ -216,10 +196,6 @@ export class MapTileTree extends RealityTileTree {
|
|
|
216
196
|
getChildHeightRange(quadId, rectangle, parent) {
|
|
217
197
|
return this.mapLoader.getChildHeightRange(quadId, rectangle, parent);
|
|
218
198
|
}
|
|
219
|
-
/** @internal */
|
|
220
|
-
clearLayers() {
|
|
221
|
-
this._rootTile.clearLayers();
|
|
222
|
-
}
|
|
223
199
|
/** Reprojection does not work with very large tiles so just do linear transform.
|
|
224
200
|
* @internal
|
|
225
201
|
*/
|
|
@@ -472,12 +448,12 @@ export class MapTileTree extends RealityTileTree {
|
|
|
472
448
|
}
|
|
473
449
|
/** @internal */
|
|
474
450
|
getLayerIndex(imageryTreeId) {
|
|
475
|
-
const index = this.
|
|
451
|
+
const index = this._layerHandler.modelIdToIndex.get(imageryTreeId);
|
|
476
452
|
return index === undefined ? -1 : index;
|
|
477
453
|
}
|
|
478
454
|
/** @internal */
|
|
479
455
|
getLayerTransparency(imageryTreeId) {
|
|
480
|
-
const layerSettings = this.
|
|
456
|
+
const layerSettings = this._layerHandler.layerSettings.get(imageryTreeId);
|
|
481
457
|
assert(undefined !== layerSettings);
|
|
482
458
|
return undefined === layerSettings || !layerSettings.transparency ? 0.0 : layerSettings.transparency;
|
|
483
459
|
}
|
|
@@ -616,64 +592,47 @@ const mapTreeSupplier = new MapTreeSupplier();
|
|
|
616
592
|
* @internal
|
|
617
593
|
*/
|
|
618
594
|
export class MapTileTreeReference extends TileTreeReference {
|
|
619
|
-
_baseLayerSettings;
|
|
620
|
-
_layerSettings;
|
|
621
|
-
isOverlay;
|
|
622
595
|
_isDrape;
|
|
623
596
|
_overrideTerrainDisplay;
|
|
624
597
|
_tileUserId;
|
|
625
598
|
_settings;
|
|
626
|
-
_iModel;
|
|
627
|
-
_baseImageryLayerIncluded = false;
|
|
628
|
-
_baseColor;
|
|
629
|
-
_layerTrees = new Array();
|
|
630
|
-
_baseTransparent = false;
|
|
631
599
|
_symbologyOverrides;
|
|
632
600
|
_planarClipMask;
|
|
633
|
-
|
|
601
|
+
_layerRefHandler;
|
|
602
|
+
iModel;
|
|
603
|
+
get layerRefHandler() { return this._layerRefHandler; }
|
|
604
|
+
shouldDrapeLayer(layerTreeRef) {
|
|
605
|
+
const mapLayerSettings = layerTreeRef?.layerSettings;
|
|
606
|
+
if (mapLayerSettings && mapLayerSettings instanceof ModelMapLayerSettings)
|
|
607
|
+
return ModelMapLayerDrapeTarget.Globe === mapLayerSettings.drapeTarget;
|
|
608
|
+
return true; // catch-all for other cases (skip reality models, though).
|
|
609
|
+
}
|
|
610
|
+
constructor(settings, baseLayerSettings, layerSettings, iModel, tileUserId, isOverlay, _isDrape, _overrideTerrainDisplay) {
|
|
634
611
|
super();
|
|
635
|
-
this._baseLayerSettings = _baseLayerSettings;
|
|
636
|
-
this._layerSettings = _layerSettings;
|
|
637
|
-
this.isOverlay = isOverlay;
|
|
638
612
|
this._isDrape = _isDrape;
|
|
639
613
|
this._overrideTerrainDisplay = _overrideTerrainDisplay;
|
|
614
|
+
this.iModel = iModel;
|
|
640
615
|
this._tileUserId = tileUserId;
|
|
641
616
|
this._settings = settings;
|
|
642
|
-
this._iModel = iModel;
|
|
643
|
-
let tree;
|
|
644
|
-
if (!isOverlay && this._baseLayerSettings !== undefined) {
|
|
645
|
-
if (this._baseLayerSettings instanceof MapLayerSettings) {
|
|
646
|
-
tree = createMapLayerTreeReference(this._baseLayerSettings, 0, iModel);
|
|
647
|
-
this._baseTransparent = this._baseLayerSettings.transparency > 0;
|
|
648
|
-
}
|
|
649
|
-
else {
|
|
650
|
-
this._baseColor = this._baseLayerSettings;
|
|
651
|
-
this._baseTransparent = this._baseColor?.getTransparency() > 0;
|
|
652
|
-
}
|
|
653
|
-
}
|
|
654
|
-
if (this._baseImageryLayerIncluded = (undefined !== tree))
|
|
655
|
-
this._layerTrees.push(tree);
|
|
656
|
-
for (let i = 0; i < this._layerSettings.length; i++)
|
|
657
|
-
if (undefined !== (tree = createMapLayerTreeReference(this._layerSettings[i], i + 1, iModel)))
|
|
658
|
-
this._layerTrees.push(tree);
|
|
659
617
|
if (this._settings.planarClipMask && this._settings.planarClipMask.isValid)
|
|
660
618
|
this._planarClipMask = PlanarClipMaskState.create(this._settings.planarClipMask);
|
|
661
619
|
if (this._overrideTerrainDisplay && this._overrideTerrainDisplay()?.produceGeometry)
|
|
662
620
|
this.collectTileGeometry = (collector) => this._collectTileGeometry(collector);
|
|
621
|
+
this._layerRefHandler = new LayerTileTreeReferenceHandler(this, isOverlay, baseLayerSettings, layerSettings);
|
|
663
622
|
}
|
|
664
623
|
forEachLayerTileTreeRef(func) {
|
|
665
|
-
for (const layerTree of this.
|
|
624
|
+
for (const layerTree of this._layerRefHandler.layerTrees) {
|
|
666
625
|
assert(layerTree instanceof MapLayerTileTreeReference);
|
|
667
626
|
func(layerTree);
|
|
668
627
|
}
|
|
669
628
|
}
|
|
670
629
|
get isGlobal() { return true; }
|
|
671
|
-
get baseColor() { return this.
|
|
630
|
+
get baseColor() { return this.baseColor; }
|
|
672
631
|
get planarClipMaskPriority() { return PlanarClipMaskPriority.BackgroundMap; }
|
|
673
632
|
_createGeometryTreeReference() {
|
|
674
633
|
if (!this._settings.applyTerrain || this._isDrape)
|
|
675
634
|
return undefined; // Don't bother generating non-terrain (flat) geometry.
|
|
676
|
-
const ref = new MapTileTreeReference(this._settings, undefined, [], this.
|
|
635
|
+
const ref = new MapTileTreeReference(this._settings, undefined, [], this.iModel, this._tileUserId, false, false, () => {
|
|
677
636
|
return { produceGeometry: true };
|
|
678
637
|
});
|
|
679
638
|
assert(undefined !== ref.collectTileGeometry);
|
|
@@ -686,66 +645,24 @@ export class MapTileTreeReference extends TileTreeReference {
|
|
|
686
645
|
this._settings = settings;
|
|
687
646
|
this._planarClipMask = settings.planarClipMask ? PlanarClipMaskState.create(settings.planarClipMask) : undefined;
|
|
688
647
|
}
|
|
689
|
-
setBaseLayerSettings(baseLayerSettings) {
|
|
690
|
-
assert(!this.isOverlay);
|
|
691
|
-
let tree;
|
|
692
|
-
this._baseLayerSettings = baseLayerSettings;
|
|
693
|
-
if (baseLayerSettings instanceof MapLayerSettings) {
|
|
694
|
-
tree = createMapLayerTreeReference(baseLayerSettings, 0, this._iModel);
|
|
695
|
-
this._baseColor = undefined;
|
|
696
|
-
this._baseTransparent = baseLayerSettings.transparency > 0;
|
|
697
|
-
}
|
|
698
|
-
else {
|
|
699
|
-
this._baseColor = baseLayerSettings;
|
|
700
|
-
this._baseTransparent = this._baseColor.getTransparency() > 0;
|
|
701
|
-
}
|
|
702
|
-
if (tree) {
|
|
703
|
-
if (this._baseImageryLayerIncluded)
|
|
704
|
-
this._layerTrees[0] = tree;
|
|
705
|
-
else
|
|
706
|
-
this._layerTrees.splice(0, 0, tree);
|
|
707
|
-
}
|
|
708
|
-
else {
|
|
709
|
-
if (this._baseImageryLayerIncluded)
|
|
710
|
-
this._layerTrees.shift();
|
|
711
|
-
}
|
|
712
|
-
this._baseImageryLayerIncluded = tree !== undefined;
|
|
713
|
-
this.clearLayers();
|
|
714
|
-
}
|
|
715
648
|
get layerSettings() {
|
|
716
|
-
return this.
|
|
717
|
-
}
|
|
718
|
-
setLayerSettings(layerSettings) {
|
|
719
|
-
this._layerSettings = layerSettings;
|
|
720
|
-
const baseLayerIndex = this._baseImageryLayerIncluded ? 1 : 0;
|
|
721
|
-
this._layerTrees.length = Math.min(layerSettings.length + baseLayerIndex, this._layerTrees.length); // Truncate if number of layers reduced.
|
|
722
|
-
for (let i = 0; i < layerSettings.length; i++) {
|
|
723
|
-
const treeIndex = i + baseLayerIndex;
|
|
724
|
-
if (treeIndex >= this._layerTrees.length || !this._layerTrees[treeIndex]?.layerSettings.displayMatches(layerSettings[i]))
|
|
725
|
-
this._layerTrees[treeIndex] = createMapLayerTreeReference(layerSettings[i], treeIndex, this._iModel);
|
|
726
|
-
}
|
|
727
|
-
this.clearLayers();
|
|
728
|
-
}
|
|
729
|
-
clearLayers() {
|
|
730
|
-
const tree = this.treeOwner.tileTree;
|
|
731
|
-
if (undefined !== tree)
|
|
732
|
-
tree.clearLayers();
|
|
649
|
+
return this.layerRefHandler.layerSettings;
|
|
733
650
|
}
|
|
734
651
|
get castsShadows() {
|
|
735
652
|
return false;
|
|
736
653
|
}
|
|
737
654
|
get _isLoadingComplete() {
|
|
738
655
|
// Wait until drape tree is fully loaded too.
|
|
739
|
-
for (const drapeTree of this.
|
|
656
|
+
for (const drapeTree of this._layerRefHandler.layerTrees)
|
|
740
657
|
if (drapeTree && !drapeTree.isLoadingComplete)
|
|
741
658
|
return false;
|
|
742
659
|
return super._isLoadingComplete;
|
|
743
660
|
}
|
|
744
661
|
get useDepthBuffer() {
|
|
745
|
-
return !this.isOverlay && (this.settings.applyTerrain || this.settings.useDepthBuffer);
|
|
662
|
+
return !this._layerRefHandler.isOverlay && (this.settings.applyTerrain || this.settings.useDepthBuffer);
|
|
746
663
|
}
|
|
747
664
|
get treeOwner() {
|
|
748
|
-
let wantSkirts = (this.settings.applyTerrain || this.useDepthBuffer) && !this.settings.transparency && !this.
|
|
665
|
+
let wantSkirts = (this.settings.applyTerrain || this.useDepthBuffer) && !this.settings.transparency && !this._layerRefHandler.baseTransparent;
|
|
749
666
|
if (wantSkirts) {
|
|
750
667
|
const maskTrans = this._planarClipMask?.settings.transparency;
|
|
751
668
|
wantSkirts = (undefined === maskTrans || maskTrans <= 0);
|
|
@@ -763,10 +680,10 @@ export class MapTileTreeReference extends TileTreeReference {
|
|
|
763
680
|
// Can set to this.settings.terrainSettings.applyLighting if we want to ever apply lighting to terrain again so that normals are retrieved when lighting is on.
|
|
764
681
|
wantNormals: false,
|
|
765
682
|
globeMode: this._isDrape ? GlobeMode.Plane : this.settings.globeMode,
|
|
766
|
-
isOverlay: this.isOverlay,
|
|
683
|
+
isOverlay: this._layerRefHandler.isOverlay,
|
|
767
684
|
useDepthBuffer: this.useDepthBuffer,
|
|
768
|
-
baseColor: this.
|
|
769
|
-
baseTransparent: this.
|
|
685
|
+
baseColor: this._layerRefHandler.baseColor,
|
|
686
|
+
baseTransparent: this._layerRefHandler.baseTransparent,
|
|
770
687
|
mapTransparent: Number(this.settings.transparency) > 0,
|
|
771
688
|
maskModelIds: this._planarClipMask?.settings.compressedModelIds,
|
|
772
689
|
produceGeometry: false,
|
|
@@ -779,12 +696,12 @@ export class MapTileTreeReference extends TileTreeReference {
|
|
|
779
696
|
id.produceGeometry = ovr.produceGeometry === true;
|
|
780
697
|
}
|
|
781
698
|
}
|
|
782
|
-
return this.
|
|
699
|
+
return this.iModel.tiles.getTileTreeOwner(id, mapTreeSupplier);
|
|
783
700
|
}
|
|
784
701
|
getLayerImageryTreeRef(index) {
|
|
785
|
-
const baseLayerIndex = this.
|
|
702
|
+
const baseLayerIndex = this._layerRefHandler.baseImageryLayerIncluded ? 1 : 0;
|
|
786
703
|
const treeIndex = index + baseLayerIndex;
|
|
787
|
-
return index < 0 || treeIndex >= this.
|
|
704
|
+
return index < 0 || treeIndex >= this._layerRefHandler.layerTrees.length ? undefined : this._layerRefHandler.layerTrees[treeIndex];
|
|
788
705
|
}
|
|
789
706
|
/** Return the map-layer scale range visibility for the provided map-layer index.
|
|
790
707
|
* @internal
|
|
@@ -802,58 +719,12 @@ export class MapTileTreeReference extends TileTreeReference {
|
|
|
802
719
|
}
|
|
803
720
|
return MapTileTreeScaleRangeVisibility.Unknown;
|
|
804
721
|
}
|
|
805
|
-
initializeLayers(context) {
|
|
806
|
-
let hasLoadedTileTree = false;
|
|
807
|
-
const tree = this.treeOwner.load();
|
|
808
|
-
if (undefined === tree) {
|
|
809
|
-
return hasLoadedTileTree; // Not loaded yet.
|
|
810
|
-
}
|
|
811
|
-
tree.layerImageryTrees.length = 0;
|
|
812
|
-
if (0 === this._layerTrees.length) {
|
|
813
|
-
return !this.isOverlay;
|
|
814
|
-
}
|
|
815
|
-
let treeIndex = this._layerTrees.length - 1;
|
|
816
|
-
// Start displaying at the highest completely opaque layer...
|
|
817
|
-
for (; treeIndex >= 1; treeIndex--) {
|
|
818
|
-
const layerTreeRef = this._layerTrees[treeIndex];
|
|
819
|
-
if (layerTreeRef?.isOpaque)
|
|
820
|
-
break; // This layer is completely opaque and will obscure all others so ignore lower ones.
|
|
821
|
-
}
|
|
822
|
-
for (; treeIndex < this._layerTrees.length; treeIndex++) {
|
|
823
|
-
const layerTreeRef = this._layerTrees[treeIndex];
|
|
824
|
-
const hasValidTileTree = layerTreeRef && TileTreeLoadStatus.NotFound !== layerTreeRef.treeOwner.loadStatus;
|
|
825
|
-
const isImageryMapLayer = layerTreeRef instanceof ImageryMapLayerTreeReference;
|
|
826
|
-
const isLayerVisible = (isImageryMapLayer || (!isImageryMapLayer && layerTreeRef?.layerSettings.visible));
|
|
827
|
-
// Load tile tree for each configured layer.
|
|
828
|
-
// Note: Non-visible imagery layer are always added to allow proper tile tree scale range visibility reporting.
|
|
829
|
-
if (hasValidTileTree
|
|
830
|
-
&& isLayerVisible
|
|
831
|
-
&& !layerTreeRef.layerSettings.allSubLayersInvisible) {
|
|
832
|
-
const layerTree = layerTreeRef.treeOwner.load();
|
|
833
|
-
if (layerTree !== undefined) {
|
|
834
|
-
hasLoadedTileTree = true;
|
|
835
|
-
}
|
|
836
|
-
else {
|
|
837
|
-
// Let's continue, there might be loaded tile tree in the list
|
|
838
|
-
continue;
|
|
839
|
-
}
|
|
840
|
-
// Add loaded TileTree
|
|
841
|
-
const baseImageryLayer = this._baseImageryLayerIncluded && (treeIndex === 0);
|
|
842
|
-
if (layerTree instanceof ImageryMapTileTree) {
|
|
843
|
-
tree.addImageryLayer(layerTree, layerTreeRef.layerSettings, treeIndex, baseImageryLayer);
|
|
844
|
-
}
|
|
845
|
-
else if (layerTreeRef instanceof ModelMapLayerTileTreeReference)
|
|
846
|
-
tree.addModelLayer(layerTreeRef, context);
|
|
847
|
-
}
|
|
848
|
-
}
|
|
849
|
-
return hasLoadedTileTree;
|
|
850
|
-
}
|
|
851
722
|
/** Adds this reference's graphics to the scene. By default this invokes [[TileTree.drawScene]] on the referenced TileTree, if it is loaded. */
|
|
852
723
|
addToScene(context) {
|
|
853
724
|
if (!context.viewFlags.backgroundMap)
|
|
854
725
|
return;
|
|
855
726
|
const tree = this.treeOwner.load();
|
|
856
|
-
if (undefined === tree || !this.initializeLayers(context))
|
|
727
|
+
if (undefined === tree || !this._layerRefHandler.initializeLayers(context))
|
|
857
728
|
return; // Not loaded yet.
|
|
858
729
|
if (this._planarClipMask && this._planarClipMask.settings.isValid)
|
|
859
730
|
context.addPlanarClassifier(tree.modelId, undefined, this._planarClipMask);
|
|
@@ -876,7 +747,7 @@ export class MapTileTreeReference extends TileTreeReference {
|
|
|
876
747
|
if (undefined === args)
|
|
877
748
|
return undefined;
|
|
878
749
|
const tree = this.treeOwner.load();
|
|
879
|
-
return new RealityTileDrawArgs(args, args.worldToViewMap, args.frustumPlanes, undefined, tree?.layerClassifiers);
|
|
750
|
+
return new RealityTileDrawArgs(args, args.worldToViewMap, args.frustumPlanes, undefined, tree?.layerHandler.layerClassifiers);
|
|
880
751
|
}
|
|
881
752
|
getViewFlagOverrides(_tree) {
|
|
882
753
|
return createViewFlagOverrides(false, this._settings.applyTerrain ? undefined : false);
|
|
@@ -886,7 +757,7 @@ export class MapTileTreeReference extends TileTreeReference {
|
|
|
886
757
|
}
|
|
887
758
|
discloseTileTrees(trees) {
|
|
888
759
|
super.discloseTileTrees(trees);
|
|
889
|
-
for (const imageryTree of this.
|
|
760
|
+
for (const imageryTree of this._layerRefHandler.layerTrees)
|
|
890
761
|
if (imageryTree)
|
|
891
762
|
trees.disclose(imageryTree);
|
|
892
763
|
if (this._planarClipMask)
|
|
@@ -897,7 +768,7 @@ export class MapTileTreeReference extends TileTreeReference {
|
|
|
897
768
|
const tree = this.treeOwner.tileTree;
|
|
898
769
|
if (undefined === tree || tree.modelId !== mapTreeModelId)
|
|
899
770
|
return imageryTrees;
|
|
900
|
-
for (const imageryTree of this.
|
|
771
|
+
for (const imageryTree of this._layerRefHandler.layerTrees)
|
|
901
772
|
if (imageryTree && imageryTree.treeOwner.tileTree && imageryTree.treeOwner.tileTree.modelId === layerTreeModelId)
|
|
902
773
|
imageryTrees.push(imageryTree);
|
|
903
774
|
return imageryTrees;
|
|
@@ -905,10 +776,10 @@ export class MapTileTreeReference extends TileTreeReference {
|
|
|
905
776
|
layerFromTreeModelIds(mapTreeModelId, layerTreeModelId) {
|
|
906
777
|
const imageryTree = this.imageryTreeFromTreeModelIds(mapTreeModelId, layerTreeModelId);
|
|
907
778
|
return imageryTree.map((tree) => {
|
|
908
|
-
const isBaseLayer = (this.
|
|
779
|
+
const isBaseLayer = (this._layerRefHandler.baseImageryLayerIncluded && tree.layerIndex === 0);
|
|
909
780
|
return {
|
|
910
781
|
isBaseLayer,
|
|
911
|
-
index: isBaseLayer ? undefined : { isOverlay: this.isOverlay, index: this.
|
|
782
|
+
index: isBaseLayer ? undefined : { isOverlay: this._layerRefHandler.isOverlay, index: this._layerRefHandler.baseImageryLayerIncluded ? tree.layerIndex - 1 : tree.layerIndex },
|
|
912
783
|
settings: tree.layerSettings, provider: tree.imageryProvider,
|
|
913
784
|
};
|
|
914
785
|
});
|
|
@@ -1022,7 +893,7 @@ export class MapTileTreeReference extends TileTreeReference {
|
|
|
1022
893
|
if (tree) {
|
|
1023
894
|
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
1024
895
|
tree.mapLoader.terrainProvider.addLogoCards(cards, vp);
|
|
1025
|
-
for (const imageryTreeRef of this.
|
|
896
|
+
for (const imageryTreeRef of this._layerRefHandler.layerTrees) {
|
|
1026
897
|
if (imageryTreeRef?.layerSettings.visible) {
|
|
1027
898
|
const imageryTree = imageryTreeRef.treeOwner.tileTree;
|
|
1028
899
|
if (imageryTree instanceof ImageryMapTileTree)
|
|
@@ -1037,7 +908,7 @@ export class MapTileTreeReference extends TileTreeReference {
|
|
|
1037
908
|
const tree = this.treeOwner.tileTree;
|
|
1038
909
|
if (tree) {
|
|
1039
910
|
const promises = [tree.mapLoader.terrainProvider.addAttributions(cards, vp)];
|
|
1040
|
-
for (const imageryTreeRef of this.
|
|
911
|
+
for (const imageryTreeRef of this._layerRefHandler.layerTrees) {
|
|
1041
912
|
if (imageryTreeRef?.layerSettings.visible) {
|
|
1042
913
|
const imageryTree = imageryTreeRef.treeOwner.tileTree;
|
|
1043
914
|
if (imageryTree instanceof ImageryMapTileTree)
|
|
@@ -1048,7 +919,7 @@ export class MapTileTreeReference extends TileTreeReference {
|
|
|
1048
919
|
}
|
|
1049
920
|
}
|
|
1050
921
|
decorate(context) {
|
|
1051
|
-
for (const layerTree of this.
|
|
922
|
+
for (const layerTree of this._layerRefHandler.layerTrees) {
|
|
1052
923
|
if (layerTree)
|
|
1053
924
|
layerTree.decorate(context);
|
|
1054
925
|
}
|