@itwin/core-frontend 5.1.1 → 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 +13 -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.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.map +1 -1
- package/lib/cjs/IModelRoutingContext.js.map +1 -1
- 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.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Animation.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Atmosphere.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Blur.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/ClearTranslucent.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Clipping.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Color.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Combine3Textures.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/CombineTextures.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Common.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Composite.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Contours.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/CopyColor.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/CopyStencil.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Decode.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/EDL.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Edge.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/FeatureSymbology.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Fragment.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Instancing.js.map +1 -1
- 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.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Monochrome.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/PlanarClassification.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/PlanarGrid.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/PointCloud.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/PointString.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Polyline.js.map +1 -1
- 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.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/SkyBox.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/SkySphere.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Surface.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Thematic.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Translucency.js.map +1 -1
- package/lib/cjs/internal/render/webgl/glsl/Vertex.js.map +1 -1
- 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.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 +1 -0
- 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/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/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.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.map +1 -1
- package/lib/esm/IModelRoutingContext.js.map +1 -1
- 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.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Animation.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Atmosphere.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Blur.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/ClearTranslucent.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Clipping.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Color.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Combine3Textures.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/CombineTextures.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Common.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Composite.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Contours.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/CopyColor.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/CopyStencil.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Decode.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/EDL.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Edge.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/FeatureSymbology.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Fragment.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Instancing.js.map +1 -1
- 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.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Monochrome.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/PlanarClassification.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/PlanarGrid.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/PointCloud.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/PointString.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Polyline.js.map +1 -1
- 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.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/SkyBox.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/SkySphere.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Surface.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Thematic.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Translucency.js.map +1 -1
- package/lib/esm/internal/render/webgl/glsl/Vertex.js.map +1 -1
- 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.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 +1 -0
- 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/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/RegisterWorker.js.map +1 -1
- package/package.json +20 -20
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IModelConnection.js","sourceRoot":"","sources":["../../src/IModelConnection.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 IModelConnection\r\n */\r\n\r\nimport {\r\n assert, BeEvent, CompressedId64Set, GeoServiceStatus, GuidString, Id64, Id64Arg, Id64Set, Id64String, IModelStatus, Logger, OneAtATimeAction, OpenMode,\r\n PickAsyncMethods, TransientIdSequence,\r\n} from \"@itwin/core-bentley\";\r\nimport {\r\n Cartographic, CodeProps, CodeScopeSpec, CodeSpec, CodeSpecProperties, DbQueryRequest, EcefLocation, EcefLocationProps, ECSqlReader, ElementLoadOptions, ElementMeshRequestProps,\r\n ElementProps, EntityQueryParams, FontMap, GeoCoordStatus, GeographicCRSProps, GeometryContainmentRequestProps, GeometryContainmentResponseProps, GeometrySummaryRequestProps, IModel, IModelConnectionProps, IModelError,\r\n IModelReadRpcInterface, mapToGeoServiceStatus, MassPropertiesPerCandidateRequestProps, MassPropertiesPerCandidateResponseProps,\r\n MassPropertiesRequestProps, MassPropertiesResponseProps, ModelExtentsProps, ModelProps, ModelQueryParams, Placement, Placement2d,\r\n Placement3d, QueryBinder, QueryOptions, QueryRowFormat, RpcManager, SnapRequestProps, SnapResponseProps,\r\n SnapshotIModelRpcInterface, SubCategoryAppearance, SubCategoryResultRow, TextureData, TextureLoadProps, ViewDefinitionProps,\r\n ViewIdString, ViewQueryParams, ViewStateLoadProps, ViewStateProps, ViewStoreRpc,\r\n} from \"@itwin/core-common\";\r\nimport { Point3d, Range3dProps, Transform, XYAndZ, XYZProps } from \"@itwin/core-geometry\";\r\nimport { BriefcaseConnection } from \"./BriefcaseConnection\";\r\nimport { CheckpointConnection } from \"./CheckpointConnection\";\r\nimport { FrontendLoggerCategory } from \"./common/FrontendLoggerCategory\";\r\nimport { EntityState } from \"./EntityState\";\r\nimport { GeoServices } from \"./GeoServices\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { IModelRoutingContext } from \"./IModelRoutingContext\";\r\nimport { ModelState } from \"./ModelState\";\r\nimport { HiliteSet, SelectionSet } from \"./SelectionSet\";\r\nimport { SubCategoriesCache } from \"./SubCategoriesCache\";\r\nimport { BingElevationProvider } from \"./tile/internal\";\r\nimport { Tiles } from \"./Tiles\";\r\nimport { ViewState } from \"./ViewState\";\r\nimport { _requestSnap } from \"./common/internal/Symbols\";\r\nimport { IpcApp } from \"./IpcApp\";\r\nimport { SchemaContext } from \"@itwin/ecschema-metadata\";\r\nimport { ECSchemaRpcLocater } from '@itwin/ecschema-rpcinterface-common';\r\n\r\n\r\nconst loggerCategory: string = FrontendLoggerCategory.IModelConnection;\r\n\r\n/** The properties for creating a [Blank IModelConnection]($docs/learning/frontend/BlankConnection)\r\n * @public\r\n */\r\nexport interface BlankConnectionProps {\r\n /** A name for this blank connection. */\r\n name: string;\r\n /** The spatial location for the blank connection. */\r\n location: Cartographic | EcefLocationProps;\r\n /** The volume of interest, in meters, centered around `location` */\r\n extents: Range3dProps;\r\n /** An offset to be applied to all spatial coordinates. */\r\n globalOrigin?: XYZProps;\r\n /** The optional Guid that identifies the iTwin associated with the [[BlankConnection]]. */\r\n iTwinId?: GuidString;\r\n}\r\n\r\n/** A connection to a [IModelDb]($backend) hosted on the backend.\r\n * @public\r\n * @extensions\r\n */\r\nexport abstract class IModelConnection extends IModel {\r\n /** The [[ModelState]]s in this IModelConnection. */\r\n public readonly models: IModelConnection.Models;\r\n /** The [[ElementState]]s in this IModelConnection. */\r\n public readonly elements: IModelConnection.Elements;\r\n /** The [[CodeSpec]]s in this IModelConnection. */\r\n public readonly codeSpecs: IModelConnection.CodeSpecs;\r\n /** The [[ViewState]]s in this IModelConnection. */\r\n public readonly views: IModelConnection.Views;\r\n /** The set of currently hilited elements for this IModelConnection. */\r\n public readonly hilited: HiliteSet;\r\n /** The set of currently selected elements for this IModelConnection. */\r\n public readonly selectionSet: SelectionSet;\r\n /** The set of Tiles for this IModelConnection. */\r\n public readonly tiles: Tiles;\r\n /** The set of [Category]($backend)'s in this IModelConnection. */\r\n public readonly categories: IModelConnection.Categories;\r\n /** A cache of information about SubCategories chiefly used for rendering.\r\n * @internal\r\n */\r\n public get subcategories(): SubCategoriesCache { return this.categories.cache; }\r\n /** Generator for unique Ids of transient graphics for this IModelConnection. */\r\n public readonly transientIds = new TransientIdSequence();\r\n /** The Geographic location services available for this iModelConnection. */\r\n public readonly geoServices: GeoServices;\r\n /** @internal Whether GCS has been disabled for this iModelConnection. */\r\n protected _gcsDisabled = false;\r\n /** @internal Return true if a GCS is not defined for this iModelConnection; also returns true if GCS is defined but disabled. */\r\n public get noGcsDefined(): boolean { return this._gcsDisabled || undefined === this.geographicCoordinateSystem; }\r\n /** @internal */\r\n public disableGCS(disable: boolean): void { this._gcsDisabled = disable; }\r\n\r\n /** The maximum time (in milliseconds) to wait before timing out the request to open a connection to a new iModel */\r\n public static connectionTimeout: number = 10 * 60 * 1000;\r\n\r\n /** The RPC routing for this connection. */\r\n public routingContext: IModelRoutingContext = IModelRoutingContext.default;\r\n\r\n /** Type guard for instanceof [[BriefcaseConnection]] */\r\n public isBriefcaseConnection(): this is BriefcaseConnection { return false; }\r\n\r\n /** Type guard for instanceof [[CheckpointConnection]]\r\n * @beta\r\n */\r\n public isCheckpointConnection(): this is CheckpointConnection { return false; }\r\n\r\n /** Type guard for instanceof [[SnapshotConnection]] */\r\n public isSnapshotConnection(): this is SnapshotConnection { return false; }\r\n\r\n /** Type guard for instanceof [[BlankConnection]] */\r\n public isBlankConnection(): this is BlankConnection { return false; }\r\n\r\n /** Returns `true` if this is a briefcase copy of an iModel that is synchronized with iModelHub. */\r\n public get isBriefcase(): boolean { return this.isBriefcaseConnection(); }\r\n\r\n /** Returns `true` if this is a *snapshot* iModel.\r\n * @see [[SnapshotConnection.openSnapshot]]\r\n */\r\n public get isSnapshot(): boolean { return this.isSnapshotConnection(); }\r\n\r\n /** True if this is a [Blank Connection]($docs/learning/frontend/BlankConnection). */\r\n public get isBlank(): boolean { return this.isBlankConnection(); }\r\n\r\n /** Check the [[openMode]] of this IModelConnection to see if it was opened read-only. */\r\n public get isReadonly(): boolean { return this.openMode === OpenMode.Readonly; }\r\n\r\n /** Check if the IModelConnection is open (i.e. it has a *connection* to a backend server).\r\n * Returns false for [[BlankConnection]] instances and after [[IModelConnection.close]] has been called.\r\n * @note no RPC operations are valid on this IModelConnection if this method returns false.\r\n */\r\n public get isOpen(): boolean { return !this.isClosed; }\r\n\r\n /** Check if the IModelConnection is closed (i.e. it has no *connection* to a backend server).\r\n * Returns true for [[BlankConnection]] instances and after [[IModelConnection.close]] has been called.\r\n * @note no RPC operations are valid on this IModelConnection if this method returns true.\r\n */\r\n public abstract get isClosed(): boolean;\r\n\r\n /** Event raised immediately before *any* IModelConnection is [[close]]d.\r\n * @note This static event is raised when *any* IModelConnection is closed, and the specific IModelConnection is passed as its argument. To\r\n * monitor closing a specific IModelConnection, listen for the `onClose` instance event instead.\r\n * @note Be careful not to perform any asynchronous operations on the IModelConnection because it will close before they are processed.\r\n */\r\n public static readonly onClose = new BeEvent<(_imodel: IModelConnection) => void>();\r\n\r\n /** Event called immediately after *any* IModelConnection is opened. */\r\n public static readonly onOpen = new BeEvent<(_imodel: IModelConnection) => void>();\r\n\r\n /** Event raised immediately before this IModelConnection is [[close]]d.\r\n * @note This event is raised only for this specific IModelConnection. To monitor *all* IModelConnections, listen for the static `onClose` event instead.\r\n * @note Be careful not to perform any asynchronous operations on the IModelConnection because it will close before they are processed.\r\n */\r\n public readonly onClose = new BeEvent<(_imodel: IModelConnection) => void>();\r\n\r\n /** The font map for this IModelConnection. Only valid after calling #loadFontMap and waiting for the returned promise to be fulfilled.\r\n * @deprecated in 5.0.0 - will not be removed until after 2026-06-13. If you need font Ids on the front-end for some reason, write an Ipc method that queries [IModelDb.fonts]($backend).\r\n */\r\n public fontMap?: FontMap; // eslint-disable-line @typescript-eslint/no-deprecated\r\n\r\n private _schemaContext?: SchemaContext;\r\n\r\n /** Load the FontMap for this IModelConnection.\r\n * @returns Returns a Promise<FontMap> that is fulfilled when the FontMap member of this IModelConnection is valid.\r\n * @deprecated in 5.0.0 - will not be removed until after 2026-06-13. If you need font Ids on the front-end for some reason, write an Ipc method that queries [IModelDb.fonts]($backend).\r\n */\r\n public async loadFontMap(): Promise<FontMap> { // eslint-disable-line @typescript-eslint/no-deprecated\r\n if (undefined === this.fontMap) { // eslint-disable-line @typescript-eslint/no-deprecated\r\n this.fontMap = new FontMap(); // eslint-disable-line @typescript-eslint/no-deprecated\r\n if (this.isOpen) {\r\n const fontProps = await IModelReadRpcInterface.getClientForRouting(this.routingContext.token).readFontJson(this.getRpcProps());\r\n this.fontMap.addFonts(fontProps.fonts); // eslint-disable-line @typescript-eslint/no-deprecated\r\n }\r\n }\r\n return this.fontMap; // eslint-disable-line @typescript-eslint/no-deprecated\r\n }\r\n\r\n /** Find the first registered base class of the given EntityState className. This class will \"handle\" the State for the supplied className.\r\n * @param className The full name of the class of interest.\r\n * @param defaultClass If no base class of the className is registered, return this value.\r\n * @note this method is async since it may have to query the server to get the class hierarchy.\r\n */\r\n public async findClassFor<T extends typeof EntityState>(className: string, defaultClass: T | undefined): Promise<T | undefined> {\r\n let ctor = IModelApp.lookupEntityClass(className) as T | undefined;\r\n if (undefined !== ctor)\r\n return ctor;\r\n\r\n // it's not registered, we need to query its class hierarchy.\r\n ctor = defaultClass; // in case we cant find a registered class that handles this class\r\n\r\n // wait until we get the full list of base classes from backend\r\n if (this.isOpen) {\r\n const baseClasses = await IModelReadRpcInterface.getClientForRouting(this.routingContext.token).getClassHierarchy(this.getRpcProps(), className);\r\n\r\n // Make sure some other async code didn't register this class while we were await-ing above\r\n ctor = IModelApp.lookupEntityClass(className) as T | undefined;\r\n if (undefined !== ctor)\r\n return ctor;\r\n\r\n // walk through the list until we find a registered base class\r\n baseClasses.some((baseClass: string) => {\r\n const test = IModelApp.lookupEntityClass(baseClass) as T | undefined;\r\n if (test === undefined)\r\n return false; // nope, not registered\r\n\r\n ctor = test; // found it, save it\r\n IModelApp.registerEntityState(className, ctor); // and register the fact that our starting class is handled by this subclass.\r\n return true; // stop\r\n });\r\n }\r\n return ctor; // either the baseClass handler or defaultClass if we didn't find a registered baseClass\r\n }\r\n\r\n /** @internal */\r\n protected constructor(iModelProps: IModelConnectionProps) {\r\n super(iModelProps);\r\n super.initialize(iModelProps.name!, iModelProps);\r\n this.models = new IModelConnection.Models(this);\r\n this.elements = new IModelConnection.Elements(this);\r\n this.codeSpecs = new IModelConnection.CodeSpecs(this);\r\n this.views = new IModelConnection.Views(this);\r\n this.categories = new IModelConnection.Categories(this);\r\n\r\n this.selectionSet = new SelectionSet(this);\r\n this.hilited = new HiliteSet(this);\r\n\r\n this.tiles = new Tiles(this);\r\n this.geoServices = GeoServices.createForIModel(this);\r\n\r\n this.hilited.onModelSubCategoryModeChanged.addListener(() => {\r\n IModelApp.viewManager.onSelectionSetChanged(this);\r\n });\r\n }\r\n\r\n /** Called prior to connection closing. Raises close events and calls tiles.dispose.\r\n * @internal\r\n */\r\n protected beforeClose(): void {\r\n this.onClose.raiseEvent(this); // event for this connection\r\n IModelConnection.onClose.raiseEvent(this); // event for all connections\r\n this.tiles[Symbol.dispose]();\r\n this.subcategories.onIModelConnectionClose();\r\n }\r\n\r\n /** Close this IModelConnection. */\r\n public abstract close(): Promise<void>;\r\n\r\n /** Allow to execute query and read results along with meta data. The result are streamed.\r\n *\r\n * See also:\r\n * - [ECSQL Overview]($docs/learning/frontend/ExecutingECSQL)\r\n * - [Code Examples]($docs/learning/frontend/ECSQLCodeExamples)\r\n * - [ECSQL Row Format]($docs/learning/ECSQLRowFormat)\r\n *\r\n * @param params The values to bind to the parameters (if the ECSQL has any).\r\n * @param config Allow to specify certain flags which control how query is executed.\r\n * @returns Returns an [ECSqlReader]($common) which helps iterate over the result set and also give access to metadata.\r\n * @public\r\n * */\r\n public createQueryReader(ecsql: string, params?: QueryBinder, config?: QueryOptions): ECSqlReader {\r\n const executor = {\r\n execute: async (request: DbQueryRequest) => {\r\n return IModelReadRpcInterface.getClientForRouting(this.routingContext.token).queryRows(this.getRpcProps(), request);\r\n },\r\n };\r\n return new ECSqlReader(executor, ecsql, params, config);\r\n }\r\n\r\n /**\r\n * queries the BisCore.SubCategory table for the entries that are children of the passed categoryIds\r\n * @param compressedCategoryIds compressed category Ids\r\n * @returns array of SubCategoryResultRow\r\n * @internal\r\n */\r\n public async querySubCategories(compressedCategoryIds: CompressedId64Set): Promise<SubCategoryResultRow[]> {\r\n return IModelReadRpcInterface.getClientForRouting(this.routingContext.token).querySubCategories(this.getRpcProps(), compressedCategoryIds);\r\n }\r\n\r\n /**\r\n * queries the BisCore.SubCategory table for entries that are children of used spatial categories and 3D elements.\r\n * @returns array of SubCategoryResultRow\r\n * @internal\r\n */\r\n public async queryAllUsedSpatialSubCategories(): Promise<SubCategoryResultRow[]> {\r\n return IModelReadRpcInterface.getClientForRouting(this.routingContext.token).queryAllUsedSpatialSubCategories(this.getRpcProps());\r\n }\r\n\r\n /** Query for a set of element ids that satisfy the supplied query params\r\n * @param params The query parameters. The `limit` and `offset` members should be used to page results.\r\n * @throws [IModelError]($common) If the generated statement is invalid or would return too many rows.\r\n */\r\n public async queryEntityIds(params: EntityQueryParams): Promise<Id64Set> {\r\n return new Set(this.isOpen ? await IModelReadRpcInterface.getClientForRouting(this.routingContext.token).queryEntityIds(this.getRpcProps(), params) : undefined);\r\n }\r\n\r\n private _snapRpc = new OneAtATimeAction<SnapResponseProps>(\r\n async (props: SnapRequestProps) =>\r\n IModelReadRpcInterface.getClientForRouting(this.routingContext.token).requestSnap(this.getRpcProps(), IModelApp.sessionId, props),\r\n );\r\n\r\n /** Request a snap from the backend.\r\n * @note callers must gracefully handle Promise rejected with AbandonedError\r\n * @internal\r\n */\r\n public async [_requestSnap](props: SnapRequestProps): Promise<SnapResponseProps> {\r\n return this.isOpen ? this._snapRpc.request(props) : { status: 2 };\r\n }\r\n\r\n /** @internal\r\n * @deprecated in 4.8 - will not be removed until after 2026-06-13. Use AccuSnap.doSnapRequest.\r\n */\r\n public async requestSnap(props: SnapRequestProps): Promise<SnapResponseProps> {\r\n return this[_requestSnap](props);\r\n }\r\n\r\n private _toolTipRpc = new OneAtATimeAction<string[]>(async (id: string) => IModelReadRpcInterface.getClientForRouting(this.routingContext.token).getToolTipMessage(this.getRpcProps(), id));\r\n /** Request a tooltip from the backend.\r\n * @note If another call to this method occurs before preceding call(s) return, all preceding calls will be abandoned - only the most recent will resolve. Therefore callers must gracefully handle Promise rejected with AbandonedError.\r\n */\r\n public async getToolTipMessage(id: Id64String): Promise<string[]> {\r\n return this.isOpen ? this._toolTipRpc.request(id) : [];\r\n }\r\n\r\n /** Request element clip containment status from the backend. */\r\n public async getGeometryContainment(requestProps: GeometryContainmentRequestProps): Promise<GeometryContainmentResponseProps> { return IModelReadRpcInterface.getClientForRouting(this.routingContext.token).getGeometryContainment(this.getRpcProps(), requestProps); }\r\n\r\n /** Obtain a summary of the geometry belonging to one or more [GeometricElement]($backend)s suitable for debugging and diagnostics.\r\n * @param requestProps Specifies the elements to query and options for how to format the output.\r\n * @returns A string containing the summary, typically consisting of multiple lines.\r\n * @note Trying to parse the output to programmatically inspect an element's geometry is not recommended.\r\n * @see [GeometryStreamIterator]($common) to more directly inspect a geometry stream.\r\n */\r\n public async getGeometrySummary(requestProps: GeometrySummaryRequestProps): Promise<string> {\r\n return IModelReadRpcInterface.getClientForRouting(this.routingContext.token).getGeometrySummary(this.getRpcProps(), requestProps);\r\n }\r\n\r\n /** Request a named texture image from the backend.\r\n * @param textureLoadProps The texture load properties which must contain a name property (a valid 64-bit integer identifier). It optionally can contain the maximum texture size supported by the client.\r\n * @see [[Id64]]\r\n * @public\r\n */\r\n public async queryTextureData(textureLoadProps: TextureLoadProps): Promise<TextureData | undefined> {\r\n if (this.isOpen) {\r\n const rpcClient = IModelReadRpcInterface.getClientForRouting(this.routingContext.token);\r\n const img = rpcClient.queryTextureData(this.getRpcProps(), textureLoadProps);\r\n return img;\r\n }\r\n return undefined;\r\n }\r\n\r\n /** Request element mass properties from the backend. */\r\n public async getMassProperties(requestProps: MassPropertiesRequestProps): Promise<MassPropertiesResponseProps> {\r\n return IModelReadRpcInterface.getClientForRouting(this.routingContext.token).getMassProperties(this.getRpcProps(), requestProps);\r\n }\r\n\r\n /** Request mass properties for multiple elements from the backend.\r\n * @deprecated in 4.11 - will not be removed until after 2026-06-13. Use [[IModelConnection.getMassProperties]].\r\n */\r\n public async getMassPropertiesPerCandidate(requestProps: MassPropertiesPerCandidateRequestProps): Promise<MassPropertiesPerCandidateResponseProps[]> { // eslint-disable-line @typescript-eslint/no-deprecated\r\n return IModelReadRpcInterface.getClientForRouting(this.routingContext.token).getMassPropertiesPerCandidate(this.getRpcProps(), requestProps);\r\n }\r\n\r\n /** Produce encoded [Polyface]($core-geometry)s from the geometry stream of a [GeometricElement]($backend).\r\n * A polyface is produced for each geometric entry in the element's geometry stream, excluding geometry like open curves that can't be converted into polyfaces.\r\n * The polyfaces can be decoded using [readElementMeshes]($common).\r\n * Symbology, UV parameters, and normal vectors are not included in the result.\r\n * @param requestProps A description of how to produce the polyfaces and from which element to obtain them.\r\n * @returns an encoded list of polyfaces that can be decoded by [readElementMeshes]($common).\r\n * @throws Error if [ElementMeshRequestProps.source]($common) does not refer to a [GeometricElement]($backend).\r\n * @note This function is intended to support limited analysis of an element's geometry as a mesh. It is not intended for producing graphics.\r\n * @see [[TileAdmin.requestElementGraphics]] to obtain meshes appropriate for display.\r\n * @beta\r\n */\r\n public async generateElementMeshes(requestProps: ElementMeshRequestProps): Promise<Uint8Array> {\r\n return IModelReadRpcInterface.getClientForRouting(this.routingContext.token).generateElementMeshes(this.getRpcProps(), requestProps);\r\n }\r\n\r\n /** Convert a point in this iModel's Spatial coordinates to a [[Cartographic]] using the Geographic location services for this IModelConnection.\r\n * @param spatial A point in the iModel's spatial coordinates\r\n * @param result If defined, use this for output\r\n * @returns A Cartographic location (Horizontal datum depends on iModel's GCS)\r\n * @throws IModelError if [[isGeoLocated]] is false or point could not be converted.\r\n * @see [[cartographicFromSpatial]] if you have more than one point to convert, or you don't know whether the iModel has a GCS.\r\n */\r\n public async spatialToCartographicFromGcs(spatial: XYAndZ, result?: Cartographic): Promise<Cartographic> {\r\n if (!this.isGeoLocated && this.noGcsDefined)\r\n throw new IModelError(GeoServiceStatus.NoGeoLocation, \"iModel is not GeoLocated\");\r\n\r\n const geoConverter = this.geoServices.getConverter()!;\r\n const coordResponse = await geoConverter.getGeoCoordinatesFromIModelCoordinates([spatial]);\r\n\r\n if (1 !== coordResponse.geoCoords.length || GeoCoordStatus.NoGCSDefined === coordResponse.geoCoords[0].s)\r\n throw new IModelError(GeoServiceStatus.NoGeoLocation, \"iModel is not GeoLocated\");\r\n\r\n if (GeoCoordStatus.Success !== coordResponse.geoCoords[0].s) {\r\n const geoServiceStatus = mapToGeoServiceStatus(coordResponse.geoCoords[0].s);\r\n throw new IModelError(geoServiceStatus, \"Error converting spatial to cartographic\");\r\n }\r\n\r\n const longLatHeight = Point3d.fromJSON(coordResponse.geoCoords[0].p); // x is longitude in degrees, y is latitude in degrees, z is height in meters...\r\n return Cartographic.fromDegrees({ longitude: longLatHeight.x, latitude: longLatHeight.y, height: longLatHeight.z }, result);\r\n }\r\n\r\n /** Convert a point in this iModel's Spatial coordinates to a [[Cartographic]] using the Geographic location services for this IModelConnection or [[IModel.ecefLocation]].\r\n * @param spatial A point in the iModel's spatial coordinates\r\n * @param result If defined, use this for output\r\n * @returns A Cartographic location (Horizontal datum depends on iModel's GCS)\r\n * @throws IModelError if [[isGeoLocated]] is false or point could not be converted.\r\n * @see [[cartographicFromSpatial]] to convert multiple points at once.\r\n * @see [[spatialToCartographicFromEcef]] to synchronously convert points using the iModel's ECEF transform.\r\n */\r\n public async spatialToCartographic(spatial: XYAndZ, result?: Cartographic): Promise<Cartographic> {\r\n return (this.noGcsDefined ? this.spatialToCartographicFromEcef(spatial, result) : this.spatialToCartographicFromGcs(spatial, result));\r\n }\r\n\r\n /** Convert points in this iModel's spatial coordinate system to [Cartographic]($common) coordinates using either a [[GeoConverter]] or the iModel's [EcefLocation]($common).\r\n * @param spatial Coordinates to be converted from the iModel's spatial coordinate system\r\n * @returns The `spatial` coordinates converted to cartographic coordinates, of the same length and order as the `spatial`.\r\n * @throws IModelError if [[isGeoLocated]] is false or any point could not be converted.\r\n * @see [[spatialFromCartographic]] to perform the inverse conversion.\r\n * @see [[spatialToCartographicFromEcef]] to synchronously convert points using the iModel's ECEF transform.\r\n */\r\n public async cartographicFromSpatial(spatial: XYAndZ[]): Promise<Cartographic[]> {\r\n return this.cartographicFromSpatialWithGcs(spatial);\r\n }\r\n\r\n /** Convert points in this iModel's spatial coordinate system to [Cartographic]($common) coordinates using either a [[GeoConverter]] or the iModel's [EcefLocation]($common).\r\n * @param spatial Coordinates to be converted from the iModel's spatial coordinate system\r\n * @returns The `spatial` coordinates converted to cartographic coordinates (WGS84 horizontal datum), of the same length and order as the `spatial`.\r\n * @throws IModelError if [[isGeoLocated]] is false or any point could not be converted.\r\n * @see [[cartographicFromSpatial]] to perform conversion using iModel's GCS horizontal datum\r\n * @beta\r\n */\r\n public async wgs84CartographicFromSpatial(spatial: XYAndZ[]): Promise<Cartographic[]> {\r\n return this.cartographicFromSpatialWithGcs(spatial, \"WGS84\");\r\n }\r\n\r\n /** @internal */\r\n public async cartographicFromSpatialWithGcs(spatial: XYAndZ[], datumOrGCRS?: string | GeographicCRSProps): Promise<Cartographic[]> {\r\n if (this.noGcsDefined)\r\n return spatial.map((p) => this.spatialToCartographicFromEcef(p));\r\n\r\n if (!this.isGeoLocated)\r\n throw new IModelError(GeoServiceStatus.NoGeoLocation, \"iModel is not GeoLocated\");\r\n\r\n if (!this.isOpen)\r\n throw new IModelError(GeoServiceStatus.NoGeoLocation, \"iModel is not open\");\r\n\r\n if (spatial.length === 0)\r\n return [];\r\n\r\n const geoConverter = this.geoServices.getConverter(datumOrGCRS);\r\n assert(undefined !== geoConverter);\r\n\r\n const coordResponse = await geoConverter.getGeoCoordinatesFromIModelCoordinates(spatial);\r\n if (coordResponse.geoCoords.length !== spatial.length)\r\n throw new IModelError(GeoServiceStatus.NoGeoLocation, \"iModel is not GeoLocated\");\r\n\r\n return coordResponse.geoCoords.map((coord) => {\r\n switch (coord.s) {\r\n case GeoCoordStatus.NoGCSDefined:\r\n throw new IModelError(GeoServiceStatus.NoGeoLocation, \"iModel is not GeoLocated\");\r\n case GeoCoordStatus.Success:\r\n const llh = Point3d.fromJSON(coord.p);\r\n return Cartographic.fromDegrees({ longitude: llh.x, latitude: llh.y, height: llh.z });\r\n default:\r\n throw new IModelError(mapToGeoServiceStatus(coord.s), \"Error converting spatial to cartographic\");\r\n }\r\n });\r\n }\r\n\r\n /** Convert a [Cartographic]($common) to a point in this iModel's spatial coordinate system using a [[GeoConverter]].\r\n * @param cartographic A cartographic location\r\n * @param result If defined, use this for output\r\n * @returns A point in this iModel's spatial coordinates\r\n * @throws IModelError if [[isGeoLocated]] is false or cartographic location could not be converted.\r\n * @see [[spatialFromCartographic]] to convert multiple points at once, or you don't know whether the iModel has a GCS.\r\n */\r\n public async cartographicToSpatialFromGcs(cartographic: Cartographic, result?: Point3d): Promise<Point3d> {\r\n if (!this.isGeoLocated && this.noGcsDefined)\r\n throw new IModelError(GeoServiceStatus.NoGeoLocation, \"iModel is not GeoLocated\");\r\n\r\n const geoConverter = this.geoServices.getConverter()!;\r\n const geoCoord = Point3d.create(cartographic.longitudeDegrees, cartographic.latitudeDegrees, cartographic.height); // x is longitude in degrees, y is latitude in degrees, z is height in meters...\r\n const coordResponse = await geoConverter.getIModelCoordinatesFromGeoCoordinates([geoCoord]);\r\n\r\n if (1 !== coordResponse.iModelCoords.length || GeoCoordStatus.NoGCSDefined === coordResponse.iModelCoords[0].s)\r\n throw new IModelError(GeoServiceStatus.NoGeoLocation, \"iModel is not GeoLocated\");\r\n\r\n if (GeoCoordStatus.Success !== coordResponse.iModelCoords[0].s) {\r\n const geoServiceStatus = mapToGeoServiceStatus(coordResponse.iModelCoords[0].s);\r\n throw new IModelError(geoServiceStatus, \"Error converting cartographic to spatial\");\r\n }\r\n\r\n result = result ? result : Point3d.createZero();\r\n result.setFromJSON(coordResponse.iModelCoords[0].p);\r\n return result;\r\n }\r\n\r\n /** Convert a [Cartographic]($common) to a point in this iModel's Spatial coordinates using a [[GeoConverter]] or[[IModel.ecefLocation]($common).\r\n * @param cartographic A cartographic location\r\n * @param result If defined, use this for output\r\n * @returns A point in this iModel's spatial coordinates\r\n * @throws IModelError if [[isGeoLocated]] is false or cartographic location could not be converted.\r\n * @see [[spatialFromCartographic]] to convert multiple points at once.\r\n * @see [[cartographicToSpatialFromEcef]] to synchronously convert points using the iModel's ECEF transform.\r\n */\r\n public async cartographicToSpatial(cartographic: Cartographic, result?: Point3d): Promise<Point3d> {\r\n return (this.noGcsDefined ? this.cartographicToSpatialFromEcef(cartographic, result) : this.cartographicToSpatialFromGcs(cartographic, result));\r\n }\r\n\r\n /** Convert [Cartographic]($common) coordinates into points in this iModel's spatial coordinate system using a [[GeoConverter]] or the iModel's [EcefLocation]($common).\r\n * @param cartographic Coordinates to be converted to the iModel's spatial coordinate system.\r\n * @returns The `cartographic` coordinates converted to spatial coordinates, of the same length and order as `cartographic`.\r\n * @throws IModelError if [[isGeoLocated]] is false or any point could not be converted.\r\n * @see [[cartographicFromSpatial]] to perform the inverse conversion.\r\n */\r\n public async spatialFromCartographic(cartographic: Cartographic[]): Promise<Point3d[]> {\r\n if (this.noGcsDefined)\r\n return cartographic.map((p) => this.cartographicToSpatialFromEcef(p));\r\n\r\n const geoCoords = cartographic.map((p) => Point3d.create(p.longitudeDegrees, p.latitudeDegrees, p.height));\r\n return this.toSpatialFromGcs(geoCoords);\r\n }\r\n\r\n /** Convert geographic coordinates into points in this iModel's spatial coordinate system using a [[GeoConverter]] or the iModel's [EcefLocation]($common).\r\n * @param geoCoords Coordinates to be converted are in the coordinate system described by the `datumOrGCRS` parameter. Defaults iModel's spatial coordinate system otherwise.\r\n * @param datumOrGCRS Datum name or Geographic CRS object definition to use for the conversion.\r\n * @returns The `geographics` coordinates converted to spatial coordinates, of the same length and order as `geographics`.\r\n * @throws IModelError if [[isGeoLocated]] is false or any point could not be converted.\r\n * @beta\r\n */\r\n public async toSpatialFromGcs(geoCoords: XYAndZ[], datumOrGCRS?: string | GeographicCRSProps): Promise<Point3d[]> {\r\n\r\n if (!this.isGeoLocated)\r\n throw new IModelError(GeoServiceStatus.NoGeoLocation, \"iModel is not GeoLocated\");\r\n\r\n if (!this.isOpen)\r\n throw new IModelError(GeoServiceStatus.NoGeoLocation, \"iModel is not open\");\r\n\r\n if (geoCoords.length === 0)\r\n return [];\r\n\r\n const geoConverter = this.geoServices.getConverter(datumOrGCRS);\r\n assert(undefined !== geoConverter);\r\n\r\n const coordResponse = await geoConverter.getIModelCoordinatesFromGeoCoordinates(geoCoords);\r\n if (coordResponse.iModelCoords.length !== geoCoords.length)\r\n throw new IModelError(GeoServiceStatus.NoGeoLocation, \"iModel is not GeoLocated\");\r\n\r\n return coordResponse.iModelCoords.map((coord) => {\r\n switch (coord.s) {\r\n case GeoCoordStatus.NoGCSDefined:\r\n throw new IModelError(GeoServiceStatus.NoGeoLocation, \"iModel is not GeoLocated\");\r\n case GeoCoordStatus.Success:\r\n return Point3d.fromJSON(coord.p);\r\n default:\r\n throw new IModelError(mapToGeoServiceStatus(coord.s), \"Error converting cartographic to spatial\");\r\n }\r\n });\r\n }\r\n\r\n /** @internal */\r\n public getMapEcefToDb(bimElevationBias: number): Transform {\r\n if (!this.ecefLocation)\r\n return Transform.createIdentity();\r\n\r\n const mapEcefToDb = this.ecefLocation.getTransform().inverse();\r\n if (!mapEcefToDb) {\r\n assert(false);\r\n return Transform.createIdentity();\r\n }\r\n mapEcefToDb.origin.z += bimElevationBias;\r\n\r\n return mapEcefToDb;\r\n }\r\n private _geodeticToSeaLevel?: number | Promise<number>;\r\n private _projectCenterAltitude?: number | Promise<number>;\r\n\r\n /** Event called immediately after map elevation request is completed. This occurs only in the case where background map terrain is displayed\r\n * with either geoid or ground offset. These require a query to BingElevation and therefore synching the view may be required\r\n * when the request is completed.\r\n * @internal\r\n */\r\n public readonly onMapElevationLoaded = new BeEvent<(_imodel: IModelConnection) => void>();\r\n\r\n /** The offset between sea level and the geodetic ellipsoid. This will return undefined only if the request for the offset to Bing Elevation\r\n * is required, and in this case the [[onMapElevationLoaded]] event is raised when the request is completed.\r\n * @internal\r\n */\r\n public get geodeticToSeaLevel(): number | undefined {\r\n if (undefined === this._geodeticToSeaLevel) {\r\n const elevationProvider = new BingElevationProvider();\r\n this._geodeticToSeaLevel = elevationProvider.getGeodeticToSeaLevelOffset(this.projectExtents.center, this);\r\n this._geodeticToSeaLevel.then((geodeticToSeaLevel) => {\r\n this._geodeticToSeaLevel = geodeticToSeaLevel;\r\n this.onMapElevationLoaded.raiseEvent(this);\r\n }).catch((_error) => this._geodeticToSeaLevel = 0.0);\r\n }\r\n return (\"number\" === typeof this._geodeticToSeaLevel) ? this._geodeticToSeaLevel : undefined;\r\n }\r\n\r\n /** The altitude (geodetic) at the project center. This will return undefined only if the request for the offset to Bing Elevation\r\n * is required, and in this case the [[onMapElevationLoaded]] event is raised when the request is completed.\r\n * @internal\r\n */\r\n public get projectCenterAltitude(): number | undefined {\r\n if (undefined === this._projectCenterAltitude) {\r\n const elevationProvider = new BingElevationProvider();\r\n this._projectCenterAltitude = elevationProvider.getHeightValue(this.projectExtents.center, this);\r\n this._projectCenterAltitude.then((projectCenterAltitude) => {\r\n this._projectCenterAltitude = projectCenterAltitude;\r\n this.onMapElevationLoaded.raiseEvent(this);\r\n }).catch((_error) => this._projectCenterAltitude = 0.0);\r\n }\r\n return (\"number\" === typeof this._projectCenterAltitude) ? this._projectCenterAltitude : undefined;\r\n }\r\n\r\n /**\r\n * Gets the context that allows accessing the metadata (see `@itwin/ecschema-metadata` package) of this iModel.\r\n * The context is created lazily when this property is accessed for the first time, with an `ECSchemaRpcLocater` registered as a fallback locater, enabling users to register their own locater that'd take more priority.\r\n * This means to correctly access schema context, client-side applications must register `ECSchemaRpcInterface` following instructions for [RPC configuration]($docs/learning/rpcinterface/#client-side-configuration).\r\n * Server-side applications would also [configure RPC]($docs/learning/rpcinterface/#server-side-configuration) as needed.\r\n *\r\n * @note While a `BlankConnection` returns a valid `schemaContext`, it has an invalid locater registered by default, and will throw an error when trying to call it's methods.\r\n * @beta\r\n */\r\n public get schemaContext(): SchemaContext {\r\n if (this._schemaContext === undefined) {\r\n const context = new SchemaContext();\r\n const locater = new ECSchemaRpcLocater(this._getRpcProps());\r\n context.addFallbackLocater(locater);\r\n this._schemaContext = context;\r\n }\r\n\r\n return this._schemaContext;\r\n }\r\n}\r\n\r\n/** A connection that exists without an iModel. Useful for connecting to Reality Data services.\r\n * @note This class exists because our display system requires an IModelConnection type even if only reality data is drawn.\r\n * @public\r\n */\r\nexport class BlankConnection extends IModelConnection {\r\n public override isBlankConnection(): this is BlankConnection { return true; }\r\n\r\n /** The Guid that identifies the iTwin for this BlankConnection.\r\n * @note This can also be set via the [[create]] method using [[BlankConnectionProps.iTwinId]].\r\n */\r\n public override get iTwinId(): GuidString | undefined { return this._iTwinId; }\r\n public override set iTwinId(iTwinId: GuidString | undefined) { this._iTwinId = iTwinId; }\r\n /** A BlankConnection does not have an associated iModel, so its `iModelId` is alway `undefined`. */\r\n public override get iModelId(): undefined { return undefined; } // GuidString | undefined for the superclass, but always undefined for BlankConnection\r\n\r\n /** A BlankConnection is always considered closed because it does not have a specific backend nor associated iModel.\r\n * @returns `true` is always returned since RPC operations and iModel queries are not valid.\r\n * @note Even though true is always returned, it is still valid to call [[close]] to dispose frontend resources.\r\n */\r\n public get isClosed(): boolean { return true; }\r\n\r\n /** Create a new [Blank IModelConnection]($docs/learning/frontend/BlankConnection).\r\n * @param props The properties to use for the new BlankConnection.\r\n */\r\n public static create(props: BlankConnectionProps): BlankConnection {\r\n const connection = new BlankConnection({\r\n name: props.name,\r\n rootSubject: { name: props.name },\r\n projectExtents: props.extents,\r\n globalOrigin: props.globalOrigin,\r\n ecefLocation: props.location instanceof Cartographic ? EcefLocation.createFromCartographicOrigin(props.location) : props.location,\r\n key: \"\",\r\n iTwinId: props.iTwinId,\r\n });\r\n IModelConnection.onOpen.raiseEvent(connection);\r\n return connection;\r\n }\r\n\r\n /** There are no connections to the backend to close in the case of a BlankConnection.\r\n * However, there are frontend resources (like the tile cache) that can be disposed.\r\n * @note A BlankConnection should not be used after calling `close`.\r\n */\r\n public async close(): Promise<void> {\r\n this.beforeClose();\r\n }\r\n\r\n /** @internal */\r\n public closeSync(): void {\r\n this.beforeClose();\r\n }\r\n}\r\n\r\n/** A connection to a [SnapshotDb]($backend) hosted on a backend.\r\n * @public\r\n */\r\nexport class SnapshotConnection extends IModelConnection {\r\n /** Type guard for instanceof [[SnapshotConnection]] */\r\n public override isSnapshotConnection(): this is SnapshotConnection { return true; }\r\n\r\n /** The Guid that identifies this iModel. */\r\n public override get iModelId(): GuidString { return super.iModelId!; } // GuidString | undefined for the superclass, but required for SnapshotConnection\r\n\r\n /** Returns `true` if [[close]] has already been called. */\r\n public get isClosed(): boolean { return this._isClosed ? true : false; }\r\n private _isClosed?: boolean;\r\n\r\n /** Returns `true` if this is a connection to a remote snapshot iModel resolved by the backend.\r\n * @see [[openRemote]]\r\n */\r\n public get isRemote(): boolean { return this._isRemote ? true : false; }\r\n private _isRemote?: boolean;\r\n\r\n /** Open an IModelConnection to a read-only snapshot iModel from a file name.\r\n * @note This method is intended for desktop or mobile applications and is not available for web applications.\r\n */\r\n public static async openFile(filePath: string): Promise<SnapshotConnection> {\r\n if (!IpcApp.isValid)\r\n throw new Error(\"IPC required to open a snapshot\");\r\n\r\n Logger.logTrace(loggerCategory, \"SnapshotConnection.openFile\", () => ({ filePath }));\r\n\r\n const connectionProps = await IpcApp.appFunctionIpc.openSnapshot(filePath);\r\n const connection = new SnapshotConnection(connectionProps);\r\n IModelConnection.onOpen.raiseEvent(connection);\r\n\r\n return connection;\r\n }\r\n\r\n /** Open an IModelConnection to a remote read-only snapshot iModel from a key that will be resolved by the backend.\r\n * @note This method is intended for web applications.\r\n * @deprecated in 4.10 - will not be removed until after 2026-06-13. Use [[CheckpointConnection.openRemote]].\r\n */\r\n public static async openRemote(fileKey: string): Promise<SnapshotConnection> {\r\n const routingContext = IModelRoutingContext.current || IModelRoutingContext.default;\r\n RpcManager.setIModel({ iModelId: \"undefined\", key: fileKey });\r\n\r\n const openResponse = await SnapshotIModelRpcInterface.getClientForRouting(routingContext.token).openRemote(fileKey); // eslint-disable-line @typescript-eslint/no-deprecated\r\n Logger.logTrace(loggerCategory, \"SnapshotConnection.openRemote\", () => ({ fileKey }));\r\n const connection = new SnapshotConnection(openResponse);\r\n connection.routingContext = routingContext;\r\n connection._isRemote = true;\r\n IModelConnection.onOpen.raiseEvent(connection);\r\n return connection;\r\n }\r\n\r\n /** Close this SnapshotConnection.\r\n * @note For local snapshot files, `close` closes the connection and the underlying [SnapshotDb]($backend) database file.\r\n * For remote snapshots, `close` only closes the connection and frees any frontend resources allocated to the connection.\r\n * @see [[openFile]], [[openRemote]]\r\n */\r\n public async close(): Promise<void> {\r\n if (this.isClosed)\r\n return;\r\n\r\n this.beforeClose();\r\n try {\r\n if (!this.isRemote) {\r\n await IpcApp.appFunctionIpc.closeIModel(this.key);\r\n }\r\n } finally {\r\n this._isClosed = true;\r\n }\r\n }\r\n}\r\n\r\n/** @public */\r\nexport namespace IModelConnection {\r\n\r\n /** The id/name/class of a ViewDefinition. Returned by [[IModelConnection.Views.getViewList]] */\r\n export interface ViewSpec {\r\n /** The element id of the ViewDefinition. This string may be passed to [[IModelConnection.Views.load]]. */\r\n id: string;\r\n /** The name of the view. This string may be used to create a list with the possible view names. */\r\n name: string;\r\n /** The fullClassName of the ViewDefinition. Useful for sorting the list of views. */\r\n class: string;\r\n }\r\n\r\n /** The collection of loaded ModelState objects for an [[IModelConnection]]. */\r\n export class Models implements Iterable<ModelState> {\r\n private _loaded = new Map<string, ModelState>();\r\n\r\n /** @internal */\r\n public get loaded(): Map<string, ModelState> { return this._loaded; }\r\n\r\n /** An iterator over all currently-loaded models. */\r\n public [Symbol.iterator](): Iterator<ModelState> {\r\n return this._loaded.values()[Symbol.iterator]();\r\n }\r\n\r\n /** @internal */\r\n constructor(private _iModel: IModelConnection) { }\r\n\r\n /** The Id of the [RepositoryModel]($backend). */\r\n public get repositoryModelId(): string { return \"0x1\"; }\r\n\r\n /** @internal */\r\n public async getDictionaryModel(): Promise<Id64String> {\r\n const res = await this._iModel.models.queryProps({ from: \"bis.DictionaryModel\", wantPrivate: true });\r\n if (res.length !== 1 || res[0].id === undefined)\r\n throw new IModelError(IModelStatus.BadModel, \"bis.DictionaryModel\");\r\n return res[0].id;\r\n }\r\n\r\n /** Get a batch of [[ModelProps]] given a list of Model ids. */\r\n public async getProps(modelIds: Id64Arg): Promise<ModelProps[]> {\r\n const iModel = this._iModel;\r\n return iModel.isOpen ? IModelReadRpcInterface.getClientForRouting(iModel.routingContext.token).getModelProps(iModel.getRpcProps(), [...Id64.toIdSet(modelIds)]) : [];\r\n }\r\n\r\n /** Find a ModelState in the set of loaded Models by ModelId. */\r\n public getLoaded(id: string): ModelState | undefined {\r\n return this._loaded.get(id);\r\n }\r\n\r\n /** Given a set of modelIds, return the subset of corresponding models that are not currently loaded.\r\n * @param modelIds The set of model Ids\r\n * @returns The subset of the supplied Ids corresponding to models that are not currently loaded, or undefined if all of the specified models are loaded.\r\n */\r\n public filterLoaded(modelIds: Id64Arg): Id64Set | undefined {\r\n let unloaded: Set<string> | undefined;\r\n for (const id of Id64.iterable(modelIds)) {\r\n if (undefined === this.getLoaded(id)) {\r\n if (undefined === unloaded)\r\n unloaded = new Set<string>();\r\n\r\n unloaded.add(id);\r\n }\r\n }\r\n\r\n return unloaded;\r\n }\r\n\r\n /** load a set of Models by Ids. After the returned Promise resolves, you may get the ModelState objects by calling getLoadedModel. */\r\n public async load(modelIds: Id64Arg): Promise<void> {\r\n const notLoaded = this.filterLoaded(modelIds);\r\n if (undefined === notLoaded)\r\n return; // all requested models are already loaded\r\n\r\n try {\r\n const propArray = await this.getProps(notLoaded);\r\n await this.updateLoadedWithModelProps(propArray);\r\n } catch {\r\n // ignore error, we had nothing to do.\r\n }\r\n }\r\n\r\n /** Given an array of modelProps, find the class for each model and construct it. save it in the iModelConnection's loaded set. */\r\n public async updateLoadedWithModelProps(modelProps: ModelProps[]): Promise<void> {\r\n try {\r\n for (const props of modelProps) {\r\n const ctor = await this._iModel.findClassFor(props.classFullName, ModelState);\r\n if (undefined === this.getLoaded(props.id!)) { // do not overwrite if someone else loads it while we await\r\n const modelState = new ctor!(props, this._iModel); // create a new instance of the appropriate ModelState subclass\r\n this._loaded.set(modelState.id, modelState); // save it in loaded set\r\n }\r\n }\r\n } catch {\r\n // ignore error, we had nothing to do.\r\n }\r\n }\r\n\r\n /** Remove a model from the set of loaded models. Used internally by BriefcaseConnection in response to txn events.\r\n * @internal\r\n */\r\n public unload(modelId: Id64String): void {\r\n this._loaded.delete(modelId);\r\n }\r\n\r\n /** Query for a set of model ranges by ModelIds.\r\n * @param modelIds the Id or Ids of the [GeometricModel]($backend)s for which to query the ranges.\r\n * @returns An array containing the range of each model of each unique model Id, omitting the range for any Id which did no identify a GeometricModel.\r\n * @note The contents of the returned array do not follow a deterministic order.\r\n * @throws [IModelError]($common) if exactly one model Id is specified and that Id does not identify a GeometricModel.\r\n * @see [[queryExtents]] for a similar function that does not throw and produces a deterministically-ordered result.\r\n */\r\n public async queryModelRanges(modelIds: Id64Arg): Promise<Range3dProps[]> {\r\n const iModel = this._iModel;\r\n return iModel.isOpen ? IModelReadRpcInterface.getClientForRouting(iModel.routingContext.token).queryModelRanges(iModel.getRpcProps(), [...Id64.toIdSet(modelIds)]) : [];\r\n }\r\n\r\n /** For each [GeometricModel]($backend) specified by Id, attempts to obtain the union of the volumes of all geometric elements within that model.\r\n * @param modelIds The Id or Ids of the geometric models for which to obtain the extents.\r\n * @returns An array of results, one per supplied Id, in the order in which the Ids were supplied. If the extents could not be obtained, the\r\n * corresponding results entry's `extents` will be a \"null\" range (@see [Range3d.isNull]($geometry) and its `status` will indicate\r\n * why the extents could not be obtained (e.g., because the Id did not identify a [GeometricModel]($backend)).\r\n */\r\n public async queryExtents(modelIds: Id64String | Id64String[]): Promise<ModelExtentsProps[]> {\r\n const iModel = this._iModel;\r\n if (!iModel.isOpen)\r\n return [];\r\n\r\n if (typeof modelIds === \"string\")\r\n modelIds = [modelIds];\r\n\r\n return IModelReadRpcInterface.getClientForRouting(iModel.routingContext.token).queryModelExtents(iModel.getRpcProps(), modelIds);\r\n }\r\n\r\n /** Query for a set of ModelProps of the specified ModelQueryParams.\r\n * @param queryParams The query parameters. The `limit` and `offset` members should be used to page results.\r\n * @throws [IModelError]($common) If the generated statement is invalid or would return too many props.\r\n */\r\n public async queryProps(queryParams: ModelQueryParams): Promise<ModelProps[]> {\r\n const iModel = this._iModel;\r\n if (!iModel.isOpen)\r\n return [];\r\n const params: ModelQueryParams = { ...queryParams }; // make a copy\r\n params.from = queryParams.from || ModelState.classFullName; // use \"BisCore:Model\" as default class name\r\n params.where = queryParams.where || \"\";\r\n if (!queryParams.wantPrivate) {\r\n if (params.where.length > 0)\r\n params.where += \" AND \";\r\n\r\n params.where += \"IsPrivate=FALSE \";\r\n }\r\n if (!queryParams.wantTemplate) {\r\n if (params.where.length > 0)\r\n params.where += \" AND \";\r\n\r\n params.where += \"IsTemplate=FALSE \";\r\n }\r\n return IModelReadRpcInterface.getClientForRouting(iModel.routingContext.token).queryModelProps(iModel.getRpcProps(), params);\r\n }\r\n\r\n /** Asynchronously stream ModelProps using the specified ModelQueryParams. */\r\n public async * query(queryParams: ModelQueryParams): AsyncIterableIterator<ModelProps> {\r\n // NOTE: this implementation has the desired API signature, but its implementation must be improved to actually page results\r\n const modelPropsArray: ModelProps[] = await this.queryProps(queryParams);\r\n for (const modelProps of modelPropsArray) {\r\n yield modelProps;\r\n }\r\n }\r\n }\r\n\r\n /** Options controlling the results produced by [[IModelConnection.Elements.getPlacements]].\r\n * @public\r\n */\r\n export interface GetPlacementsOptions {\r\n /** The types of elements for which to query [Placement]($common)s:\r\n * - \"2d\": Include only [GeometricElement2d]($backend)s.\r\n * - \"3d\": Include only [GeometricElement3d]($backend)s.\r\n * - `undefined`: Include both 2d and 3d [GeometricElement]($backend)s.\r\n */\r\n type?: \"3d\" | \"2d\";\r\n }\r\n\r\n /** The collection of Elements for an [[IModelConnection]]. */\r\n export class Elements {\r\n /** @internal */\r\n public constructor(private _iModel: IModelConnection) { }\r\n\r\n /** The Id of the [root subject element]($docs/bis/guide/references/glossary.md#subject-root) for this iModel. */\r\n public get rootSubjectId(): Id64String { return \"0x1\"; }\r\n\r\n /** Get a set of element ids that satisfy a query */\r\n public async queryIds(params: EntityQueryParams): Promise<Id64Set> { return this._iModel.queryEntityIds(params); }\r\n\r\n /** Get an array of [[ElementProps]] given one or more element ids.\r\n * @note This method returns **all** of the properties of the element (excluding GeometryStream), which may be a very large amount of data - consider using\r\n * [[IModelConnection.query]] to select only those properties of interest to limit the amount of data returned.\r\n */\r\n public async getProps(arg: Id64Arg): Promise<ElementProps[]> {\r\n const iModel = this._iModel;\r\n return iModel.isOpen ? IModelReadRpcInterface.getClientForRouting(iModel.routingContext.token).getElementProps(this._iModel.getRpcProps(), [...Id64.toIdSet(arg)]) : [];\r\n }\r\n\r\n /** Obtain the properties of a single element, optionally specifying specific properties to include or exclude.\r\n * For example, [[getProps]] and [[queryProps]] omit the [GeometryStreamProps]($common) property of [GeometricElementProps]($common) and [GeometryPartProps]($common)\r\n * because it can be quite large and is generally not useful to frontend code. The following code requests that the geometry stream be included:\r\n * ```ts\r\n * const props = await iModel.elements.loadProps(elementId, { wantGeometry: true });\r\n * ```\r\n * @param identifier Identifies the element by its Id, federation Guid, or [Code]($common).\r\n * @param options Optionally includes or excludes specific properties.\r\n * @returns The properties of the requested element; or `undefined` if no element exists with the specified identifier or the iModel is not open.\r\n * @throws [IModelError]($common) if the element exists but could not be loaded.\r\n */\r\n public async loadProps(identifier: Id64String | GuidString | CodeProps, options?: ElementLoadOptions): Promise<ElementProps | undefined> {\r\n const imodel = this._iModel;\r\n return imodel.isOpen ? IModelReadRpcInterface.getClientForRouting(imodel.routingContext.token).loadElementProps(imodel.getRpcProps(), identifier, options) : undefined;\r\n }\r\n\r\n /** Get an array of [[ElementProps]] that satisfy a query\r\n * @param params The query parameters. The `limit` and `offset` members should be used to page results.\r\n * @throws [IModelError]($common) If the generated statement is invalid or would return too many props.\r\n */\r\n public async queryProps(params: EntityQueryParams): Promise<ElementProps[]> {\r\n const iModel = this._iModel;\r\n return iModel.isOpen ? IModelReadRpcInterface.getClientForRouting(iModel.routingContext.token).queryElementProps(iModel.getRpcProps(), params) : [];\r\n }\r\n\r\n /** Obtain the [Placement]($common)s of a set of [GeometricElement]($backend)s.\r\n * @param elementIds The Ids of the elements whose placements are to be queried.\r\n * @param options Options customizing how the placements are queried.\r\n * @returns an array of placements, each having an additional `elementId` property identifying the element from which the placement was obtained.\r\n * @note Any Id that does not identify a geometric element with a valid bounding box and origin is omitted from the returned array.\r\n */\r\n public async getPlacements(elementIds: Iterable<Id64String>, options?: Readonly<GetPlacementsOptions>): Promise<Array<Placement & { elementId: Id64String }>> {\r\n let ids: Id64String[];\r\n if (typeof elementIds === \"string\")\r\n ids = [elementIds];\r\n else if (!Array.isArray(elementIds))\r\n ids = Array.from(elementIds);\r\n else\r\n ids = elementIds;\r\n\r\n if (ids.length === 0)\r\n return [];\r\n\r\n const select3d = `\r\n SELECT\r\n ECInstanceId,\r\n Origin.x as x, Origin.y as y, Origin.z as z,\r\n BBoxLow.x as lx, BBoxLow.y as ly, BBoxLow.z as lz,\r\n BBoxHigh.x as hx, BBoxHigh.y as hy, BBoxHigh.z as hz,\r\n Yaw, Pitch, Roll,\r\n NULL as Rotation\r\n FROM bis.GeometricElement3d\r\n WHERE Origin IS NOT NULL AND BBoxLow IS NOT NULL AND BBoxHigh IS NOT NULL`;\r\n\r\n // Note: For the UNION ALL statement, the column aliases in select2d are ignored - so they\r\n // must match those in select3d.\r\n const select2d = `\r\n SELECT\r\n ECInstanceId,\r\n Origin.x as x, Origin.y as y, NULL as z,\r\n BBoxLow.x as lx, BBoxLow.y as ly, NULL as lz,\r\n BBoxHigh.x as hx, BBoxHigh.y as hy, NULL as hz,\r\n NULL as yaw, NULL as pitch, NULL as roll,\r\n Rotation\r\n FROM bis.GeometricElement2d\r\n WHERE Origin IS NOT NULL AND BBoxLow IS NOT NULL AND BBoxHigh IS NOT NULL`;\r\n\r\n const idCriterion = `ECInstanceId IN (${ids.join(\",\")})`;\r\n\r\n let ecsql;\r\n switch (options?.type) {\r\n case \"3d\":\r\n ecsql = `${select3d} AND ${idCriterion}`;\r\n break;\r\n case \"2d\":\r\n ecsql = `${select2d} AND ${idCriterion}`;\r\n break;\r\n default:\r\n ecsql = `\r\n SELECT * FROM (\r\n ${select3d}\r\n UNION ALL\r\n ${select2d}\r\n ) WHERE ${idCriterion}`;\r\n break;\r\n }\r\n\r\n const placements = new Array<Placement & { elementId: Id64String }>();\r\n for await (const queryRow of this._iModel.createQueryReader(ecsql, undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames })) {\r\n const row = queryRow.toRow();\r\n const origin = [row.x, row.y, row.z];\r\n const bbox = {\r\n low: { x: row.lx, y: row.ly, z: row.lz },\r\n high: { x: row.hx, y: row.hy, z: row.hz },\r\n };\r\n\r\n let placement;\r\n if (undefined === row.lz)\r\n placement = Placement2d.fromJSON({ bbox, origin, angle: row.rotation });\r\n else\r\n placement = Placement3d.fromJSON({ bbox, origin, angles: { yaw: row.yaw, pitch: row.pitch, roll: row.roll } });\r\n\r\n const placementWithId = (placement as Placement & { elementId: Id64String });\r\n placementWithId.elementId = row.id;\r\n placements.push(placementWithId);\r\n }\r\n\r\n return placements;\r\n }\r\n }\r\n\r\n /** The collection of [[CodeSpec]] entities for an [[IModelConnection]]. */\r\n export class CodeSpecs {\r\n /** @internal */\r\n constructor(private _iModel: IModelConnection) { }\r\n\r\n private _isCodeSpecProperties(x: any): x is CodeSpecProperties {\r\n if (!x || !x.scopeSpec || !Object.values(CodeScopeSpec.Type).includes(x.scopeSpec.type))\r\n return false;\r\n\r\n if (typeof x.scopeSpec.fGuidRequired !== \"boolean\" && typeof x.scopeSpec.fGuidRequired !== \"undefined\")\r\n return false;\r\n\r\n if (typeof x.scopeSpec.relationship !== \"string\" && typeof x.scopeSpec.relationship !== \"undefined\")\r\n return false;\r\n\r\n if (typeof x.spec?.isManagedWithDgnDb !== \"boolean\" && typeof x.spec?.isManagedWithDgnDb !== \"undefined\")\r\n return false;\r\n\r\n if (typeof x.version !== \"string\" && typeof x.version !== \"undefined\")\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n private async _loadCodeSpec(identifier: { name: string; id?: undefined } | { id: string; name?: undefined }): Promise<CodeSpec> {\r\n const isNameDefined = identifier.name !== undefined;\r\n const query = `\r\n SELECT ECInstanceId AS Id, Name, JsonProperties\r\n FROM BisCore.CodeSpec\r\n WHERE ${isNameDefined ? `Name=:name` : `Id=:id`}`;\r\n\r\n const params = new QueryBinder();\r\n if (isNameDefined) {\r\n params.bindString(\"name\", identifier.name);\r\n } else {\r\n params.bindId(\"id\", identifier.id);\r\n }\r\n\r\n const queryReader = this._iModel.createQueryReader(query, params, {\r\n rowFormat: QueryRowFormat.UseECSqlPropertyNames,\r\n });\r\n\r\n const queryResult = await queryReader.next();\r\n\r\n if (queryResult.done) throw new IModelError(IModelStatus.NotFound, \"CodeSpec not found\");\r\n\r\n const codeSpecResult = queryResult.value;\r\n\r\n if (\r\n typeof codeSpecResult.Id !== \"string\" ||\r\n typeof codeSpecResult.Name !== \"string\" ||\r\n typeof codeSpecResult.JsonProperties !== \"string\"\r\n )\r\n throw new Error(\"Invalid CodeSpec was returned\");\r\n\r\n const jsonProperties = JSON.parse(codeSpecResult.JsonProperties);\r\n\r\n if (!this._isCodeSpecProperties(jsonProperties))\r\n throw new Error(\"Invalid CodeSpecProperties returned in the CodeSpec\");\r\n\r\n const codeSpec = CodeSpec.createFromJson(\r\n this._iModel,\r\n Id64.fromString(codeSpecResult.Id),\r\n codeSpecResult.Name,\r\n jsonProperties\r\n );\r\n return codeSpec;\r\n }\r\n\r\n /** Look up a CodeSpec by Id.\r\n * @param codeSpecId The Id of the CodeSpec to load\r\n * @returns The CodeSpec with the specified Id\r\n * @throws [[IModelError]] if the Id is invalid or if no CodeSpec with that Id could be found.\r\n */\r\n public async getById(codeSpecId: Id64String): Promise<CodeSpec> {\r\n if (codeSpecId === \"\") throw new IModelError(IModelStatus.NotFound, \"CodeSpec not found\");\r\n if (!Id64.isValid(codeSpecId))\r\n throw new IModelError(IModelStatus.InvalidId, \"Invalid codeSpecId\", () => ({ codeSpecId }));\r\n\r\n return this._loadCodeSpec({ id: codeSpecId });\r\n }\r\n\r\n /** Look up a CodeSpec by name.\r\n * @param name The name of the CodeSpec to load\r\n * @returns The CodeSpec with the specified name\r\n * @throws [[IModelError]] if no CodeSpec with the specified name could be found.\r\n */\r\n public async getByName(name: string): Promise<CodeSpec> {\r\n if (name === \"\") throw new IModelError(IModelStatus.NotFound, \"CodeSpec not found\");\r\n\r\n return this._loadCodeSpec({ name });\r\n }\r\n }\r\n\r\n /** The collection of views for an [[IModelConnection]]. */\r\n export class Views {\r\n /** @internal */\r\n constructor(private _iModel: IModelConnection) { }\r\n private _writeViewStoreProxy?: PickAsyncMethods<ViewStoreRpc.Writer>;\r\n private _readViewStoreProxy?: PickAsyncMethods<ViewStoreRpc.Reader>;\r\n\r\n public get viewStoreWriter() {\r\n return this._writeViewStoreProxy ??= new Proxy(this, {\r\n get(views, methodName: string) {\r\n const iModel = views._iModel;\r\n return async (...args: any[]) => IModelReadRpcInterface.getClientForRouting(iModel.routingContext.token).callViewStore(iModel.getRpcProps(), ViewStoreRpc.version, true, methodName, ...args);\r\n },\r\n }) as unknown as PickAsyncMethods<ViewStoreRpc.Writer>;\r\n }\r\n public get viewsStoreReader() {\r\n return this._readViewStoreProxy ??= new Proxy(this, {\r\n get(views, methodName: string) {\r\n const iModel = views._iModel;\r\n return async (...args: any[]) => IModelReadRpcInterface.getClientForRouting(iModel.routingContext.token).callViewStore(iModel.getRpcProps(), ViewStoreRpc.version, false, methodName, ...args);\r\n },\r\n }) as unknown as PickAsyncMethods<ViewStoreRpc.Reader>;\r\n }\r\n\r\n /** Query for an array of ViewDefinitionProps\r\n * @param queryParams Query parameters specifying the views to return. The `limit` and `offset` members should be used to page results.\r\n * @throws [IModelError]($common) If the generated statement is invalid or would return too many props.\r\n */\r\n public async queryProps(queryParams: ViewQueryParams): Promise<ViewDefinitionProps[]> {\r\n const iModel = this._iModel;\r\n if (iModel.isClosed)\r\n return [];\r\n\r\n const params: ViewQueryParams = { ...queryParams }; // make a copy\r\n params.from = queryParams.from || ViewState.classFullName; // use \"BisCore:ViewDefinition\" as default class name\r\n params.where = queryParams.where || \"\";\r\n if (queryParams.wantPrivate === undefined || !queryParams.wantPrivate) {\r\n if (params.where.length > 0)\r\n params.where += \" AND \";\r\n\r\n params.where += \"IsPrivate=FALSE \";\r\n }\r\n const viewProps = await IModelReadRpcInterface.getClientForRouting(iModel.routingContext.token).queryElementProps(iModel.getRpcProps(), params);\r\n assert((viewProps.length === 0) || (\"categorySelectorId\" in viewProps[0]), \"invalid view definition\"); // spot check that the first returned element is-a ViewDefinitionProps\r\n return viewProps as ViewDefinitionProps[];\r\n }\r\n\r\n /** Get an array of the ViewSpecs for all views in this IModel that satisfy a ViewQueryParams.\r\n *\r\n * This is typically used to create a list for UI.\r\n *\r\n * For example:\r\n * ```ts\r\n * [[include:IModelConnection.Views.getSpatialViewList]]\r\n * ```\r\n * @param queryParams The parameters for the views to find. The `limit` and `offset` members should be used to page results.\r\n * @throws [IModelError]($common) If the generated statement is invalid or would return too many props.\r\n */\r\n public async getViewList(queryParams: ViewQueryParams): Promise<ViewSpec[]> {\r\n const views: ViewSpec[] = [];\r\n const viewProps: ViewDefinitionProps[] = await this.queryProps(queryParams);\r\n viewProps.forEach((viewProp) => {\r\n views.push({ id: viewProp.id as string, name: viewProp.code.value!, class: viewProp.classFullName });\r\n });\r\n\r\n return views;\r\n }\r\n\r\n /** Query the Id of the default [ViewDefinition]($backend), if any, stored in this iModel's property table.\r\n * The default view is typically chosen by the application (such as a connector) that created the iModel.\r\n * There is no guarantee that this view will be suitable for the purposes of any other applications.\r\n * Most applications should ignore the default view and instead create a [[ViewState]] that fits their own requirements using APIs like [[ViewCreator3d]].\r\n * @returns the Id of the default view as defined in the iModel's property table, or an invalid ID if no default view is defined.\r\n * @deprecated in 4.2 - will not be removed until after 2026-06-13. Create a ViewState to your own specifications.\r\n */\r\n public async queryDefaultViewId(): Promise<Id64String> {\r\n const iModel = this._iModel;\r\n return iModel.isOpen ? IModelReadRpcInterface.getClientForRouting(iModel.routingContext.token).getDefaultViewId(iModel.getRpcProps()) : Id64.invalid;\r\n }\r\n\r\n /** Load a [[ViewState]] object from the specified [[ViewDefinition]] id. */\r\n public async load(viewDefinitionId: ViewIdString): Promise<ViewState> {\r\n const options: ViewStateLoadProps = {\r\n displayStyle: {\r\n omitScheduleScriptElementIds: !IModelApp.tileAdmin.enableFrontendScheduleScripts,\r\n compressExcludedElementIds: true,\r\n },\r\n };\r\n const viewProps = await IModelReadRpcInterface.getClientForRouting(this._iModel.routingContext.token).getViewStateData(this._iModel.getRpcProps(), viewDefinitionId, options);\r\n const viewState = await this.convertViewStatePropsToViewState(viewProps);\r\n return viewState;\r\n }\r\n\r\n /** Return the [[ViewState]] object associated with the [[ViewStateProps]] passed in. */\r\n public async convertViewStatePropsToViewState(viewProps: ViewStateProps): Promise<ViewState> {\r\n const className = viewProps.viewDefinitionProps.classFullName;\r\n const ctor = await this._iModel.findClassFor<typeof EntityState>(className, undefined) as typeof ViewState | undefined;\r\n\r\n if (undefined === ctor)\r\n throw new IModelError(IModelStatus.WrongClass, \"Invalid ViewState class\", () => viewProps);\r\n\r\n const viewState = ctor.createFromProps(viewProps, this._iModel)!;\r\n await viewState.load(); // loads models for ModelSelector\r\n\r\n return viewState;\r\n }\r\n }\r\n\r\n /** @public */\r\n export namespace Categories {\r\n /** A subset of the information describing a [SubCategory]($backend), supplied by [[IModelConnection.Categories.getCategoryInfo]]\r\n * or [[IModelConnection.Categories.getSubCategoryInfo]].\r\n */\r\n export interface SubCategoryInfo {\r\n /** The [SubCategory]($backend)'s element Id. */\r\n readonly id: Id64String;\r\n /** The Id of the [Category]($backend) to which this [SubCategory]($backend) belongs. */\r\n readonly categoryId: Id64String;\r\n /** Visual parameters applied to geometry belonging to this [SubCategory]($backend). */\r\n readonly appearance: Readonly<SubCategoryAppearance>;\r\n }\r\n\r\n /** A subset of the information describing a [Category]($backend), supplied by [[IModelConnection.Categories.getCategoryInfo]]. */\r\n export interface CategoryInfo {\r\n /** The category's element Id. */\r\n readonly id: Id64String;\r\n /** For each [SubCategory]($backend) belonging to this [Category]($backend), a mapping from the SubCategory's element Id to its properties. */\r\n readonly subCategories: Map<Id64String, SubCategoryInfo>;\r\n }\r\n }\r\n\r\n /** Provides access to information about the [Category]($backend)'s stored in an [[IModelConnection]].\r\n * This information is cached internally so that repeated requests need not query the backend.\r\n * @see [[IModelConnection.categories]] for the categories associated with a specific iModel.\r\n */\r\n export class Categories {\r\n /** @internal */\r\n public readonly cache: SubCategoriesCache;\r\n\r\n /** @internal */\r\n public constructor(iModel: IModelConnection) {\r\n this.cache = new SubCategoriesCache(iModel);\r\n }\r\n\r\n /** Obtain information about one or more [Category]($backend)'s. */\r\n public async getCategoryInfo(categoryIds: Iterable<Id64String>): Promise<Map<Id64String, Categories.CategoryInfo>> {\r\n return this.cache.getCategoryInfo(categoryIds);\r\n }\r\n\r\n /** Obtain information about one or more [SubCategory]($backend)'s belonging to the specified [Category]($backend). */\r\n public async getSubCategoryInfo(args: {\r\n category: Id64String;\r\n subCategories: Iterable<Id64String>;\r\n }): Promise<Map<Id64String, Categories.SubCategoryInfo>> {\r\n return this.cache.getSubCategoryInfo(args.category, args.subCategories);\r\n }\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"IModelConnection.js","sourceRoot":"","sources":["../../src/IModelConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IModelRoutingContext.js","sourceRoot":"","sources":["../../src/IModelRoutingContext.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,EAAE,aAAa,EAAG,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAElE;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACvB,MAAM,CAAC,QAAQ,CAAmC;IAEnD,MAAM,CAAC,GAAG,CAAC,KAAsB;QACtC,OAAO,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAEM,MAAM,CAAU,OAAO,GAAG,IAAI,oBAAoB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAE5E,MAAM,KAAK,OAAO;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEe,KAAK,CAAkB;IAEvC,IAAW,MAAM,KAAc,OAAO,oBAAoB,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;IAE9E,YAAoB,KAAsB;QACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,KAAK,CAAI,OAAgB;QAC9B,IAAI,oBAAoB,CAAC,OAAO,EAAE,CAAC;YACjC,MAAM,IAAI,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,kCAAkC,CAAC,CAAC;QACjF,CAAC;QAED,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrC,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;QACxB,oBAAoB,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC"
|
|
1
|
+
{"version":3,"file":"IModelRoutingContext.js","sourceRoot":"","sources":["../../src/IModelRoutingContext.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,EAAE,aAAa,EAAG,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAElE;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACvB,MAAM,CAAC,QAAQ,CAAmC;IAEnD,MAAM,CAAC,GAAG,CAAC,KAAsB;QACtC,OAAO,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAEM,MAAM,CAAU,OAAO,GAAG,IAAI,oBAAoB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAE5E,MAAM,KAAK,OAAO;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEe,KAAK,CAAkB;IAEvC,IAAW,MAAM,KAAc,OAAO,oBAAoB,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;IAE9E,YAAoB,KAAsB;QACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,KAAK,CAAI,OAAgB;QAC9B,IAAI,oBAAoB,CAAC,OAAO,EAAE,CAAC;YACjC,MAAM,IAAI,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,kCAAkC,CAAC,CAAC;QACjF,CAAC;QAED,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrC,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;QACxB,oBAAoB,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IModeljs-css.js","sourceRoot":"","sources":["../../src/IModeljs-css.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F,sBAAsB;AAEtB;;GAEG;AACH,IAAI,WAAW,GAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqIrC,CAAC;AAEF,mEAAmE;AACnE,CAAC,GAAG,EAAE;IACJ,8DAA8D;IAC9D,IAAI,WAAW,KAAK,OAAO,QAAQ;QACjC,OAAO;IACT,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,sCAAsC;IACrH,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,GAAG,GAAG,YAAY,CAAC;IAC5B,QAAQ,CAAC,IAAI,GAAG,gEAAgE,CAAC;IACjF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,wFAAwF;IACtH,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,WAAW,GAAG,SAAS,CAAC,CAAC,0BAA0B;AACrD,CAAC,CAAC,EAAE,CAAC"
|
|
1
|
+
{"version":3,"file":"IModeljs-css.js","sourceRoot":"","sources":["../../src/IModeljs-css.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F,sBAAsB;AAEtB;;GAEG;AACH,IAAI,WAAW,GAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqIrC,CAAC;AAEF,mEAAmE;AACnE,CAAC,GAAG,EAAE;IACJ,8DAA8D;IAC9D,IAAI,WAAW,KAAK,OAAO,QAAQ;QACjC,OAAO;IACT,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,sCAAsC;IACrH,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,GAAG,GAAG,YAAY,CAAC;IAC5B,QAAQ,CAAC,IAAI,GAAG,gEAAgE,CAAC;IACjF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,wFAAwF;IACtH,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,WAAW,GAAG,SAAS,CAAC,CAAC,0BAA0B;AACrD,CAAC,CAAC,EAAE,CAAC"}
|
package/lib/esm/IpcApp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IpcApp.js","sourceRoot":"","sources":["../../src/IpcApp.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 NativeApp\r\n */\r\n\r\nimport { BentleyError, IModelStatus, JsonUtils, PickAsyncMethods } from \"@itwin/core-bentley\";\r\nimport {\r\n BackendError, IModelError, ipcAppChannels, IpcAppFunctions, IpcAppNotifications, IpcInvokeReturn, IpcListener, IpcSocketFrontend, iTwinChannel,\r\n RemoveFunction,\r\n} from \"@itwin/core-common\";\r\nimport { _callIpcChannel } from \"./common/internal/Symbols\";\r\nimport { IModelApp, IModelAppOptions } from \"./IModelApp\";\r\n\r\n/**\r\n * Options for [[IpcApp.startup]]\r\n * @public\r\n */\r\nexport interface IpcAppOptions {\r\n iModelApp?: IModelAppOptions;\r\n}\r\n\r\n/**\r\n * The frontend of apps with a dedicated backend that can use [Ipc]($docs/learning/IpcInterface.md).\r\n * @public\r\n */\r\nexport class IpcApp {\r\n private static _ipc: IpcSocketFrontend | undefined;\r\n private static _removeAppNotify: RemoveFunction | undefined;\r\n /** Get the implementation of the [[IpcSocketFrontend]] interface. */\r\n\r\n private static get ipc(): IpcSocketFrontend { return this._ipc!; }\r\n\r\n /** Determine whether Ipc is available for this frontend. This will only be true if [[startup]] has been called on this class. */\r\n public static get isValid(): boolean { return undefined !== this._ipc; }\r\n\r\n /**\r\n * Establish a message handler function for the supplied channel over Ipc. The handler will be called when messages are sent for\r\n * the channel via [[BackendIpc.send]].\r\n * @param channel the name of the channel\r\n * @param handler the message handler\r\n * @returns A function to remove the handler\r\n * @note Ipc is only supported if [[isValid]] is true.\r\n */\r\n public static addListener(channel: string, handler: IpcListener): RemoveFunction {\r\n return this.ipc.addListener(iTwinChannel(channel), handler);\r\n }\r\n\r\n /**\r\n * Remove a previously registered listener\r\n * @param channel The name of the channel for the listener previously registered with [[addListener]]\r\n * @param listener The function passed to [[addListener]]\r\n */\r\n public static removeListener(channel: string, listener: IpcListener) {\r\n this.ipc.removeListener(iTwinChannel(channel), listener);\r\n }\r\n\r\n /**\r\n * Send a message to the backend via `channel` and expect a result asynchronously. The handler must be established on the backend via [[BackendIpc.handle]]\r\n * @param channel The name of the channel for the method.\r\n * @see Electron [ipcRenderer.invoke](https://www.electronjs.org/docs/api/ipc-renderer) documentation for details.\r\n * Note that this interface may be implemented via Electron for desktop apps, or via\r\n * [WebSockets](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) for mobile or web-based\r\n * Ipc connections. In either case, the Electron documentation provides the specifications for how it works.\r\n * @note `args` are serialized with the [Structured Clone Algorithm](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm), so only\r\n * primitive types and `ArrayBuffers` are allowed.\r\n */\r\n public static async invoke(channel: string, ...args: any[]): Promise<any> {\r\n return this.ipc.invoke(iTwinChannel(channel), ...args);\r\n }\r\n\r\n /**\r\n * Send a message over the socket.\r\n * @param channel The name of the channel for the message.\r\n * @param data The optional data of the message.\r\n * @note `data` is serialized with the [Structured Clone Algorithm](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm), so only\r\n * primitive types and `ArrayBuffers` are allowed.\r\n */\r\n public static send(channel: string, ...data: any[]) {\r\n return this.ipc.send(iTwinChannel(channel), ...data);\r\n }\r\n\r\n /**\r\n * Call a method on the backend through an Ipc channel.\r\n * @param channelName the channel registered by the backend handler.\r\n * @param methodName the name of a method implemented by the backend handler.\r\n * @param args arguments to `methodName`\r\n * @return a Promise with the return value from `methodName`\r\n * @note If the backend implementation throws an exception, this method will throw an exception with its contents\r\n * @internal Use [[makeIpcProxy]] for a type-safe interface.\r\n */\r\n public static async [_callIpcChannel](channelName: string, methodName: string, ...args: any[]): Promise<any> {\r\n const retVal = (await this.invoke(channelName, methodName, ...args)) as IpcInvokeReturn;\r\n\r\n if (retVal.error === undefined)\r\n return retVal.result; // method was successful\r\n\r\n // backend threw an exception, rethrow one on frontend\r\n const err = retVal.error;\r\n if (!JsonUtils.isObject(err)) {\r\n // Exception wasn't an object?\r\n throw retVal.error; // eslint-disable-line @typescript-eslint/only-throw-error\r\n }\r\n\r\n // Note: for backwards compatibility, if the exception was from a BentleyError on the backend, throw an exception of type `BackendError`.\r\n if (!BentleyError.isError(err))\r\n throw Object.assign(new Error(typeof err.message === \"string\" ? err.message : \"unknown error\"), err);\r\n\r\n const trimErr = { ...err } as any;\r\n delete trimErr.iTwinErrorId // these are methods on BackendError and will cause Object.assign to fail.\r\n delete trimErr.loggingMetadata;\r\n throw Object.assign(new BackendError(err.errorNumber, err.iTwinErrorId.key, err.message, err.loggingMetadata), trimErr);\r\n }\r\n\r\n /** @internal\r\n * @deprecated in 4.8 - will not be removed until after 2026-06-13. Use [[makeIpcProxy]] for a type-safe interface.\r\n */\r\n public static async callIpcChannel(channelName: string, methodName: string, ...args: any[]): Promise<any> {\r\n return this[_callIpcChannel](channelName, methodName, ...args);\r\n }\r\n\r\n /** Create a type safe Proxy object to make IPC calls to a registered backend interface.\r\n * @param channelName the channel registered by the backend handler.\r\n */\r\n public static makeIpcProxy<K, C extends string = string>(channelName: C): PickAsyncMethods<K> {\r\n return new Proxy({} as PickAsyncMethods<K>, {\r\n get(_target, methodName: string) {\r\n return async (...args: any[]) =>\r\n IpcApp[_callIpcChannel](channelName, methodName, ...args);\r\n },\r\n });\r\n }\r\n\r\n /** Create a type safe Proxy object to call an IPC function on a of registered backend handler that accepts a \"methodName\" argument followed by optional arguments\r\n * @param channelName the channel registered by the backend handler.\r\n * @param functionName the function to call on the handler.\r\n */\r\n public static makeIpcFunctionProxy<K>(channelName: string, functionName: string): PickAsyncMethods<K> {\r\n return new Proxy({} as PickAsyncMethods<K>, {\r\n get(_target, methodName: string) {\r\n return async (...args: any[]) =>\r\n IpcApp[_callIpcChannel](channelName, functionName, methodName, ...args);\r\n },\r\n });\r\n }\r\n\r\n /** A Proxy to call one of the [IpcAppFunctions]($common) functions via IPC. */\r\n public static appFunctionIpc = IpcApp.makeIpcProxy<IpcAppFunctions>(ipcAppChannels.functions);\r\n\r\n /** start an IpcApp.\r\n * @note this should not be called directly. It is called by NativeApp.startup */\r\n public static async startup(ipc: IpcSocketFrontend, opts?: IpcAppOptions) {\r\n this._ipc = ipc;\r\n this._removeAppNotify = IpcAppNotifyHandler.register(); // receives notifications from backend\r\n await IModelApp.startup(opts?.iModelApp);\r\n }\r\n\r\n /** @internal */\r\n public static async shutdown() {\r\n this._removeAppNotify?.();\r\n this._ipc = undefined;\r\n await IModelApp.shutdown();\r\n }\r\n}\r\n\r\n/**\r\n * Base class for all implementations of an Ipc notification response interface. This class is implemented on your frontend to supply\r\n * methods to receive notifications from your backend.\r\n *\r\n * Create a subclass to implement your Ipc response interface. Your class should be declared like this:\r\n * ```ts\r\n * class MyNotificationHandler extends NotificationHandler implements MyNotifications\r\n * ```\r\n * to ensure all method names and signatures are correct. Your methods cannot have a return value.\r\n *\r\n * Then, call `MyNotificationHandler.register` at startup to connect your class to your channel.\r\n * @public\r\n * @extensions\r\n */\r\nexport abstract class NotificationHandler {\r\n /** All subclasses must implement this method to specify their response channel name. */\r\n public abstract get channelName(): string;\r\n\r\n public registerImpl(): RemoveFunction {\r\n return IpcApp.addListener(this.channelName, (_evt: Event, funcName: string, ...args: any[]) => {\r\n const func = (this as any)[funcName];\r\n if (typeof func !== \"function\")\r\n throw new IModelError(IModelStatus.FunctionNotFound, `Method \"${this.constructor.name}.${funcName}\" not found on NotificationHandler registered for channel: ${this.channelName}`);\r\n\r\n func.call(this, ...args);\r\n });\r\n }\r\n\r\n /**\r\n * Register this class as the handler for notifications on its channel. This static method creates a new instance\r\n * that becomes the notification handler and is `this` when its methods are called.\r\n * @returns A function that can be called to remove the handler.\r\n * @note this method should only be called once per channel. If it is called multiple times, multiple handlers are established.\r\n */\r\n public static register(): RemoveFunction {\r\n return (new (this as any)() as NotificationHandler).registerImpl(); // create an instance of subclass. \"as any\" is necessary because base class is abstract\r\n }\r\n}\r\n\r\n/** IpcApp notifications from backend */\r\nclass IpcAppNotifyHandler extends NotificationHandler implements IpcAppNotifications {\r\n public get channelName() { return ipcAppChannels.appNotify; }\r\n public notifyApp() { }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"IpcApp.js","sourceRoot":"","sources":["../../src/IpcApp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinePlaneIntersect.js","sourceRoot":"","sources":["../../src/LinePlaneIntersect.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAIH,gBAAgB;AAChB,MAAM,UAAU,kBAAkB,CAAC,IAAa,EAAE,MAAe,EAAE,UAAgC,EAAE,OAAgB,EAAE,WAAqB,EAAE,aAAsB;IAClK,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,UAAU;QACZ,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;;QAEzC,aAAa,GAAG,IAAI,CAAC;IAEvB,IAAI,IAAc,CAAC;IACnB,IAAI,aAAa,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC;QACnF,IAAI,GAAG,UAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAClC,CAAC"
|
|
1
|
+
{"version":3,"file":"LinePlaneIntersect.js","sourceRoot":"","sources":["../../src/LinePlaneIntersect.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAIH,gBAAgB;AAChB,MAAM,UAAU,kBAAkB,CAAC,IAAa,EAAE,MAAe,EAAE,UAAgC,EAAE,OAAgB,EAAE,WAAqB,EAAE,aAAsB;IAClK,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,UAAU;QACZ,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;;QAEzC,aAAa,GAAG,IAAI,CAAC;IAEvB,IAAI,IAAc,CAAC;IACnB,IAAI,aAAa,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC;QACnF,IAAI,GAAG,UAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalhostIpcApp.js","sourceRoot":"","sources":["../../src/LocalhostIpcApp.ts"],"names":[],"mappings":"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"
|
|
1
|
+
{"version":3,"file":"LocalhostIpcApp.js","sourceRoot":"","sources":["../../src/LocalhostIpcApp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarginPercent.js","sourceRoot":"","sources":["../../src/MarginPercent.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,aAAa;IACL;IAAqB;IAAoB;IAAsB;IAAlF,YAAmB,IAAY,EAAS,GAAW,EAAS,KAAa,EAAS,MAAc;QAA7E,SAAI,GAAJ,IAAI,CAAQ;QAAS,QAAG,GAAH,GAAG,CAAQ;QAAS,UAAK,GAAL,KAAK,CAAQ;QAAS,WAAM,GAAN,MAAM,CAAQ;QAC9F,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;CACF"
|
|
1
|
+
{"version":3,"file":"MarginPercent.js","sourceRoot":"","sources":["../../src/MarginPercent.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,aAAa;IACL;IAAqB;IAAoB;IAAsB;IAAlF,YAAmB,IAAY,EAAS,GAAW,EAAS,KAAa,EAAS,MAAc;QAA7E,SAAI,GAAJ,IAAI,CAAQ;QAAS,QAAG,GAAH,GAAG,CAAQ;QAAS,UAAK,GAAL,KAAK,CAAQ;QAAS,WAAM,GAAN,MAAM,CAAQ;QAC9F,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;CACF"}
|
package/lib/esm/Marker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Marker.js","sourceRoot":"","sources":["../../src/Marker.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 Views\r\n */\r\n\r\nimport { assert, Logger, ObservableSet } from \"@itwin/core-bentley\";\r\nimport { Geometry, Matrix4d, Point2d, Point3d, Range1d, Range1dProps, Vector3d, XAndY, XYAndZ } from \"@itwin/core-geometry\";\r\nimport { ColorDef } from \"@itwin/core-common\";\r\nimport { FrontendLoggerCategory } from \"./common/FrontendLoggerCategory\";\r\nimport { imageElementFromUrl } from \"./common/ImageUtil\";\r\nimport { ViewRect } from \"./common/ViewRect\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { ToolTipOptions } from \"./NotificationManager\";\r\nimport { CanvasDecoration } from \"./render/CanvasDecoration\";\r\nimport { BeButtonEvent } from \"./tools/Tool\";\r\nimport { DecorateContext } from \"./ViewContext\";\r\nimport { ScreenViewport, Viewport } from \"./Viewport\";\r\n\r\n/** The types that may be used for Markers\r\n * @public\r\n * @extensions\r\n */\r\nexport type MarkerImage = HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | ImageBitmap;\r\n\r\n/**\r\n * @public\r\n * @extensions\r\n */\r\nexport type MarkerFillStyle = string | CanvasGradient | CanvasPattern;\r\n\r\n/**\r\n * @public\r\n * @extensions\r\n */\r\nexport type MarkerTextAlign = \"left\" | \"right\" | \"center\" | \"start\" | \"end\";\r\n\r\n/**\r\n * @public\r\n * @extensions\r\n */\r\nexport type MarkerTextBaseline = \"top\" | \"hanging\" | \"middle\" | \"alphabetic\" | \"ideographic\" | \"bottom\";\r\n\r\nfunction getMinScaleViewW(vp: Viewport): number {\r\n let zHigh;\r\n const origin = vp.view.getCenter();\r\n const direction = vp.view.getZVector();\r\n direction.scaleInPlace(-1);\r\n const corners = vp.view.iModel.projectExtents.corners();\r\n const delta = Vector3d.create();\r\n for (const corner of corners) {\r\n Vector3d.createStartEnd(origin, corner, delta);\r\n const projection = delta.dotProduct(direction);\r\n if (undefined === zHigh || projection > zHigh)\r\n zHigh = projection;\r\n }\r\n if (undefined === zHigh)\r\n return 0.0;\r\n origin.plusScaled(direction, zHigh, origin);\r\n return vp.worldToView4d(origin).w;\r\n}\r\n\r\n/** A Marker is a [[CanvasDecoration]], whose position follows a fixed location in world space.\r\n * Markers draw on top of all scene graphics, and show visual cues about locations of interest.\r\n * @see [Markers]($docs/learning/frontend/Markers)\r\n * @public\r\n * @extensions\r\n */\r\nexport class Marker implements CanvasDecoration {\r\n protected _scaleFactor?: Point2d;\r\n protected _scaleFactorRange?: Range1d;\r\n\r\n /** Whether this marker is currently enabled. If false, this Marker is not displayed. */\r\n public visible = true;\r\n /** Whether this marker is currently hilited or not. */\r\n protected _isHilited = false;\r\n /** The color for the shadowBlur when this Marker is hilited */\r\n protected _hiliteColor?: ColorDef;\r\n /** The location of this Marker in world coordinates. */\r\n public worldLocation: Point3d;\r\n /** The size of this Marker, in pixels. */\r\n public size: Point2d;\r\n /** The current position for the marker, in view coordinates (pixels). This value will be updated by calls to [[setPosition]]. */\r\n public position = new Point3d();\r\n /** The current rectangle for the marker, in view coordinates (pixels). This value will be updated by calls to [[setPosition]]. */\r\n public readonly rect = new ViewRect();\r\n /** An image to draw for this Marker. If undefined, no image is shown. See https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawImage. */\r\n public image?: MarkerImage;\r\n /** The offset for [[image]], in pixels, from the *center* of this Marker. If undefined, (0,0). */\r\n public imageOffset?: XAndY;\r\n /** The size of [[image]], in pixels. If undefined, use [[size]]. */\r\n public imageSize?: XAndY;\r\n /** A text Label for this Marker. If undefined, no label is displayed. */\r\n public label?: string;\r\n /** The offset for [[label]], in pixels, from the *center* of this Marker. If undefined, (0,0). */\r\n public labelOffset?: XAndY;\r\n /** The maximum with for [[label]], in pixels. If undefined label will not be condensed or use a smaller font size. */\r\n public labelMaxWidth?: number;\r\n /** The color for [[label]]. See https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/fillStyle. If undefined, \"white\". */\r\n public labelColor?: MarkerFillStyle;\r\n /** The text alignment for [[label]]. See https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/textAlign. If undefined, \"center\" */\r\n public labelAlign?: MarkerTextAlign;\r\n /** The text baseline for [[label]]. See https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/textBaseline. If undefined, \"middle\" */\r\n public labelBaseline?: MarkerTextBaseline;\r\n /** The font for [[label]]. See https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/font. */\r\n public labelFont?: string;\r\n /** The title string, or HTMLElement, to show (only) in the ToolTip when the pointer is over this Marker. See [[NotificationManager.openToolTip]] */\r\n public title?: HTMLElement | string;\r\n /** The ToolTipOptions to use for [[title]]. */\r\n public tooltipOptions?: ToolTipOptions;\r\n\r\n /** An Optional (unique) HTMLElement to display with this Marker. Generally, HTMLElements are more expensive than\r\n * images and labels, since they are added/removed from the DOM every frame. But, some types of markers are more convenient to construct\r\n * as HTMLElements, and if there aren't too many of them performance is fine.\r\n * @note HTMLElements may only appear in the DOM one time. Therefore, they *may not be shared* by more than one Marker.\r\n * You must ensure that each marker has its own HTMLElement. For this reason, you should probably only use HTMLElements in Markers if\r\n * each one is meant to be unique. For shared content, use images.\r\n */\r\n public htmlElement?: HTMLElement;\r\n\r\n /** Return true to display [[image]], if present. */\r\n public get wantImage() { return true; }\r\n\r\n /** Implement this function to draw onto the CanvasRenderingContext2D when this Marker is displayed. The [0,0] point will be the center of the Marker. */\r\n public drawFunc?(ctx: CanvasRenderingContext2D): void;\r\n\r\n /** Called when the mouse pointer enters this Marker. */\r\n public onMouseEnter(ev: BeButtonEvent) {\r\n this._isHilited = true;\r\n this._hiliteColor = ev.viewport!.hilite.color;\r\n IModelApp.accuSnap.clear();\r\n }\r\n\r\n /** Called when the mouse pointer leaves this Marker. */\r\n public onMouseLeave() { this._isHilited = false; }\r\n\r\n /** Called when the mouse pointer moves over this Marker */\r\n public onMouseMove(ev: BeButtonEvent): void {\r\n if (this.title)\r\n ev.viewport!.openToolTip(this.title, ev.viewPoint, this.tooltipOptions);\r\n }\r\n /** Called when a mouse button is pressed over this Marker. */\r\n public onMouseButton?(_ev: BeButtonEvent): boolean;\r\n\r\n /** Determine whether the point is within this Marker. */\r\n public pick(pt: XAndY): boolean { return this.rect.containsPoint(pt); }\r\n\r\n /** Establish a range of scale factors to increases and decrease the size of this Marker based on its distance from the camera.\r\n * @param range The minimum and maximum scale factors to be applied to the size of this Marker based on its distance from the camera. `range.Low` is the scale factor\r\n * for Markers at the back of the view frustum and `range.high` is the scale factor at the front of the view frustum.\r\n * @note Marker size scaling is only applied in views with the camera enabled. It has no effect on orthographic views.\r\n */\r\n public setScaleFactor(range: Range1dProps) {\r\n this._scaleFactorRange = Range1d.fromJSON(range);\r\n this._scaleFactor = Point2d.create(1, 1);\r\n }\r\n\r\n /** Constructor for Marker\r\n * @param worldLocation The location of this Marker in world coordinates.\r\n * @param size The size of this Marker in pixels.\r\n */\r\n constructor(worldLocation: XYAndZ, size: XAndY) {\r\n this.worldLocation = Point3d.createFrom(worldLocation);\r\n this.size = Point2d.createFrom(size);\r\n }\r\n\r\n /** Make a new Marker at the same position and size as this Marker.\r\n * The new Marker will share the world location and size, but will be otherwise blank.\r\n */\r\n public static makeFrom<T extends Marker>(other: Marker, ...args: any[]): T {\r\n const out = new (this as any)(other.worldLocation, other.size, ...args) as T;\r\n out.rect.setFrom(other.rect);\r\n out.position.setFrom(other.position);\r\n if (other._scaleFactor)\r\n out._scaleFactor = Point2d.createFrom(other._scaleFactor);\r\n out._scaleFactorRange = other._scaleFactorRange;\r\n return out;\r\n }\r\n\r\n /** When a Marker is displayed in its hilited state, this method is called first. If it returns true, no further action is taken.\r\n * Otherwise the Marker's normal drawing operations are also called. By default, this method adds a shadowBlur effect and increases\r\n * the size of the Marker by 25%.\r\n * @return true to stop drawing this Marker\r\n */\r\n protected drawHilited(ctx: CanvasRenderingContext2D) {\r\n ctx.shadowBlur = 30;\r\n ctx.shadowColor = this._hiliteColor ? this._hiliteColor.toHexString() : \"white\";\r\n ctx.scale(1.25, 1.25);\r\n return false;\r\n }\r\n\r\n /** Called during frame rendering to display this Marker onto the supplied context. */\r\n public drawDecoration(ctx: CanvasRenderingContext2D): void {\r\n if (this._isHilited && this.drawHilited(ctx))\r\n return;\r\n\r\n if (this._scaleFactor !== undefined)\r\n ctx.scale(this._scaleFactor.x, this._scaleFactor.y);\r\n\r\n // first call the \"drawFunc\" if defined. This means it will be below the image and label if they overlap\r\n if (undefined !== this.drawFunc)\r\n this.drawFunc(ctx);\r\n\r\n // next draw the image, if defined and desired\r\n if (this.wantImage && this.image !== undefined) {\r\n const size = this.imageSize ? this.imageSize : this.size;\r\n const offset = new Point2d(size.x / 2, size.y / 2);\r\n if (this.imageOffset)\r\n offset.plus(this.imageOffset, offset);\r\n ctx.drawImage(this.image, -offset.x, -offset.y, size.x, size.y);\r\n }\r\n\r\n // lastly, draw the label, if defined. This puts it on top of all other graphics for this Marker.\r\n if (this.label !== undefined) {\r\n ctx.textAlign = this.labelAlign ? this.labelAlign : \"center\";\r\n ctx.textBaseline = this.labelBaseline ? this.labelBaseline : \"middle\";\r\n ctx.font = this.labelFont ? this.labelFont : \"14px sans-serif\";\r\n ctx.fillStyle = this.labelColor ? this.labelColor : \"white\";\r\n ctx.fillText(this.label, this.labelOffset ? -this.labelOffset.x : 0, this.labelOffset ? -this.labelOffset.y : 0, this.labelMaxWidth);\r\n }\r\n }\r\n\r\n /** Set the [[image]] for this marker.\r\n * @param image Either a [[MarkerImage]] or a Promise for a [[MarkerImage]]. If a Promise is supplied, the [[image]] member is set\r\n * when the Promise resolves.\r\n */\r\n public setImage(image: MarkerImage | Promise<MarkerImage>) {\r\n if (image instanceof Promise) {\r\n image.then((resolvedImage) =>\r\n this.image = resolvedImage,\r\n ).catch((err: Event) => {\r\n const target = err.target as any;\r\n const msg = `Could not load image ${target && target.src ? target.src : \"unknown\"}`;\r\n Logger.logError(`${FrontendLoggerCategory.Package}.markers`, msg);\r\n console.log(msg); // eslint-disable-line no-console\r\n });\r\n } else\r\n this.image = image;\r\n }\r\n\r\n /** Set the image for this Marker from a URL. */\r\n public setImageUrl(url: string) { this.setImage(imageElementFromUrl(url)); }\r\n\r\n /** Set the position (in pixels) for this Marker in the supplied Viewport, based on its worldLocation.\r\n * @param markerSet The MarkerSet if this Marker is included in a set.\r\n * @return true if the Marker is visible and its new position is inside the Viewport.\r\n */\r\n public setPosition(vp: Viewport, markerSet?: MarkerSet<Marker>): boolean {\r\n if (!this.visible) // if we're turned off, skip\r\n return false;\r\n\r\n const pt4 = vp.worldToView4d(this.worldLocation);\r\n if (pt4.w > 1.0 || pt4.w < 1.0e-6) // outside of frustum or too close to eye.\r\n return false;\r\n\r\n pt4.realPoint(this.position);\r\n if (!vp.viewRect.containsPoint(this.position))\r\n return false; // outside this viewport rect\r\n\r\n const origin = this.position;\r\n const sizeX = this.size.x / 2;\r\n const sizeY = this.size.y / 2;\r\n this.rect.init(origin.x - sizeX, origin.y - sizeY, origin.x + sizeX, origin.y + sizeY);\r\n\r\n // if there's a scale factor active, calculate it now.\r\n if (this._scaleFactor && this._scaleFactorRange) {\r\n let scale = 1.0;\r\n if (vp.isCameraOn) {\r\n const range = this._scaleFactorRange;\r\n const minScaleViewW = (undefined !== markerSet ? markerSet.getMinScaleViewW(vp) : getMinScaleViewW(vp));\r\n if (minScaleViewW > 0.0)\r\n scale = Geometry.clamp(range.high - (pt4.w / minScaleViewW) * range.length(), .4, 2.0);\r\n else\r\n scale = Geometry.clamp(range.low + ((1 - pt4.w) * range.length()), .4, 2.0);\r\n this.rect.scaleAboutCenter(scale, scale);\r\n }\r\n this._scaleFactor.set(scale, scale);\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /** Position the HTMLElement for this Marker relative to the Marker's position in the view.\r\n * The default implementation centers the HTMLElement (using its boundingClientRect) on the Marker.\r\n * Override this method to provide an alternative positioning approach.\r\n */\r\n protected positionHtml() {\r\n const html = this.htmlElement!;\r\n const style = html.style;\r\n style.position = \"absolute\";\r\n const size = html.getBoundingClientRect(); // Note: only call this *after* setting position = absolute\r\n const markerPos = this.position;\r\n style.left = `${markerPos.x - (size.width / 2)}px`;\r\n style.top = `${markerPos.y - (size.height / 2)}px`;\r\n }\r\n\r\n /** Add this Marker to the supplied DecorateContext. */\r\n public addMarker(context: DecorateContext) {\r\n context.addCanvasDecoration(this);\r\n if (undefined !== this.htmlElement) {\r\n // add this Marker to the DOM\r\n context.addHtmlDecoration(this.htmlElement);\r\n this.positionHtml(); // always reposition it\r\n }\r\n }\r\n\r\n /** Set the position and add this Marker to the supplied DecorateContext, if it's visible.\r\n * This method should be called from your implementation of [[Decorator.decorate]]. It will set this Marker's position based on the\r\n * Viewport from the context, and add this this Marker to the supplied DecorateContext.\r\n * @param context The DecorateContext for the Marker\r\n */\r\n public addDecoration(context: DecorateContext) {\r\n if (this.setPosition(context.viewport))\r\n this.addMarker(context);\r\n }\r\n}\r\n\r\n/** A cluster of one or more Markers that overlap one another in the view. The cluster's screen position is taken from its first entry.\r\n * Clusters also have a Marker themselves, that represents the whole group. The cluster marker isn't created until all entries have been added.\r\n * @public\r\n * @extensions\r\n */\r\nexport class Cluster<T extends Marker> {\r\n public readonly markers: T[];\r\n public clusterMarker?: Marker;\r\n\r\n public constructor(markers: T[]) {\r\n assert(markers.length > 0);\r\n this.markers = markers;\r\n }\r\n\r\n public get position() {\r\n return this.markers[0].position;\r\n }\r\n\r\n /**\r\n * Gets the location for the cluster\r\n * @returns The average of the cluster markers worldLocation.\r\n */\r\n public getClusterLocation() {\r\n const location = Point3d.createZero();\r\n if (this.markers.length > 0) {\r\n this.markers.forEach((marker) => location.addInPlace(marker.worldLocation));\r\n location.scaleInPlace(1 / this.markers.length);\r\n }\r\n return location;\r\n }\r\n}\r\n\r\n/** A *set* of Markers that are logically related, such that they *cluster* when they overlap one another in screen space.\r\n * In that case, a *cluster marker* is drawn instead of the overlapping Markers.\r\n * @public\r\n * @extensions\r\n */\r\nexport abstract class MarkerSet<T extends Marker> {\r\n private _viewport?: ScreenViewport;\r\n\r\n /** @internal */\r\n protected _entries: Array<T | Cluster<T>> = []; // this is an array that holds either Markers or a cluster of markers.\r\n /** @internal */\r\n protected readonly _worldToViewMap = Matrix4d.createZero();\r\n /** @internal */\r\n protected _minScaleViewW?: number;\r\n private readonly _markers = new ObservableSet<T>();\r\n\r\n /** The minimum number of Markers that must overlap before they are clustered. Otherwise they are each drawn individually. Default is 1 (always create a cluster.) */\r\n public minimumClusterSize = 1;\r\n /** The set of Markers in this MarkerSet. Add your [[Marker]]s into this. */\r\n public get markers(): Set<T> { return this._markers; }\r\n /** The radius (in pixels) representing the distance between the screen X,Y positions of two Markers to be clustered. When less than or equal to 0 (the default), the radius is calculated based on the first visible marker imageSize/size. */\r\n protected clusterRadius = 0;\r\n\r\n /** Construct a new MarkerSet for a specific ScreenViewport.\r\n * @param viewport the ScreenViewport for this MarkerSet. If undefined, use [[IModelApp.viewManager.selectedView]]\r\n */\r\n public constructor(viewport?: ScreenViewport) {\r\n this._viewport = undefined === viewport ? IModelApp.viewManager.selectedView : viewport;\r\n const markDirty = () => this.markDirty();\r\n this._markers.onAdded.addListener(markDirty);\r\n this._markers.onDeleted.addListener(markDirty);\r\n this._markers.onCleared.addListener(markDirty);\r\n }\r\n\r\n /** The ScreenViewport of this MarkerSet. */\r\n public get viewport(): ScreenViewport | undefined { return this._viewport; }\r\n\r\n /** Change the ScreenViewport for this MarkerSet.\r\n * After this call, the markers from this MarkerSet will only appear in the supplied ScreenViewport.\r\n * @beta\r\n */\r\n public changeViewport(viewport: ScreenViewport) {\r\n this._viewport = viewport;\r\n this.markDirty();\r\n }\r\n\r\n /** Indicate that this MarkerSet has been changed and is now *dirty*.\r\n * This is necessary because [[addDecoration]] does not recreate the set of decoration graphics\r\n * if it can detect that the previously-created set remains valid.\r\n * The set becomes invalid when the view frustum changes, or the contents of [[markers]] changes.\r\n * If some other criterion affecting the graphics changes, invoke this method. This should not be necessary for most use cases.\r\n * @public\r\n */\r\n public markDirty(): void {\r\n this._worldToViewMap.setZero();\r\n }\r\n\r\n /** Implement this method to create a new Marker that is shown as a *stand-in* for a Cluster of Markers that overlap one another.\r\n * @param cluster The [[Cluster]] that the new Marker will represent.\r\n * @returns The Marker that will be displayed to represent the Cluster.\r\n * @note You must create a new Marker each time this method is called.\r\n */\r\n protected abstract getClusterMarker(cluster: Cluster<T>): Marker;\r\n\r\n /** Get weight value limit establishing the distance from camera for the back of view scale factor. */\r\n public getMinScaleViewW(vp: Viewport): number {\r\n if (undefined === this._minScaleViewW)\r\n this._minScaleViewW = getMinScaleViewW(vp);\r\n return this._minScaleViewW;\r\n }\r\n\r\n /** This method should be called from [[Decorator.decorate]]. It will add this this MarkerSet to the supplied DecorateContext.\r\n * This method implements the logic that turns overlapping Markers into a Cluster.\r\n * @param context The DecorateContext for the Markers\r\n */\r\n public addDecoration(context: DecorateContext): void {\r\n const vp = context.viewport;\r\n if (vp !== this._viewport)\r\n return; // not viewport of this MarkerSet, ignore it\r\n\r\n const entries = this._entries;\r\n\r\n // Don't recreate the entries array if the view hasn't changed. This is important for performance, but also necessary for hilite of\r\n // clusters (otherwise they're recreated continually and never hilited.) */\r\n if (!this._worldToViewMap.isAlmostEqual(vp.worldToViewMap.transform0)) {\r\n this._worldToViewMap.setFrom(vp.worldToViewMap.transform0);\r\n this._minScaleViewW = undefined; // Invalidate current value.\r\n entries.length = 0; // start over.\r\n\r\n let distSquared = this.clusterRadius * this.clusterRadius;\r\n\r\n // loop through all of the Markers in the MarkerSet.\r\n for (const marker of this.markers) {\r\n // establish the screen position for this marker. If it's not in view, setPosition returns false\r\n if (!marker.setPosition(vp, this))\r\n continue;\r\n\r\n if (distSquared <= 0) {\r\n const size = marker.imageSize ? marker.imageSize : marker.size;\r\n const dist = Math.max(size.x, size.y) * 1.5;\r\n distSquared = dist * dist;\r\n }\r\n\r\n let added = false;\r\n for (let i = 0; i < entries.length; ++i) { // loop through all of the currently visible markers/clusters\r\n const entry = entries[i];\r\n if (marker.position.distanceSquaredXY(entry.position) <= distSquared) {\r\n added = true; // yes, we're going to save it as a Cluster\r\n if (entry instanceof Cluster) { // is the entry already a Cluster?\r\n entry.markers.push(marker); // yes, just add this to the existing cluster\r\n } else {\r\n entries[i] = new Cluster([entry, marker]); // no, make a new Cluster holding both\r\n }\r\n break; // this Marker has been handled, we can stop looking for overlaps\r\n }\r\n }\r\n if (!added)\r\n entries.push(marker); // there was no overlap, save this Marker to be drawn\r\n }\r\n }\r\n\r\n // we now have an array of Markers and Clusters, add them to context\r\n for (const entry of entries) {\r\n if (entry instanceof Cluster) { // is this entry a Cluster?\r\n if (entry.markers.length <= this.minimumClusterSize) { // yes, does it have more than the minimum number of entries?\r\n entry.markers.forEach((marker) => marker.addMarker(context)); // no, just draw all of its Markers\r\n } else {\r\n // yes, get and draw the Marker for this Cluster\r\n if (undefined === entry.clusterMarker) { // have we already created this cluster marker?\r\n const clusterMarker = this.getClusterMarker(entry); // no, get it now.\r\n // set the marker's position as getClusterMarker may not set it.\r\n if (clusterMarker.rect.isNull)\r\n clusterMarker.setPosition(vp, this);\r\n entry.clusterMarker = clusterMarker;\r\n }\r\n entry.clusterMarker.addMarker(context);\r\n }\r\n } else {\r\n entry.addMarker(context); // entry is a non-overlapping Marker, draw it.\r\n }\r\n }\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"Marker.js","sourceRoot":"","sources":["../../src/Marker.ts"],"names":[],"mappings":"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"}
|