@itwin/core-frontend 5.1.2 → 5.1.3-experimental.1
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 +6 -1
- package/lib/cjs/AccuDraw.js.map +1 -1
- package/lib/cjs/AccuSnap.js.map +1 -1
- package/lib/cjs/ApproximateTerrainHeights.js.map +1 -1
- package/lib/cjs/ApproximateTerrainHeightsProps.js.map +1 -1
- package/lib/cjs/AuxCoordSys.js.map +1 -1
- package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
- package/lib/cjs/BingLocation.js.map +1 -1
- package/lib/cjs/BriefcaseConnection.js.map +1 -1
- package/lib/cjs/BriefcaseTxns.js.map +1 -1
- package/lib/cjs/CatalogConnection.js.map +1 -1
- package/lib/cjs/CategorySelectorState.js.map +1 -1
- package/lib/cjs/ChangeFlags.js.map +1 -1
- package/lib/cjs/CheckpointConnection.js.map +1 -1
- package/lib/cjs/ContextRealityModelState.js.map +1 -1
- package/lib/cjs/CoordSystem.js.map +1 -1
- package/lib/cjs/DecorationsCache.js.map +1 -1
- package/lib/cjs/DevTools.js.map +1 -1
- package/lib/cjs/DisplayStyleState.js.map +1 -1
- package/lib/cjs/DrawingViewState.js +5 -5
- package/lib/cjs/DrawingViewState.js.map +1 -1
- package/lib/cjs/ElementLocateManager.js.map +1 -1
- package/lib/cjs/EmphasizeElements.js.map +1 -1
- package/lib/cjs/EntityState.js.map +1 -1
- package/lib/cjs/EnvironmentDecorations.js.map +1 -1
- package/lib/cjs/FeatureOverrideProvider.js.map +1 -1
- package/lib/cjs/FlashSettings.js.map +1 -1
- package/lib/cjs/FrontendHubAccess.js.map +1 -1
- package/lib/cjs/Frustum2d.js.map +1 -1
- package/lib/cjs/FrustumAnimator.js.map +1 -1
- package/lib/cjs/FuzzySearch.js.map +1 -1
- package/lib/cjs/GeoServices.js.map +1 -1
- package/lib/cjs/GlobeAnimator.js.map +1 -1
- package/lib/cjs/GraphicalEditingScope.js.map +1 -1
- package/lib/cjs/HitDetail.js.map +1 -1
- package/lib/cjs/IModelApp.js.map +1 -1
- package/lib/cjs/IModelConnection.js +26 -26
- package/lib/cjs/IModelConnection.js.map +1 -1
- package/lib/cjs/IModelRoutingContext.js.map +1 -1
- package/lib/cjs/IModeljs-css.js +133 -133
- package/lib/cjs/IModeljs-css.js.map +1 -1
- package/lib/cjs/IpcApp.js.map +1 -1
- package/lib/cjs/LinePlaneIntersect.js.map +1 -1
- package/lib/cjs/LocalhostIpcApp.js.map +1 -1
- package/lib/cjs/MarginPercent.js.map +1 -1
- package/lib/cjs/Marker.js.map +1 -1
- package/lib/cjs/ModelSelectorState.js.map +1 -1
- package/lib/cjs/ModelState.js.map +1 -1
- package/lib/cjs/NativeApp.js.map +1 -1
- package/lib/cjs/NativeAppLogger.js.map +1 -1
- package/lib/cjs/NoRenderApp.js.map +1 -1
- package/lib/cjs/NotificationManager.js.map +1 -1
- package/lib/cjs/PerModelCategoryVisibility.js.map +1 -1
- package/lib/cjs/PlanarClipMaskState.js.map +1 -1
- package/lib/cjs/RealityDataSource.js.map +1 -1
- package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
- package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -1
- package/lib/cjs/RealityDataSourceTilesetUrlImpl.js.map +1 -1
- package/lib/cjs/SelectionSet.js.map +1 -1
- package/lib/cjs/SheetViewState.js.map +1 -1
- package/lib/cjs/SpatialClassifiersState.js.map +1 -1
- package/lib/cjs/SpatialViewState.js.map +1 -1
- package/lib/cjs/Sprites.js.map +1 -1
- package/lib/cjs/StandardView.js.map +1 -1
- package/lib/cjs/SubCategoriesCache.js.map +1 -1
- package/lib/cjs/TentativePoint.js.map +1 -1
- package/lib/cjs/Tiles.js.map +1 -1
- package/lib/cjs/TxnEntityChanges.js.map +1 -1
- package/lib/cjs/UserPreferences.js.map +1 -1
- package/lib/cjs/ViewAnimation.js.map +1 -1
- package/lib/cjs/ViewContext.js.map +1 -1
- package/lib/cjs/ViewCreator2d.js.map +1 -1
- package/lib/cjs/ViewCreator3d.js.map +1 -1
- package/lib/cjs/ViewGlobalLocation.js.map +1 -1
- package/lib/cjs/ViewManager.js.map +1 -1
- package/lib/cjs/ViewPose.js.map +1 -1
- package/lib/cjs/ViewState.js.map +1 -1
- package/lib/cjs/ViewStatus.js.map +1 -1
- package/lib/cjs/ViewingSpace.js.map +1 -1
- package/lib/cjs/Viewport.js.map +1 -1
- package/lib/cjs/ViewportSync.js.map +1 -1
- package/lib/cjs/common/FrontendLoggerCategory.js.map +1 -1
- package/lib/cjs/common/ImageUtil.js.map +1 -1
- package/lib/cjs/common/ViewRect.js.map +1 -1
- package/lib/cjs/common/WorkerProxy.js.map +1 -1
- package/lib/cjs/common/gltf/GltfModel.js.map +1 -1
- package/lib/cjs/common/gltf/GltfParser.js.map +1 -1
- package/lib/cjs/common/gltf/GltfSchema.js.map +1 -1
- package/lib/cjs/common/imdl/CompactEdges.js.map +1 -1
- package/lib/cjs/common/imdl/ImdlModel.js.map +1 -1
- package/lib/cjs/common/imdl/ImdlSchema.js.map +1 -1
- package/lib/cjs/common/imdl/ParseImdlDocument.js.map +1 -1
- package/lib/cjs/common/internal/Symbols.js.map +1 -1
- package/lib/cjs/common/internal/render/AnimationNodeId.js.map +1 -1
- package/lib/cjs/common/internal/render/AuxChannelTable.js.map +1 -1
- package/lib/cjs/common/internal/render/ColorMap.js.map +1 -1
- package/lib/cjs/common/internal/render/DisplayParams.js.map +1 -1
- package/lib/cjs/common/internal/render/EdgeParams.js.map +1 -1
- package/lib/cjs/common/internal/render/GeometryAccumulator.js.map +1 -1
- package/lib/cjs/common/internal/render/GeometryList.js.map +1 -1
- package/lib/cjs/common/internal/render/GeometryPrimitives.js.map +1 -1
- package/lib/cjs/common/internal/render/GraphicDescriptionBuilderImpl.js.map +1 -1
- package/lib/cjs/common/internal/render/GraphicDescriptionContextImpl.js.map +1 -1
- package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -1
- package/lib/cjs/common/internal/render/LineCode.js.map +1 -1
- package/lib/cjs/common/internal/render/MeshBuilder.js.map +1 -1
- package/lib/cjs/common/internal/render/MeshBuilderMap.js.map +1 -1
- package/lib/cjs/common/internal/render/MeshParams.js.map +1 -1
- package/lib/cjs/common/internal/render/MeshPrimitive.js.map +1 -1
- package/lib/cjs/common/internal/render/MeshPrimitives.js.map +1 -1
- package/lib/cjs/common/internal/render/OvrFlags.js.map +1 -1
- package/lib/cjs/common/internal/render/PointCloudPrimitive.js.map +1 -1
- package/lib/cjs/common/internal/render/PointStringParams.js.map +1 -1
- package/lib/cjs/common/internal/render/Polyface.js.map +1 -1
- package/lib/cjs/common/internal/render/PolylineParams.js.map +1 -1
- package/lib/cjs/common/internal/render/Primitives.js.map +1 -1
- package/lib/cjs/common/internal/render/Strokes.js.map +1 -1
- package/lib/cjs/common/internal/render/SurfaceParams.js.map +1 -1
- package/lib/cjs/common/internal/render/VertexIndices.js.map +1 -1
- package/lib/cjs/common/internal/render/VertexKey.js.map +1 -1
- package/lib/cjs/common/internal/render/VertexTable.js.map +1 -1
- package/lib/cjs/common/internal/render/VertexTableBuilder.js.map +1 -1
- package/lib/cjs/common/internal/render/VertexTableSplitter.js.map +1 -1
- package/lib/cjs/common/render/BatchOptions.js.map +1 -1
- package/lib/cjs/common/render/GraphicAssembler.js.map +1 -1
- package/lib/cjs/common/render/GraphicDescriptionBuilder.js.map +1 -1
- package/lib/cjs/common/render/GraphicDescriptionContext.js.map +1 -1
- package/lib/cjs/common/render/GraphicPrimitive.js.map +1 -1
- package/lib/cjs/common/render/GraphicType.js.map +1 -1
- package/lib/cjs/common/render/InstancedGraphicParams.js.map +1 -1
- package/lib/cjs/common/render/MaterialParams.js.map +1 -1
- package/lib/cjs/common/render/RenderInstancesParams.js.map +1 -1
- package/lib/cjs/common/render/TextureParams.js.map +1 -1
- package/lib/cjs/common.js.map +1 -1
- package/lib/cjs/core-frontend.js.map +1 -1
- package/lib/cjs/extension/Extension.js.map +1 -1
- package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
- package/lib/cjs/extension/ExtensionHost.js.map +1 -1
- package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
- package/lib/cjs/extension/providers/ExtensionLoadScript.js.map +1 -1
- package/lib/cjs/extension/providers/LocalExtensionProvider.js.map +1 -1
- package/lib/cjs/extension/providers/RemoteExtensionProvider.js.map +1 -1
- package/lib/cjs/internal/GoogleMapsDecorator.js.map +1 -1
- package/lib/cjs/internal/RealityDataSourceGoogle3dTilesImpl.js.map +1 -1
- package/lib/cjs/internal/ScriptUtils.js.map +1 -1
- package/lib/cjs/internal/cross-package.js.map +1 -1
- package/lib/cjs/internal/render/AnimationBranchState.js.map +1 -1
- package/lib/cjs/internal/render/FrameStatsCollector.js.map +1 -1
- package/lib/cjs/internal/render/GraphicBranchFrustum.js.map +1 -1
- package/lib/cjs/internal/render/GraphicTemplateImpl.js.map +1 -1
- package/lib/cjs/internal/render/MeshMapLayerGraphicParams.js.map +1 -1
- package/lib/cjs/internal/render/MockRender.js.map +1 -1
- package/lib/cjs/internal/render/PrimitiveBuilder.js.map +1 -1
- package/lib/cjs/internal/render/QueryVisibileFeatures.js.map +1 -1
- package/lib/cjs/internal/render/RenderAreaPattern.js.map +1 -1
- package/lib/cjs/internal/render/RenderGeometry.js.map +1 -1
- package/lib/cjs/internal/render/RenderInstancesParamsImpl.js.map +1 -1
- package/lib/cjs/internal/render/RenderMaterialSource.js.map +1 -1
- package/lib/cjs/internal/render/RenderPlan.js.map +1 -1
- package/lib/cjs/internal/render/RenderPlanarClassifier.js.map +1 -1
- package/lib/cjs/internal/render/RenderSkyBoxParams.js.map +1 -1
- package/lib/cjs/internal/render/RenderSystemDebugControl.js.map +1 -1
- package/lib/cjs/internal/render/RenderTargetDebugControl.js.map +1 -1
- package/lib/cjs/internal/render/RenderTerrain.js.map +1 -1
- package/lib/cjs/internal/render/RenderTextureDrape.js.map +1 -1
- package/lib/cjs/internal/render/SceneVolumeClassifier.js.map +1 -1
- package/lib/cjs/internal/render/UpsampleRealityMeshParams.js.map +1 -1
- package/lib/cjs/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/AttributeBuffers.js.map +1 -1
- package/lib/cjs/internal/render/webgl/AttributeMap.js.map +1 -1
- 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/BatchState.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BatchUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BranchStack.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BranchState.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BranchUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/CachedGeometry.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ClipStack.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ClipVolume.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ClippingProgram.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ColorInfo.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ContourUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Contours.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Diagnostics.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Disposable.js.map +1 -1
- package/lib/cjs/internal/render/webgl/DrawCommand.js.map +1 -1
- package/lib/cjs/internal/render/webgl/EDL.js.map +1 -1
- package/lib/cjs/internal/render/webgl/EdgeGeometry.js.map +1 -1
- package/lib/cjs/internal/render/webgl/EdgeSettings.js.map +1 -1
- package/lib/cjs/internal/render/webgl/FeatureOverrides.js.map +1 -1
- package/lib/cjs/internal/render/webgl/FloatRGBA.js.map +1 -1
- package/lib/cjs/internal/render/webgl/FrameBuffer.js.map +1 -1
- package/lib/cjs/internal/render/webgl/FrustumUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/GL.js.map +1 -1
- package/lib/cjs/internal/render/webgl/GLTimer.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Graphic.js.map +1 -1
- package/lib/cjs/internal/render/webgl/HiliteUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/IModelFrameLifecycle.js.map +1 -1
- package/lib/cjs/internal/render/webgl/IndexedEdgeGeometry.js.map +1 -1
- package/lib/cjs/internal/render/webgl/InstancedGeometry.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Layer.js.map +1 -1
- package/lib/cjs/internal/render/webgl/LayerCommands.js.map +1 -1
- package/lib/cjs/internal/render/webgl/LightingUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/LineCode.js.map +1 -1
- package/lib/cjs/internal/render/webgl/MapLayerParams.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Material.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Matrix.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Mesh.js.map +1 -1
- package/lib/cjs/internal/render/webgl/MeshData.js.map +1 -1
- package/lib/cjs/internal/render/webgl/MeshGeometry.js.map +1 -1
- package/lib/cjs/internal/render/webgl/PerformanceMetrics.js.map +1 -1
- package/lib/cjs/internal/render/webgl/PlanarClassifier.js +1 -1
- package/lib/cjs/internal/render/webgl/PlanarClassifier.js.map +1 -1
- package/lib/cjs/internal/render/webgl/PlanarGrid.js.map +1 -1
- package/lib/cjs/internal/render/webgl/PlanarTextureProjection.js.map +1 -1
- package/lib/cjs/internal/render/webgl/PointCloud.js.map +1 -1
- package/lib/cjs/internal/render/webgl/PointString.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Polyline.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Primitive.js.map +1 -1
- package/lib/cjs/internal/render/webgl/RealityMesh.js.map +1 -1
- package/lib/cjs/internal/render/webgl/RealityModelUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/RenderBuffer.js.map +1 -1
- package/lib/cjs/internal/render/webgl/RenderCommands.js.map +1 -1
- package/lib/cjs/internal/render/webgl/RenderFlags.js.map +1 -1
- package/lib/cjs/internal/render/webgl/RenderState.js.map +1 -1
- package/lib/cjs/internal/render/webgl/SceneCompositor.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ScratchDrawParams.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ScreenSpaceEffect.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ShaderBuilder.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ShaderProgram.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ShadowUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/SolarShadowMap.js.map +1 -1
- package/lib/cjs/internal/render/webgl/StyleUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/SurfaceGeometry.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Sync.js.map +1 -1
- package/lib/cjs/internal/render/webgl/System.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Target.js.map +1 -1
- package/lib/cjs/internal/render/webgl/TargetGraphics.js.map +1 -1
- package/lib/cjs/internal/render/webgl/TargetUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Technique.js.map +1 -1
- package/lib/cjs/internal/render/webgl/TechniqueFlags.js.map +1 -1
- package/lib/cjs/internal/render/webgl/TechniqueId.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Texture.js.map +1 -1
- package/lib/cjs/internal/render/webgl/TextureDrape.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ThematicSensors.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ThematicUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/UniformHandle.js.map +1 -1
- package/lib/cjs/internal/render/webgl/VertexLUT.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ViewRectUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/VisibleTileFeatures.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/AmbientOcclusion.js +154 -154
- package/lib/cjs/internal/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Animation.js +83 -83
- package/lib/cjs/internal/render/webgl/glsl/Animation.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Atmosphere.js +266 -266
- package/lib/cjs/internal/render/webgl/glsl/Atmosphere.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Blur.js +37 -37
- package/lib/cjs/internal/render/webgl/glsl/Blur.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/ClearPickAndColor.js +5 -5
- package/lib/cjs/internal/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/ClearTranslucent.js +3 -3
- package/lib/cjs/internal/render/webgl/glsl/ClearTranslucent.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Clipping.js +96 -96
- package/lib/cjs/internal/render/webgl/glsl/Clipping.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Color.js +12 -12
- package/lib/cjs/internal/render/webgl/glsl/Color.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Combine3Textures.js +7 -7
- package/lib/cjs/internal/render/webgl/glsl/Combine3Textures.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/CombineTextures.js +5 -5
- package/lib/cjs/internal/render/webgl/glsl/CombineTextures.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Common.js +16 -16
- package/lib/cjs/internal/render/webgl/glsl/Common.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Composite.js +71 -71
- package/lib/cjs/internal/render/webgl/glsl/Composite.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Contours.js +101 -101
- package/lib/cjs/internal/render/webgl/glsl/Contours.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/CopyColor.js +6 -6
- package/lib/cjs/internal/render/webgl/glsl/CopyColor.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/CopyPickBuffers.js +3 -3
- package/lib/cjs/internal/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/CopyStencil.js +4 -4
- package/lib/cjs/internal/render/webgl/glsl/CopyStencil.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Decode.js +65 -65
- package/lib/cjs/internal/render/webgl/glsl/Decode.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/EDL.js +103 -103
- package/lib/cjs/internal/render/webgl/glsl/EDL.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/EVSMFromDepth.js +25 -25
- package/lib/cjs/internal/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Edge.js +146 -146
- package/lib/cjs/internal/render/webgl/glsl/Edge.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/FeatureSymbology.js +238 -238
- package/lib/cjs/internal/render/webgl/glsl/FeatureSymbology.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Fragment.js +43 -43
- package/lib/cjs/internal/render/webgl/glsl/Fragment.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Instancing.js +21 -21
- package/lib/cjs/internal/render/webgl/glsl/Instancing.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Lighting.js +92 -92
- package/lib/cjs/internal/render/webgl/glsl/Lighting.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/LookupTable.js +19 -19
- package/lib/cjs/internal/render/webgl/glsl/LookupTable.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.js +87 -87
- package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Monochrome.js +13 -13
- package/lib/cjs/internal/render/webgl/glsl/Monochrome.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/PlanarClassification.js +188 -188
- package/lib/cjs/internal/render/webgl/glsl/PlanarClassification.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/PlanarGrid.js +22 -22
- package/lib/cjs/internal/render/webgl/glsl/PlanarGrid.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/PointCloud.js +28 -28
- package/lib/cjs/internal/render/webgl/glsl/PointCloud.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/PointString.js +9 -9
- package/lib/cjs/internal/render/webgl/glsl/PointString.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Polyline.js +213 -213
- package/lib/cjs/internal/render/webgl/glsl/Polyline.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js +25 -25
- package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/RenderPass.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/ScreenSpaceEffect.js +9 -9
- package/lib/cjs/internal/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/SkyBox.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/SkySphere.js +49 -49
- package/lib/cjs/internal/render/webgl/glsl/SkySphere.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/SolarShadowMapping.js +51 -51
- package/lib/cjs/internal/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Surface.js +235 -235
- package/lib/cjs/internal/render/webgl/glsl/Surface.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Thematic.js +136 -136
- package/lib/cjs/internal/render/webgl/glsl/Thematic.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Translucency.js +19 -19
- package/lib/cjs/internal/render/webgl/glsl/Translucency.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Vertex.js +73 -73
- package/lib/cjs/internal/render/webgl/glsl/Vertex.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Viewport.js +38 -38
- package/lib/cjs/internal/render/webgl/glsl/Viewport.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/ViewportQuad.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Wiremesh.js +10 -10
- package/lib/cjs/internal/render/webgl/glsl/Wiremesh.js.map +1 -1
- package/lib/cjs/internal/tile/B3dmReader.js.map +1 -1
- package/lib/cjs/internal/tile/BatchedTileIdMap.js.map +1 -1
- package/lib/cjs/internal/tile/CesiumAssetProvider.js.map +1 -1
- package/lib/cjs/internal/tile/ClassifierTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/ContextShareProvider.js.map +1 -1
- package/lib/cjs/internal/tile/DynamicIModelTile.js.map +1 -1
- package/lib/cjs/internal/tile/FetchCloudStorage.js.map +1 -1
- package/lib/cjs/internal/tile/GraphicsCollector.js.map +1 -1
- package/lib/cjs/internal/tile/I3dmReader.js.map +1 -1
- package/lib/cjs/internal/tile/IModelTile.js.map +1 -1
- package/lib/cjs/internal/tile/IModelTileRequestChannels.js.map +1 -1
- package/lib/cjs/internal/tile/IModelTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/ImdlDecoder.js.map +1 -1
- package/lib/cjs/internal/tile/ImdlGraphicsCreator.js.map +1 -1
- package/lib/cjs/internal/tile/ImdlParser.js.map +1 -1
- package/lib/cjs/internal/tile/LRUTileList.js.map +1 -1
- package/lib/cjs/internal/tile/LayerTileTreeHandler.js.map +1 -1
- package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
- package/lib/cjs/internal/tile/MeshoptCompression.js.map +1 -1
- package/lib/cjs/internal/tile/OPCFormatInterpreter.js.map +1 -1
- package/lib/cjs/internal/tile/OrbitGtTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/PntsReader.js.map +1 -1
- package/lib/cjs/internal/tile/PrimaryTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/RealityTileDrawArgs.js.map +1 -1
- package/lib/cjs/internal/tile/RealityTileLoader.js.map +1 -1
- package/lib/cjs/internal/tile/ThreeDTileFormatInterpreter.js.map +1 -1
- package/lib/cjs/internal/tile/TileUserSet.js.map +1 -1
- package/lib/cjs/internal/tile/ViewFlagOverrides.js.map +1 -1
- package/lib/cjs/internal/tile/map/ArcGISTileMap.js.map +1 -1
- package/lib/cjs/internal/tile/map/ArcGisUtilities.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/CoordinatesUtils.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/FeatureAttributeDrivenSymbology.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/FeatureGeometryRenderer.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/FeatureGraphicsRenderer.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/FeatureSymbologyRenderer.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/WebMercator.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/MapTileAvailability.js.map +1 -1
- package/lib/cjs/internal/tile/map/MapTileLoader.js.map +1 -1
- package/lib/cjs/internal/tile/map/UrlUtils.js.map +1 -1
- package/lib/cjs/internal/tile/map/WmsCapabilities.js.map +1 -1
- package/lib/cjs/internal/tile/map/WmsUtilities.js.map +1 -1
- package/lib/cjs/internal/tile/map/WmtsCapabilities.js.map +1 -1
- package/lib/cjs/internal/webgl.js.map +1 -1
- package/lib/cjs/properties/AngleDescription.js.map +1 -1
- package/lib/cjs/properties/FormattedQuantityDescription.js.map +1 -1
- package/lib/cjs/properties/LengthDescription.js.map +1 -1
- package/lib/cjs/public/scripts/checkbrowser.js +24 -24
- package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
- package/lib/cjs/quantity-formatting/BasicUnitsProvider.js.map +1 -1
- package/lib/cjs/quantity-formatting/LocalUnitFormatProvider.js.map +1 -1
- package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
- package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -1
- package/lib/cjs/quantity-formatting/UnitsData.js.map +1 -1
- package/lib/cjs/render/CanvasDecoration.js.map +1 -1
- package/lib/cjs/render/CreateRenderMaterialArgs.js.map +1 -1
- package/lib/cjs/render/CreateTextureArgs.js.map +1 -1
- package/lib/cjs/render/Decorations.js.map +1 -1
- package/lib/cjs/render/FeatureSymbology.js.map +1 -1
- package/lib/cjs/render/FrameStats.js.map +1 -1
- package/lib/cjs/render/GraphicBranch.js.map +1 -1
- package/lib/cjs/render/GraphicBuilder.js.map +1 -1
- package/lib/cjs/render/GraphicTemplate.js.map +1 -1
- package/lib/cjs/render/MeshArgs.js.map +1 -1
- package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
- package/lib/cjs/render/Pixel.js.map +1 -1
- package/lib/cjs/render/PolylineArgs.js.map +1 -1
- package/lib/cjs/render/RealityMeshParams.js.map +1 -1
- package/lib/cjs/render/RenderClipVolume.js.map +1 -1
- package/lib/cjs/render/RenderGraphic.js.map +1 -1
- package/lib/cjs/render/RenderMemory.js.map +1 -1
- package/lib/cjs/render/RenderSystem.js.map +1 -1
- package/lib/cjs/render/RenderTarget.js.map +1 -1
- package/lib/cjs/render/Scene.js.map +1 -1
- package/lib/cjs/render/ScreenSpaceEffectBuilder.js.map +1 -1
- package/lib/cjs/render/VisibleFeature.js.map +1 -1
- package/lib/cjs/request/Request.js.map +1 -1
- package/lib/cjs/request/utils.js.map +1 -1
- package/lib/cjs/tile/DisclosedTileTreeSet.js.map +1 -1
- package/lib/cjs/tile/GltfReader.js.map +1 -1
- package/lib/cjs/tile/ImdlReader.js.map +1 -1
- package/lib/cjs/tile/RealityTile.js.map +1 -1
- package/lib/cjs/tile/RealityTileTree.js.map +1 -1
- package/lib/cjs/tile/RenderGraphicTileTree.js.map +1 -1
- package/lib/cjs/tile/Tile.js.map +1 -1
- package/lib/cjs/tile/TileAdmin.js.map +1 -1
- package/lib/cjs/tile/TileContent.js.map +1 -1
- package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
- package/lib/cjs/tile/TileGeometryCollector.js.map +1 -1
- package/lib/cjs/tile/TileParams.js.map +1 -1
- package/lib/cjs/tile/TileRequest.js.map +1 -1
- package/lib/cjs/tile/TileRequestChannel.js.map +1 -1
- package/lib/cjs/tile/TileRequestChannels.js.map +1 -1
- package/lib/cjs/tile/TileStorage.js.map +1 -1
- package/lib/cjs/tile/TileTree.js.map +1 -1
- package/lib/cjs/tile/TileTreeOwner.js.map +1 -1
- package/lib/cjs/tile/TileTreeParams.js.map +1 -1
- package/lib/cjs/tile/TileTreeReference.js.map +1 -1
- package/lib/cjs/tile/TileTreeSupplier.js.map +1 -1
- package/lib/cjs/tile/TileUsageMarker.js.map +1 -1
- package/lib/cjs/tile/TileUser.js.map +1 -1
- package/lib/cjs/tile/TiledGraphicsProvider.js.map +1 -1
- package/lib/cjs/tile/internal.js.map +1 -1
- package/lib/cjs/tile/map/BingElevation.js.map +1 -1
- package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
- package/lib/cjs/tile/map/EllipsoidTerrainProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
- package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
- package/lib/cjs/tile/map/MapFeatureInfo.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerAuthentication.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerTileTreeReference.js.map +1 -1
- package/lib/cjs/tile/map/MapTile.js.map +1 -1
- package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
- package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
- package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
- package/lib/cjs/tile/map/QuadId.js.map +1 -1
- package/lib/cjs/tile/map/TerrainMeshProvider.js.map +1 -1
- package/lib/cjs/tile/map/TerrainProvider.js.map +1 -1
- package/lib/cjs/tools/AccuDrawTool.js.map +1 -1
- package/lib/cjs/tools/AccuDrawViewportUI.js.map +1 -1
- package/lib/cjs/tools/ClipViewTool.js.map +1 -1
- package/lib/cjs/tools/EditManipulator.js.map +1 -1
- package/lib/cjs/tools/ElementSetTool.js.map +1 -1
- package/lib/cjs/tools/EventController.js.map +1 -1
- package/lib/cjs/tools/IdleTool.js.map +1 -1
- package/lib/cjs/tools/MeasureTool.js.map +1 -1
- package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
- package/lib/cjs/tools/SelectTool.js.map +1 -1
- package/lib/cjs/tools/Tool.js.map +1 -1
- package/lib/cjs/tools/ToolAdmin.js.map +1 -1
- package/lib/cjs/tools/ToolAssistance.js.map +1 -1
- package/lib/cjs/tools/ToolSettings.js.map +1 -1
- package/lib/cjs/tools/ViewTool.js.map +1 -1
- package/lib/cjs/workers/ImdlParser/Worker.js.map +1 -1
- package/lib/cjs/workers/ImdlParser/webpack.config.js +42 -42
- package/lib/cjs/workers/RegisterWorker.js.map +1 -1
- package/lib/esm/AccuDraw.js.map +1 -1
- package/lib/esm/AccuSnap.js.map +1 -1
- package/lib/esm/ApproximateTerrainHeights.js.map +1 -1
- package/lib/esm/ApproximateTerrainHeightsProps.js.map +1 -1
- package/lib/esm/AuxCoordSys.js.map +1 -1
- package/lib/esm/BackgroundMapGeometry.js.map +1 -1
- package/lib/esm/BingLocation.js.map +1 -1
- package/lib/esm/BriefcaseConnection.js.map +1 -1
- package/lib/esm/BriefcaseTxns.js.map +1 -1
- package/lib/esm/CatalogConnection.js.map +1 -1
- package/lib/esm/CategorySelectorState.js.map +1 -1
- package/lib/esm/ChangeFlags.js.map +1 -1
- package/lib/esm/CheckpointConnection.js.map +1 -1
- package/lib/esm/ContextRealityModelState.js.map +1 -1
- package/lib/esm/CoordSystem.js.map +1 -1
- package/lib/esm/DecorationsCache.js.map +1 -1
- package/lib/esm/DevTools.js.map +1 -1
- package/lib/esm/DisplayStyleState.js.map +1 -1
- package/lib/esm/DrawingViewState.js +5 -5
- package/lib/esm/DrawingViewState.js.map +1 -1
- package/lib/esm/ElementLocateManager.js.map +1 -1
- package/lib/esm/EmphasizeElements.js.map +1 -1
- package/lib/esm/EntityState.js.map +1 -1
- package/lib/esm/EnvironmentDecorations.js.map +1 -1
- package/lib/esm/FeatureOverrideProvider.js.map +1 -1
- package/lib/esm/FlashSettings.js.map +1 -1
- package/lib/esm/FrontendHubAccess.js.map +1 -1
- package/lib/esm/Frustum2d.js.map +1 -1
- package/lib/esm/FrustumAnimator.js.map +1 -1
- package/lib/esm/FuzzySearch.js.map +1 -1
- package/lib/esm/GeoServices.js.map +1 -1
- package/lib/esm/GlobeAnimator.js.map +1 -1
- package/lib/esm/GraphicalEditingScope.js.map +1 -1
- package/lib/esm/HitDetail.js.map +1 -1
- package/lib/esm/IModelApp.js.map +1 -1
- package/lib/esm/IModelConnection.js +26 -26
- package/lib/esm/IModelConnection.js.map +1 -1
- package/lib/esm/IModelRoutingContext.js.map +1 -1
- package/lib/esm/IModeljs-css.js +133 -133
- package/lib/esm/IModeljs-css.js.map +1 -1
- package/lib/esm/IpcApp.js.map +1 -1
- package/lib/esm/LinePlaneIntersect.js.map +1 -1
- package/lib/esm/LocalhostIpcApp.js.map +1 -1
- package/lib/esm/MarginPercent.js.map +1 -1
- package/lib/esm/Marker.js.map +1 -1
- package/lib/esm/ModelSelectorState.js.map +1 -1
- package/lib/esm/ModelState.js.map +1 -1
- package/lib/esm/NativeApp.js.map +1 -1
- package/lib/esm/NativeAppLogger.js.map +1 -1
- package/lib/esm/NoRenderApp.js.map +1 -1
- package/lib/esm/NotificationManager.js.map +1 -1
- package/lib/esm/PerModelCategoryVisibility.js.map +1 -1
- package/lib/esm/PlanarClipMaskState.js.map +1 -1
- package/lib/esm/RealityDataSource.js.map +1 -1
- package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
- package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -1
- package/lib/esm/RealityDataSourceTilesetUrlImpl.js.map +1 -1
- package/lib/esm/SelectionSet.js.map +1 -1
- package/lib/esm/SheetViewState.js.map +1 -1
- package/lib/esm/SpatialClassifiersState.js.map +1 -1
- package/lib/esm/SpatialViewState.js.map +1 -1
- package/lib/esm/Sprites.js.map +1 -1
- package/lib/esm/StandardView.js.map +1 -1
- package/lib/esm/SubCategoriesCache.js.map +1 -1
- package/lib/esm/TentativePoint.js.map +1 -1
- package/lib/esm/Tiles.js.map +1 -1
- package/lib/esm/TxnEntityChanges.js.map +1 -1
- package/lib/esm/UserPreferences.js.map +1 -1
- package/lib/esm/ViewAnimation.js.map +1 -1
- package/lib/esm/ViewContext.js.map +1 -1
- package/lib/esm/ViewCreator2d.js.map +1 -1
- package/lib/esm/ViewCreator3d.js.map +1 -1
- package/lib/esm/ViewGlobalLocation.js.map +1 -1
- package/lib/esm/ViewManager.js.map +1 -1
- package/lib/esm/ViewPose.js.map +1 -1
- package/lib/esm/ViewState.js.map +1 -1
- package/lib/esm/ViewStatus.js.map +1 -1
- package/lib/esm/ViewingSpace.js.map +1 -1
- package/lib/esm/Viewport.js.map +1 -1
- package/lib/esm/ViewportSync.js.map +1 -1
- package/lib/esm/common/FrontendLoggerCategory.js.map +1 -1
- package/lib/esm/common/ImageUtil.js.map +1 -1
- package/lib/esm/common/ViewRect.js.map +1 -1
- package/lib/esm/common/WorkerProxy.js.map +1 -1
- package/lib/esm/common/gltf/GltfModel.js.map +1 -1
- package/lib/esm/common/gltf/GltfParser.js.map +1 -1
- package/lib/esm/common/gltf/GltfSchema.js.map +1 -1
- package/lib/esm/common/imdl/CompactEdges.js.map +1 -1
- package/lib/esm/common/imdl/ImdlModel.js.map +1 -1
- package/lib/esm/common/imdl/ImdlSchema.js.map +1 -1
- package/lib/esm/common/imdl/ParseImdlDocument.js.map +1 -1
- package/lib/esm/common/internal/Symbols.js.map +1 -1
- package/lib/esm/common/internal/render/AnimationNodeId.js.map +1 -1
- package/lib/esm/common/internal/render/AuxChannelTable.js.map +1 -1
- package/lib/esm/common/internal/render/ColorMap.js.map +1 -1
- package/lib/esm/common/internal/render/DisplayParams.js.map +1 -1
- package/lib/esm/common/internal/render/EdgeParams.js.map +1 -1
- package/lib/esm/common/internal/render/GeometryAccumulator.js.map +1 -1
- package/lib/esm/common/internal/render/GeometryList.js.map +1 -1
- package/lib/esm/common/internal/render/GeometryPrimitives.js.map +1 -1
- package/lib/esm/common/internal/render/GraphicDescriptionBuilderImpl.js.map +1 -1
- package/lib/esm/common/internal/render/GraphicDescriptionContextImpl.js.map +1 -1
- package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -1
- package/lib/esm/common/internal/render/LineCode.js.map +1 -1
- package/lib/esm/common/internal/render/MeshBuilder.js.map +1 -1
- package/lib/esm/common/internal/render/MeshBuilderMap.js.map +1 -1
- package/lib/esm/common/internal/render/MeshParams.js.map +1 -1
- package/lib/esm/common/internal/render/MeshPrimitive.js.map +1 -1
- package/lib/esm/common/internal/render/MeshPrimitives.js.map +1 -1
- package/lib/esm/common/internal/render/OvrFlags.js.map +1 -1
- package/lib/esm/common/internal/render/PointCloudPrimitive.js.map +1 -1
- package/lib/esm/common/internal/render/PointStringParams.js.map +1 -1
- package/lib/esm/common/internal/render/Polyface.js.map +1 -1
- package/lib/esm/common/internal/render/PolylineParams.js.map +1 -1
- package/lib/esm/common/internal/render/Primitives.js.map +1 -1
- package/lib/esm/common/internal/render/Strokes.js.map +1 -1
- package/lib/esm/common/internal/render/SurfaceParams.js.map +1 -1
- package/lib/esm/common/internal/render/VertexIndices.js.map +1 -1
- package/lib/esm/common/internal/render/VertexKey.js.map +1 -1
- package/lib/esm/common/internal/render/VertexTable.js.map +1 -1
- package/lib/esm/common/internal/render/VertexTableBuilder.js.map +1 -1
- package/lib/esm/common/internal/render/VertexTableSplitter.js.map +1 -1
- package/lib/esm/common/render/BatchOptions.js.map +1 -1
- package/lib/esm/common/render/GraphicAssembler.js.map +1 -1
- package/lib/esm/common/render/GraphicDescriptionBuilder.js.map +1 -1
- package/lib/esm/common/render/GraphicDescriptionContext.js.map +1 -1
- package/lib/esm/common/render/GraphicPrimitive.js.map +1 -1
- package/lib/esm/common/render/GraphicType.js.map +1 -1
- package/lib/esm/common/render/InstancedGraphicParams.js.map +1 -1
- package/lib/esm/common/render/MaterialParams.js.map +1 -1
- package/lib/esm/common/render/RenderInstancesParams.js.map +1 -1
- package/lib/esm/common/render/TextureParams.js.map +1 -1
- package/lib/esm/common.js.map +1 -1
- package/lib/esm/core-frontend.js.map +1 -1
- package/lib/esm/extension/Extension.js.map +1 -1
- package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
- package/lib/esm/extension/ExtensionHost.js.map +1 -1
- package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
- package/lib/esm/extension/providers/ExtensionLoadScript.js.map +1 -1
- package/lib/esm/extension/providers/LocalExtensionProvider.js.map +1 -1
- package/lib/esm/extension/providers/RemoteExtensionProvider.js.map +1 -1
- package/lib/esm/internal/GoogleMapsDecorator.js.map +1 -1
- package/lib/esm/internal/RealityDataSourceGoogle3dTilesImpl.js.map +1 -1
- package/lib/esm/internal/ScriptUtils.js.map +1 -1
- package/lib/esm/internal/cross-package.js.map +1 -1
- package/lib/esm/internal/render/AnimationBranchState.js.map +1 -1
- package/lib/esm/internal/render/FrameStatsCollector.js.map +1 -1
- package/lib/esm/internal/render/GraphicBranchFrustum.js.map +1 -1
- package/lib/esm/internal/render/GraphicTemplateImpl.js.map +1 -1
- package/lib/esm/internal/render/MeshMapLayerGraphicParams.js.map +1 -1
- package/lib/esm/internal/render/MockRender.js.map +1 -1
- package/lib/esm/internal/render/PrimitiveBuilder.js.map +1 -1
- package/lib/esm/internal/render/QueryVisibileFeatures.js.map +1 -1
- package/lib/esm/internal/render/RenderAreaPattern.js.map +1 -1
- package/lib/esm/internal/render/RenderGeometry.js.map +1 -1
- package/lib/esm/internal/render/RenderInstancesParamsImpl.js.map +1 -1
- package/lib/esm/internal/render/RenderMaterialSource.js.map +1 -1
- package/lib/esm/internal/render/RenderPlan.js.map +1 -1
- package/lib/esm/internal/render/RenderPlanarClassifier.js.map +1 -1
- package/lib/esm/internal/render/RenderSkyBoxParams.js.map +1 -1
- package/lib/esm/internal/render/RenderSystemDebugControl.js.map +1 -1
- package/lib/esm/internal/render/RenderTargetDebugControl.js.map +1 -1
- package/lib/esm/internal/render/RenderTerrain.js.map +1 -1
- package/lib/esm/internal/render/RenderTextureDrape.js.map +1 -1
- package/lib/esm/internal/render/SceneVolumeClassifier.js.map +1 -1
- package/lib/esm/internal/render/UpsampleRealityMeshParams.js.map +1 -1
- package/lib/esm/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/AttributeBuffers.js.map +1 -1
- package/lib/esm/internal/render/webgl/AttributeMap.js.map +1 -1
- 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/BatchState.js.map +1 -1
- package/lib/esm/internal/render/webgl/BatchUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/BranchStack.js.map +1 -1
- package/lib/esm/internal/render/webgl/BranchState.js.map +1 -1
- package/lib/esm/internal/render/webgl/BranchUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/CachedGeometry.js.map +1 -1
- package/lib/esm/internal/render/webgl/ClipStack.js.map +1 -1
- package/lib/esm/internal/render/webgl/ClipVolume.js.map +1 -1
- package/lib/esm/internal/render/webgl/ClippingProgram.js.map +1 -1
- package/lib/esm/internal/render/webgl/ColorInfo.js.map +1 -1
- package/lib/esm/internal/render/webgl/ContourUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/Contours.js.map +1 -1
- package/lib/esm/internal/render/webgl/Diagnostics.js.map +1 -1
- package/lib/esm/internal/render/webgl/Disposable.js.map +1 -1
- package/lib/esm/internal/render/webgl/DrawCommand.js.map +1 -1
- package/lib/esm/internal/render/webgl/EDL.js.map +1 -1
- package/lib/esm/internal/render/webgl/EdgeGeometry.js.map +1 -1
- package/lib/esm/internal/render/webgl/EdgeSettings.js.map +1 -1
- package/lib/esm/internal/render/webgl/FeatureOverrides.js.map +1 -1
- package/lib/esm/internal/render/webgl/FloatRGBA.js.map +1 -1
- package/lib/esm/internal/render/webgl/FrameBuffer.js.map +1 -1
- package/lib/esm/internal/render/webgl/FrustumUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/GL.js.map +1 -1
- package/lib/esm/internal/render/webgl/GLTimer.js.map +1 -1
- package/lib/esm/internal/render/webgl/Graphic.js.map +1 -1
- package/lib/esm/internal/render/webgl/HiliteUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/IModelFrameLifecycle.js.map +1 -1
- package/lib/esm/internal/render/webgl/IndexedEdgeGeometry.js.map +1 -1
- package/lib/esm/internal/render/webgl/InstancedGeometry.js.map +1 -1
- package/lib/esm/internal/render/webgl/Layer.js.map +1 -1
- package/lib/esm/internal/render/webgl/LayerCommands.js.map +1 -1
- package/lib/esm/internal/render/webgl/LightingUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/LineCode.js.map +1 -1
- package/lib/esm/internal/render/webgl/MapLayerParams.js.map +1 -1
- package/lib/esm/internal/render/webgl/Material.js.map +1 -1
- package/lib/esm/internal/render/webgl/Matrix.js.map +1 -1
- package/lib/esm/internal/render/webgl/Mesh.js.map +1 -1
- package/lib/esm/internal/render/webgl/MeshData.js.map +1 -1
- package/lib/esm/internal/render/webgl/MeshGeometry.js.map +1 -1
- package/lib/esm/internal/render/webgl/PerformanceMetrics.js.map +1 -1
- package/lib/esm/internal/render/webgl/PlanarClassifier.js +1 -1
- package/lib/esm/internal/render/webgl/PlanarClassifier.js.map +1 -1
- package/lib/esm/internal/render/webgl/PlanarGrid.js.map +1 -1
- package/lib/esm/internal/render/webgl/PlanarTextureProjection.js.map +1 -1
- package/lib/esm/internal/render/webgl/PointCloud.js.map +1 -1
- package/lib/esm/internal/render/webgl/PointString.js.map +1 -1
- package/lib/esm/internal/render/webgl/Polyline.js.map +1 -1
- package/lib/esm/internal/render/webgl/Primitive.js.map +1 -1
- package/lib/esm/internal/render/webgl/RealityMesh.js.map +1 -1
- package/lib/esm/internal/render/webgl/RealityModelUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/RenderBuffer.js.map +1 -1
- package/lib/esm/internal/render/webgl/RenderCommands.js.map +1 -1
- package/lib/esm/internal/render/webgl/RenderFlags.js.map +1 -1
- package/lib/esm/internal/render/webgl/RenderState.js.map +1 -1
- package/lib/esm/internal/render/webgl/SceneCompositor.js.map +1 -1
- package/lib/esm/internal/render/webgl/ScratchDrawParams.js.map +1 -1
- package/lib/esm/internal/render/webgl/ScreenSpaceEffect.js.map +1 -1
- package/lib/esm/internal/render/webgl/ShaderBuilder.js.map +1 -1
- package/lib/esm/internal/render/webgl/ShaderProgram.js.map +1 -1
- package/lib/esm/internal/render/webgl/ShadowUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/SolarShadowMap.js.map +1 -1
- package/lib/esm/internal/render/webgl/StyleUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/SurfaceGeometry.js.map +1 -1
- package/lib/esm/internal/render/webgl/Sync.js.map +1 -1
- package/lib/esm/internal/render/webgl/System.js.map +1 -1
- package/lib/esm/internal/render/webgl/Target.js.map +1 -1
- package/lib/esm/internal/render/webgl/TargetGraphics.js.map +1 -1
- package/lib/esm/internal/render/webgl/TargetUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/Technique.js.map +1 -1
- package/lib/esm/internal/render/webgl/TechniqueFlags.js.map +1 -1
- package/lib/esm/internal/render/webgl/TechniqueId.js.map +1 -1
- package/lib/esm/internal/render/webgl/Texture.js.map +1 -1
- package/lib/esm/internal/render/webgl/TextureDrape.js.map +1 -1
- package/lib/esm/internal/render/webgl/ThematicSensors.js.map +1 -1
- package/lib/esm/internal/render/webgl/ThematicUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/UniformHandle.js.map +1 -1
- package/lib/esm/internal/render/webgl/VertexLUT.js.map +1 -1
- package/lib/esm/internal/render/webgl/ViewRectUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/VisibleTileFeatures.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/AmbientOcclusion.js +154 -154
- package/lib/esm/internal/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Animation.js +83 -83
- package/lib/esm/internal/render/webgl/glsl/Animation.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Atmosphere.js +266 -266
- package/lib/esm/internal/render/webgl/glsl/Atmosphere.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Blur.js +37 -37
- package/lib/esm/internal/render/webgl/glsl/Blur.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/ClearPickAndColor.js +5 -5
- package/lib/esm/internal/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/ClearTranslucent.js +3 -3
- package/lib/esm/internal/render/webgl/glsl/ClearTranslucent.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Clipping.js +96 -96
- package/lib/esm/internal/render/webgl/glsl/Clipping.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Color.js +12 -12
- package/lib/esm/internal/render/webgl/glsl/Color.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Combine3Textures.js +7 -7
- package/lib/esm/internal/render/webgl/glsl/Combine3Textures.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/CombineTextures.js +5 -5
- package/lib/esm/internal/render/webgl/glsl/CombineTextures.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Common.js +16 -16
- package/lib/esm/internal/render/webgl/glsl/Common.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Composite.js +71 -71
- package/lib/esm/internal/render/webgl/glsl/Composite.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Contours.js +101 -101
- package/lib/esm/internal/render/webgl/glsl/Contours.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/CopyColor.js +6 -6
- package/lib/esm/internal/render/webgl/glsl/CopyColor.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/CopyPickBuffers.js +3 -3
- package/lib/esm/internal/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/CopyStencil.js +4 -4
- package/lib/esm/internal/render/webgl/glsl/CopyStencil.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Decode.js +65 -65
- package/lib/esm/internal/render/webgl/glsl/Decode.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/EDL.js +103 -103
- package/lib/esm/internal/render/webgl/glsl/EDL.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/EVSMFromDepth.js +25 -25
- package/lib/esm/internal/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Edge.js +146 -146
- package/lib/esm/internal/render/webgl/glsl/Edge.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/FeatureSymbology.js +238 -238
- package/lib/esm/internal/render/webgl/glsl/FeatureSymbology.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Fragment.js +43 -43
- package/lib/esm/internal/render/webgl/glsl/Fragment.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Instancing.js +21 -21
- package/lib/esm/internal/render/webgl/glsl/Instancing.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Lighting.js +92 -92
- package/lib/esm/internal/render/webgl/glsl/Lighting.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/LookupTable.js +19 -19
- package/lib/esm/internal/render/webgl/glsl/LookupTable.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.js +87 -87
- package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Monochrome.js +13 -13
- package/lib/esm/internal/render/webgl/glsl/Monochrome.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/PlanarClassification.js +188 -188
- package/lib/esm/internal/render/webgl/glsl/PlanarClassification.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/PlanarGrid.js +22 -22
- package/lib/esm/internal/render/webgl/glsl/PlanarGrid.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/PointCloud.js +28 -28
- package/lib/esm/internal/render/webgl/glsl/PointCloud.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/PointString.js +9 -9
- package/lib/esm/internal/render/webgl/glsl/PointString.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Polyline.js +213 -213
- package/lib/esm/internal/render/webgl/glsl/Polyline.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/RealityMesh.js +25 -25
- package/lib/esm/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/RenderPass.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/ScreenSpaceEffect.js +9 -9
- package/lib/esm/internal/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/SkyBox.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/SkySphere.js +49 -49
- package/lib/esm/internal/render/webgl/glsl/SkySphere.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/SolarShadowMapping.js +51 -51
- package/lib/esm/internal/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Surface.js +235 -235
- package/lib/esm/internal/render/webgl/glsl/Surface.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Thematic.js +136 -136
- package/lib/esm/internal/render/webgl/glsl/Thematic.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Translucency.js +19 -19
- package/lib/esm/internal/render/webgl/glsl/Translucency.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Vertex.js +73 -73
- package/lib/esm/internal/render/webgl/glsl/Vertex.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Viewport.js +38 -38
- package/lib/esm/internal/render/webgl/glsl/Viewport.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/ViewportQuad.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Wiremesh.js +10 -10
- package/lib/esm/internal/render/webgl/glsl/Wiremesh.js.map +1 -1
- package/lib/esm/internal/tile/B3dmReader.js.map +1 -1
- package/lib/esm/internal/tile/BatchedTileIdMap.js.map +1 -1
- package/lib/esm/internal/tile/CesiumAssetProvider.js.map +1 -1
- package/lib/esm/internal/tile/ClassifierTileTree.js.map +1 -1
- package/lib/esm/internal/tile/ContextShareProvider.js.map +1 -1
- package/lib/esm/internal/tile/DynamicIModelTile.js.map +1 -1
- package/lib/esm/internal/tile/FetchCloudStorage.js.map +1 -1
- package/lib/esm/internal/tile/GraphicsCollector.js.map +1 -1
- package/lib/esm/internal/tile/I3dmReader.js.map +1 -1
- package/lib/esm/internal/tile/IModelTile.js.map +1 -1
- package/lib/esm/internal/tile/IModelTileRequestChannels.js.map +1 -1
- package/lib/esm/internal/tile/IModelTileTree.js.map +1 -1
- package/lib/esm/internal/tile/ImdlDecoder.js.map +1 -1
- package/lib/esm/internal/tile/ImdlGraphicsCreator.js.map +1 -1
- package/lib/esm/internal/tile/ImdlParser.js.map +1 -1
- package/lib/esm/internal/tile/LRUTileList.js.map +1 -1
- package/lib/esm/internal/tile/LayerTileTreeHandler.js.map +1 -1
- package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
- package/lib/esm/internal/tile/MeshoptCompression.js.map +1 -1
- package/lib/esm/internal/tile/OPCFormatInterpreter.js.map +1 -1
- package/lib/esm/internal/tile/OrbitGtTileTree.js.map +1 -1
- package/lib/esm/internal/tile/PntsReader.js.map +1 -1
- package/lib/esm/internal/tile/PrimaryTileTree.js.map +1 -1
- package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -1
- package/lib/esm/internal/tile/RealityTileDrawArgs.js.map +1 -1
- package/lib/esm/internal/tile/RealityTileLoader.js.map +1 -1
- package/lib/esm/internal/tile/ThreeDTileFormatInterpreter.js.map +1 -1
- package/lib/esm/internal/tile/TileUserSet.js.map +1 -1
- package/lib/esm/internal/tile/ViewFlagOverrides.js.map +1 -1
- package/lib/esm/internal/tile/map/ArcGISTileMap.js.map +1 -1
- package/lib/esm/internal/tile/map/ArcGisUtilities.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/CoordinatesUtils.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/FeatureAttributeDrivenSymbology.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/FeatureGeometryRenderer.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/FeatureGraphicsRenderer.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/FeatureSymbologyRenderer.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/WebMercator.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/MapTileAvailability.js.map +1 -1
- package/lib/esm/internal/tile/map/MapTileLoader.js.map +1 -1
- package/lib/esm/internal/tile/map/UrlUtils.js.map +1 -1
- package/lib/esm/internal/tile/map/WmsCapabilities.js.map +1 -1
- package/lib/esm/internal/tile/map/WmsUtilities.js.map +1 -1
- package/lib/esm/internal/tile/map/WmtsCapabilities.js.map +1 -1
- package/lib/esm/internal/webgl.js.map +1 -1
- package/lib/esm/properties/AngleDescription.js.map +1 -1
- package/lib/esm/properties/FormattedQuantityDescription.js.map +1 -1
- package/lib/esm/properties/LengthDescription.js.map +1 -1
- package/lib/esm/public/scripts/checkbrowser.js +24 -24
- package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
- package/lib/esm/quantity-formatting/BasicUnitsProvider.js.map +1 -1
- package/lib/esm/quantity-formatting/LocalUnitFormatProvider.js.map +1 -1
- package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
- package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -1
- package/lib/esm/quantity-formatting/UnitsData.js.map +1 -1
- package/lib/esm/render/CanvasDecoration.js.map +1 -1
- package/lib/esm/render/CreateRenderMaterialArgs.js.map +1 -1
- package/lib/esm/render/CreateTextureArgs.js.map +1 -1
- package/lib/esm/render/Decorations.js.map +1 -1
- package/lib/esm/render/FeatureSymbology.js.map +1 -1
- package/lib/esm/render/FrameStats.js.map +1 -1
- package/lib/esm/render/GraphicBranch.js.map +1 -1
- package/lib/esm/render/GraphicBuilder.js.map +1 -1
- package/lib/esm/render/GraphicTemplate.js.map +1 -1
- package/lib/esm/render/MeshArgs.js.map +1 -1
- package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
- package/lib/esm/render/Pixel.js.map +1 -1
- package/lib/esm/render/PolylineArgs.js.map +1 -1
- package/lib/esm/render/RealityMeshParams.js.map +1 -1
- package/lib/esm/render/RenderClipVolume.js.map +1 -1
- package/lib/esm/render/RenderGraphic.js.map +1 -1
- package/lib/esm/render/RenderMemory.js.map +1 -1
- package/lib/esm/render/RenderSystem.js.map +1 -1
- package/lib/esm/render/RenderTarget.js.map +1 -1
- package/lib/esm/render/Scene.js.map +1 -1
- package/lib/esm/render/ScreenSpaceEffectBuilder.js.map +1 -1
- package/lib/esm/render/VisibleFeature.js.map +1 -1
- package/lib/esm/request/Request.js.map +1 -1
- package/lib/esm/request/utils.js.map +1 -1
- package/lib/esm/tile/DisclosedTileTreeSet.js.map +1 -1
- package/lib/esm/tile/GltfReader.js.map +1 -1
- package/lib/esm/tile/ImdlReader.js.map +1 -1
- package/lib/esm/tile/RealityTile.js.map +1 -1
- package/lib/esm/tile/RealityTileTree.js.map +1 -1
- package/lib/esm/tile/RenderGraphicTileTree.js.map +1 -1
- package/lib/esm/tile/Tile.js.map +1 -1
- package/lib/esm/tile/TileAdmin.js.map +1 -1
- package/lib/esm/tile/TileContent.js.map +1 -1
- package/lib/esm/tile/TileDrawArgs.js.map +1 -1
- package/lib/esm/tile/TileGeometryCollector.js.map +1 -1
- package/lib/esm/tile/TileParams.js.map +1 -1
- package/lib/esm/tile/TileRequest.js.map +1 -1
- package/lib/esm/tile/TileRequestChannel.js.map +1 -1
- package/lib/esm/tile/TileRequestChannels.js.map +1 -1
- package/lib/esm/tile/TileStorage.js.map +1 -1
- package/lib/esm/tile/TileTree.js.map +1 -1
- package/lib/esm/tile/TileTreeOwner.js.map +1 -1
- package/lib/esm/tile/TileTreeParams.js.map +1 -1
- package/lib/esm/tile/TileTreeReference.js.map +1 -1
- package/lib/esm/tile/TileTreeSupplier.js.map +1 -1
- package/lib/esm/tile/TileUsageMarker.js.map +1 -1
- package/lib/esm/tile/TileUser.js.map +1 -1
- package/lib/esm/tile/TiledGraphicsProvider.js.map +1 -1
- package/lib/esm/tile/internal.js.map +1 -1
- package/lib/esm/tile/map/BingElevation.js.map +1 -1
- package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
- package/lib/esm/tile/map/EllipsoidTerrainProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
- package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
- package/lib/esm/tile/map/MapFeatureInfo.js.map +1 -1
- package/lib/esm/tile/map/MapLayerAuthentication.js.map +1 -1
- package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
- package/lib/esm/tile/map/MapLayerTileTreeReference.js.map +1 -1
- package/lib/esm/tile/map/MapTile.js.map +1 -1
- package/lib/esm/tile/map/MapTileTree.js.map +1 -1
- package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
- package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
- package/lib/esm/tile/map/QuadId.js.map +1 -1
- package/lib/esm/tile/map/TerrainMeshProvider.js.map +1 -1
- package/lib/esm/tile/map/TerrainProvider.js.map +1 -1
- package/lib/esm/tools/AccuDrawTool.js.map +1 -1
- package/lib/esm/tools/AccuDrawViewportUI.js.map +1 -1
- package/lib/esm/tools/ClipViewTool.js.map +1 -1
- package/lib/esm/tools/EditManipulator.js.map +1 -1
- package/lib/esm/tools/ElementSetTool.js.map +1 -1
- package/lib/esm/tools/EventController.js.map +1 -1
- package/lib/esm/tools/IdleTool.js.map +1 -1
- package/lib/esm/tools/MeasureTool.js.map +1 -1
- package/lib/esm/tools/PrimitiveTool.js.map +1 -1
- package/lib/esm/tools/SelectTool.js.map +1 -1
- package/lib/esm/tools/Tool.js.map +1 -1
- package/lib/esm/tools/ToolAdmin.js.map +1 -1
- package/lib/esm/tools/ToolAssistance.js.map +1 -1
- package/lib/esm/tools/ToolSettings.js.map +1 -1
- package/lib/esm/tools/ViewTool.js.map +1 -1
- package/lib/esm/workers/ImdlParser/Worker.js.map +1 -1
- package/lib/esm/workers/ImdlParser/webpack.config.js +42 -42
- package/lib/esm/workers/RegisterWorker.js.map +1 -1
- package/lib/public/assets/MapLayerSources.json +25 -25
- package/lib/public/images/cesium-ion.svg +92 -92
- package/lib/public/images/imodeljs-icon.svg +2 -2
- package/lib/public/locales/en/CoreTools.json +508 -508
- package/lib/public/locales/en/iModelJs.json +176 -176
- package/lib/public/scripts/checkbrowser.js +24 -24
- package/package.json +20 -20
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapTile.js","sourceRoot":"","sources":["../../../../src/tile/map/MapTile.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tiles\n */\n\nimport { assert, dispose } from \"@itwin/core-bentley\";\nimport { ColorByName, ColorDef, FrustumPlanes, GlobeMode, PackedFeatureTable, RenderTexture } from \"@itwin/core-common\";\nimport { AxisOrder, BilinearPatch, ClipPlane, ClipPrimitive, ClipShape, ClipVector, Constant, ConvexClipPlaneSet, EllipsoidPatch, LongitudeLatitudeNumber, Matrix3d, Point3d, PolygonOps, Range1d, Range2d, Range3d, Ray3d, Transform, Vector2d, Vector3d } from \"@itwin/core-geometry\";\nimport { IModelApp } from \"../../IModelApp\";\nimport { GraphicBuilder } from \"../../render/GraphicBuilder\";\nimport { RealityMeshParams } from \"../../render/RealityMeshParams\";\nimport { upsampleRealityMeshParams } from \"../../internal/render/UpsampleRealityMeshParams\";\nimport { RenderGraphic } from \"../../render/RenderGraphic\";\nimport { RenderMemory } from \"../../render/RenderMemory\";\nimport { RenderSystem } from \"../../render/RenderSystem\";\nimport { RenderTerrainGeometry, TerrainTexture } from \"../../internal/render/RenderTerrain\";\nimport { ViewingSpace } from \"../../ViewingSpace\";\nimport {\n ImageryMapTile, MapCartoRectangle, MapTileLoader, MapTileTree, QuadId, RealityTile, RealityTileParams, Tile, TileContent, TileDrawArgs, TileGraphicType,\n TileLoadStatus, TileTreeLoadStatus, TraversalSelectionContext,\n} from \"../internal\";\n\n/** @internal */\nexport class PlanarTilePatch {\n constructor(public corners: Point3d[], public normal: Vector3d, private _chordHeight: number) {\n }\n\n public getRangeCorners(heightRange: Range1d, result: Point3d[]): Point3d[] {\n let index = 0;\n for (const corner of this.corners)\n corner.plusScaled(this.normal, heightRange.low - this._chordHeight, result[index++]);\n\n for (const corner of this.corners)\n corner.plusScaled(this.normal, heightRange.high + this._chordHeight, result[index++]);\n\n return result;\n }\n public getClipShape(): Point3d[] {\n return [this.corners[0], this.corners[1], this.corners[3], this.corners[2]];\n }\n}\n\n/** @internal */\nexport type TilePatch = PlanarTilePatch | EllipsoidPatch;\n\n/** Projects points within the rectangular region of a [[MapTile]] into 3d space.\n * @see [[MapTile.getProjection]] to obtain the projection for a [[MapTile]].\n * @public\n */\nexport abstract class MapTileProjection {\n /** The extents of the volume of space associated with the projected [[MapTile]]. */\n public abstract get localRange(): Range3d;\n /** @alpha */\n public abstract get transformFromLocal(): Transform;\n\n /** Given parametric coordinates in [0, 1] within the tile's rectangular region, and an elevation above the Earth,\n * compute the 3d position in space.\n */\n public abstract getPoint(u: number, v: number, height: number, result?: Point3d): Point3d;\n\n /** @alpha */\n public get ellipsoidPatch(): EllipsoidPatch | undefined { return undefined; }\n\n /** @alpha */\n public getGlobalPoint(u: number, v: number, z: number, result?: Point3d): Point3d {\n const point = this.getPoint(u, v, z, result);\n return this.transformFromLocal.multiplyPoint3d(point, point);\n }\n}\n\n/** @alpha */\nclass EllipsoidProjection extends MapTileProjection {\n public transformFromLocal = Transform.createIdentity();\n public localRange: Range3d;\n constructor(private _patch: EllipsoidPatch, heightRange?: Range1d) {\n super();\n this.localRange = _patch.range();\n this.localRange.expandInPlace(heightRange ? (heightRange.high - heightRange.low) : 0);\n }\n private static _scratchAngles = LongitudeLatitudeNumber.createZero();\n private static _scratchRay = Ray3d.createZero();\n public getPoint(u: number, v: number, height: number, result?: Point3d): Point3d {\n const angles = this._patch.uvFractionToAngles(u, v, height, EllipsoidProjection._scratchAngles);\n const ray = this._patch.anglesToUnitNormalRay(angles, EllipsoidProjection._scratchRay);\n return Point3d.createFrom(ray!.origin, result);\n }\n public override get ellipsoidPatch() { return this._patch; }\n}\n\n/** @alpha */\nexport class PlanarProjection extends MapTileProjection {\n private _bilinearPatch: BilinearPatch;\n public transformFromLocal: Transform;\n public localRange: Range3d;\n constructor(patch: PlanarTilePatch, heightRange?: Range1d) {\n super();\n this.transformFromLocal = Transform.createOriginAndMatrix(patch.corners[0], Matrix3d.createRigidHeadsUp(patch.normal, AxisOrder.ZYX));\n const planeCorners = this.transformFromLocal.multiplyInversePoint3dArray([patch.corners[0], patch.corners[1], patch.corners[2], patch.corners[3]])!;\n this.localRange = Range3d.createArray(planeCorners);\n this.localRange.low.z += heightRange ? heightRange.low : 0;\n this.localRange.high.z += heightRange ? heightRange.high : 0;\n this._bilinearPatch = new BilinearPatch(planeCorners[0], planeCorners[1], planeCorners[2], planeCorners[3]);\n }\n public getPoint(u: number, v: number, z: number, result?: Point3d): Point3d {\n result = this._bilinearPatch.uvFractionToPoint(u, v, result);\n result.z += z;\n return result;\n }\n}\n\n/** @internal */\nexport interface TerrainTileContent extends TileContent {\n terrain?: {\n renderGeometry?: RenderTerrainGeometry;\n /** Used on leaves to support up-sampling. */\n mesh?: RealityMeshParams;\n };\n}\n\nconst scratchNormal = Vector3d.create();\nconst scratchViewZ = Vector3d.create();\nconst scratchPoint = Point3d.create();\nconst scratchClipPlanes = [ClipPlane.createNormalAndPoint(scratchNormal, scratchPoint), ClipPlane.createNormalAndPoint(scratchNormal, scratchPoint), ClipPlane.createNormalAndPoint(scratchNormal, scratchPoint), ClipPlane.createNormalAndPoint(scratchNormal, scratchPoint)];\nconst scratchCorners = [Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero()];\n\n/** A [[Tile]] belonging to a [[MapTileTree]] representing a rectangular region of a map of the Earth.\n * @public\n */\nexport class MapTile extends RealityTile {\n private static _maxParentHeightDepth = 4;\n private _imageryTiles?: ImageryMapTile[];\n private _hiddenTiles?: ImageryMapTile[];\n private _highResolutionReplacementTiles?: ImageryMapTile[];\n /** @internal */\n public everLoaded = false; // If the tile is only required for availability metadata, load it once and then allow it to be unloaded.\n /** @internal */\n protected _heightRange: Range1d | undefined;\n /** @internal */\n protected _renderGeometry?: RenderTerrainGeometry;\n /** @internal */\n protected _mesh?: RealityMeshParams; // Primitive retained on leaves only for upsampling.\n /** @internal */\n public override get isReady(): boolean {\n return super.isReady && this.baseImageryIsReady;\n }\n\n /** @internal */\n public override get hasGraphics(): boolean {\n return this._renderGeometry !== undefined;\n }\n\n /** @internal */\n public get renderGeometry() { return this._renderGeometry; }\n /** @internal */\n public get mesh() { return this._mesh; }\n /** @internal */\n public get loadableTerrainTile() { return this.loadableTile as MapTile; }\n /** @internal */\n public get isPlanar(): boolean { return this._patch instanceof PlanarTilePatch; }\n /** @internal */\n public get imageryTiles(): ImageryMapTile[] | undefined { return this._imageryTiles; }\n /** List of selected tiles but are currently in hidden state (i.e. scale range visibility)\n * @internal\n */\n public get hiddenImageryTiles(): ImageryMapTile[] | undefined { return this._hiddenTiles; }\n\n /** List of leafs tiles that have been selected as a replacement for missing high resolution tiles.\n * When this list is non-empty this means we are past the maximum LOD available of the tile tree.\n * By using those tiles, you are likely to get a display where tiles looks pixelated..\n * in some cases this is preferred to have no tile at all.\n * @internal\n */\n public get highResolutionReplacementTiles(): ImageryMapTile[] | undefined { return this._highResolutionReplacementTiles; }\n\n /** The [[MapTileTree]] to which this tile belongs. */\n public readonly mapTree: MapTileTree;\n /** Uniquely identifies this tile within its [[mapTree]]. */\n public readonly quadId: QuadId;\n private _patch: TilePatch;\n /** The area of the surface of the Earth that this tile represents. */\n public readonly rectangle: MapCartoRectangle;\n /** @internal */\n protected _cornerRays?: Ray3d[];\n\n /** @internal */\n constructor(params: RealityTileParams, mapTree: MapTileTree, quadId: QuadId, patch: TilePatch, rectangle: MapCartoRectangle, heightRange: Range1d | undefined, cornerRays: Ray3d[] | undefined) {\n super(params, mapTree);\n this.mapTree = mapTree;\n this.quadId = quadId;\n this._patch = patch;\n this.rectangle = rectangle;\n this._cornerRays = cornerRays;\n this._heightRange = heightRange?.clone();\n }\n\n /** @internal */\n public getRangeCorners(result: Point3d[]): Point3d[] {\n return this._patch instanceof PlanarTilePatch ? this._patch.getRangeCorners(this.heightRange!, result) : this.range.corners(result);\n }\n\n /** @internal */\n public override getSizeProjectionCorners(): Point3d[] | undefined {\n // Use only the first 4 corners -- On terrain tiles the height is initially exagerated to world height range which can cause excessive tile loading.\n const rangeCorners = this.getRangeCorners(scratchCorners);\n return rangeCorners.slice(0, 4);\n }\n\n /** @internal */\n public override markUsed(args: TileDrawArgs) {\n super.markUsed(args);\n if (this._imageryTiles)\n for (const imageryTile of this._imageryTiles)\n imageryTile.markUsed(args);\n }\n\n /** @internal */\n public override get graphicType() {\n if (this.mapTree.isOverlay)\n return TileGraphicType.Overlay;\n\n return (this.mapTree.useDepthBuffer || this._forceDepthBuffer) ? TileGraphicType.Scene : TileGraphicType.BackgroundMap;\n }\n\n /** @internal */\n public get mapLoader() { return this.realityRoot.loader as MapTileLoader; }\n /** @internal */\n public get isUpsampled() { return false; }\n\n /** @internal */\n public tileFromQuadId(quadId: QuadId): MapTile | undefined {\n if (0 === quadId.compare(this.quadId))\n return this;\n\n assert(quadId.level > this.quadId.level);\n if (quadId.level <= this.quadId.level)\n return undefined;\n\n if (this.children) {\n const shift = quadId.level - this.quadId.level - 1;\n const childRow = quadId.row >> shift;\n const childColumn = quadId.column >> shift;\n for (const child of this.children) {\n const mapChild = child as MapTile;\n const childQuadId = mapChild.quadId;\n if (childQuadId.row === childRow && childQuadId.column === childColumn)\n return mapChild.tileFromQuadId(quadId);\n }\n }\n\n return undefined;\n }\n\n private get _forceDepthBuffer() {\n // For large ellipsoidal globe tile force the depth buffer on to avoid anomalies at horizon.\n return this.mapTree.globeMode === GlobeMode.Ellipsoid && this.depth < 8;\n }\n\n /** @internal */\n public override addBoundingGraphic(builder: GraphicBuilder, color: ColorDef) {\n if (!this.isDisplayable)\n return;\n\n const heightRange = (this.heightRange === undefined) ? Range1d.createXX(-1, 1) : this.heightRange;\n const lows = [], highs = [], reorder = [0, 1, 3, 2, 0];\n const cornerRays = this._cornerRays!;\n if (this._patch instanceof PlanarTilePatch) {\n const normal = this._patch.normal;\n for (let i = 0; i < 5; i++) {\n const corner = this._patch.corners[reorder[i]];\n lows.push(corner.plusScaled(normal, heightRange.low));\n highs.push(corner.plusScaled(normal, heightRange.high));\n }\n } else {\n for (let i = 0; i < 5; i++) {\n const cornerRay = cornerRays[reorder[i]];\n lows.push(cornerRay.origin.plusScaled(cornerRay.direction, heightRange.low));\n highs.push(cornerRay.origin.plusScaled(cornerRay.direction, heightRange.high));\n }\n }\n\n builder.setSymbology(color, color, 1);\n builder.addLineString(lows);\n builder.addLineString(highs);\n for (let i = 0; i < 4; i++)\n builder.addLineString([lows[i], highs[i]]);\n\n const inColor = ColorDef.create(ColorByName.cornflowerBlue);\n const outColor = ColorDef.create(ColorByName.chartreuse);\n const transitionColor = ColorDef.create(ColorByName.aquamarine);\n\n const inPoints = [], outPoints = [], transitionPoints = [];\n\n for (const point of highs)\n if (this.mapTree.cartesianRange.containsPoint(point))\n inPoints.push(point);\n else if (this.mapTree.cartesianRange.distanceToPoint(point) < this.mapTree.cartesianTransitionDistance)\n transitionPoints.push(point);\n else\n outPoints.push(point);\n\n builder.setSymbology(inColor, inColor, 15);\n builder.addPointString(inPoints);\n builder.setSymbology(outColor, outColor, 15);\n builder.addPointString(outPoints);\n builder.setSymbology(transitionColor, transitionColor, 31);\n builder.addPointString(transitionPoints);\n }\n\n /** @internal */\n public override getContentClip(): ClipVector | undefined {\n const points = this.getClipShape();\n if (points.length < 3)\n return undefined;\n if (this.mapTree.globeMode === GlobeMode.Ellipsoid) {\n const normal = PolygonOps.areaNormal(points);\n const globeOrigin = this.mapTree.globeOrigin;\n const globeNormal = Vector3d.createStartEnd(globeOrigin, points[0]);\n const negate = normal.dotProduct(globeNormal) < 0;\n const clipPlanes = [];\n for (let i = 0; i < 4; i++) {\n const point = points[i];\n const clipNormal = globeOrigin.crossProductToPoints(point, points[(i + 1) % 4], scratchNormal);\n if (negate)\n clipNormal.negate(clipNormal);\n\n const clipPlane = ClipPlane.createNormalAndPoint(clipNormal, point, false, false, scratchClipPlanes[i]);\n if (clipPlane !== undefined) // Undefined at pole tiles...\n clipPlanes.push(clipPlane);\n }\n\n const planeSet = ConvexClipPlaneSet.createPlanes(clipPlanes);\n const clipPrimitive = ClipPrimitive.createCapture(planeSet);\n\n return ClipVector.createCapture([clipPrimitive]);\n } else {\n return ClipVector.createCapture([ClipShape.createShape(points)!]);\n }\n }\n\n /** @internal */\n public override setNotFound(): void {\n super.setNotFound();\n\n // For map tiles assume that an unfound tile implies descendants and siblings will also be unfound.\n if (undefined !== this.parent)\n this.parent.setLeaf();\n }\n\n /** @internal */\n public getGraphic(_system: RenderSystem, _texture: RenderTexture): RenderGraphic | undefined {\n return undefined;\n }\n\n /** For globe tiles displaying less then depth 2 appears distorted\n * @internal\n */\n public override get isDisplayable() {\n return this.mapTree.globeMode === GlobeMode.Ellipsoid ? (this.depth >= MapTileTree.minDisplayableDepth) : super.isDisplayable;\n }\n\n /** @internal */\n public override isOccluded(viewingSpace: ViewingSpace): boolean {\n if (undefined === this._cornerRays || this.mapTree.globeMode !== GlobeMode.Ellipsoid)\n return false;\n\n if (viewingSpace.eyePoint !== undefined) {\n if (!this.mapTree.pointAboveEllipsoid(viewingSpace.eyePoint))\n return false;\n\n for (const cornerNormal of this._cornerRays) {\n const eyeNormal = Vector3d.createStartEnd(viewingSpace.eyePoint, cornerNormal.origin, scratchNormal);\n eyeNormal.normalizeInPlace();\n if (eyeNormal.dotProduct(cornerNormal.direction) < .01)\n return false;\n }\n } else {\n const viewZ = viewingSpace.rotation.getRow(2, scratchViewZ);\n for (const cornerNormal of this._cornerRays)\n if (cornerNormal.direction.dotProduct(viewZ) > 0)\n return false;\n }\n\n return true;\n }\n\n /** @internal */\n protected override _loadChildren(resolve: (children: Tile[] | undefined) => void, _reject: (error: Error) => void): void {\n const mapTree = this.mapTree;\n const childLevel = this.quadId.level + 1;\n const rowCount = mapTree.sourceTilingScheme.getNumberOfYChildrenAtLevel(childLevel);\n const columnCount = mapTree.sourceTilingScheme.getNumberOfXChildrenAtLevel(childLevel);\n\n const resolveChildren = (children: Tile[]) => {\n const childrenRange = Range3d.createNull();\n for (const child of children)\n childrenRange.extendRange(child.range);\n\n if (!this.range.containsRange(childrenRange))\n this.range.extendRange(childrenRange);\n\n resolve(children);\n };\n\n if (mapTree.doCreateGlobeChildren(this)) {\n this.createGlobeChildren(columnCount, rowCount, resolveChildren);\n return;\n }\n\n const resolvePlanarChildren = (childCorners: Point3d[][]) => {\n const level = this.quadId.level + 1;\n const column = this.quadId.column * 2;\n const row = this.quadId.row * 2;\n const children = [];\n const childrenAreLeaves = (this.depth + 1) === mapTree.loader.maxDepth;\n const globeMode = this.mapTree.globeMode;\n for (let j = 0; j < rowCount; j++) {\n for (let i = 0; i < columnCount; i++) {\n const quadId = new QuadId(level, column + i, row + j);\n const corners = childCorners[j * columnCount + i];\n const rectangle = mapTree.getTileRectangle(quadId);\n const normal = PolygonOps.areaNormal([corners[0], corners[1], corners[3], corners[2]]);\n normal.normalizeInPlace();\n\n const heightRange = this.mapTree.getChildHeightRange(quadId, rectangle, this);\n const diagonal = Math.max(corners[0].distance(corners[3]), corners[1].distance(corners[2])) / 2.0;\n const chordHeight = globeMode === GlobeMode.Ellipsoid ? Math.sqrt(diagonal * diagonal + Constant.earthRadiusWGS84.equator * Constant.earthRadiusWGS84.equator) - Constant.earthRadiusWGS84.equator : 0.0;\n const rangeCorners = MapTile.computeRangeCorners(corners, normal, chordHeight, undefined, heightRange);\n const range = Range3d.createArray(rangeCorners);\n const child = this.mapTree.createPlanarChild({ contentId: quadId.contentId, maximumSize: 512, range, parent: this, isLeaf: childrenAreLeaves }, quadId, corners, normal, rectangle, chordHeight, heightRange);\n if (child)\n children.push(child);\n }\n }\n\n resolveChildren(children);\n };\n\n mapTree.getPlanarChildCorners(this, columnCount, rowCount, resolvePlanarChildren);\n }\n\n private createGlobeChildren(columnCount: number, rowCount: number, resolve: (children: MapTile[]) => void) {\n const level = this.quadId.level + 1;\n const column = this.quadId.column * 2;\n const row = this.quadId.row * 2;\n const mapTree = this.mapTree;\n const children = [];\n\n for (let j = 0; j < rowCount; j++) {\n for (let i = 0; i < columnCount; i++) {\n const quadId = new QuadId(level, column + i, row + j);\n const angleSweep = quadId.getAngleSweep(mapTree.sourceTilingScheme);\n const ellipsoidPatch = EllipsoidPatch.createCapture(this.mapTree.earthEllipsoid, angleSweep.longitude, angleSweep.latitude);\n const range = ellipsoidPatch.range();\n const rectangle = mapTree.getTileRectangle(quadId);\n const heightRange = this.mapTree.getChildHeightRange(quadId, rectangle, this);\n if (undefined !== heightRange)\n range.expandInPlace(heightRange.high - heightRange.low);\n\n children.push(this.mapTree.createGlobeChild({ contentId: quadId.contentId, maximumSize: 512, range, parent: this, isLeaf: false }, quadId, range.corners(), rectangle, ellipsoidPatch, heightRange));\n }\n }\n\n resolve(children);\n return children;\n }\n\n /** @internal */\n public static computeRangeCorners(corners: Point3d[], normal: Vector3d, chordHeight: number, result?: Point3d[], heightRange?: Range1d) {\n if (result === undefined) {\n result = [];\n for (let i = 0; i < 8; i++)\n result.push(Point3d.create());\n }\n\n let index = 0;\n assert(corners.length === 4);\n const deltaLow = normal.scale(- chordHeight + (heightRange ? heightRange.low : 0));\n const deltaHigh = normal.scale(chordHeight + (heightRange ? heightRange.high : 0));\n\n for (const corner of corners)\n corner.plus(deltaLow, result[index++]);\n\n for (const corner of corners)\n corner.plus(deltaHigh, result[index++]);\n\n return result;\n }\n\n /** @internal */\n public override isRegionCulled(args: TileDrawArgs): boolean {\n return this.isContentCulled(args);\n }\n\n /** @internal */\n public override isContentCulled(args: TileDrawArgs): boolean {\n return FrustumPlanes.Containment.Outside === args.frustumPlanes.computeContainment(this.getRangeCorners(scratchCorners));\n }\n\n private clearImageryTiles() {\n if (this._imageryTiles) {\n this._imageryTiles.forEach((tile) => tile.releaseMapTileUsage());\n this._imageryTiles = undefined;\n }\n if (this._hiddenTiles) {\n this._hiddenTiles = undefined;\n }\n if (this._highResolutionReplacementTiles) {\n this._highResolutionReplacementTiles = undefined;\n }\n }\n\n /** @internal */\n public override produceGraphics(): RenderGraphic | undefined {\n if (undefined !== this._graphic && this.imageryIsReady)\n return this._graphic;\n\n const geometry = this.renderGeometry;\n if (undefined === geometry)\n return undefined;\n\n const textures = this.getDrapeTextures();\n const { baseColor, baseTransparent } = this.mapTree;\n const layerClassifiers = this.mapTree.layerHandler.layerClassifiers;\n const graphic = IModelApp.renderSystem.createRealityMeshGraphic({ realityMesh: geometry, projection: this.getProjection(), tileRectangle: this.rectangle, featureTable: PackedFeatureTable.pack(this.mapLoader.featureTable), tileId: this.contentId, baseColor, baseTransparent, textures, layerClassifiers, disableClipStyle: true }, true);\n\n // If there are no layer classifiers then we can save this graphic for re-use. If layer classifiers exist they are regenerated based on view and we must collate them with the imagery.\n if (this.imageryIsReady && 0 === this.mapTree.layerHandler.layerClassifiers.size)\n this._graphic = graphic;\n\n return graphic;\n }\n\n /** @internal */\n public getClipShape(): Point3d[] {\n return (this._patch instanceof PlanarTilePatch) ? this._patch.getClipShape() : [this._cornerRays![0].origin, this._cornerRays![1].origin, this._cornerRays![3].origin, this._cornerRays![2].origin];\n }\n\n /** @internal */\n protected override _collectStatistics(stats: RenderMemory.Statistics): void {\n super._collectStatistics(stats);\n\n this._renderGeometry?.collectStatistics(stats);\n if (this._mesh) {\n stats.addTerrain(this._mesh.indices.byteLength\n + this._mesh.positions.points.byteLength\n + this._mesh.uvs.points.byteLength\n + (this._mesh.normals ? this._mesh.normals.byteLength : 0),\n );\n }\n }\n\n /** Height range is along with the tile corners to detect if tile intersects view frustum.\n * Range will be single value fo ron-terrain tiles -- if terrain tile is not loaded it will\n * inherit height from ancestors.\n * @internal\n */\n public get heightRange(): Range1d | undefined {\n if (undefined !== this._heightRange)\n return this._heightRange;\n\n for (let parent = this.parent; undefined !== parent; parent = parent.parent) {\n const mapParent = parent as MapTile;\n if (undefined !== mapParent._heightRange)\n return mapParent._heightRange;\n }\n\n assert(false);\n return Range1d.createNull();\n }\n\n /** @internal */\n public get mapTilingScheme() {\n return this.mapTree.sourceTilingScheme;\n }\n\n /** Adjust the minimum and maximum elevations of the terrain within this tile. */\n public adjustHeights(minHeight: number, maxHeight: number) {\n if (undefined === this._heightRange)\n this._heightRange = Range1d.createXX(minHeight, maxHeight);\n else {\n this._heightRange.low = Math.max(this.heightRange!.low, minHeight);\n this._heightRange.high = Math.min(this.heightRange!.high, maxHeight);\n }\n\n if (this.rangeCorners && this._patch instanceof PlanarTilePatch)\n this._patch.getRangeCorners(this.heightRange!, this.rangeCorners);\n }\n\n /** Obtain a [[MapTileProjection]] to project positions within this tile's area into 3d space. */\n public getProjection(heightRange?: Range1d): MapTileProjection {\n return this._patch instanceof PlanarTilePatch ? new PlanarProjection(this._patch, heightRange) : new EllipsoidProjection(this._patch, heightRange);\n }\n\n /** @internal */\n public get baseImageryIsReady(): boolean {\n if (undefined !== this.mapTree.baseColor || 0 === this.mapTree.layerHandler.layerImageryTrees.length)\n return true;\n\n if (undefined === this._imageryTiles)\n return false;\n\n const baseTreeId = this.mapTree.layerHandler.layerImageryTrees[0].tree.modelId;\n return this._imageryTiles.every((imageryTile) => imageryTile.imageryTree.modelId !== baseTreeId || imageryTile.isReady);\n }\n\n /** @internal */\n public get imageryIsReady(): boolean {\n if (undefined === this._imageryTiles)\n return 0 === this.mapTree.layerHandler.layerImageryTrees.length;\n\n return this._imageryTiles.every((tile) => tile.isReady);\n }\n\n /** Select secondary (imagery) tiles\n * @internal\n */\n public override selectSecondaryTiles(args: TileDrawArgs, context: TraversalSelectionContext) {\n if (0 === this.mapTree.layerHandler.layerImageryTrees.length || this.imageryIsReady)\n return;\n\n this.clearImageryTiles();\n this._imageryTiles = new Array<ImageryMapTile>();\n this._hiddenTiles = new Array<ImageryMapTile>();\n this._highResolutionReplacementTiles = new Array<ImageryMapTile>();\n for (const layerImageryTree of this.mapTree.layerHandler.layerImageryTrees) {\n let tmpTiles = new Array<ImageryMapTile>();\n const tmpLeafTiles = new Array<ImageryMapTile>();\n if (TileTreeLoadStatus.Loaded !== layerImageryTree.tree.selectCartoDrapeTiles(tmpTiles, tmpLeafTiles, this, args)) {\n this._imageryTiles = undefined;\n return;\n }\n\n // When the base layer is zoomed-in beyond it's max resolution,\n // we display leaf tiles and stretched them if needed.\n // We don't want the same behavior non-base layers, in the case,\n // the layer will simply disappear past its max resolution.\n // Note: Replacement leaf tiles are kept as a mean to determine which\n // imagery tree has reached it's maximum zoom level.\n if (layerImageryTree.baseImageryLayer) {\n tmpTiles = [...tmpTiles, ...tmpLeafTiles];\n } else {\n this._highResolutionReplacementTiles = [...this._highResolutionReplacementTiles, ...tmpLeafTiles];\n }\n\n // MapTileTree might include a non-visible imagery tree, we need to check for that.\n if (layerImageryTree.settings.visible && !layerImageryTree.settings.allSubLayersInvisible) {\n for (const imageryTile of tmpTiles) {\n imageryTile.markMapTileUsage();\n if (imageryTile.isReady)\n args.markReady(imageryTile);\n else\n context.missing.push(imageryTile);\n this._imageryTiles.push(imageryTile);\n }\n } else {\n // Even though those selected imagery tile are not visible,\n // we keep track of them for scale range reporting.\n for (const imageryTile of tmpTiles) {\n this._hiddenTiles.push(imageryTile);\n }\n }\n }\n }\n\n private static _scratchRectangle1 = MapCartoRectangle.createZero();\n private static _scratchRectangle2 = MapCartoRectangle.createZero();\n\n /** The height range for terrain tiles is not known until the tiles are unloaded. We use \"ApproximateTerrainHeight\" for first 6 levels but below\n * that the tiles inherit height range from parents. This is problematic as tiles with large height range will be unnecessarily selected as\n * they apparently intersect view frustum. To avoid this force loading of terrain tiles if they exceed \"_maxParentHightDepth\".\n * @internal\n */\n protected override forceSelectRealityTile(): boolean {\n let parentHeightDepth = 0;\n\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n for (let parent: MapTile = this; parent !== undefined && parent._heightRange === undefined; parent = parent.parent as MapTile)\n parentHeightDepth++;\n\n return parentHeightDepth > MapTile._maxParentHeightDepth;\n }\n\n /** @internal */\n protected override minimumVisibleFactor(): number {\n // if minimumVisibleFactor is more than 0, it stops parents from loading when children are not ready, to fill in gaps\n return 0.0;\n }\n\n private static _scratchThisDiagonal = Vector2d.create();\n private static _scratchDrapeDiagonal = Vector2d.create();\n\n /** @internal */\n public getDrapeTextures(): TerrainTexture[] | undefined {\n if (undefined === this._imageryTiles)\n return undefined;\n\n const drapeTextures: TerrainTexture[] = [];\n const thisRectangle = this.loadableTerrainTile.rectangle;\n const thisDiagonal = thisRectangle.diagonal(MapTile._scratchThisDiagonal);\n const bordersNorthPole = this.quadId.bordersNorthPole(this.mapTree.sourceTilingScheme);\n const bordersSouthPole = this.quadId.bordersSouthPole(this.mapTree.sourceTilingScheme);\n for (const imageryTile of this._imageryTiles) {\n if (imageryTile.texture) {\n drapeTextures.push(this.computeDrapeTexture(thisRectangle, thisDiagonal, imageryTile, imageryTile.rectangle));\n\n if ((bordersNorthPole && imageryTile.quadId.bordersNorthPole(imageryTile.tilingScheme) && imageryTile.rectangle.high.y < thisRectangle.high.y) ||\n (bordersSouthPole && imageryTile.quadId.bordersSouthPole(imageryTile.tilingScheme) && imageryTile.rectangle.low.y > thisRectangle.low.y)) {\n // Add separate texture stretching last sliver of tile imagery to cover pole.\n const sliverRectangle = imageryTile.rectangle.clone(MapTile._scratchRectangle1);\n const clipRectangle = thisRectangle.clone(MapTile._scratchRectangle2);\n const sliverHeight = sliverRectangle.high.y - sliverRectangle.low.y;\n\n if (bordersSouthPole) {\n clipRectangle.high.y = sliverRectangle.low.y;\n sliverRectangle.low.y = thisRectangle.low.y;\n sliverRectangle.high.y += 1 / sliverHeight;\n } else {\n clipRectangle.low.y = sliverRectangle.high.y;\n sliverRectangle.high.y = thisRectangle.high.y;\n sliverRectangle.low.y -= 1 / sliverHeight;\n }\n\n drapeTextures.push(this.computeDrapeTexture(thisRectangle, thisDiagonal, imageryTile, sliverRectangle, clipRectangle));\n }\n } else {\n for (let parent = imageryTile.parent; undefined !== parent; parent = parent.parent) {\n const mapTile = parent as ImageryMapTile;\n if (mapTile.texture) {\n drapeTextures.push(this.computeDrapeTexture(thisRectangle, thisDiagonal, mapTile, mapTile.rectangle, imageryTile.rectangle));\n break;\n }\n }\n }\n }\n\n return drapeTextures.length > 0 ? drapeTextures : undefined;\n }\n\n private static _scratchIntersectRange = Range2d.createNull();\n\n private computeDrapeTexture(thisRectangle: Range2d, thisDiagonal: Vector2d, imageryTile: ImageryMapTile, drapeRectangle: Range2d, clipRectangle?: Range2d): TerrainTexture {\n assert(imageryTile.texture !== undefined);\n\n // Compute transformation from the terrain tile texture coordinates (0-1) to the drape tile texture coordinates.\n const drapeDiagonal = drapeRectangle.diagonal(MapTile._scratchDrapeDiagonal);\n const translate = Vector2d.create((thisRectangle.low.x - drapeRectangle.low.x) / drapeDiagonal.x, (thisRectangle.low.y - drapeRectangle.low.y) / drapeDiagonal.y);\n const scale = Vector2d.create(thisDiagonal.x / drapeDiagonal.x, thisDiagonal.y / drapeDiagonal.y);\n const featureIndex = this.mapLoader.getFeatureIndex(imageryTile.imageryTree.modelId);\n let clipRect;\n if (undefined !== clipRectangle) {\n const intersect = clipRectangle.intersect(drapeRectangle, MapTile._scratchIntersectRange);\n assert(!intersect.isNull);\n clipRect = Range2d.createXYXY((intersect.low.x - drapeRectangle.low.x) / drapeDiagonal.x, (intersect.low.y - drapeRectangle.low.y) / drapeDiagonal.y, (intersect.high.x - drapeRectangle.low.x) / drapeDiagonal.x, (intersect.high.y - drapeRectangle.low.y) / drapeDiagonal.y);\n }\n\n const imageryModelId = imageryTile.tree.modelId;\n return new TerrainTexture(imageryTile.texture, featureIndex, scale, translate, drapeRectangle, this.mapTree.getLayerIndex(imageryModelId), this.mapTree.getLayerTransparency(imageryModelId), clipRect);\n }\n\n /** @internal */\n public override setContent(content: TerrainTileContent): void {\n\n if (this.quadId.level < this.maxDepth) {\n const childIds = this.quadId.getChildIds();\n for (const childId of childIds) {\n if (!this.mapLoader.isTileAvailable(childId)) {\n this._mesh = content.terrain?.mesh; // If a child is unavailable retain mesh for upsampling.\n break;\n }\n }\n }\n\n if (this.mapTree.produceGeometry) {\n const iModelTransform = this.mapTree.iModelTransform;\n const geometryTransform = content.terrain?.renderGeometry?.transform;\n const transform = geometryTransform ? iModelTransform.multiplyTransformTransform(geometryTransform) : iModelTransform;\n const polyface = content.terrain?.mesh ? RealityMeshParams.toPolyface(content.terrain.mesh, { transform }) : undefined;\n this._geometry = polyface ? { polyfaces: [polyface] } : undefined;\n\n } else {\n dispose(this._renderGeometry);\n this._renderGeometry = content.terrain?.renderGeometry;\n }\n\n this.everLoaded = true;\n\n if (undefined !== content.contentRange)\n this._contentRange = content.contentRange;\n\n this.setIsReady();\n }\n\n /** @internal */\n public override freeMemory(): void {\n // ###TODO MapTiles and ImageryMapTiles share resources and don't currently interact well with TileAdmin.freeMemory(). Opt out for now.\n }\n\n /** @internal */\n public override disposeContents() {\n super.disposeContents();\n this._renderGeometry = dispose(this._renderGeometry);\n this.clearImageryTiles();\n // Note - don't dispose of mesh - these should only ever exist on terrain leaf tile and are required by children. Let garbage collector handle them.\n }\n}\n\n/** A child tile that has no content of its own available. It instead produces content by up-sampling the content of an ancestor tile.\n * @internal\n */\nexport class UpsampledMapTile extends MapTile {\n /** The ancestor tile whose content will be up-sampled. */\n private readonly _loadableTile: MapTile;\n\n constructor(params: RealityTileParams, mapTree: MapTileTree, quadId: QuadId, patch: TilePatch, rectangle: MapCartoRectangle, heightRange: Range1d | undefined, cornerRays: Ray3d[] | undefined, loadableTile: MapTile) {\n super(params, mapTree, quadId, patch, rectangle, heightRange, cornerRays);\n this._loadableTile = loadableTile;\n }\n\n public override get isUpsampled() { return true; }\n public override get isEmpty() { return false; }\n public override get loadableTile(): RealityTile { return this._loadableTile; }\n\n private upsampleFromParent() {\n const parent = this.loadableTerrainTile;\n const parentMesh = parent.mesh;\n if (undefined === parentMesh) {\n return undefined;\n }\n const thisId = this.quadId, parentId = parent.quadId;\n const levelDelta = thisId.level - parentId.level;\n const thisColumn = thisId.column - (parentId.column << levelDelta);\n const thisRow = thisId.row - (parentId.row << levelDelta);\n const scale = 1.0 / (1 << levelDelta);\n const parentParameterRange = Range2d.createXYXY(scale * thisColumn, scale * thisRow, scale * (thisColumn + 1), scale * (thisRow + 1));\n const upsample = upsampleRealityMeshParams(parentMesh, parentParameterRange);\n this.adjustHeights(upsample.heightRange.low, upsample.heightRange.high);\n return upsample;\n }\n\n public override get renderGeometry() {\n if (undefined === this._renderGeometry) {\n const upsample = this.upsampleFromParent();\n const projection = this.loadableTerrainTile.getProjection(this.heightRange);\n if (upsample)\n this._renderGeometry = IModelApp.renderSystem.createTerrainMesh(upsample.mesh, projection.transformFromLocal, true);\n }\n return this._renderGeometry;\n }\n\n public override get isLoading(): boolean { return this.loadableTile.isLoading; }\n public override get isQueued(): boolean { return this.loadableTile.isQueued; }\n public override get isNotFound(): boolean { return this.loadableTile.isNotFound; }\n public override get isReady(): boolean { return (this._renderGeometry !== undefined || this.loadableTile.loadStatus === TileLoadStatus.Ready) && this.baseImageryIsReady; }\n\n public override markUsed(args: TileDrawArgs): void {\n args.markUsed(this);\n args.markUsed(this.loadableTile);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"MapTile.js","sourceRoot":"","sources":["../../../../src/tile/map/MapTile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapTileTree.js","sourceRoot":"","sources":["../../../../src/tile/map/MapTileTree.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, compareBooleans, compareBooleansOrUndefined, compareNumbers, compareStrings, compareStringsOrUndefined, CompressedId64Set, Id64String } from \"@itwin/core-bentley\";\r\nimport {\r\n BackgroundMapSettings, BaseLayerSettings, Cartographic, ColorDef, FeatureAppearance, GeoCoordStatus, GlobeMode, MapLayerSettings, ModelMapLayerDrapeTarget, ModelMapLayerSettings, PlanarClipMaskPriority, TerrainHeightOriginMode,\r\n} from \"@itwin/core-common\";\r\nimport {\r\n Angle, AngleSweep, Constant, Ellipsoid, EllipsoidPatch, Point3d, Range1d, Range3d, Ray3d, Transform, Vector3d, XYZProps,\r\n} from \"@itwin/core-geometry\";\r\nimport { ApproximateTerrainHeights } from \"../../ApproximateTerrainHeights\";\r\nimport { TerrainDisplayOverrides } from \"../../DisplayStyleState\";\r\nimport { HitDetail } from \"../../HitDetail\";\r\nimport { IModelConnection } from \"../../IModelConnection\";\r\nimport { IModelApp } from \"../../IModelApp\";\r\nimport { PlanarClipMaskState } from \"../../PlanarClipMaskState\";\r\nimport { FeatureSymbology } from \"../../render/FeatureSymbology\";\r\nimport { DecorateContext, SceneContext } from \"../../ViewContext\";\r\nimport { MapLayerScaleRangeVisibility, ScreenViewport } from \"../../Viewport\";\r\nimport {\r\n BingElevationProvider, createDefaultViewFlagOverrides, DisclosedTileTreeSet, EllipsoidTerrainProvider, GeometryTileTreeReference,\r\n ImageryMapLayerTreeReference, ImageryMapTileTree, ImageryTileTreeState, LayerTileTreeHandler, LayerTileTreeReferenceHandler, MapCartoRectangle, MapFeatureInfoOptions, MapLayerFeatureInfo, MapLayerImageryProvider, MapLayerIndex, MapLayerTileTreeReference, MapLayerTreeSetting, MapTile,\r\n MapTileLoader, MapTilingScheme, PlanarTilePatch, QuadId,\r\n RealityTile, RealityTileDrawArgs, RealityTileTree, RealityTileTreeParams, TerrainMeshProviderOptions, Tile, TileDrawArgs, TileLoadPriority, TileParams, TileTree, TileTreeOwner, TileTreeReference, TileTreeSupplier, UpsampledMapTile, WebMercatorTilingScheme,\r\n} from \"../internal\";\r\n\r\nconst scratchPoint = Point3d.create();\r\nconst scratchCorners = [Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero()];\r\nconst scratchCorner = Point3d.createZero();\r\nconst scratchZNormal = Vector3d.create(0, 0, 1);\r\n\r\n/** Map tile tree scale range visibility values.\r\n * @beta */\r\nexport enum MapTileTreeScaleRangeVisibility {\r\n /** state is currently unknown (i.e. never been displayed) */\r\n Unknown = 0,\r\n\r\n /** all currently selected tree tiles are visible (i.e within the scale range) */\r\n Visible,\r\n\r\n /** all currently selected tree tiles are hidden (i.e outside the scale range) */\r\n Hidden,\r\n\r\n /** currently selected tree tiles are partially visible (i.e some tiles are within the scale range, and some are outside.) */\r\n Partial\r\n}\r\n\r\n/**\r\n* Provides map layer information for a given tile tree.\r\n* @internal\r\n*/\r\nexport interface MapLayerInfoFromTileTree {\r\n /** Indicate if the map layer represents the base layer */\r\n isBaseLayer: boolean;\r\n\r\n /** Map layer index; undefined if base map */\r\n index?: MapLayerIndex;\r\n\r\n /** Settings for the map layer (or the base layer)*/\r\n settings: MapLayerSettings;\r\n\r\n /** Provider for the map layer (or the base layer) */\r\n provider?: MapLayerImageryProvider;\r\n}\r\n\r\n/** A [quad tree](https://en.wikipedia.org/wiki/Quadtree) consisting of [[MapTile]]s representing the map imagery draped onto the surface of the Earth.\r\n * A `MapTileTree` enables display of a globe or planar map with [map imagery](https://en.wikipedia.org/wiki/Tiled_web_map) obtained from any number of sources, such as\r\n * [Bing](https://learn.microsoft.com/en-us/bingmaps/), [OpenStreetMap](https://wiki.openstreetmap.org/wiki/API), and [GIS servers](https://wiki.openstreetmap.org/wiki/API).\r\n * The specific imagery displayed is determined by a [[Viewport]]'s [MapImagerySettings]($common) and [BackgroundMapSettings]($common).\r\n *\r\n * The map or globe may be smooth, or feature 3d geometry supplied by a [[TerrainProvider]].\r\n * The terrain displayed in a [[Viewport]] is determined by its [TerrainSettings]($common).\r\n * @public\r\n */\r\n\r\nexport class MapTileTree extends RealityTileTree {\r\n /** @internal */\r\n public ecefToDb: Transform;\r\n /** @internal */\r\n public bimElevationBias: number;\r\n /** @internal */\r\n public geodeticOffset: number;\r\n /** @internal */\r\n public sourceTilingScheme: MapTilingScheme;\r\n /** @internal */\r\n private _mercatorFractionToDb: Transform;\r\n /** @internal */\r\n public earthEllipsoid: Ellipsoid;\r\n /** @internal */\r\n public minEarthEllipsoid: Ellipsoid;\r\n /** @internal */\r\n public maxEarthEllipsoid: Ellipsoid;\r\n /** Determines whether the map displays as a plane or an ellipsoid. */\r\n public readonly globeMode: GlobeMode;\r\n /** @internal */\r\n public globeOrigin: Point3d;\r\n /** @internal */\r\n private _mercatorTilingScheme: MapTilingScheme;\r\n /** @internal */\r\n public useDepthBuffer: boolean;\r\n /** @internal */\r\n public isOverlay: boolean;\r\n /** @internal */\r\n public terrainExaggeration: number;\r\n /** @internal */\r\n public baseColor?: ColorDef;\r\n /** @internal */\r\n public baseTransparent: boolean;\r\n /** @internal */\r\n public mapTransparent: boolean;\r\n /** @internal */\r\n public produceGeometry?: boolean;\r\n /** @internal */\r\n public layerImageryTrees: MapLayerTreeSetting[] = [];\r\n\r\n private readonly _layerHandler: LayerTileTreeHandler;\r\n\r\n /** @internal */\r\n public override get layerHandler() { return this._layerHandler; }\r\n\r\n /** @internal */\r\n constructor(params: RealityTileTreeParams, ecefToDb: Transform, bimElevationBias: number, geodeticOffset: number,\r\n sourceTilingScheme: MapTilingScheme, id: MapTreeId, applyTerrain: boolean) {\r\n super(params);\r\n this.ecefToDb = ecefToDb;\r\n this.bimElevationBias = bimElevationBias;\r\n this.geodeticOffset = geodeticOffset;\r\n this.sourceTilingScheme = sourceTilingScheme;\r\n this._mercatorTilingScheme = new WebMercatorTilingScheme();\r\n this._mercatorFractionToDb = this._mercatorTilingScheme.computeMercatorFractionToDb(ecefToDb, bimElevationBias, params.iModel, applyTerrain);\r\n const quadId = new QuadId(sourceTilingScheme.rootLevel, 0, 0);\r\n this.globeOrigin = this.ecefToDb.getOrigin().clone();\r\n this.earthEllipsoid = Ellipsoid.createCenterMatrixRadii(this.globeOrigin, this.ecefToDb.matrix, Constant.earthRadiusWGS84.equator, Constant.earthRadiusWGS84.equator, Constant.earthRadiusWGS84.polar);\r\n const globalHeightRange = applyTerrain ? ApproximateTerrainHeights.instance.globalHeightRange : Range1d.createXX(0, 0);\r\n const globalRectangle = MapCartoRectangle.createMaximum();\r\n\r\n this.globeMode = id.globeMode;\r\n this.isOverlay = id.isOverlay;\r\n this.useDepthBuffer = id.useDepthBuffer;\r\n this.terrainExaggeration = id.terrainExaggeration;\r\n this.baseColor = id.baseColor;\r\n this.baseTransparent = id.baseTransparent;\r\n this.mapTransparent = id.mapTransparent;\r\n if (applyTerrain) {\r\n this.minEarthEllipsoid = Ellipsoid.createCenterMatrixRadii(this.globeOrigin, this.ecefToDb.matrix, Constant.earthRadiusWGS84.equator + globalHeightRange.low, Constant.earthRadiusWGS84.equator + globalHeightRange.low, Constant.earthRadiusWGS84.polar + globalHeightRange.low);\r\n this.maxEarthEllipsoid = Ellipsoid.createCenterMatrixRadii(this.globeOrigin, this.ecefToDb.matrix, Constant.earthRadiusWGS84.equator + globalHeightRange.high, Constant.earthRadiusWGS84.equator + globalHeightRange.high, Constant.earthRadiusWGS84.polar + globalHeightRange.high);\r\n this.produceGeometry = id.produceGeometry;\r\n } else {\r\n this.minEarthEllipsoid = this.earthEllipsoid;\r\n this.maxEarthEllipsoid = this.earthEllipsoid;\r\n }\r\n\r\n const rootPatch = EllipsoidPatch.createCapture(\r\n this.maxEarthEllipsoid, AngleSweep.createStartSweepRadians(0, Angle.pi2Radians),\r\n AngleSweep.createStartSweepRadians(-Angle.piOver2Radians, Angle.piRadians),\r\n );\r\n\r\n let range;\r\n if (this.globeMode === GlobeMode.Ellipsoid) {\r\n range = rootPatch.range();\r\n } else {\r\n const corners = this.getFractionalTileCorners(quadId);\r\n this._mercatorFractionToDb.multiplyPoint3dArrayInPlace(corners);\r\n range = Range3d.createArray(MapTile.computeRangeCorners(corners, Vector3d.create(0, 0, 1), 0, scratchCorners, globalHeightRange));\r\n }\r\n\r\n this._rootTile = this.createGlobeChild({ contentId: quadId.contentId, maximumSize: 0, range }, quadId, range.corners(), globalRectangle, rootPatch, undefined);\r\n\r\n this._layerHandler = new LayerTileTreeHandler(this);\r\n }\r\n\r\n /** @internal */\r\n public override get parentsAndChildrenExclusive() {\r\n // If we are not depth buffering we force parents and exclusive to false to cause the map tiles to be sorted\r\n // by depth so that painters algorithm will approximate correct depth display.\r\n return this.useDepthBuffer ? this.loader.parentsAndChildrenExclusive : false;\r\n }\r\n\r\n /** Return the imagery tile tree state of matching the provided imagery tree id.\r\n * @internal\r\n */\r\n public getImageryTreeState(imageryTreeId: string) {\r\n return this._layerHandler.imageryTreeState.get(imageryTreeId);\r\n }\r\n\r\n /** Return a cloned dictionary of the imagery tile tree states\r\n * @internal\r\n */\r\n public cloneImageryTreeState() {\r\n const clone = new Map<Id64String, ImageryTileTreeState>();\r\n for (const [treeId, state] of this._layerHandler.imageryTreeState) {\r\n clone.set(treeId, state.clone());\r\n }\r\n return clone;\r\n }\r\n\r\n /** @internal */\r\n public tileFromQuadId(quadId: QuadId): MapTile | undefined {\r\n return (this._rootTile as MapTile).tileFromQuadId(quadId);\r\n }\r\n\r\n protected override collectClassifierGraphics(args: TileDrawArgs, selectedTiles: RealityTile[]) {\r\n super.collectClassifierGraphics(args, selectedTiles);\r\n this._layerHandler.collectClassifierGraphics(args, selectedTiles);\r\n }\r\n\r\n /** @internal */\r\n public clearImageryTreesAndClassifiers() {\r\n this._layerHandler.layerImageryTrees.length = 0;\r\n this._layerHandler.layerSettings.clear();\r\n this._layerHandler.modelIdToIndex.clear();\r\n this._layerHandler.layerClassifiers.clear();\r\n }\r\n\r\n /** @internal */\r\n public override get isTransparent() {\r\n return this.mapTransparent || this.baseTransparent;\r\n }\r\n\r\n /** @internal */\r\n public override get maxDepth() {\r\n let maxDepth = this.loader.maxDepth;\r\n /** NB: need to use local layerImageTrees because of the order super() is called (before layerHandler exists on this class)! */\r\n this.layerImageryTrees?.forEach((layerImageryTree) => maxDepth = Math.max(maxDepth, layerImageryTree.tree.maxDepth));\r\n\r\n return maxDepth;\r\n }\r\n\r\n /** @internal */\r\n public createPlanarChild(params: TileParams, quadId: QuadId, corners: Point3d[], normal: Vector3d, rectangle: MapCartoRectangle, chordHeight: number, heightRange?: Range1d): MapTile | undefined {\r\n const childAvailable = this.mapLoader.isTileAvailable(quadId);\r\n if (!childAvailable && this.produceGeometry)\r\n return undefined;\r\n\r\n const patch = new PlanarTilePatch(corners, normal, chordHeight);\r\n const cornerNormals = this.getCornerRays(rectangle);\r\n if (childAvailable)\r\n return new MapTile(params, this, quadId, patch, rectangle, heightRange, cornerNormals);\r\n\r\n assert(params.parent instanceof MapTile);\r\n let loadableTile: MapTile | undefined = params.parent;\r\n while (loadableTile?.isUpsampled)\r\n loadableTile = loadableTile.parent as MapTile | undefined;\r\n\r\n assert(undefined !== loadableTile);\r\n return new UpsampledMapTile(params, this, quadId, patch, rectangle, heightRange, cornerNormals, loadableTile);\r\n }\r\n\r\n /** @internal */\r\n public createGlobeChild(params: TileParams, quadId: QuadId, _rangeCorners: Point3d[], rectangle: MapCartoRectangle, ellipsoidPatch: EllipsoidPatch, heightRange?: Range1d): MapTile {\r\n return new MapTile(params, this, quadId, ellipsoidPatch, rectangle, heightRange, this.getCornerRays(rectangle));\r\n }\r\n\r\n /** @internal */\r\n public getChildHeightRange(quadId: QuadId, rectangle: MapCartoRectangle, parent: MapTile): Range1d | undefined {\r\n return this.mapLoader.getChildHeightRange(quadId, rectangle, parent);\r\n }\r\n\r\n /** Reprojection does not work with very large tiles so just do linear transform.\r\n * @internal\r\n */\r\n public static minReprojectionDepth = 8;\r\n /** @internal */\r\n public static maxGlobeDisplayDepth = 8;\r\n /** @internal */\r\n public static minDisplayableDepth = 3;\r\n /** @internal */\r\n public get mapLoader() { return this.loader as MapTileLoader; }\r\n\r\n /** @internal */\r\n public override getBaseRealityDepth(sceneContext: SceneContext) {\r\n // If the view has ever had global scope then preload low level (global) tiles.\r\n return (sceneContext.viewport.view.maxGlobalScopeFactor > 1) ? MapTileTree.minDisplayableDepth : -1;\r\n }\r\n\r\n /** @internal */\r\n public doCreateGlobeChildren(tile: Tile): boolean {\r\n if (this.globeMode !== GlobeMode.Ellipsoid)\r\n return false;\r\n\r\n const childDepth = tile.depth + 1;\r\n if (childDepth < MapTileTree.maxGlobeDisplayDepth) // If the depth is too low (tile is too large) display as globe.\r\n return true;\r\n\r\n return false; // Display as globe if more than 100 KM from project.\r\n }\r\n\r\n /** @internal */\r\n public override doReprojectChildren(tile: Tile): boolean {\r\n if (this._gcsConverter === undefined)\r\n return false;\r\n\r\n const childDepth = tile.depth + 1;\r\n if (childDepth < MapTileTree.minReprojectionDepth) // If the depth is too low (tile is too large) omit reprojection.\r\n return false;\r\n\r\n return this.cartesianRange.intersectsRange(tile.range);\r\n }\r\n\r\n /** @internal */\r\n public getCornerRays(rectangle: MapCartoRectangle): Ray3d[] | undefined {\r\n const rays = new Array<Ray3d>();\r\n if (this.globeMode === GlobeMode.Ellipsoid) {\r\n rays.push(this.earthEllipsoid.radiansToUnitNormalRay(rectangle.low.x, Cartographic.parametricLatitudeFromGeodeticLatitude(rectangle.high.y))!);\r\n rays.push(this.earthEllipsoid.radiansToUnitNormalRay(rectangle.high.x, Cartographic.parametricLatitudeFromGeodeticLatitude(rectangle.high.y))!);\r\n rays.push(this.earthEllipsoid.radiansToUnitNormalRay(rectangle.low.x, Cartographic.parametricLatitudeFromGeodeticLatitude(rectangle.low.y))!);\r\n rays.push(this.earthEllipsoid.radiansToUnitNormalRay(rectangle.high.x, Cartographic.parametricLatitudeFromGeodeticLatitude(rectangle.low.y))!);\r\n } else {\r\n const mercatorFractionRange = rectangle.getTileFractionRange(this._mercatorTilingScheme);\r\n rays.push(Ray3d.createCapture(this._mercatorFractionToDb.multiplyXYZ(mercatorFractionRange.low.x, mercatorFractionRange.high.y), scratchZNormal));\r\n rays.push(Ray3d.createCapture(this._mercatorFractionToDb.multiplyXYZ(mercatorFractionRange.high.x, mercatorFractionRange.high.y), scratchZNormal));\r\n rays.push(Ray3d.createCapture(this._mercatorFractionToDb.multiplyXYZ(mercatorFractionRange.low.x, mercatorFractionRange.low.y), scratchZNormal));\r\n rays.push(Ray3d.createCapture(this._mercatorFractionToDb.multiplyXYZ(mercatorFractionRange.high.x, mercatorFractionRange.low.y), scratchZNormal));\r\n }\r\n return rays;\r\n }\r\n\r\n /** @internal */\r\n public pointAboveEllipsoid(point: Point3d): boolean {\r\n return this.earthEllipsoid.worldToLocal(point, scratchPoint)!.magnitude() > 1;\r\n }\r\n\r\n private getMercatorFractionChildGridPoints(tile: MapTile, columnCount: number, rowCount: number): Point3d[] {\r\n const gridPoints = [];\r\n const quadId = tile.quadId;\r\n const deltaX = 1.0 / columnCount, deltaY = 1.0 / rowCount;\r\n for (let row = 0; row <= rowCount; row++) {\r\n for (let column = 0; column <= columnCount; column++) {\r\n const xFraction = this.sourceTilingScheme.tileXToFraction(quadId.column + column * deltaX, quadId.level);\r\n const yFraction = this.sourceTilingScheme.tileYToFraction(quadId.row + row * deltaY, quadId.level);\r\n\r\n gridPoints.push(Point3d.create(xFraction, yFraction, 0));\r\n }\r\n }\r\n // If not mercator already need to remap latitude...\r\n if (!(this.sourceTilingScheme instanceof WebMercatorTilingScheme))\r\n for (const gridPoint of gridPoints)\r\n gridPoint.y = this._mercatorTilingScheme.latitudeToYFraction(this.sourceTilingScheme.yFractionToLatitude(gridPoint.y));\r\n\r\n return gridPoints;\r\n }\r\n\r\n private getChildCornersFromGridPoints(gridPoints: Point3d[], columnCount: number, rowCount: number) {\r\n const childCorners = new Array<Point3d[]>();\r\n for (let row = 0; row < rowCount; row++) {\r\n for (let column = 0; column < columnCount; column++) {\r\n const index0 = column + row * (columnCount + 1);\r\n const index1 = index0 + (columnCount + 1);\r\n childCorners.push([gridPoints[index0], gridPoints[index0 + 1], gridPoints[index1], gridPoints[index1 + 1]]);\r\n }\r\n }\r\n return childCorners;\r\n }\r\n\r\n /** @internal */\r\n public getCachedReprojectedPoints(gridPoints: Point3d[]): (Point3d | undefined)[] | undefined {\r\n const requestProps = [];\r\n for (const gridPoint of gridPoints)\r\n requestProps.push({\r\n x: this._mercatorTilingScheme.xFractionToLongitude(gridPoint.x) * Angle.degreesPerRadian,\r\n y: this._mercatorTilingScheme.yFractionToLatitude(gridPoint.y) * Angle.degreesPerRadian,\r\n z: this.bimElevationBias,\r\n });\r\n\r\n const iModelCoordinates = this._gcsConverter!.getCachedIModelCoordinatesFromGeoCoordinates(requestProps);\r\n\r\n if (iModelCoordinates.missing)\r\n return undefined;\r\n\r\n return iModelCoordinates.result.map((result) => !result || result.s ? undefined : Point3d.fromJSON(result.p));\r\n }\r\n\r\n /** Minimize reprojection requests by requesting this corners tile and a grid that will include all points for 4 levels of descendants.\r\n * This greatly reduces the number of reprojection requests which currently require a roundtrip through the backend.\r\n * @internal\r\n */\r\n public async loadReprojectionCache(tile: MapTile): Promise<void> {\r\n const quadId = tile.quadId;\r\n const xRange = Range1d.createXX(this.sourceTilingScheme.tileXToFraction(quadId.column, quadId.level), this.sourceTilingScheme.tileXToFraction(quadId.column + 1, quadId.level));\r\n const yRange = Range1d.createXX(this.sourceTilingScheme.tileYToFraction(quadId.row, quadId.level), this.sourceTilingScheme.tileYToFraction(quadId.row + 1, quadId.level));\r\n const cacheDepth = 4, cacheDimension = 2 ** cacheDepth;\r\n const delta = 1.0 / cacheDimension;\r\n const requestProps = [];\r\n\r\n for (let row = 0; row <= cacheDimension; row++) {\r\n for (let column = 0; column <= cacheDimension; column++) {\r\n let yFraction = yRange.fractionToPoint(row * delta);\r\n if (!(this.sourceTilingScheme instanceof WebMercatorTilingScheme))\r\n yFraction = this._mercatorTilingScheme.latitudeToYFraction(this.sourceTilingScheme.yFractionToLatitude(yFraction));\r\n requestProps.push({\r\n x: this._mercatorTilingScheme.xFractionToLongitude(xRange.fractionToPoint(column * delta)) * Angle.degreesPerRadian,\r\n y: this._mercatorTilingScheme.yFractionToLatitude(yFraction) * Angle.degreesPerRadian,\r\n z: this.bimElevationBias,\r\n });\r\n }\r\n }\r\n\r\n await this._gcsConverter!.getIModelCoordinatesFromGeoCoordinates(requestProps);\r\n }\r\n\r\n private static _scratchCarto = Cartographic.createZero();\r\n\r\n /** Get the corners for planar children.\r\n * This generally will resolve immediately, but may require an asynchronous request for reprojecting the corners.\r\n * @internal\r\n */\r\n public getPlanarChildCorners(tile: MapTile, columnCount: number, rowCount: number, resolve: (childCorners: Point3d[][]) => void) {\r\n const resolveCorners = (points: Point3d[], reprojected: (Point3d | undefined)[] | undefined = undefined) => {\r\n for (let i = 0; i < points.length; i++) {\r\n const gridPoint = points[i];\r\n this._mercatorFractionToDb.multiplyPoint3d(gridPoint, scratchCorner);\r\n if (this.globeMode !== GlobeMode.Ellipsoid || this.cartesianRange.containsPoint(scratchCorner)) {\r\n if (reprojected !== undefined && reprojected[i] !== undefined)\r\n reprojected[i]!.clone(gridPoint);\r\n else\r\n scratchCorner.clone(gridPoint);\r\n } else {\r\n this._mercatorTilingScheme.fractionToCartographic(gridPoint.x, gridPoint.y, MapTileTree._scratchCarto);\r\n this.earthEllipsoid.radiansToPoint(MapTileTree._scratchCarto.longitude, Cartographic.parametricLatitudeFromGeodeticLatitude(MapTileTree._scratchCarto.latitude), gridPoint);\r\n const cartesianDistance = this.cartesianRange.distanceToPoint(scratchCorner);\r\n if (cartesianDistance < this.cartesianTransitionDistance)\r\n scratchCorner.interpolate(cartesianDistance / this.cartesianTransitionDistance, gridPoint, gridPoint);\r\n }\r\n }\r\n resolve(this.getChildCornersFromGridPoints(points, columnCount, rowCount));\r\n };\r\n\r\n let reprojectedPoints: (Point3d | undefined)[] | undefined;\r\n const gridPoints = this.getMercatorFractionChildGridPoints(tile, columnCount, rowCount);\r\n if (this.doReprojectChildren(tile)) {\r\n reprojectedPoints = this.getCachedReprojectedPoints(gridPoints);\r\n if (reprojectedPoints) {\r\n // If the reprojected corners are in the cache, resolve immediately.\r\n resolveCorners(gridPoints, reprojectedPoints);\r\n } else {\r\n // If the reprojected corners are not in cache request them - but also request reprojection of a grid that will include descendent corners to ensure they can\r\n // be reloaded without expensive reprojection requests.\r\n this.loadReprojectionCache(tile).then(() => {\r\n const reprojected = this.getCachedReprojectedPoints(gridPoints);\r\n assert(reprojected !== undefined); // We just cached them... they better be there now.\r\n resolveCorners(gridPoints, reprojected);\r\n }).catch((_error: Error) => {\r\n resolveCorners(gridPoints);\r\n });\r\n }\r\n } else {\r\n resolveCorners(gridPoints);\r\n }\r\n }\r\n\r\n /** Scan the list of currently selected reality tiles, and fire the viewport's 'onMapLayerScaleRangeVisibilityChanged ' event\r\n * if any scale range visibility change is detected for one more map-layer definition.\r\n * @internal\r\n */\r\n public override reportTileVisibility(args: TileDrawArgs, selected: RealityTile[]) {\r\n\r\n const debugControl = args.context.target.debugControl;\r\n\r\n const layersVisibilityBefore = this.cloneImageryTreeState();\r\n\r\n const changes = new Array<MapLayerScaleRangeVisibility>();\r\n\r\n if (!layersVisibilityBefore)\r\n return;\r\n\r\n for (const [treeId] of layersVisibilityBefore) {\r\n const treeVisibility = this.getImageryTreeState(treeId);\r\n if (treeVisibility) {\r\n treeVisibility.reset();\r\n }\r\n }\r\n\r\n for (const selectedTile of selected) {\r\n if (selectedTile instanceof MapTile) {\r\n let selectedImageryTiles = selectedTile.imageryTiles;\r\n if (selectedTile.hiddenImageryTiles) {\r\n selectedImageryTiles = selectedImageryTiles ? [...selectedImageryTiles, ...selectedTile.hiddenImageryTiles] : selectedTile.hiddenImageryTiles;\r\n }\r\n\r\n const leafTiles = selectedTile.highResolutionReplacementTiles;\r\n if (leafTiles) {\r\n for (const tile of leafTiles) {\r\n const treeState = this.getImageryTreeState(tile.tree.id);\r\n treeState?.setScaleRangeVisibility(false);\r\n }\r\n }\r\n\r\n if (selectedImageryTiles) {\r\n for (const selectedImageryTile of selectedImageryTiles) {\r\n const treeState = this.getImageryTreeState(selectedImageryTile.tree.id);\r\n if (treeState) {\r\n if (selectedImageryTile.isOutOfLodRange) {\r\n treeState.setScaleRangeVisibility(false);\r\n } else {\r\n treeState.setScaleRangeVisibility(true);\r\n }\r\n }\r\n\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (const [treeId, prevState] of layersVisibilityBefore) {\r\n const newState = this.getImageryTreeState(treeId);\r\n if (newState) {\r\n\r\n const prevVisibility = prevState.getScaleRangeVisibility();\r\n const visibility = newState.getScaleRangeVisibility();\r\n if (prevVisibility !== visibility) {\r\n\r\n if (debugControl && debugControl.logRealityTiles) {\r\n // eslint-disable-next-line no-console\r\n console.log(`ImageryTileTree '${treeId}' changed prev state: '${MapTileTreeScaleRangeVisibility[prevVisibility]}' new state: '${MapTileTreeScaleRangeVisibility[visibility]}'`);\r\n }\r\n\r\n const mapLayersIndexes = args.context.viewport.getMapLayerIndexesFromIds(this.id, treeId);\r\n for (const index of mapLayersIndexes) {\r\n changes.push({ index: index.index, isOverlay: index.isOverlay, visibility });\r\n }\r\n\r\n }\r\n }\r\n }\r\n\r\n if (changes.length !== 0) {\r\n args.context.viewport.onMapLayerScaleRangeVisibilityChanged.raiseEvent(changes);\r\n }\r\n\r\n }\r\n\r\n /** @internal */\r\n public getFractionalTileCorners(quadId: QuadId): Point3d[] {\r\n const corners: Point3d[] = [];\r\n corners.push(Point3d.create(this.sourceTilingScheme.tileXToFraction(quadId.column, quadId.level), this.sourceTilingScheme.tileYToFraction(quadId.row, quadId.level), 0.0));\r\n corners.push(Point3d.create(this.sourceTilingScheme.tileXToFraction(quadId.column + 1, quadId.level), this.sourceTilingScheme.tileYToFraction(quadId.row, quadId.level), 0.0));\r\n corners.push(Point3d.create(this.sourceTilingScheme.tileXToFraction(quadId.column, quadId.level), this.sourceTilingScheme.tileYToFraction(quadId.row + 1, quadId.level), 0.0));\r\n corners.push(Point3d.create(this.sourceTilingScheme.tileXToFraction(quadId.column + 1, quadId.level), this.sourceTilingScheme.tileYToFraction(quadId.row + 1, quadId.level), 0.0));\r\n return corners;\r\n }\r\n\r\n /** @internal */\r\n public getTileRectangle(quadId: QuadId): MapCartoRectangle {\r\n return this.sourceTilingScheme.tileXYToRectangle(quadId.column, quadId.row, quadId.level);\r\n }\r\n\r\n /** @internal */\r\n public getLayerIndex(imageryTreeId: Id64String) {\r\n const index = this._layerHandler.modelIdToIndex.get(imageryTreeId);\r\n return index === undefined ? -1 : index;\r\n }\r\n\r\n /** @internal */\r\n public getLayerTransparency(imageryTreeId: Id64String): number {\r\n const layerSettings = this._layerHandler.layerSettings.get(imageryTreeId);\r\n assert(undefined !== layerSettings);\r\n return undefined === layerSettings || !layerSettings.transparency ? 0.0 : layerSettings.transparency;\r\n }\r\n}\r\n\r\ninterface MapTreeId {\r\n tileUserId: number;\r\n applyTerrain: boolean;\r\n terrainProviderName: string;\r\n terrainDataSource: string;\r\n terrainHeightOrigin: number;\r\n terrainHeightOriginMode: number;\r\n terrainExaggeration: number;\r\n mapGroundBias: number;\r\n wantSkirts: boolean;\r\n wantNormals: boolean;\r\n globeMode: GlobeMode;\r\n useDepthBuffer: boolean;\r\n isOverlay: boolean;\r\n baseColor?: ColorDef;\r\n baseTransparent: boolean;\r\n mapTransparent: boolean;\r\n maskModelIds?: string;\r\n produceGeometry?: boolean;\r\n}\r\n\r\n/** @internal */\r\nclass MapTileTreeProps implements RealityTileTreeParams {\r\n public id: string;\r\n public modelId: string;\r\n public location = Transform.createIdentity();\r\n public yAxisUp = true;\r\n public is3d = true;\r\n public rootTile = { contentId: \"\", range: Range3d.createNull(), maximumSize: 0 };\r\n public loader: MapTileLoader;\r\n public iModel: IModelConnection;\r\n public get priority(): TileLoadPriority { return this.loader.priority; }\r\n\r\n public constructor(modelId: Id64String, loader: MapTileLoader, iModel: IModelConnection, public gcsConverterAvailable: boolean) {\r\n this.id = this.modelId = modelId;\r\n this.loader = loader;\r\n this.iModel = iModel;\r\n }\r\n}\r\n\r\nfunction createViewFlagOverrides(wantLighting: boolean, wantThematic: false | undefined) {\r\n return createDefaultViewFlagOverrides({ clipVolume: false, lighting: wantLighting, thematic: wantThematic });\r\n}\r\n\r\nclass MapTreeSupplier implements TileTreeSupplier {\r\n public readonly isEcefDependent = true;\r\n\r\n public compareTileTreeIds(lhs: MapTreeId, rhs: MapTreeId): number {\r\n let cmp = compareNumbers(lhs.tileUserId, rhs.tileUserId);\r\n if (0 === cmp) {\r\n cmp = compareStringsOrUndefined(lhs.maskModelIds, rhs.maskModelIds);\r\n if (0 === cmp) {\r\n cmp = compareBooleans(lhs.isOverlay, rhs.isOverlay);\r\n if (0 === cmp) {\r\n cmp = compareBooleans(lhs.wantSkirts, rhs.wantSkirts);\r\n if (0 === cmp) {\r\n cmp = compareBooleans(lhs.wantNormals, rhs.wantNormals);\r\n if (0 === cmp) {\r\n cmp = compareNumbers(lhs.globeMode, rhs.globeMode);\r\n if (0 === cmp) {\r\n cmp = compareNumbers(lhs.baseColor ? lhs.baseColor.tbgr : -1, rhs.baseColor ? rhs.baseColor.tbgr : -1);\r\n if (0 === cmp) {\r\n cmp = compareBooleans(lhs.baseTransparent, rhs.baseTransparent);\r\n if (0 === cmp) {\r\n cmp = compareBooleans(lhs.mapTransparent, rhs.mapTransparent);\r\n if (0 === cmp) {\r\n cmp = compareBooleans(lhs.applyTerrain, rhs.applyTerrain);\r\n if (0 === cmp) {\r\n if (lhs.applyTerrain) {\r\n // Terrain-only settings.\r\n cmp = compareStrings(lhs.terrainProviderName, rhs.terrainProviderName);\r\n if (0 === cmp) {\r\n cmp = compareStringsOrUndefined(lhs.terrainDataSource, rhs.terrainDataSource);\r\n if (0 === cmp) {\r\n cmp = compareNumbers(lhs.terrainHeightOrigin, rhs.terrainHeightOrigin);\r\n if (0 === cmp) {\r\n cmp = compareNumbers(lhs.terrainHeightOriginMode, rhs.terrainHeightOriginMode);\r\n if (0 === cmp) {\r\n cmp = compareNumbers(lhs.terrainExaggeration, rhs.terrainExaggeration);\r\n if (0 === cmp)\r\n cmp = compareBooleansOrUndefined(lhs.produceGeometry, rhs.produceGeometry);\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n // Non-Terrain (flat) settings.\r\n cmp = compareNumbers(lhs.mapGroundBias, rhs.mapGroundBias);\r\n if (0 === cmp)\r\n cmp = compareBooleans(lhs.useDepthBuffer, rhs.useDepthBuffer);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return cmp;\r\n }\r\n\r\n private async computeHeightBias(heightOrigin: number, heightOriginMode: TerrainHeightOriginMode, exaggeration: number, iModel: IModelConnection, elevationProvider: BingElevationProvider): Promise<number> {\r\n const projectCenter = iModel.projectExtents.center;\r\n switch (heightOriginMode) {\r\n case TerrainHeightOriginMode.Ground:\r\n return heightOrigin + exaggeration * (await elevationProvider.getHeightValue(projectCenter, iModel, true));\r\n\r\n case TerrainHeightOriginMode.Geodetic:\r\n return heightOrigin;\r\n\r\n case TerrainHeightOriginMode.Geoid:\r\n return heightOrigin + await elevationProvider.getGeodeticToSeaLevelOffset(projectCenter, iModel);\r\n }\r\n }\r\n\r\n public async createTileTree(id: MapTreeId, iModel: IModelConnection): Promise<TileTree | undefined> {\r\n let bimElevationBias = 0, terrainProvider, geodeticOffset = 0;\r\n let applyTerrain = id.applyTerrain;\r\n const modelId = iModel.transientIds.getNext();\r\n const gcsConverterAvailable = await getGcsConverterAvailable(iModel);\r\n const terrainOpts: TerrainMeshProviderOptions = {\r\n wantSkirts: id.wantSkirts,\r\n exaggeration: id.terrainExaggeration,\r\n wantNormals: id.wantNormals,\r\n dataSource: id.terrainDataSource,\r\n produceGeometry: id.produceGeometry,\r\n };\r\n\r\n if (id.applyTerrain) {\r\n await ApproximateTerrainHeights.instance.initialize();\r\n const elevationProvider = new BingElevationProvider();\r\n\r\n bimElevationBias = - await this.computeHeightBias(id.terrainHeightOrigin, id.terrainHeightOriginMode, id.terrainExaggeration, iModel, elevationProvider);\r\n geodeticOffset = await elevationProvider.getGeodeticToSeaLevelOffset(iModel.projectExtents.center, iModel);\r\n const provider = IModelApp.terrainProviderRegistry.find(id.terrainProviderName);\r\n if (provider)\r\n terrainProvider = await provider.createTerrainMeshProvider(terrainOpts);\r\n\r\n if (!terrainProvider) {\r\n applyTerrain = false;\r\n geodeticOffset = 0;\r\n }\r\n }\r\n\r\n if (!terrainProvider) {\r\n terrainProvider = new EllipsoidTerrainProvider(terrainOpts);\r\n bimElevationBias = id.mapGroundBias;\r\n }\r\n\r\n const loader = new MapTileLoader(iModel, modelId, bimElevationBias, terrainProvider);\r\n const ecefToDb = iModel.getMapEcefToDb(bimElevationBias);\r\n\r\n if (id.maskModelIds)\r\n await iModel.models.load(CompressedId64Set.decompressSet(id.maskModelIds));\r\n\r\n const treeProps = new MapTileTreeProps(modelId, loader, iModel, gcsConverterAvailable);\r\n return new MapTileTree(treeProps, ecefToDb, bimElevationBias, geodeticOffset, terrainProvider.tilingScheme, id, applyTerrain);\r\n }\r\n}\r\n\r\nconst mapTreeSupplier = new MapTreeSupplier();\r\n\r\n/** @internal */\r\ntype CheckTerrainDisplayOverride = () => TerrainDisplayOverrides | undefined;\r\n\r\n/** Specialization of tile tree that represents background map.\r\n * @internal\r\n */\r\nexport class MapTileTreeReference extends TileTreeReference {\r\n private _tileUserId: number;\r\n private _settings: BackgroundMapSettings;\r\n private _symbologyOverrides: FeatureSymbology.Overrides | undefined;\r\n private _planarClipMask?: PlanarClipMaskState;\r\n private _layerRefHandler: LayerTileTreeReferenceHandler;\r\n public readonly iModel: IModelConnection;\r\n\r\n public get layerRefHandler() { return this._layerRefHandler; }\r\n\r\n public shouldDrapeLayer(layerTreeRef?: MapLayerTileTreeReference): boolean {\r\n const mapLayerSettings = layerTreeRef?.layerSettings;\r\n if (mapLayerSettings && mapLayerSettings instanceof ModelMapLayerSettings)\r\n return ModelMapLayerDrapeTarget.Globe === mapLayerSettings.drapeTarget;\r\n return true; // catch-all for other cases (skip reality models, though).\r\n }\r\n\r\n public constructor(settings: BackgroundMapSettings, baseLayerSettings: BaseLayerSettings | undefined, layerSettings: MapLayerSettings[], iModel: IModelConnection, tileUserId: number, isOverlay: boolean, private _isDrape: boolean, private _overrideTerrainDisplay?: CheckTerrainDisplayOverride) {\r\n super();\r\n\r\n this.iModel = iModel;\r\n\r\n this._tileUserId = tileUserId;\r\n this._settings = settings;\r\n\r\n if (this._settings.planarClipMask && this._settings.planarClipMask.isValid)\r\n this._planarClipMask = PlanarClipMaskState.create(this._settings.planarClipMask);\r\n\r\n if (this._overrideTerrainDisplay && this._overrideTerrainDisplay()?.produceGeometry)\r\n this.collectTileGeometry = (collector) => this._collectTileGeometry(collector);\r\n\r\n this._layerRefHandler = new LayerTileTreeReferenceHandler(this, isOverlay, baseLayerSettings, layerSettings, true);\r\n }\r\n\r\n public forEachLayerTileTreeRef(func: (ref: TileTreeReference) => void): void {\r\n for (const layerTree of this._layerRefHandler.layerTrees) {\r\n assert(layerTree instanceof MapLayerTileTreeReference);\r\n func(layerTree);\r\n }\r\n }\r\n\r\n public override get isGlobal() { return true; }\r\n public get baseColor(): ColorDef | undefined { return this.baseColor; }\r\n public override get planarClipMaskPriority(): number { return PlanarClipMaskPriority.BackgroundMap; }\r\n\r\n protected override _createGeometryTreeReference(): GeometryTileTreeReference | undefined {\r\n if (!this._settings.applyTerrain || this._isDrape)\r\n return undefined; // Don't bother generating non-terrain (flat) geometry.\r\n\r\n const ref = new MapTileTreeReference(this._settings, undefined, [], this.iModel, this._tileUserId, false, false, () => {\r\n return { produceGeometry: true };\r\n });\r\n\r\n assert(undefined !== ref.collectTileGeometry);\r\n return ref as GeometryTileTreeReference;\r\n }\r\n\r\n /** Terrain tiles do not contribute to the range used by \"fit view\". */\r\n public override unionFitRange(_range: Range3d): void { }\r\n public get settings(): BackgroundMapSettings { return this._settings; }\r\n public set settings(settings: BackgroundMapSettings) {\r\n this._settings = settings;\r\n this._planarClipMask = settings.planarClipMask ? PlanarClipMaskState.create(settings.planarClipMask) : undefined;\r\n }\r\n\r\n public get layerSettings(): MapLayerSettings[] {\r\n return this.layerRefHandler.layerSettings;\r\n }\r\n\r\n public override get castsShadows() {\r\n return false;\r\n }\r\n\r\n protected override get _isLoadingComplete(): boolean {\r\n // Wait until drape tree is fully loaded too.\r\n for (const drapeTree of this._layerRefHandler.layerTrees)\r\n if (drapeTree && !drapeTree.isLoadingComplete)\r\n return false;\r\n\r\n return super._isLoadingComplete;\r\n }\r\n public get useDepthBuffer() {\r\n return !this._layerRefHandler.isOverlay && (this.settings.applyTerrain || this.settings.useDepthBuffer);\r\n }\r\n\r\n public get treeOwner(): TileTreeOwner {\r\n let wantSkirts = (this.settings.applyTerrain || this.useDepthBuffer) && !this.settings.transparency && !this._layerRefHandler.baseTransparent;\r\n if (wantSkirts) {\r\n const maskTrans = this._planarClipMask?.settings.transparency;\r\n wantSkirts = (undefined === maskTrans || maskTrans <= 0);\r\n }\r\n\r\n const id: MapTreeId = {\r\n tileUserId: this._tileUserId,\r\n applyTerrain: this.settings.applyTerrain && !this._isDrape,\r\n terrainProviderName: this.settings.terrainSettings.providerName,\r\n terrainDataSource: this.settings.terrainSettings.dataSource,\r\n terrainHeightOrigin: this.settings.terrainSettings.heightOrigin,\r\n terrainHeightOriginMode: this.settings.terrainSettings.heightOriginMode,\r\n terrainExaggeration: this.settings.terrainSettings.exaggeration,\r\n mapGroundBias: this.settings.groundBias,\r\n wantSkirts,\r\n // 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.\r\n wantNormals: false,\r\n globeMode: this._isDrape ? GlobeMode.Plane : this.settings.globeMode,\r\n isOverlay: this._layerRefHandler.isOverlay,\r\n useDepthBuffer: this.useDepthBuffer,\r\n baseColor: this._layerRefHandler.baseColor,\r\n baseTransparent: this._layerRefHandler.baseTransparent,\r\n mapTransparent: Number(this.settings.transparency) > 0,\r\n maskModelIds: this._planarClipMask?.settings.compressedModelIds,\r\n produceGeometry: false,\r\n };\r\n\r\n if (undefined !== this._overrideTerrainDisplay) {\r\n const ovr = this._overrideTerrainDisplay();\r\n if (undefined !== ovr) {\r\n id.wantSkirts = ovr.wantSkirts ?? id.wantSkirts;\r\n id.wantNormals = ovr.wantNormals ?? id.wantNormals;\r\n id.produceGeometry = ovr.produceGeometry === true;\r\n }\r\n }\r\n\r\n return this.iModel.tiles.getTileTreeOwner(id, mapTreeSupplier);\r\n }\r\n public getLayerImageryTreeRef(index: number): MapLayerTileTreeReference | undefined {\r\n const baseLayerIndex = this._layerRefHandler.baseImageryLayerIncluded ? 1 : 0;\r\n const treeIndex = index + baseLayerIndex;\r\n return index < 0 || treeIndex >= this._layerRefHandler.layerTrees.length ? undefined : this._layerRefHandler.layerTrees[treeIndex];\r\n }\r\n\r\n /** Return the map-layer scale range visibility for the provided map-layer index.\r\n * @internal\r\n */\r\n public getMapLayerScaleRangeVisibility(index: number): MapTileTreeScaleRangeVisibility {\r\n const tree = this.treeOwner.tileTree as MapTileTree;\r\n if (undefined !== tree) {\r\n const tileTreeRef = this.getLayerImageryTreeRef(index);\r\n const treeId = tileTreeRef?.treeOwner.tileTree?.id;\r\n if (treeId !== undefined) {\r\n const treeState = tree.getImageryTreeState(treeId);\r\n if (treeState !== undefined)\r\n return treeState.getScaleRangeVisibility();\r\n }\r\n }\r\n return MapTileTreeScaleRangeVisibility.Unknown;\r\n }\r\n\r\n /** Adds this reference's graphics to the scene. By default this invokes [[TileTree.drawScene]] on the referenced TileTree, if it is loaded. */\r\n public override addToScene(context: SceneContext): void {\r\n if (!context.viewFlags.backgroundMap)\r\n return;\r\n\r\n const tree = this.treeOwner.load() as MapTileTree;\r\n if (undefined === tree || !this._layerRefHandler.initializeLayers(context))\r\n return; // Not loaded yet.\r\n\r\n if (this._planarClipMask && this._planarClipMask.settings.isValid)\r\n context.addPlanarClassifier(tree.modelId, undefined, this._planarClipMask);\r\n\r\n const nonLocatable = this.settings.locatable ? undefined : true;\r\n const transparency = this.settings.transparency ? this.settings.transparency : undefined;\r\n this._symbologyOverrides = new FeatureSymbology.Overrides();\r\n if (nonLocatable || transparency) {\r\n this._symbologyOverrides.override({\r\n modelId: tree.modelId,\r\n appearance: FeatureAppearance.fromJSON({ transparency, nonLocatable }),\r\n });\r\n }\r\n\r\n const args = this.createDrawArgs(context);\r\n if (undefined !== args)\r\n tree.draw(args);\r\n\r\n tree.clearImageryTreesAndClassifiers();\r\n }\r\n\r\n public override createDrawArgs(context: SceneContext): TileDrawArgs | undefined {\r\n const args = super.createDrawArgs(context);\r\n if (undefined === args)\r\n return undefined;\r\n\r\n const tree = this.treeOwner.load() as MapTileTree;\r\n return new RealityTileDrawArgs(args, args.worldToViewMap, args.frustumPlanes, undefined, tree?.layerHandler.layerClassifiers);\r\n }\r\n\r\n protected override getViewFlagOverrides(_tree: TileTree) {\r\n return createViewFlagOverrides(false, this._settings.applyTerrain ? undefined : false);\r\n }\r\n\r\n protected override getSymbologyOverrides(_tree: TileTree) {\r\n return this._symbologyOverrides;\r\n }\r\n\r\n public override discloseTileTrees(trees: DisclosedTileTreeSet): void {\r\n super.discloseTileTrees(trees);\r\n this._layerRefHandler.discloseTileTrees(trees);\r\n\r\n if (this._planarClipMask)\r\n this._planarClipMask.discloseTileTrees(trees);\r\n }\r\n\r\n public imageryTreeFromTreeModelIds(mapTreeModelId: Id64String, layerTreeModelId: Id64String): ImageryMapLayerTreeReference[] {\r\n const imageryTrees: ImageryMapLayerTreeReference[] = [];\r\n const tree = this.treeOwner.tileTree as MapTileTree;\r\n if (undefined === tree || tree.modelId !== mapTreeModelId)\r\n return imageryTrees;\r\n\r\n for (const imageryTree of this._layerRefHandler.layerTrees)\r\n if (imageryTree && imageryTree.treeOwner.tileTree && imageryTree.treeOwner.tileTree.modelId === layerTreeModelId)\r\n imageryTrees.push(imageryTree);\r\n\r\n return imageryTrees;\r\n }\r\n\r\n public layerFromTreeModelIds(mapTreeModelId: Id64String, layerTreeModelId: Id64String): MapLayerInfoFromTileTree[] {\r\n const imageryTree = this.imageryTreeFromTreeModelIds(mapTreeModelId, layerTreeModelId);\r\n return imageryTree.map((tree) => {\r\n const isBaseLayer = (this._layerRefHandler.baseImageryLayerIncluded && tree.layerIndex === 0);\r\n return {\r\n isBaseLayer,\r\n index: isBaseLayer ? undefined : { isOverlay: this._layerRefHandler.isOverlay, index: this._layerRefHandler.baseImageryLayerIncluded ? tree.layerIndex - 1 : tree.layerIndex },\r\n settings: tree.layerSettings, provider: tree.imageryProvider,\r\n };\r\n });\r\n }\r\n\r\n // Utility method that execute the provided function for every *imagery* tiles under a given HitDetail object.\r\n private async forEachImageryTileHit(hit: HitDetail, func: (imageryTreeRef: ImageryMapLayerTreeReference, quadId: QuadId, cartoGraphic: Cartographic, imageryTree: ImageryMapTileTree) => Promise<void>): Promise<void> {\r\n const tree = this.treeOwner.tileTree as MapTileTree;\r\n if (undefined === tree || hit.iModel !== tree.iModel || tree.modelId !== hit.modelId || !hit.viewport || !hit.viewport.view.is3d)\r\n return undefined;\r\n\r\n const backgroundMapGeometry = hit.viewport.displayStyle.getBackgroundMapGeometry();\r\n if (undefined === backgroundMapGeometry)\r\n return undefined;\r\n\r\n const worldPoint = hit.hitPoint.clone();\r\n let cartoGraphic: Cartographic | undefined;\r\n try {\r\n cartoGraphic = (await backgroundMapGeometry.dbToWGS84CartographicFromGcs([worldPoint]))[0];\r\n } catch {\r\n }\r\n if (!cartoGraphic) {\r\n return undefined;\r\n }\r\n\r\n const imageryTreeRef = this.imageryTreeFromTreeModelIds(hit.modelId, hit.sourceId);\r\n if (imageryTreeRef.length > 0) {\r\n if (hit.tileId !== undefined) {\r\n const terrainQuadId = QuadId.createFromContentId(hit.tileId);\r\n const terrainTile = tree.tileFromQuadId(terrainQuadId);\r\n\r\n for (const treeRef of imageryTreeRef) {\r\n const processedTileIds: string[] = [];\r\n if (terrainTile && terrainTile.imageryTiles) {\r\n const imageryTree = treeRef.treeOwner.tileTree as ImageryMapTileTree;\r\n if (imageryTree) {\r\n for (const imageryTile of terrainTile.imageryTiles) {\r\n if (!processedTileIds.includes(imageryTile.contentId)\r\n && imageryTree === imageryTile.imageryTree\r\n && imageryTile.rectangle.containsCartographic(cartoGraphic)) {\r\n processedTileIds.push(imageryTile.contentId);\r\n try {\r\n await func(treeRef, imageryTile.quadId, cartoGraphic, imageryTree);\r\n } catch {\r\n // continue iterating even though we got a failure.\r\n }\r\n\r\n }\r\n\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n public override canSupplyToolTip(hit: HitDetail): boolean {\r\n const tree = this.treeOwner.tileTree;\r\n return undefined !== tree && tree.modelId === hit.modelId;\r\n }\r\n\r\n public override async getToolTip(hit: HitDetail): Promise<HTMLElement | string | undefined> {\r\n const tree = this.treeOwner.tileTree as MapTileTree | undefined;\r\n if (undefined === tree || tree.modelId !== hit.modelId)\r\n return undefined;\r\n\r\n let carto: Cartographic | undefined;\r\n\r\n const strings: string[] = [];\r\n\r\n const getTooltipFunc = async (imageryTreeRef: ImageryMapLayerTreeReference, quadId: QuadId, cartoGraphic: Cartographic, imageryTree: ImageryMapTileTree) => {\r\n strings.push(`${IModelApp.localization.getLocalizedString(\"iModelJs:MapLayers.ImageryLayer\")}: ${imageryTreeRef.layerSettings.name}`);\r\n carto = cartoGraphic;\r\n await imageryTree.imageryLoader.getToolTip(strings, quadId, cartoGraphic, imageryTree);\r\n };\r\n try {\r\n await this.forEachImageryTileHit(hit, getTooltipFunc);\r\n } catch {\r\n // No results added\r\n }\r\n\r\n if (carto) {\r\n strings.push(`${IModelApp.localization.getLocalizedString(\"iModelJs:MapLayers.Latitude\")}: ${carto.latitudeDegrees.toFixed(4)}`);\r\n strings.push(`${IModelApp.localization.getLocalizedString(\"iModelJs:MapLayers.Longitude\")}: ${carto.longitudeDegrees.toFixed(4)}`);\r\n if (this.settings.applyTerrain && tree.terrainExaggeration !== 0.0) {\r\n const geodeticHeight = (carto.height - tree.bimElevationBias) / tree.terrainExaggeration;\r\n strings.push(`${IModelApp.localization.getLocalizedString(\"iModelJs:MapLayers.Height\")}: ${geodeticHeight.toFixed(1)} ${IModelApp.localization.getLocalizedString(\"iModelJs:MapLayers.SeaLevel\")}: ${(geodeticHeight - tree.geodeticOffset).toFixed(1)}`);\r\n }\r\n }\r\n\r\n const div = document.createElement(\"div\");\r\n div.innerHTML = strings.join(\"<br>\");\r\n return div;\r\n }\r\n\r\n public override async getMapFeatureInfo(hit: HitDetail, options?: MapFeatureInfoOptions): Promise<MapLayerFeatureInfo[] | undefined> {\r\n const tree = this.treeOwner.tileTree as MapTileTree;\r\n if (undefined === tree || hit.iModel !== tree.iModel || tree.modelId !== hit.modelId || !hit.viewport || !hit.viewport.view.is3d)\r\n return undefined;\r\n\r\n const info: MapLayerFeatureInfo[] = [];\r\n const imageryTreeRef = this.imageryTreeFromTreeModelIds(hit.modelId, hit.sourceId);\r\n if (imageryTreeRef !== undefined) {\r\n\r\n const getFeatureInfoFunc = async (_imageryTreeRef: ImageryMapLayerTreeReference, quadId: QuadId, cartoGraphic: Cartographic, imageryTree: ImageryMapTileTree) => {\r\n try {\r\n await imageryTree.imageryLoader.getMapFeatureInfo(info, quadId, cartoGraphic, imageryTree, hit, options);\r\n } catch {\r\n }\r\n };\r\n try {\r\n await this.forEachImageryTileHit(hit, getFeatureInfoFunc);\r\n } catch {\r\n // No results added\r\n }\r\n\r\n }\r\n\r\n return info;\r\n }\r\n\r\n /** @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [addAttributions] instead. */\r\n public override addLogoCards(cards: HTMLTableElement, vp: ScreenViewport): void {\r\n const tree = this.treeOwner.tileTree as MapTileTree;\r\n if (tree) {\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n tree.mapLoader.terrainProvider.addLogoCards(cards, vp);\r\n for (const imageryTreeRef of this._layerRefHandler.layerTrees) {\r\n if (imageryTreeRef?.layerSettings.visible) {\r\n const imageryTree = imageryTreeRef.treeOwner.tileTree;\r\n if (imageryTree instanceof ImageryMapTileTree)\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n imageryTree.addLogoCards(cards, vp);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** Add logo cards to logo div. */\r\n public override async addAttributions(cards: HTMLTableElement, vp: ScreenViewport): Promise<void> {\r\n const tree = this.treeOwner.tileTree as MapTileTree;\r\n\r\n if (tree) {\r\n const promises = [tree.mapLoader.terrainProvider.addAttributions(cards, vp)];\r\n\r\n for (const imageryTreeRef of this._layerRefHandler.layerTrees) {\r\n if (imageryTreeRef?.layerSettings.visible) {\r\n const imageryTree = imageryTreeRef.treeOwner.tileTree;\r\n if (imageryTree instanceof ImageryMapTileTree)\r\n promises.push(imageryTree.addAttributions(cards, vp));\r\n }\r\n }\r\n await Promise.all(promises);\r\n }\r\n }\r\n\r\n public override decorate(context: DecorateContext): void {\r\n for (const layerTree of this._layerRefHandler.layerTrees) {\r\n if (layerTree)\r\n layerTree.decorate(context);\r\n }\r\n }\r\n}\r\n\r\n/** Returns whether a GCS converter is available.\r\n * @internal\r\n */\r\nexport async function getGcsConverterAvailable(iModel: IModelConnection) {\r\n if (iModel.noGcsDefined)\r\n return false;\r\n\r\n // Determine if we have a usable GCS.\r\n const converter = iModel.geoServices.getConverter(\"WGS84\");\r\n if (undefined === converter)\r\n return false;\r\n const requestProps: XYZProps[] = [{ x: 0, y: 0, z: 0 }];\r\n let haveConverter;\r\n try {\r\n const responseProps = await converter.getIModelCoordinatesFromGeoCoordinates(requestProps);\r\n haveConverter = responseProps.iModelCoords.length === 1 && responseProps.iModelCoords[0].s !== GeoCoordStatus.NoGCSDefined;\r\n } catch {\r\n haveConverter = false;\r\n }\r\n return haveConverter;\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"MapTileTree.js","sourceRoot":"","sources":["../../../../src/tile/map/MapTileTree.ts"],"names":[],"mappings":"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"}
|