@itwin/core-frontend 5.1.0-dev.7 → 5.1.0-dev.71
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 +92 -1
- package/lib/cjs/AccuDraw.d.ts +2 -0
- package/lib/cjs/AccuDraw.d.ts.map +1 -1
- package/lib/cjs/AccuDraw.js +4 -2
- package/lib/cjs/AccuDraw.js.map +1 -1
- package/lib/cjs/AccuSnap.d.ts.map +1 -1
- package/lib/cjs/AccuSnap.js +15 -6
- package/lib/cjs/AccuSnap.js.map +1 -1
- package/lib/cjs/AuxCoordSys.js +1 -1
- package/lib/cjs/AuxCoordSys.js.map +1 -1
- package/lib/cjs/DisplayStyleState.d.ts +37 -0
- package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
- package/lib/cjs/DisplayStyleState.js +65 -0
- package/lib/cjs/DisplayStyleState.js.map +1 -1
- package/lib/cjs/DrawingViewState.d.ts.map +1 -1
- package/lib/cjs/DrawingViewState.js +1 -0
- package/lib/cjs/DrawingViewState.js.map +1 -1
- package/lib/cjs/GraphicalEditingScope.d.ts +1 -1
- package/lib/cjs/GraphicalEditingScope.d.ts.map +1 -1
- package/lib/cjs/GraphicalEditingScope.js +1 -1
- package/lib/cjs/GraphicalEditingScope.js.map +1 -1
- package/lib/cjs/HitDetail.d.ts +1 -1
- package/lib/cjs/HitDetail.d.ts.map +1 -1
- package/lib/cjs/HitDetail.js.map +1 -1
- package/lib/cjs/IModelApp.d.ts +19 -4
- package/lib/cjs/IModelApp.d.ts.map +1 -1
- package/lib/cjs/IModelApp.js +21 -2
- package/lib/cjs/IModelApp.js.map +1 -1
- package/lib/cjs/IModelConnection.d.ts +8 -9
- package/lib/cjs/IModelConnection.d.ts.map +1 -1
- package/lib/cjs/IModelConnection.js +52 -24
- package/lib/cjs/IModelConnection.js.map +1 -1
- package/lib/cjs/IpcApp.d.ts +2 -1
- package/lib/cjs/IpcApp.d.ts.map +1 -1
- package/lib/cjs/IpcApp.js +4 -2
- package/lib/cjs/IpcApp.js.map +1 -1
- package/lib/cjs/RealityDataSource.d.ts +65 -3
- package/lib/cjs/RealityDataSource.d.ts.map +1 -1
- package/lib/cjs/RealityDataSource.js +79 -3
- package/lib/cjs/RealityDataSource.js.map +1 -1
- package/lib/cjs/RealityDataSourceTilesetUrlImpl.js +1 -1
- package/lib/cjs/RealityDataSourceTilesetUrlImpl.js.map +1 -1
- package/lib/cjs/SelectionSet.d.ts +7 -7
- package/lib/cjs/SelectionSet.js +3 -3
- package/lib/cjs/SelectionSet.js.map +1 -1
- package/lib/cjs/SheetViewState.d.ts +2 -0
- package/lib/cjs/SheetViewState.d.ts.map +1 -1
- package/lib/cjs/SheetViewState.js +25 -3
- package/lib/cjs/SheetViewState.js.map +1 -1
- package/lib/cjs/ViewState.d.ts +1 -1
- package/lib/cjs/ViewState.js +1 -1
- package/lib/cjs/ViewState.js.map +1 -1
- package/lib/cjs/Viewport.d.ts +6 -4
- package/lib/cjs/Viewport.d.ts.map +1 -1
- package/lib/cjs/Viewport.js +23 -3
- package/lib/cjs/Viewport.js.map +1 -1
- package/lib/cjs/common/gltf/GltfSchema.d.ts +18 -0
- package/lib/cjs/common/gltf/GltfSchema.d.ts.map +1 -1
- package/lib/cjs/common/gltf/GltfSchema.js +1 -0
- package/lib/cjs/common/gltf/GltfSchema.js.map +1 -1
- package/lib/cjs/common/imdl/CompactEdges.d.ts +11 -0
- package/lib/cjs/common/imdl/CompactEdges.d.ts.map +1 -1
- package/lib/cjs/common/imdl/CompactEdges.js +9 -6
- package/lib/cjs/common/imdl/CompactEdges.js.map +1 -1
- package/lib/cjs/common/imdl/ImdlSchema.d.ts +5 -1
- package/lib/cjs/common/imdl/ImdlSchema.d.ts.map +1 -1
- package/lib/cjs/common/imdl/ImdlSchema.js +4 -0
- package/lib/cjs/common/imdl/ImdlSchema.js.map +1 -1
- package/lib/cjs/common/imdl/ParseImdlDocument.d.ts.map +1 -1
- package/lib/cjs/common/imdl/ParseImdlDocument.js +11 -9
- package/lib/cjs/common/imdl/ParseImdlDocument.js.map +1 -1
- package/lib/cjs/common/internal/render/EdgeParams.d.ts +7 -2
- package/lib/cjs/common/internal/render/EdgeParams.d.ts.map +1 -1
- package/lib/cjs/common/internal/render/EdgeParams.js +30 -8
- package/lib/cjs/common/internal/render/EdgeParams.js.map +1 -1
- package/lib/cjs/common/internal/render/MeshPrimitives.d.ts +2 -1
- package/lib/cjs/common/internal/render/MeshPrimitives.d.ts.map +1 -1
- package/lib/cjs/common/internal/render/MeshPrimitives.js +5 -7
- package/lib/cjs/common/internal/render/MeshPrimitives.js.map +1 -1
- package/lib/cjs/common/internal/render/PolylineParams.d.ts +8 -3
- package/lib/cjs/common/internal/render/PolylineParams.d.ts.map +1 -1
- package/lib/cjs/common/internal/render/PolylineParams.js +6 -9
- package/lib/cjs/common/internal/render/PolylineParams.js.map +1 -1
- package/lib/cjs/common/internal/render/VertexTableSplitter.d.ts.map +1 -1
- package/lib/cjs/common/internal/render/VertexTableSplitter.js +9 -7
- package/lib/cjs/common/internal/render/VertexTableSplitter.js.map +1 -1
- package/lib/cjs/core-frontend.d.ts +2 -2
- package/lib/cjs/core-frontend.d.ts.map +1 -1
- package/lib/cjs/core-frontend.js +1 -1
- package/lib/cjs/core-frontend.js.map +1 -1
- package/lib/cjs/extension/ExtensionRuntime.js +15 -2
- package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
- package/lib/cjs/extension/providers/ExtensionLoadScript.js.map +1 -1
- package/lib/cjs/internal/GoogleMapsDecorator.d.ts +53 -0
- package/lib/cjs/internal/GoogleMapsDecorator.d.ts.map +1 -0
- package/lib/cjs/internal/GoogleMapsDecorator.js +132 -0
- package/lib/cjs/internal/GoogleMapsDecorator.js.map +1 -0
- package/lib/cjs/internal/RealityDataSourceGoogle3dTilesImpl.d.ts +83 -0
- package/lib/cjs/internal/RealityDataSourceGoogle3dTilesImpl.d.ts.map +1 -0
- package/lib/cjs/internal/RealityDataSourceGoogle3dTilesImpl.js +201 -0
- package/lib/cjs/internal/RealityDataSourceGoogle3dTilesImpl.js.map +1 -0
- package/lib/cjs/internal/ScriptUtils.d.ts +5 -0
- package/lib/cjs/internal/ScriptUtils.d.ts.map +1 -0
- package/lib/cjs/internal/ScriptUtils.js +120 -0
- package/lib/cjs/internal/ScriptUtils.js.map +1 -0
- package/lib/cjs/internal/cross-package.d.ts +1 -0
- package/lib/cjs/internal/cross-package.d.ts.map +1 -1
- package/lib/cjs/internal/cross-package.js +4 -1
- package/lib/cjs/internal/cross-package.js.map +1 -1
- package/lib/cjs/internal/render/webgl/AtmosphereUniforms.d.ts +1 -1
- package/lib/cjs/internal/render/webgl/AtmosphereUniforms.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/AtmosphereUniforms.js +1 -1
- package/lib/cjs/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/AttributeBuffers.d.ts +2 -2
- package/lib/cjs/internal/render/webgl/AttributeBuffers.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/AttributeBuffers.js +2 -2
- package/lib/cjs/internal/render/webgl/AttributeBuffers.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BatchUniforms.js +1 -1
- package/lib/cjs/internal/render/webgl/BatchUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BranchStack.d.ts +2 -2
- package/lib/cjs/internal/render/webgl/BranchStack.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/BranchStack.js +3 -2
- package/lib/cjs/internal/render/webgl/BranchStack.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BranchState.d.ts +4 -2
- package/lib/cjs/internal/render/webgl/BranchState.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/BranchState.js +4 -1
- package/lib/cjs/internal/render/webgl/BranchState.js.map +1 -1
- package/lib/cjs/internal/render/webgl/BranchUniforms.d.ts +2 -2
- package/lib/cjs/internal/render/webgl/BranchUniforms.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/BranchUniforms.js +2 -2
- package/lib/cjs/internal/render/webgl/BranchUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ClippingProgram.d.ts +1 -1
- package/lib/cjs/internal/render/webgl/ClippingProgram.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/ClippingProgram.js +1 -1
- package/lib/cjs/internal/render/webgl/ClippingProgram.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ContourUniforms.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/ContourUniforms.js +2 -3
- package/lib/cjs/internal/render/webgl/ContourUniforms.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Contours.js +8 -8
- package/lib/cjs/internal/render/webgl/Contours.js.map +1 -1
- package/lib/cjs/internal/render/webgl/EdgeGeometry.d.ts +8 -6
- package/lib/cjs/internal/render/webgl/EdgeGeometry.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/EdgeGeometry.js +21 -7
- package/lib/cjs/internal/render/webgl/EdgeGeometry.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Graphic.d.ts +2 -1
- package/lib/cjs/internal/render/webgl/Graphic.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/Graphic.js +2 -0
- package/lib/cjs/internal/render/webgl/Graphic.js.map +1 -1
- package/lib/cjs/internal/render/webgl/IndexedEdgeGeometry.d.ts +6 -1
- package/lib/cjs/internal/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/IndexedEdgeGeometry.js +19 -4
- package/lib/cjs/internal/render/webgl/IndexedEdgeGeometry.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Mesh.d.ts +1 -1
- package/lib/cjs/internal/render/webgl/Mesh.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/Mesh.js +13 -6
- package/lib/cjs/internal/render/webgl/Mesh.js.map +1 -1
- package/lib/cjs/internal/render/webgl/SceneCompositor.js +2 -1
- package/lib/cjs/internal/render/webgl/SceneCompositor.js.map +1 -1
- package/lib/cjs/internal/render/webgl/ShaderProgram.d.ts +2 -2
- package/lib/cjs/internal/render/webgl/ShaderProgram.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/ShaderProgram.js +2 -2
- package/lib/cjs/internal/render/webgl/ShaderProgram.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Target.d.ts +2 -1
- package/lib/cjs/internal/render/webgl/Target.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/Target.js +3 -1
- package/lib/cjs/internal/render/webgl/Target.js.map +1 -1
- package/lib/cjs/internal/render/webgl/Technique.d.ts +3 -3
- package/lib/cjs/internal/render/webgl/Technique.d.ts.map +1 -1
- package/lib/cjs/internal/render/webgl/Technique.js +3 -3
- package/lib/cjs/internal/render/webgl/Technique.js.map +1 -1
- package/lib/cjs/internal/tile/ClassifierTileTree.js +3 -1
- package/lib/cjs/internal/tile/ClassifierTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/IModelTile.d.ts +1 -0
- package/lib/cjs/internal/tile/IModelTile.d.ts.map +1 -1
- package/lib/cjs/internal/tile/IModelTile.js +4 -0
- package/lib/cjs/internal/tile/IModelTile.js.map +1 -1
- package/lib/cjs/internal/tile/IModelTileTree.d.ts +4 -2
- package/lib/cjs/internal/tile/IModelTileTree.d.ts.map +1 -1
- package/lib/cjs/internal/tile/IModelTileTree.js +58 -0
- package/lib/cjs/internal/tile/IModelTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.d.ts.map +1 -1
- package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.js +8 -0
- package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
- package/lib/cjs/internal/tile/OrbitGtTileTree.d.ts +4 -1
- package/lib/cjs/internal/tile/OrbitGtTileTree.d.ts.map +1 -1
- package/lib/cjs/internal/tile/OrbitGtTileTree.js +4 -0
- package/lib/cjs/internal/tile/OrbitGtTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/PrimaryTileTree.d.ts.map +1 -1
- package/lib/cjs/internal/tile/PrimaryTileTree.js +5 -4
- package/lib/cjs/internal/tile/PrimaryTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/RealityModelTileTree.d.ts +26 -7
- package/lib/cjs/internal/tile/RealityModelTileTree.d.ts.map +1 -1
- package/lib/cjs/internal/tile/RealityModelTileTree.js +48 -21
- package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -1
- package/lib/cjs/internal/tile/RealityTileLoader.d.ts +2 -2
- package/lib/cjs/internal/tile/RealityTileLoader.d.ts.map +1 -1
- package/lib/cjs/internal/tile/RealityTileLoader.js +10 -2
- package/lib/cjs/internal/tile/RealityTileLoader.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.d.ts +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.js +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +4 -0
- package/lib/cjs/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/cjs/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +52 -11
- package/lib/cjs/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/internal/tile/map/WmtsCapabilities.d.ts +7 -0
- package/lib/cjs/internal/tile/map/WmtsCapabilities.d.ts.map +1 -1
- package/lib/cjs/internal/tile/map/WmtsCapabilities.js +17 -0
- package/lib/cjs/internal/tile/map/WmtsCapabilities.js.map +1 -1
- package/lib/cjs/internal/webgl.d.ts +1 -1
- package/lib/cjs/internal/webgl.d.ts.map +1 -1
- package/lib/cjs/internal/webgl.js.map +1 -1
- package/lib/cjs/properties/AngleDescription.d.ts +4 -1
- package/lib/cjs/properties/AngleDescription.d.ts.map +1 -1
- package/lib/cjs/properties/AngleDescription.js +10 -2
- package/lib/cjs/properties/AngleDescription.js.map +1 -1
- package/lib/cjs/properties/FormattedQuantityDescription.d.ts +11 -1
- package/lib/cjs/properties/FormattedQuantityDescription.d.ts.map +1 -1
- package/lib/cjs/properties/FormattedQuantityDescription.js +7 -2
- package/lib/cjs/properties/FormattedQuantityDescription.js.map +1 -1
- package/lib/cjs/properties/LengthDescription.d.ts +12 -3
- package/lib/cjs/properties/LengthDescription.d.ts.map +1 -1
- package/lib/cjs/properties/LengthDescription.js +30 -6
- package/lib/cjs/properties/LengthDescription.js.map +1 -1
- package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts +103 -7
- package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
- package/lib/cjs/quantity-formatting/QuantityFormatter.js +210 -23
- package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
- package/lib/cjs/render/Decorations.d.ts +1 -1
- package/lib/cjs/render/Decorations.d.ts.map +1 -1
- package/lib/cjs/render/Decorations.js +1 -1
- package/lib/cjs/render/Decorations.js.map +1 -1
- package/lib/cjs/render/GraphicBranch.d.ts +4 -2
- package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
- package/lib/cjs/render/GraphicBranch.js +1 -1
- package/lib/cjs/render/GraphicBranch.js.map +1 -1
- package/lib/cjs/render/MeshArgs.d.ts +8 -3
- package/lib/cjs/render/MeshArgs.d.ts.map +1 -1
- package/lib/cjs/render/MeshArgs.js.map +1 -1
- package/lib/cjs/render/RenderGraphic.d.ts +1 -1
- package/lib/cjs/render/RenderGraphic.d.ts.map +1 -1
- package/lib/cjs/render/RenderGraphic.js.map +1 -1
- package/lib/cjs/render/RenderSystem.d.ts +2 -2
- package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
- package/lib/cjs/render/RenderSystem.js.map +1 -1
- package/lib/cjs/render/ScreenSpaceEffectBuilder.d.ts +1 -1
- package/lib/cjs/render/ScreenSpaceEffectBuilder.js.map +1 -1
- package/lib/cjs/request/Request.d.ts +2 -2
- package/lib/cjs/request/Request.js.map +1 -1
- package/lib/cjs/tile/GltfReader.d.ts +6 -2
- package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
- package/lib/cjs/tile/GltfReader.js +154 -18
- package/lib/cjs/tile/GltfReader.js.map +1 -1
- package/lib/cjs/tile/ImdlReader.js.map +1 -1
- package/lib/cjs/tile/RealityTile.d.ts +9 -0
- package/lib/cjs/tile/RealityTile.d.ts.map +1 -1
- package/lib/cjs/tile/RealityTile.js +12 -0
- package/lib/cjs/tile/RealityTile.js.map +1 -1
- package/lib/cjs/tile/RealityTileTree.d.ts +4 -0
- package/lib/cjs/tile/RealityTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/RealityTileTree.js +4 -0
- package/lib/cjs/tile/RealityTileTree.js.map +1 -1
- package/lib/cjs/tile/Tile.d.ts +1 -1
- package/lib/cjs/tile/Tile.d.ts.map +1 -1
- package/lib/cjs/tile/Tile.js +1 -1
- package/lib/cjs/tile/Tile.js.map +1 -1
- package/lib/cjs/tile/TileAdmin.d.ts +10 -0
- package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
- package/lib/cjs/tile/TileAdmin.js +3 -0
- package/lib/cjs/tile/TileAdmin.js.map +1 -1
- package/lib/cjs/tile/TileGeometryCollector.d.ts +5 -0
- package/lib/cjs/tile/TileGeometryCollector.d.ts.map +1 -1
- package/lib/cjs/tile/TileGeometryCollector.js.map +1 -1
- package/lib/cjs/tile/TileTree.d.ts +15 -2
- package/lib/cjs/tile/TileTree.d.ts.map +1 -1
- package/lib/cjs/tile/TileTree.js +14 -1
- package/lib/cjs/tile/TileTree.js.map +1 -1
- package/lib/cjs/tile/TileTreeReference.d.ts +17 -3
- package/lib/cjs/tile/TileTreeReference.d.ts.map +1 -1
- package/lib/cjs/tile/TileTreeReference.js +11 -5
- package/lib/cjs/tile/TileTreeReference.js.map +1 -1
- package/lib/cjs/tile/map/CesiumTerrainProvider.js +1 -1
- package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryTileTree.d.ts +2 -2
- package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/map/ImageryTileTree.js +2 -2
- package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
- package/lib/cjs/tile/map/MapCartoRectangle.d.ts +10 -0
- package/lib/cjs/tile/map/MapCartoRectangle.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapCartoRectangle.js +12 -0
- package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +3 -3
- package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryProvider.js +9 -5
- package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/MapTileTree.d.ts +1 -1
- package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapTileTree.js +1 -1
- package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
- package/lib/cjs/tile/map/QuadId.d.ts +15 -0
- package/lib/cjs/tile/map/QuadId.d.ts.map +1 -1
- package/lib/cjs/tile/map/QuadId.js +12 -0
- package/lib/cjs/tile/map/QuadId.js.map +1 -1
- package/lib/cjs/tile/map/TerrainMeshProvider.d.ts +1 -1
- package/lib/cjs/tile/map/TerrainMeshProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/TerrainMeshProvider.js +1 -1
- package/lib/cjs/tile/map/TerrainMeshProvider.js.map +1 -1
- package/lib/cjs/tools/AccuDrawViewportUI.d.ts +7 -0
- package/lib/cjs/tools/AccuDrawViewportUI.d.ts.map +1 -1
- package/lib/cjs/tools/AccuDrawViewportUI.js +14 -0
- package/lib/cjs/tools/AccuDrawViewportUI.js.map +1 -1
- package/lib/cjs/tools/ClipViewTool.d.ts.map +1 -1
- package/lib/cjs/tools/ClipViewTool.js +18 -7
- package/lib/cjs/tools/ClipViewTool.js.map +1 -1
- package/lib/cjs/tools/ElementSetTool.d.ts +9 -1
- package/lib/cjs/tools/ElementSetTool.d.ts.map +1 -1
- package/lib/cjs/tools/ElementSetTool.js +130 -7
- package/lib/cjs/tools/ElementSetTool.js.map +1 -1
- package/lib/cjs/tools/IdleTool.d.ts.map +1 -1
- package/lib/cjs/tools/IdleTool.js +4 -1
- package/lib/cjs/tools/IdleTool.js.map +1 -1
- package/lib/cjs/tools/MeasureTool.d.ts +9 -0
- package/lib/cjs/tools/MeasureTool.d.ts.map +1 -1
- package/lib/cjs/tools/MeasureTool.js +57 -24
- package/lib/cjs/tools/MeasureTool.js.map +1 -1
- package/lib/cjs/tools/PrimitiveTool.d.ts +1 -1
- package/lib/cjs/tools/PrimitiveTool.d.ts.map +1 -1
- package/lib/cjs/tools/PrimitiveTool.js +4 -3
- package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
- package/lib/cjs/tools/SelectTool.d.ts +2 -2
- package/lib/cjs/tools/SelectTool.d.ts.map +1 -1
- package/lib/cjs/tools/SelectTool.js +26 -97
- package/lib/cjs/tools/SelectTool.js.map +1 -1
- package/lib/cjs/tools/Tool.d.ts +10 -1
- package/lib/cjs/tools/Tool.d.ts.map +1 -1
- package/lib/cjs/tools/Tool.js +27 -4
- package/lib/cjs/tools/Tool.js.map +1 -1
- package/lib/cjs/tools/ToolAdmin.d.ts +1 -0
- package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
- package/lib/cjs/tools/ToolAdmin.js +59 -18
- package/lib/cjs/tools/ToolAdmin.js.map +1 -1
- package/lib/cjs/tools/ToolAssistance.d.ts +1 -1
- package/lib/cjs/tools/ToolAssistance.js.map +1 -1
- package/lib/cjs/tools/ToolSettings.d.ts +5 -0
- package/lib/cjs/tools/ToolSettings.d.ts.map +1 -1
- package/lib/cjs/tools/ToolSettings.js +5 -0
- package/lib/cjs/tools/ToolSettings.js.map +1 -1
- package/lib/cjs/tools/ViewTool.d.ts +1 -2
- package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
- package/lib/cjs/tools/ViewTool.js +143 -84
- package/lib/cjs/tools/ViewTool.js.map +1 -1
- package/lib/esm/AccuDraw.d.ts +2 -0
- package/lib/esm/AccuDraw.d.ts.map +1 -1
- package/lib/esm/AccuDraw.js +4 -2
- package/lib/esm/AccuDraw.js.map +1 -1
- package/lib/esm/AccuSnap.d.ts.map +1 -1
- package/lib/esm/AccuSnap.js +15 -6
- package/lib/esm/AccuSnap.js.map +1 -1
- package/lib/esm/AuxCoordSys.js +1 -1
- package/lib/esm/AuxCoordSys.js.map +1 -1
- package/lib/esm/DisplayStyleState.d.ts +37 -0
- package/lib/esm/DisplayStyleState.d.ts.map +1 -1
- package/lib/esm/DisplayStyleState.js +65 -0
- package/lib/esm/DisplayStyleState.js.map +1 -1
- package/lib/esm/DrawingViewState.d.ts.map +1 -1
- package/lib/esm/DrawingViewState.js +1 -0
- package/lib/esm/DrawingViewState.js.map +1 -1
- package/lib/esm/GraphicalEditingScope.d.ts +1 -1
- package/lib/esm/GraphicalEditingScope.d.ts.map +1 -1
- package/lib/esm/GraphicalEditingScope.js +1 -1
- package/lib/esm/GraphicalEditingScope.js.map +1 -1
- package/lib/esm/HitDetail.d.ts +1 -1
- package/lib/esm/HitDetail.d.ts.map +1 -1
- package/lib/esm/HitDetail.js.map +1 -1
- package/lib/esm/IModelApp.d.ts +19 -4
- package/lib/esm/IModelApp.d.ts.map +1 -1
- package/lib/esm/IModelApp.js +22 -3
- package/lib/esm/IModelApp.js.map +1 -1
- package/lib/esm/IModelConnection.d.ts +8 -9
- package/lib/esm/IModelConnection.d.ts.map +1 -1
- package/lib/esm/IModelConnection.js +53 -25
- package/lib/esm/IModelConnection.js.map +1 -1
- package/lib/esm/IpcApp.d.ts +2 -1
- package/lib/esm/IpcApp.d.ts.map +1 -1
- package/lib/esm/IpcApp.js +4 -2
- package/lib/esm/IpcApp.js.map +1 -1
- package/lib/esm/RealityDataSource.d.ts +65 -3
- package/lib/esm/RealityDataSource.d.ts.map +1 -1
- package/lib/esm/RealityDataSource.js +77 -3
- package/lib/esm/RealityDataSource.js.map +1 -1
- package/lib/esm/RealityDataSourceTilesetUrlImpl.js +1 -1
- package/lib/esm/RealityDataSourceTilesetUrlImpl.js.map +1 -1
- package/lib/esm/SelectionSet.d.ts +7 -7
- package/lib/esm/SelectionSet.js +3 -3
- package/lib/esm/SelectionSet.js.map +1 -1
- package/lib/esm/SheetViewState.d.ts +2 -0
- package/lib/esm/SheetViewState.d.ts.map +1 -1
- package/lib/esm/SheetViewState.js +25 -3
- package/lib/esm/SheetViewState.js.map +1 -1
- package/lib/esm/ViewState.d.ts +1 -1
- package/lib/esm/ViewState.js +1 -1
- package/lib/esm/ViewState.js.map +1 -1
- package/lib/esm/Viewport.d.ts +6 -4
- package/lib/esm/Viewport.d.ts.map +1 -1
- package/lib/esm/Viewport.js +23 -3
- package/lib/esm/Viewport.js.map +1 -1
- package/lib/esm/common/gltf/GltfSchema.d.ts +18 -0
- package/lib/esm/common/gltf/GltfSchema.d.ts.map +1 -1
- package/lib/esm/common/gltf/GltfSchema.js +1 -0
- package/lib/esm/common/gltf/GltfSchema.js.map +1 -1
- package/lib/esm/common/imdl/CompactEdges.d.ts +11 -0
- package/lib/esm/common/imdl/CompactEdges.d.ts.map +1 -1
- package/lib/esm/common/imdl/CompactEdges.js +8 -6
- package/lib/esm/common/imdl/CompactEdges.js.map +1 -1
- package/lib/esm/common/imdl/ImdlSchema.d.ts +5 -1
- package/lib/esm/common/imdl/ImdlSchema.d.ts.map +1 -1
- package/lib/esm/common/imdl/ImdlSchema.js +4 -0
- package/lib/esm/common/imdl/ImdlSchema.js.map +1 -1
- package/lib/esm/common/imdl/ParseImdlDocument.d.ts.map +1 -1
- package/lib/esm/common/imdl/ParseImdlDocument.js +11 -9
- package/lib/esm/common/imdl/ParseImdlDocument.js.map +1 -1
- package/lib/esm/common/internal/render/EdgeParams.d.ts +7 -2
- package/lib/esm/common/internal/render/EdgeParams.d.ts.map +1 -1
- package/lib/esm/common/internal/render/EdgeParams.js +31 -9
- package/lib/esm/common/internal/render/EdgeParams.js.map +1 -1
- package/lib/esm/common/internal/render/MeshPrimitives.d.ts +2 -1
- package/lib/esm/common/internal/render/MeshPrimitives.d.ts.map +1 -1
- package/lib/esm/common/internal/render/MeshPrimitives.js +5 -7
- package/lib/esm/common/internal/render/MeshPrimitives.js.map +1 -1
- package/lib/esm/common/internal/render/PolylineParams.d.ts +8 -3
- package/lib/esm/common/internal/render/PolylineParams.d.ts.map +1 -1
- package/lib/esm/common/internal/render/PolylineParams.js +5 -8
- package/lib/esm/common/internal/render/PolylineParams.js.map +1 -1
- package/lib/esm/common/internal/render/VertexTableSplitter.d.ts.map +1 -1
- package/lib/esm/common/internal/render/VertexTableSplitter.js +9 -7
- package/lib/esm/common/internal/render/VertexTableSplitter.js.map +1 -1
- package/lib/esm/core-frontend.d.ts +2 -2
- package/lib/esm/core-frontend.d.ts.map +1 -1
- package/lib/esm/core-frontend.js +1 -1
- package/lib/esm/core-frontend.js.map +1 -1
- package/lib/esm/extension/ExtensionRuntime.js +15 -2
- package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
- package/lib/esm/extension/providers/ExtensionLoadScript.js +1 -1
- package/lib/esm/extension/providers/ExtensionLoadScript.js.map +1 -1
- package/lib/esm/internal/GoogleMapsDecorator.d.ts +53 -0
- package/lib/esm/internal/GoogleMapsDecorator.d.ts.map +1 -0
- package/lib/esm/internal/GoogleMapsDecorator.js +126 -0
- package/lib/esm/internal/GoogleMapsDecorator.js.map +1 -0
- package/lib/esm/internal/RealityDataSourceGoogle3dTilesImpl.d.ts +83 -0
- package/lib/esm/internal/RealityDataSourceGoogle3dTilesImpl.d.ts.map +1 -0
- package/lib/esm/internal/RealityDataSourceGoogle3dTilesImpl.js +197 -0
- package/lib/esm/internal/RealityDataSourceGoogle3dTilesImpl.js.map +1 -0
- package/lib/esm/internal/ScriptUtils.d.ts +5 -0
- package/lib/esm/internal/ScriptUtils.d.ts.map +1 -0
- package/lib/esm/internal/ScriptUtils.js +117 -0
- package/lib/esm/internal/ScriptUtils.js.map +1 -0
- package/lib/esm/internal/cross-package.d.ts +1 -0
- package/lib/esm/internal/cross-package.d.ts.map +1 -1
- package/lib/esm/internal/cross-package.js +1 -0
- package/lib/esm/internal/cross-package.js.map +1 -1
- package/lib/esm/internal/render/webgl/AtmosphereUniforms.d.ts +1 -1
- package/lib/esm/internal/render/webgl/AtmosphereUniforms.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/AtmosphereUniforms.js +1 -1
- package/lib/esm/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/AttributeBuffers.d.ts +2 -2
- package/lib/esm/internal/render/webgl/AttributeBuffers.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/AttributeBuffers.js +2 -2
- package/lib/esm/internal/render/webgl/AttributeBuffers.js.map +1 -1
- package/lib/esm/internal/render/webgl/BatchUniforms.js +1 -1
- package/lib/esm/internal/render/webgl/BatchUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/BranchStack.d.ts +2 -2
- package/lib/esm/internal/render/webgl/BranchStack.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/BranchStack.js +3 -2
- package/lib/esm/internal/render/webgl/BranchStack.js.map +1 -1
- package/lib/esm/internal/render/webgl/BranchState.d.ts +4 -2
- package/lib/esm/internal/render/webgl/BranchState.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/BranchState.js +4 -1
- package/lib/esm/internal/render/webgl/BranchState.js.map +1 -1
- package/lib/esm/internal/render/webgl/BranchUniforms.d.ts +2 -2
- package/lib/esm/internal/render/webgl/BranchUniforms.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/BranchUniforms.js +2 -2
- package/lib/esm/internal/render/webgl/BranchUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/ClippingProgram.d.ts +1 -1
- package/lib/esm/internal/render/webgl/ClippingProgram.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/ClippingProgram.js +1 -1
- package/lib/esm/internal/render/webgl/ClippingProgram.js.map +1 -1
- package/lib/esm/internal/render/webgl/ContourUniforms.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/ContourUniforms.js +2 -3
- package/lib/esm/internal/render/webgl/ContourUniforms.js.map +1 -1
- package/lib/esm/internal/render/webgl/Contours.js +8 -8
- package/lib/esm/internal/render/webgl/Contours.js.map +1 -1
- package/lib/esm/internal/render/webgl/EdgeGeometry.d.ts +8 -6
- package/lib/esm/internal/render/webgl/EdgeGeometry.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/EdgeGeometry.js +21 -7
- package/lib/esm/internal/render/webgl/EdgeGeometry.js.map +1 -1
- package/lib/esm/internal/render/webgl/Graphic.d.ts +2 -1
- package/lib/esm/internal/render/webgl/Graphic.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/Graphic.js +2 -0
- package/lib/esm/internal/render/webgl/Graphic.js.map +1 -1
- package/lib/esm/internal/render/webgl/IndexedEdgeGeometry.d.ts +6 -1
- package/lib/esm/internal/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/IndexedEdgeGeometry.js +19 -4
- package/lib/esm/internal/render/webgl/IndexedEdgeGeometry.js.map +1 -1
- package/lib/esm/internal/render/webgl/Mesh.d.ts +1 -1
- package/lib/esm/internal/render/webgl/Mesh.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/Mesh.js +14 -7
- package/lib/esm/internal/render/webgl/Mesh.js.map +1 -1
- package/lib/esm/internal/render/webgl/SceneCompositor.js +2 -1
- package/lib/esm/internal/render/webgl/SceneCompositor.js.map +1 -1
- package/lib/esm/internal/render/webgl/ShaderProgram.d.ts +2 -2
- package/lib/esm/internal/render/webgl/ShaderProgram.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/ShaderProgram.js +2 -2
- package/lib/esm/internal/render/webgl/ShaderProgram.js.map +1 -1
- package/lib/esm/internal/render/webgl/Target.d.ts +2 -1
- package/lib/esm/internal/render/webgl/Target.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/Target.js +3 -1
- package/lib/esm/internal/render/webgl/Target.js.map +1 -1
- package/lib/esm/internal/render/webgl/Technique.d.ts +3 -3
- package/lib/esm/internal/render/webgl/Technique.d.ts.map +1 -1
- package/lib/esm/internal/render/webgl/Technique.js +3 -3
- package/lib/esm/internal/render/webgl/Technique.js.map +1 -1
- package/lib/esm/internal/tile/ClassifierTileTree.js +3 -1
- package/lib/esm/internal/tile/ClassifierTileTree.js.map +1 -1
- package/lib/esm/internal/tile/IModelTile.d.ts +1 -0
- package/lib/esm/internal/tile/IModelTile.d.ts.map +1 -1
- package/lib/esm/internal/tile/IModelTile.js +4 -0
- package/lib/esm/internal/tile/IModelTile.js.map +1 -1
- package/lib/esm/internal/tile/IModelTileTree.d.ts +4 -2
- package/lib/esm/internal/tile/IModelTileTree.d.ts.map +1 -1
- package/lib/esm/internal/tile/IModelTileTree.js +60 -2
- package/lib/esm/internal/tile/IModelTileTree.js.map +1 -1
- package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.d.ts.map +1 -1
- package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.js +8 -0
- package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
- package/lib/esm/internal/tile/OrbitGtTileTree.d.ts +4 -1
- package/lib/esm/internal/tile/OrbitGtTileTree.d.ts.map +1 -1
- package/lib/esm/internal/tile/OrbitGtTileTree.js +5 -1
- package/lib/esm/internal/tile/OrbitGtTileTree.js.map +1 -1
- package/lib/esm/internal/tile/PrimaryTileTree.d.ts.map +1 -1
- package/lib/esm/internal/tile/PrimaryTileTree.js +5 -4
- package/lib/esm/internal/tile/PrimaryTileTree.js.map +1 -1
- package/lib/esm/internal/tile/RealityModelTileTree.d.ts +26 -7
- package/lib/esm/internal/tile/RealityModelTileTree.d.ts.map +1 -1
- package/lib/esm/internal/tile/RealityModelTileTree.js +48 -22
- package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -1
- package/lib/esm/internal/tile/RealityTileLoader.d.ts +2 -2
- package/lib/esm/internal/tile/RealityTileLoader.d.ts.map +1 -1
- package/lib/esm/internal/tile/RealityTileLoader.js +10 -2
- package/lib/esm/internal/tile/RealityTileLoader.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.d.ts +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.js +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +4 -0
- package/lib/esm/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/esm/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +52 -11
- package/lib/esm/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/internal/tile/map/WmtsCapabilities.d.ts +7 -0
- package/lib/esm/internal/tile/map/WmtsCapabilities.d.ts.map +1 -1
- package/lib/esm/internal/tile/map/WmtsCapabilities.js +17 -0
- package/lib/esm/internal/tile/map/WmtsCapabilities.js.map +1 -1
- package/lib/esm/internal/webgl.d.ts +1 -1
- package/lib/esm/internal/webgl.d.ts.map +1 -1
- package/lib/esm/internal/webgl.js.map +1 -1
- package/lib/esm/properties/AngleDescription.d.ts +4 -1
- package/lib/esm/properties/AngleDescription.d.ts.map +1 -1
- package/lib/esm/properties/AngleDescription.js +10 -2
- package/lib/esm/properties/AngleDescription.js.map +1 -1
- package/lib/esm/properties/FormattedQuantityDescription.d.ts +11 -1
- package/lib/esm/properties/FormattedQuantityDescription.d.ts.map +1 -1
- package/lib/esm/properties/FormattedQuantityDescription.js +7 -2
- package/lib/esm/properties/FormattedQuantityDescription.js.map +1 -1
- package/lib/esm/properties/LengthDescription.d.ts +12 -3
- package/lib/esm/properties/LengthDescription.d.ts.map +1 -1
- package/lib/esm/properties/LengthDescription.js +30 -6
- package/lib/esm/properties/LengthDescription.js.map +1 -1
- package/lib/esm/quantity-formatting/QuantityFormatter.d.ts +103 -7
- package/lib/esm/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
- package/lib/esm/quantity-formatting/QuantityFormatter.js +208 -23
- package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
- package/lib/esm/render/Decorations.d.ts +1 -1
- package/lib/esm/render/Decorations.d.ts.map +1 -1
- package/lib/esm/render/Decorations.js +1 -1
- package/lib/esm/render/Decorations.js.map +1 -1
- package/lib/esm/render/GraphicBranch.d.ts +4 -2
- package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
- package/lib/esm/render/GraphicBranch.js +1 -1
- package/lib/esm/render/GraphicBranch.js.map +1 -1
- package/lib/esm/render/MeshArgs.d.ts +8 -3
- package/lib/esm/render/MeshArgs.d.ts.map +1 -1
- package/lib/esm/render/MeshArgs.js.map +1 -1
- package/lib/esm/render/RenderGraphic.d.ts +1 -1
- package/lib/esm/render/RenderGraphic.d.ts.map +1 -1
- package/lib/esm/render/RenderGraphic.js.map +1 -1
- package/lib/esm/render/RenderSystem.d.ts +2 -2
- package/lib/esm/render/RenderSystem.d.ts.map +1 -1
- package/lib/esm/render/RenderSystem.js.map +1 -1
- package/lib/esm/render/ScreenSpaceEffectBuilder.d.ts +1 -1
- package/lib/esm/render/ScreenSpaceEffectBuilder.js.map +1 -1
- package/lib/esm/request/Request.d.ts +2 -2
- package/lib/esm/request/Request.js.map +1 -1
- package/lib/esm/tile/GltfReader.d.ts +6 -2
- package/lib/esm/tile/GltfReader.d.ts.map +1 -1
- package/lib/esm/tile/GltfReader.js +154 -19
- package/lib/esm/tile/GltfReader.js.map +1 -1
- package/lib/esm/tile/ImdlReader.js.map +1 -1
- package/lib/esm/tile/RealityTile.d.ts +9 -0
- package/lib/esm/tile/RealityTile.d.ts.map +1 -1
- package/lib/esm/tile/RealityTile.js +12 -0
- package/lib/esm/tile/RealityTile.js.map +1 -1
- package/lib/esm/tile/RealityTileTree.d.ts +4 -0
- package/lib/esm/tile/RealityTileTree.d.ts.map +1 -1
- package/lib/esm/tile/RealityTileTree.js +4 -0
- package/lib/esm/tile/RealityTileTree.js.map +1 -1
- package/lib/esm/tile/Tile.d.ts +1 -1
- package/lib/esm/tile/Tile.d.ts.map +1 -1
- package/lib/esm/tile/Tile.js +1 -1
- package/lib/esm/tile/Tile.js.map +1 -1
- package/lib/esm/tile/TileAdmin.d.ts +10 -0
- package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
- package/lib/esm/tile/TileAdmin.js +3 -0
- package/lib/esm/tile/TileAdmin.js.map +1 -1
- package/lib/esm/tile/TileGeometryCollector.d.ts +5 -0
- package/lib/esm/tile/TileGeometryCollector.d.ts.map +1 -1
- package/lib/esm/tile/TileGeometryCollector.js.map +1 -1
- package/lib/esm/tile/TileTree.d.ts +15 -2
- package/lib/esm/tile/TileTree.d.ts.map +1 -1
- package/lib/esm/tile/TileTree.js +14 -1
- package/lib/esm/tile/TileTree.js.map +1 -1
- package/lib/esm/tile/TileTreeReference.d.ts +17 -3
- package/lib/esm/tile/TileTreeReference.d.ts.map +1 -1
- package/lib/esm/tile/TileTreeReference.js +11 -5
- package/lib/esm/tile/TileTreeReference.js.map +1 -1
- package/lib/esm/tile/map/CesiumTerrainProvider.js +1 -1
- package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryTileTree.d.ts +2 -2
- package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
- package/lib/esm/tile/map/ImageryTileTree.js +2 -2
- package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
- package/lib/esm/tile/map/MapCartoRectangle.d.ts +10 -0
- package/lib/esm/tile/map/MapCartoRectangle.d.ts.map +1 -1
- package/lib/esm/tile/map/MapCartoRectangle.js +12 -0
- package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +3 -3
- package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryProvider.js +9 -5
- package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/MapTileTree.d.ts +1 -1
- package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
- package/lib/esm/tile/map/MapTileTree.js +1 -1
- package/lib/esm/tile/map/MapTileTree.js.map +1 -1
- package/lib/esm/tile/map/QuadId.d.ts +15 -0
- package/lib/esm/tile/map/QuadId.d.ts.map +1 -1
- package/lib/esm/tile/map/QuadId.js +12 -0
- package/lib/esm/tile/map/QuadId.js.map +1 -1
- package/lib/esm/tile/map/TerrainMeshProvider.d.ts +1 -1
- package/lib/esm/tile/map/TerrainMeshProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/TerrainMeshProvider.js +1 -1
- package/lib/esm/tile/map/TerrainMeshProvider.js.map +1 -1
- package/lib/esm/tools/AccuDrawViewportUI.d.ts +7 -0
- package/lib/esm/tools/AccuDrawViewportUI.d.ts.map +1 -1
- package/lib/esm/tools/AccuDrawViewportUI.js +14 -0
- package/lib/esm/tools/AccuDrawViewportUI.js.map +1 -1
- package/lib/esm/tools/ClipViewTool.d.ts.map +1 -1
- package/lib/esm/tools/ClipViewTool.js +18 -7
- package/lib/esm/tools/ClipViewTool.js.map +1 -1
- package/lib/esm/tools/ElementSetTool.d.ts +9 -1
- package/lib/esm/tools/ElementSetTool.d.ts.map +1 -1
- package/lib/esm/tools/ElementSetTool.js +132 -9
- package/lib/esm/tools/ElementSetTool.js.map +1 -1
- package/lib/esm/tools/IdleTool.d.ts.map +1 -1
- package/lib/esm/tools/IdleTool.js +4 -1
- package/lib/esm/tools/IdleTool.js.map +1 -1
- package/lib/esm/tools/MeasureTool.d.ts +9 -0
- package/lib/esm/tools/MeasureTool.d.ts.map +1 -1
- package/lib/esm/tools/MeasureTool.js +57 -24
- package/lib/esm/tools/MeasureTool.js.map +1 -1
- package/lib/esm/tools/PrimitiveTool.d.ts +1 -1
- package/lib/esm/tools/PrimitiveTool.d.ts.map +1 -1
- package/lib/esm/tools/PrimitiveTool.js +4 -3
- package/lib/esm/tools/PrimitiveTool.js.map +1 -1
- package/lib/esm/tools/SelectTool.d.ts +2 -2
- package/lib/esm/tools/SelectTool.d.ts.map +1 -1
- package/lib/esm/tools/SelectTool.js +26 -97
- package/lib/esm/tools/SelectTool.js.map +1 -1
- package/lib/esm/tools/Tool.d.ts +10 -1
- package/lib/esm/tools/Tool.d.ts.map +1 -1
- package/lib/esm/tools/Tool.js +27 -4
- package/lib/esm/tools/Tool.js.map +1 -1
- package/lib/esm/tools/ToolAdmin.d.ts +1 -0
- package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
- package/lib/esm/tools/ToolAdmin.js +59 -18
- package/lib/esm/tools/ToolAdmin.js.map +1 -1
- package/lib/esm/tools/ToolAssistance.d.ts +1 -1
- package/lib/esm/tools/ToolAssistance.js.map +1 -1
- package/lib/esm/tools/ToolSettings.d.ts +5 -0
- package/lib/esm/tools/ToolSettings.d.ts.map +1 -1
- package/lib/esm/tools/ToolSettings.js +5 -0
- package/lib/esm/tools/ToolSettings.js.map +1 -1
- package/lib/esm/tools/ViewTool.d.ts +1 -2
- package/lib/esm/tools/ViewTool.d.ts.map +1 -1
- package/lib/esm/tools/ViewTool.js +143 -84
- package/lib/esm/tools/ViewTool.js.map +1 -1
- package/lib/public/images/google_on_non_white.png +0 -0
- package/lib/public/images/google_on_non_white_hdpi.png +0 -0
- package/lib/public/images/google_on_white.png +0 -0
- package/lib/public/images/google_on_white_hdpi.png +0 -0
- package/lib/public/scripts/parse-imdl-worker.js +1 -1
- package/lib/workers/webpack/parse-imdl-worker.js +1 -1
- package/package.json +25 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphicalEditingScope.js","sourceRoot":"","sources":["../../src/GraphicalEditingScope.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module IModelConnection\n */\n\nimport { assert, BeEvent, compareStrings, DbOpcode, DuplicatePolicy, GuidString, Id64Set, Id64String, SortedArray } from \"@itwin/core-bentley\";\nimport { Range3d } from \"@itwin/core-geometry\";\nimport {\n EditingScopeNotifications, ElementGeometryChange, ipcAppChannels, ModelGeometryChanges, ModelGeometryChangesProps, RemoveFunction,\n} from \"@itwin/core-common\";\nimport { BriefcaseNotificationHandler } from \"./BriefcaseTxns\";\nimport { BriefcaseConnection } from \"./BriefcaseConnection\";\nimport { IpcApp } from \"./IpcApp\";\n\nclass ModelChanges extends SortedArray<ElementGeometryChange> {\n public geometryGuid: GuidString;\n public readonly range: Range3d;\n\n public constructor(geometryGuid: GuidString, range: Range3d) {\n super((lhs, rhs) => compareStrings(lhs.id, rhs.id), DuplicatePolicy.Replace);\n this.geometryGuid = geometryGuid;\n this.range = range;\n }\n}\n\n/** Represents a period of time within an [interactive editing]($docs/learning/InteractiveEditing.md) session during which the\n * geometry of elements being displayed in one or more [[Viewport]]s is being modified. Outside of such a scope, whenever the\n * geometry within a [GeometricModel]($backend) changes new [[Tile]]s must be generated to reflect those changes in a viewport.\n * Regenerating entire tiles each time individual elements change can be time-consuming, which may introduce an unacceptable delay\n * between making a modification and seeing its result on the screen.\n *\n * Within the context of a graphical editing scope, no new tiles are generated. Instead, the geometry for any deleted or modified elements\n * is hidden in the tile graphics, and additional temporary graphics are displayed for any newly-inserted or modified elements. Only when the\n * scope exits are new tiles produced.\n *\n * The application decides when to enter and exit a graphical editing scope. A single interactive editing session may involve any number of\n * editing scopes. Typically, applications will enter a new editing scope (after first exiting a previous scope, if one exists):\n * - When switching from a non-graphical workflow to one that involves editing geometry; or\n * - When changing which geometric model is being edited; or\n * - After performing an operation that creates or modifies a \"large\" number (perhaps hundreds?) of elements.\n *\n * An application should typically exit any graphical editing scope before:\n * - Pulling changesets; or\n * - Switching from a graphical editing workflow to some non-graphical workflow.\n *\n * Graphical editing scopes are only supported for [[BriefcaseConnection]]s opened in read-write mode that contain version 1.0.11 or newer of the BisCore schema.\n * @see [[BriefcaseConnection.enterEditingScope]] to create a scope for a briefcase.\n * @see [[BriefcaseConnection.editingScope]] to obtain a briefcase's current scope.\n * @see [[exit]] to terminate a scope.\n * @public\n */\nexport class GraphicalEditingScope extends BriefcaseNotificationHandler implements EditingScopeNotifications {\n public get briefcaseChannelName() { return ipcAppChannels.editingScope; }\n\n /** Maps model Id to accumulated changes to geometric elements within the associated model. */\n private readonly _geometryChanges = new Map<Id64String, ModelChanges>();\n private _disposed = false;\n private _cleanup?: RemoveFunction;\n\n /** The connection to the iModel being edited. */\n public readonly iModel: BriefcaseConnection;\n\n /** Event raised when a new scope is created for any [[BriefcaseConnection]].\n * @see [[onExiting]] and [[onExited]] for complementary events.\n */\n public static readonly onEnter = new BeEvent<(scope: GraphicalEditingScope) => void>();\n\n /** Event raised when this scope is about to exit.\n * @see [[onEnter]] for the complementary event.\n * @see [[onExited]] for an event raised after the scope exits.\n */\n public readonly onExiting = new BeEvent<(scope: GraphicalEditingScope) => void>();\n\n /** Event raised when this scope has exited.\n * @see [[onEnter]] for the complementary event.\n * @see [[onExiting]] for an event raised just before the scope is exited.\n */\n public readonly onExited = new BeEvent<(scope: GraphicalEditingScope) => void>();\n\n /** Event raised after geometric changes are written to the iModel. */\n public readonly onGeometryChanges = new BeEvent<(changes: Iterable<ModelGeometryChanges>, scope: GraphicalEditingScope) => void>();\n\n /** Don't call this directly - use BriefcaseConnection.enterEditingScope.\n * @internal\n */\n public static async enter(imodel: BriefcaseConnection): Promise<GraphicalEditingScope> {\n if (imodel.editingScope)\n throw new Error(\"Cannot create an editing scope for an iModel that already has one\");\n\n // Register the scope synchronously, in case enter() is called again for same iModel while awaiting asynchronous initialization.\n const scope = new GraphicalEditingScope(imodel);\n try {\n const scopeStarted = await IpcApp.appFunctionIpc.toggleGraphicalEditingScope(imodel.key, true);\n assert(scopeStarted); // If it didn't, the backend threw an error.\n } catch (e) {\n scope[Symbol.dispose]();\n throw e;\n }\n\n this.onEnter.raiseEvent(scope);\n\n return scope;\n }\n\n /** Exits this editing scope. The associated [[BriefcaseConnection]]'s `editingScope` will be reset to `undefined`.\n * @throws Error if the scope could not be exited, e.g., if it has already been exited.\n * @see [[BriefcaseConnection.enterEditingScope]] to enter an editing scope.\n */\n public async exit(): Promise<void> {\n if (this._disposed || this.iModel.editingScope !== this)\n throw new Error(\"Cannot exit editing scope after it is disconnected from the iModel\");\n\n this._disposed = true;\n try {\n this.onExiting.raiseEvent(this);\n } finally {\n const scopeExited = await IpcApp.appFunctionIpc.toggleGraphicalEditingScope(this.iModel.key, false);\n assert(!scopeExited);\n try {\n this.onExited.raiseEvent(this);\n } finally {\n this[Symbol.dispose]();\n }\n }\n }\n\n /** Obtain all geometric changes to elements within the specified model accumulated within this scope. */\n public getGeometryChangesForModel(modelId: Id64String): Iterable<ElementGeometryChange> | undefined {\n return this._geometryChanges.get(modelId);\n }\n\n /** Obtain all geometric changes to models accumulated within this scope. */\n public getGeometryChanges(): Iterable<ModelGeometryChanges> {\n return { [Symbol.iterator]: () => this.geometryChangeIterator() };\n }\n\n /** @internal */\n public get isDisposed() {\n return this._disposed;\n }\n\n private * geometryChangeIterator(): Iterator<ModelGeometryChanges> {\n for (const [key, value] of this._geometryChanges) {\n yield {\n id: key,\n geometryGuid: value.geometryGuid,\n range: value.range,\n elements: value,\n };\n }\n }\n\n private constructor(iModel: BriefcaseConnection) {\n super(iModel.key);\n this.iModel = iModel;\n this._cleanup = this.registerImpl();\n }\n\n private [Symbol.dispose](): void {\n this._disposed = true;\n\n this.onExiting.clear();\n this.onGeometryChanges.clear();\n this.onExited.clear();\n\n this._geometryChanges.clear();\n\n if (this._cleanup) {\n this._cleanup();\n this._cleanup = undefined;\n }\n }\n\n /** @deprecated in 5.0 Use [Symbol.dispose] instead. */\n public dispose() {\n this[Symbol.dispose]();\n }\n\n /** @internal */\n public notifyGeometryChanged(props: ModelGeometryChangesProps[]) {\n const changes = ModelGeometryChanges.iterable(props);\n const modelIds: Id64String[] = [];\n let deletedIds: Id64Set | undefined;\n\n for (const modelChanges of changes) {\n // ###TODO do we care about the model range?\n let list = this._geometryChanges.get(modelChanges.id);\n modelIds.push(modelChanges.id);\n for (const elementChange of modelChanges.elements) {\n if (!list) {\n this._geometryChanges.set(modelChanges.id, list = new ModelChanges(modelChanges.geometryGuid, modelChanges.range));\n } else {\n list.geometryGuid = modelChanges.geometryGuid;\n modelChanges.range.clone(list.range);\n }\n\n list.insert(elementChange);\n if (DbOpcode.Delete === elementChange.type) {\n if (undefined === deletedIds)\n deletedIds = new Set<Id64String>();\n deletedIds.add(elementChange.id);\n }\n }\n }\n\n if (deletedIds) {\n this.iModel.selectionSet.remove(deletedIds);\n this.iModel.hilited.remove({ elements: deletedIds });\n }\n\n this.onGeometryChanges.raiseEvent(changes, this);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"GraphicalEditingScope.js","sourceRoot":"","sources":["../../src/GraphicalEditingScope.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module IModelConnection\n */\n\nimport { assert, BeEvent, compareStrings, DbOpcode, DuplicatePolicy, GuidString, Id64Set, Id64String, SortedArray } from \"@itwin/core-bentley\";\nimport { Range3d } from \"@itwin/core-geometry\";\nimport {\n EditingScopeNotifications, ElementGeometryChange, ipcAppChannels, ModelGeometryChanges, ModelGeometryChangesProps, RemoveFunction,\n} from \"@itwin/core-common\";\nimport { BriefcaseNotificationHandler } from \"./BriefcaseTxns\";\nimport { BriefcaseConnection } from \"./BriefcaseConnection\";\nimport { IpcApp } from \"./IpcApp\";\n\nclass ModelChanges extends SortedArray<ElementGeometryChange> {\n public geometryGuid: GuidString;\n public readonly range: Range3d;\n\n public constructor(geometryGuid: GuidString, range: Range3d) {\n super((lhs, rhs) => compareStrings(lhs.id, rhs.id), DuplicatePolicy.Replace);\n this.geometryGuid = geometryGuid;\n this.range = range;\n }\n}\n\n/** Represents a period of time within an [interactive editing]($docs/learning/InteractiveEditing.md) session during which the\n * geometry of elements being displayed in one or more [[Viewport]]s is being modified. Outside of such a scope, whenever the\n * geometry within a [GeometricModel]($backend) changes new [[Tile]]s must be generated to reflect those changes in a viewport.\n * Regenerating entire tiles each time individual elements change can be time-consuming, which may introduce an unacceptable delay\n * between making a modification and seeing its result on the screen.\n *\n * Within the context of a graphical editing scope, no new tiles are generated. Instead, the geometry for any deleted or modified elements\n * is hidden in the tile graphics, and additional temporary graphics are displayed for any newly-inserted or modified elements. Only when the\n * scope exits are new tiles produced.\n *\n * The application decides when to enter and exit a graphical editing scope. A single interactive editing session may involve any number of\n * editing scopes. Typically, applications will enter a new editing scope (after first exiting a previous scope, if one exists):\n * - When switching from a non-graphical workflow to one that involves editing geometry; or\n * - When changing which geometric model is being edited; or\n * - After performing an operation that creates or modifies a \"large\" number (perhaps hundreds?) of elements.\n *\n * An application should typically exit any graphical editing scope before:\n * - Pulling changesets; or\n * - Switching from a graphical editing workflow to some non-graphical workflow.\n *\n * Graphical editing scopes are only supported for [[BriefcaseConnection]]s opened in read-write mode that contain version 1.0.11 or newer of the BisCore schema.\n * @see [[BriefcaseConnection.enterEditingScope]] to create a scope for a briefcase.\n * @see [[BriefcaseConnection.editingScope]] to obtain a briefcase's current scope.\n * @see [[exit]] to terminate a scope.\n * @public\n */\nexport class GraphicalEditingScope extends BriefcaseNotificationHandler implements EditingScopeNotifications {\n public get briefcaseChannelName() { return ipcAppChannels.editingScope; }\n\n /** Maps model Id to accumulated changes to geometric elements within the associated model. */\n private readonly _geometryChanges = new Map<Id64String, ModelChanges>();\n private _disposed = false;\n private _cleanup?: RemoveFunction;\n\n /** The connection to the iModel being edited. */\n public readonly iModel: BriefcaseConnection;\n\n /** Event raised when a new scope is created for any [[BriefcaseConnection]].\n * @see [[onExiting]] and [[onExited]] for complementary events.\n */\n public static readonly onEnter = new BeEvent<(scope: GraphicalEditingScope) => void>();\n\n /** Event raised when this scope is about to exit.\n * @see [[onEnter]] for the complementary event.\n * @see [[onExited]] for an event raised after the scope exits.\n */\n public readonly onExiting = new BeEvent<(scope: GraphicalEditingScope) => void>();\n\n /** Event raised when this scope has exited.\n * @see [[onEnter]] for the complementary event.\n * @see [[onExiting]] for an event raised just before the scope is exited.\n */\n public readonly onExited = new BeEvent<(scope: GraphicalEditingScope) => void>();\n\n /** Event raised after geometric changes are written to the iModel. */\n public readonly onGeometryChanges = new BeEvent<(changes: Iterable<ModelGeometryChanges>, scope: GraphicalEditingScope) => void>();\n\n /** Don't call this directly - use BriefcaseConnection.enterEditingScope.\n * @internal\n */\n public static async enter(imodel: BriefcaseConnection): Promise<GraphicalEditingScope> {\n if (imodel.editingScope)\n throw new Error(\"Cannot create an editing scope for an iModel that already has one\");\n\n // Register the scope synchronously, in case enter() is called again for same iModel while awaiting asynchronous initialization.\n const scope = new GraphicalEditingScope(imodel);\n try {\n const scopeStarted = await IpcApp.appFunctionIpc.toggleGraphicalEditingScope(imodel.key, true);\n assert(scopeStarted); // If it didn't, the backend threw an error.\n } catch (e) {\n scope[Symbol.dispose]();\n throw e;\n }\n\n this.onEnter.raiseEvent(scope);\n\n return scope;\n }\n\n /** Exits this editing scope. The associated [[BriefcaseConnection]]'s `editingScope` will be reset to `undefined`.\n * @throws Error if the scope could not be exited, e.g., if it has already been exited.\n * @see [[BriefcaseConnection.enterEditingScope]] to enter an editing scope.\n */\n public async exit(): Promise<void> {\n if (this._disposed || this.iModel.editingScope !== this)\n throw new Error(\"Cannot exit editing scope after it is disconnected from the iModel\");\n\n this._disposed = true;\n try {\n this.onExiting.raiseEvent(this);\n } finally {\n const scopeExited = await IpcApp.appFunctionIpc.toggleGraphicalEditingScope(this.iModel.key, false);\n assert(!scopeExited);\n try {\n this.onExited.raiseEvent(this);\n } finally {\n this[Symbol.dispose]();\n }\n }\n }\n\n /** Obtain all geometric changes to elements within the specified model accumulated within this scope. */\n public getGeometryChangesForModel(modelId: Id64String): Iterable<ElementGeometryChange> | undefined {\n return this._geometryChanges.get(modelId);\n }\n\n /** Obtain all geometric changes to models accumulated within this scope. */\n public getGeometryChanges(): Iterable<ModelGeometryChanges> {\n return { [Symbol.iterator]: () => this.geometryChangeIterator() };\n }\n\n /** @internal */\n public get isDisposed() {\n return this._disposed;\n }\n\n private * geometryChangeIterator(): Iterator<ModelGeometryChanges> {\n for (const [key, value] of this._geometryChanges) {\n yield {\n id: key,\n geometryGuid: value.geometryGuid,\n range: value.range,\n elements: value,\n };\n }\n }\n\n private constructor(iModel: BriefcaseConnection) {\n super(iModel.key);\n this.iModel = iModel;\n this._cleanup = this.registerImpl();\n }\n\n private [Symbol.dispose](): void {\n this._disposed = true;\n\n this.onExiting.clear();\n this.onGeometryChanges.clear();\n this.onExited.clear();\n\n this._geometryChanges.clear();\n\n if (this._cleanup) {\n this._cleanup();\n this._cleanup = undefined;\n }\n }\n\n /** @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [Symbol.dispose] instead. */\n public dispose() {\n this[Symbol.dispose]();\n }\n\n /** @internal */\n public notifyGeometryChanged(props: ModelGeometryChangesProps[]) {\n const changes = ModelGeometryChanges.iterable(props);\n const modelIds: Id64String[] = [];\n let deletedIds: Id64Set | undefined;\n\n for (const modelChanges of changes) {\n // ###TODO do we care about the model range?\n let list = this._geometryChanges.get(modelChanges.id);\n modelIds.push(modelChanges.id);\n for (const elementChange of modelChanges.elements) {\n if (!list) {\n this._geometryChanges.set(modelChanges.id, list = new ModelChanges(modelChanges.geometryGuid, modelChanges.range));\n } else {\n list.geometryGuid = modelChanges.geometryGuid;\n modelChanges.range.clone(list.range);\n }\n\n list.insert(elementChange);\n if (DbOpcode.Delete === elementChange.type) {\n if (undefined === deletedIds)\n deletedIds = new Set<Id64String>();\n deletedIds.add(elementChange.id);\n }\n }\n }\n\n if (deletedIds) {\n this.iModel.selectionSet.remove(deletedIds);\n this.iModel.hilited.remove({ elements: deletedIds });\n }\n\n this.onGeometryChanges.raiseEvent(changes, this);\n }\n}\n"]}
|
package/lib/esm/HitDetail.d.ts
CHANGED
|
@@ -253,7 +253,7 @@ export declare class HitDetail {
|
|
|
253
253
|
get contour(): ContourHit | undefined;
|
|
254
254
|
/** Create a new HitDetail from the inputs to and results of a locate operation. */
|
|
255
255
|
constructor(props: HitDetailProps);
|
|
256
|
-
/** @deprecated in 4.1. Use the overload that takes a [[HitDetailProps]]. */
|
|
256
|
+
/** @deprecated in 4.1 - will not be removed until after 2026-06-13. Use the overload that takes a [[HitDetailProps]]. */
|
|
257
257
|
constructor(testPoint: Point3d, viewport: ScreenViewport, hitSource: HitSource, hitPoint: Point3d, sourceId: string, priority: HitPriority, distXY: number, distFraction: number, subCategoryId?: string, geometryClass?: GeometryClass, modelId?: string, sourceIModel?: IModelConnection, tileId?: string, isClassifier?: boolean);
|
|
258
258
|
/** Get the type of HitDetail.
|
|
259
259
|
* @returns HitDetailType.Hit if this is a HitDetail, HitDetailType.Snap if it is a SnapDetail
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HitDetail.d.ts","sourceRoot":"","sources":["../../src/HitDetail.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"HitDetail.d.ts","sourceRoot":"","sources":["../../src/HitDetail.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/HitDetail.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HitDetail.js","sourceRoot":"","sources":["../../src/HitDetail.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module LocatingElements\n */\nimport { assert, Id64, Id64String } from \"@itwin/core-bentley\";\nimport { Arc3d, CurvePrimitive, LineSegment3d, LineString3d, Path, Point3d, Transform, Vector3d, XYZProps } from \"@itwin/core-geometry\";\nimport { ContourGroup, GeometryClass, LinePixels } from \"@itwin/core-common\";\nimport { IModelApp } from \"./IModelApp\";\nimport { IModelConnection } from \"./IModelConnection\";\nimport { IconSprites, Sprite } from \"./Sprites\";\nimport { DecorateContext } from \"./ViewContext\";\nimport { ScreenViewport, Viewport } from \"./Viewport\";\nimport { GraphicType } from \"./common/render/GraphicType\";\n\n/**\n * @public\n * @extensions\n */\nexport enum SnapMode {\n Nearest = 1,\n NearestKeypoint = 1 << 1,\n MidPoint = 1 << 2,\n Center = 1 << 3,\n Origin = 1 << 4,\n Bisector = 1 << 5,\n Intersection = 1 << 6,\n PerpendicularPoint = 1 << 7,\n TangentPoint = 1 << 8,\n}\n\n/**\n * @public\n * @extensions\n */\nexport enum SnapHeat {\n None = 0,\n NotInRange = 1, // \"of interest\", but out of range\n InRange = 2,\n}\n\n/** The procedure that generated this Hit.\n * @public\n * @extensions\n */\nexport enum HitSource {\n None = 0,\n FromUser = 1,\n MotionLocate = 2,\n AccuSnap = 3,\n TentativeSnap = 4,\n DataPoint = 5,\n Application = 6,\n EditAction = 7,\n EditActionSS = 8,\n}\n\n/** What was being tested to generate this hit. This is not the element or\n * GeometricPrimitive that generated the Hit, it is an indication of whether it is an edge or interior hit.\n * @public\n * @extensions\n */\nexport enum HitGeomType {\n None = 0,\n Point = 1,\n Segment = 2,\n Curve = 3,\n Arc = 4,\n Surface = 5,\n}\n\n/** Classification of GeometricPrimitive that generated the Hit.\n * @public\n * @extensions\n */\nexport enum HitParentGeomType {\n None = 0,\n Wire = 1,\n Sheet = 2,\n Solid = 3,\n Mesh = 4,\n Text = 5,\n}\n\n/**\n * @public\n * @extensions\n */\nexport enum HitPriority {\n WireEdge = 0,\n PlanarEdge = 1,\n NonPlanarEdge = 2,\n SilhouetteEdge = 3,\n PlanarSurface = 4,\n NonPlanarSurface = 5,\n Unknown = 6,\n}\n\n/**\n * @public\n * @extensions\n */\nexport enum HitDetailType {\n Hit = 1,\n Snap = 2,\n Intersection = 3,\n}\n\n/** As part of a [[HitPath]], describes the [ViewAttachment]($backend), if any, from which the hit represented by a [[HitDetail]] originated.\n * @beta\n */\nexport interface ViewAttachmentHitInfo {\n /** The element Id of the [ViewAttachment]($backend) from which the hit originated. */\n readonly id: Id64String;\n /** The viewport that renders the contents of the attached view into the [[ScreenViewport]].\n * @note Do not alter the state of this viewport.\n * @alpha\n */\n readonly viewport: Viewport;\n}\n\n/** As part of a [[HitPath]], describes the [SectionDrawing]($backend), if any, from which the hit represented by a [[HitDetail]] originated.\n * @beta\n */\nexport interface SectionDrawingAttachmentHitInfo {\n /** The viewport that renders the contents of the attached view into the [[ScreenViewport]].\n * @note Do not alter the state of this viewport.\n * @alpha\n */\n readonly viewport: Viewport;\n}\n\n/** As part of a [[HitDetail]], describes a series of \"attached\" views through which the hit was located.\n * Typically, the contents of a view are rendered directly to the screen via [[HitDetail.viewport]].\n * However, in some contexts one view might be \"attached\" to the viewport's view via a [ViewAttachment]($backend), [SectionDrawing]($backend), or both.\n * HitPath captures this information in one of the following possible ways:\n * 1. A [[SheetViewState]] renders another view through a [ViewAttachment]($backend), in which case [[viewAttachment]] will be defined.\n * 2. A [[DrawingViewState]] renders a [[SpatialViewState]] through a [SectionDrawing]($backend) attachment, in which case [[sectionDrawingAttachment]] will be defined; or\n * 3. A combination of 1 and 2 where a [ViewAttachment]($backend) on a sheet renders a [SectionDrawing]($backend) with an attached [[SpatialViewState]], in which both [viewAttachment]] and [[sectionDrawingAttachment]] will be defined.\n * @beta\n */\nexport interface HitPath {\n /** Details about the [ViewAttachment]($backend) through which the hit was obtained. */\n viewAttachment?: ViewAttachmentHitInfo;\n /** Details about the [SectionDrawing]($backend) attachment through which the hit was obtained. */\n sectionDrawingAttachment?: SectionDrawingAttachmentHitInfo;\n};\n\n/** Information about a [contour line]($docs/learning/display/ContourDisplay.md) that generated a [[HitDetail]] or [[Pixel]].\n * @see [[HitDetail.contour]]\n * @see [[Pixel.Data.contour]]\n * @beta\n */\nexport interface ContourHit {\n /** The contour group that generated the contour line, as specified by [[ContourDisplay.groups]]. */\n readonly group: ContourGroup;\n /** True if the contour is a major contour line as specified by the [[group]] from which it originated, false if it is a minor contour line. */\n readonly isMajor: boolean;\n /** The height in world coordinates of the contour line. This is always a multiple of the [Contour.minorInterval]($common) defined for the [[group]].\n * @note The multiple may be approximate due to the limitations of floating-point precision.\n */\n readonly elevation: number;\n}\n\n/** Arguments supplied to the [[HitDetail]] constructor.\n * @public\n */\nexport interface HitDetailProps {\n /** The point in world coordinates that was used as the initial locate point. */\n readonly testPoint: Point3d;\n /** The viewport in which the locate operation was performed. */\n readonly viewport: ScreenViewport;\n /** The procedure that requested the locate operation. */\n readonly hitSource: HitSource;\n /** The approximate location in world coordinates on the geometry identified by this HitDetail. */\n readonly hitPoint: Point3d;\n /** The source of the geometry. This may be a persistent element Id, or a transient Id used for, e.g., pickable decorations. */\n readonly sourceId: Id64String;\n /** The hit geometry priority/classification. */\n readonly priority: HitPriority;\n /** The xy distance to the hit in view coordinates. */\n readonly distXY: number;\n /** The distance in view coordinates between the hit and the near plane. */\n readonly distFraction: number;\n /** The [SubCategory]($backend) to which the hit geometry belongs. */\n readonly subCategoryId?: Id64String;\n /** The class of the hit geometry. */\n readonly geometryClass?: GeometryClass;\n /** The Id of the [[ModelState]] from which the hit originated. */\n readonly modelId?: string;\n /** The IModelConnection from which the hit originated.\n * This should almost always be left undefined, unless the hit is known to have originated from an iModel\n * other than the one associated with the viewport.\n * @internal\n */\n readonly sourceIModel?: IModelConnection;\n /** @internal */\n readonly transformFromSourceIModel?: Transform;\n /** @internal chiefly for debugging */\n readonly tileId?: string;\n /** True if the hit originated from a reality model classifier.\n * @alpha\n */\n readonly isClassifier?: boolean;\n /** Describes the path by which the hit was located through a series of attached views.\n * @beta\n */\n readonly path?: HitPath;\n /** Information about the [contour line]($docs/learning/display/ContourDisplay.md), if any, from which this hit originated.\n * @beta\n */\n readonly contour?: ContourHit;\n}\n\n/** A HitDetail stores the result when locating geometry displayed in a view.\n * It holds an approximate location on an element (or decoration) from a *pick*.\n * @public\n * @extensions\n */\nexport class HitDetail {\n private readonly _props: HitDetailProps;\n\n /** The point in world coordinates that was used as the initial locate point. */\n public get testPoint(): Point3d { return this._props.testPoint; }\n /** The viewport in which the locate operation was performed. */\n public get viewport(): ScreenViewport { return this._props.viewport; }\n /** The procedure that requested the locate operation. */\n public get hitSource(): HitSource { return this._props.hitSource; }\n /** The approximate location in world coordinates on the geometry identified by this HitDetail. */\n public get hitPoint(): Point3d { return this._props.hitPoint; }\n /** The source of the geometry. This may be a persistent element Id, or a transient Id used for, e.g., pickable decorations. */\n public get sourceId(): Id64String { return this._props.sourceId; }\n /** The hit geometry priority/classification. */\n public get priority(): HitPriority { return this._props.priority; }\n /** The xy distance to the hit in view coordinates. */\n public get distXY(): number { return this._props.distXY; }\n /** The distance in view coordinates between the hit and the near plane. */\n public get distFraction(): number { return this._props.distFraction; }\n /** The [SubCategory]($backend) to which the hit geometry belongs. */\n public get subCategoryId(): Id64String | undefined { return this._props.subCategoryId; }\n /** The class of the hit geometry. */\n public get geometryClass(): GeometryClass | undefined { return this._props.geometryClass; }\n /** The Id of the [[ModelState]] from which the hit originated. */\n public get modelId(): string | undefined { return this._props.modelId; }\n /** The IModelConnection from which the hit originated.\n * This should almost always be left undefined, unless the hit is known to have originated from an iModel\n * other than the one associated with the viewport.\n * @internal\n */\n public get sourceIModel(): IModelConnection | undefined { return this._props.sourceIModel; }\n /** @internal */\n public get transformFromSourceIModel(): Transform | undefined { return this._props.transformFromSourceIModel; }\n /** @internal chiefly for debugging */\n public get tileId(): string | undefined { return this._props.tileId; }\n /** True if the hit originated from a reality model classifier.\n * @alpha\n */\n public get isClassifier(): boolean | undefined { return this._props.isClassifier; }\n /** Information about the [ViewAttachment]($backend) within which the hit geometry resides, if any.\n * @note Only [[SheetViewState]]s can have view attachments.\n * @beta\n */\n public get viewAttachment(): ViewAttachmentHitInfo | undefined { return this._props.path?.viewAttachment; }\n /** Describes the path by which the hit was located through a series of attached views.\n * @beta\n */\n public get path(): HitPath | undefined { return this._props.path; }\n /** Information about the [contour line]($docs/learning/display/ContourDisplay.md), if any, from which this hit originated.\n * @beta\n */\n public get contour(): ContourHit | undefined { return this._props.contour; }\n\n /** Create a new HitDetail from the inputs to and results of a locate operation. */\n public constructor(props: HitDetailProps);\n\n /** @deprecated in 4.1. Use the overload that takes a [[HitDetailProps]]. */\n public constructor(testPoint: Point3d, viewport: ScreenViewport, hitSource: HitSource, hitPoint: Point3d, sourceId: string, priority: HitPriority, distXY: number, distFraction: number, subCategoryId?: string, geometryClass?: GeometryClass, modelId?: string, sourceIModel?: IModelConnection, tileId?: string, isClassifier?: boolean);\n\n /** @internal */\n public constructor(arg0: Point3d | HitDetailProps, viewport?: ScreenViewport, hitSource?: HitSource, hitPoint?: Point3d, sourceId?: string, priority?: HitPriority, distXY?: number, distFraction?: number, subCategoryId?: string, geometryClass?: GeometryClass, modelId?: string, sourceIModel?: IModelConnection, tileId?: string, isClassifier?: boolean) {\n if (arg0 instanceof Point3d) {\n assert(undefined !== viewport && undefined !== hitSource && undefined !== hitPoint && undefined !== sourceId);\n assert(undefined !== priority && undefined !== distXY && undefined !== distFraction);\n\n this._props = {\n testPoint: arg0,\n viewport,\n hitSource,\n hitPoint,\n sourceId,\n priority,\n distXY,\n distFraction,\n subCategoryId,\n geometryClass,\n modelId,\n sourceIModel,\n tileId,\n isClassifier,\n };\n } else {\n // Ignore an empty path.\n const path = arg0.path?.sectionDrawingAttachment || arg0.path?.viewAttachment ? arg0.path : undefined;\n\n // Tempting to use { ...arg0 } but spread operator omits getters so, e.g., if input is a HitDetail we would lose all the properties.\n this._props = {\n testPoint: arg0.testPoint,\n viewport: arg0.viewport,\n hitSource: arg0.hitSource,\n hitPoint: arg0.hitPoint,\n sourceId: arg0.sourceId,\n priority: arg0.priority,\n distXY: arg0.distXY,\n distFraction: arg0.distFraction,\n subCategoryId: arg0.subCategoryId,\n geometryClass: arg0.geometryClass,\n modelId: arg0.modelId,\n sourceIModel: arg0.sourceIModel,\n transformFromSourceIModel: arg0.transformFromSourceIModel,\n tileId: arg0.tileId,\n isClassifier: arg0.isClassifier,\n path,\n contour: arg0.contour,\n };\n }\n }\n\n /** Get the type of HitDetail.\n * @returns HitDetailType.Hit if this is a HitDetail, HitDetailType.Snap if it is a SnapDetail\n */\n public getHitType(): HitDetailType { return HitDetailType.Hit; }\n\n /** Get the *hit point* for this HitDetail. Returns the approximate point on the element that caused the hit when not a SnapDetail or IntersectDetail.\n * For a snap that is *hot*, the *exact* point on the Element for the snap mode is returned, otherwise the close point on the hit geometry is returned.\n */\n public getPoint(): Point3d { return this.hitPoint; }\n\n /** Determine if this HitPoint is from the same source as another HitDetail. */\n public isSameHit(otherHit?: HitDetail): boolean { return (undefined !== otherHit && this.sourceId === otherHit.sourceId && this.iModel === otherHit.iModel); }\n /** Return whether sourceId is for a persistent element and not a pickable decoration. */\n public get isElementHit(): boolean { return !Id64.isInvalid(this.sourceId) && !Id64.isTransient(this.sourceId); }\n // return whether the sourceId is for a model (reality models etc.)\n public get isModelHit(): boolean {\n return this.modelId === this.sourceId;\n }\n // return whether the hit point is from map.\n public get isMapHit(): boolean { return 0 !== this.viewport.mapLayerFromHit(this).length; }\n\n /** Create a deep copy of this HitDetail */\n public clone(): HitDetail {\n return new HitDetail(this);\n }\n\n /** Draw this HitDetail as a Decoration. Causes the picked element to *flash* */\n public draw(_context: DecorateContext) {\n this.viewport.flashedId = this.sourceId;\n }\n\n /** Get the tooltip content for this HitDetail. */\n public async getToolTip(): Promise<HTMLElement | string> {\n let toolTipPromise = this.isElementHit ? IModelApp.viewManager.overrideElementToolTip(this) : IModelApp.viewManager.getDecorationToolTip(this);\n for (const toolTipProvider of IModelApp.viewManager.toolTipProviders)\n toolTipPromise = toolTipProvider.augmentToolTip(this, toolTipPromise);\n return toolTipPromise;\n }\n\n /** The IModelConnection from which the hit originated. In some cases this may not be the same as the iModel associated with the Viewport -\n * for example, if a [[TiledGraphicsProvider]] is used to display graphics from a different iModel in the viewport.\n * This HitDetail's element, subcategory, and model Ids are defined in the context of this IModelConnection.\n */\n public get iModel(): IModelConnection {\n return this.sourceIModel ?? this.viewport.iModel;\n }\n\n /** Returns true if this hit originated from an [[IModelConnection]] other than the one associated with the [[Viewport]].\n * @see [[iModel]].\n */\n public get isExternalIModelHit(): boolean {\n return this.iModel !== this.viewport.iModel;\n }\n}\n\n/** A SnapDetail is generated from the result of a snap request. In addition to the HitDetail about the reason the element was *picked*,\n * it holds the *exact* point on the element from the snapping logic, plus additional information that varies with the type of element and snap mode.\n * @public\n * @extensions\n */\nexport class SnapDetail extends HitDetail {\n /** A sprite to show the user the type of snap performed */\n public sprite?: Sprite;\n /** HitPoint adjusted by snap */\n public readonly snapPoint: Point3d;\n /** AccuSnap/AccuDraw can adjust the point after the snap. */\n public readonly adjustedPoint: Point3d;\n /** Curve primitive for snap. */\n public primitive?: CurvePrimitive;\n /** Surface normal at snapPoint */\n public normal?: Vector3d;\n /** The HitGeomType of this SnapDetail */\n public geomType?: HitGeomType;\n /** The HitGeomType of this SnapDetail */\n public parentGeomType?: HitParentGeomType;\n\n /** Constructor for SnapDetail.\n * @param from The HitDetail that created this snap\n * @param snapMode The SnapMode used to create this SnapDetail\n * @param heat The SnapHeat of this SnapDetail\n * @param snapPoint The snapped point in the element\n */\n public constructor(from: HitDetail, public snapMode: SnapMode = SnapMode.Nearest, public heat: SnapHeat = SnapHeat.None, snapPoint?: XYZProps) {\n super(from);\n this.snapPoint = Point3d.fromJSON(snapPoint ? snapPoint : from.hitPoint);\n this.adjustedPoint = this.snapPoint.clone();\n this.sprite = IconSprites.getSpriteFromUrl(SnapDetail.getSnapSpriteUrl(snapMode));\n }\n\n /** Returns `HitDetailType.Snap` */\n public override getHitType(): HitDetailType { return HitDetailType.Snap; }\n /** Get the snap point if this SnapDetail is *hot*, the pick point otherwise. */\n public override getPoint(): Point3d { return this.isHot ? this.snapPoint : super.getPoint(); }\n /** Return true if the pick point was closer than the snap aperture from the generated snap point. */\n public get isHot(): boolean { return this.heat !== SnapHeat.None; }\n /** Determine whether the [[adjustedPoint]] is different than the [[snapPoint]]. This happens, for example, when points are adjusted for grids, acs plane snap, and AccuDraw. */\n public get isPointAdjusted(): boolean { return !this.adjustedPoint.isExactEqual(this.snapPoint); }\n\n /** Change the snap point. */\n public setSnapPoint(point: Point3d, heat: SnapHeat) {\n this.snapPoint.setFrom(point);\n this.adjustedPoint.setFrom(point);\n this.heat = heat;\n }\n\n /** Change the snap mode. */\n public setSnapMode(snapMode: SnapMode) {\n this.snapMode = snapMode;\n this.sprite = IconSprites.getSpriteFromUrl(SnapDetail.getSnapSpriteUrl(snapMode));\n }\n\n /** Set curve primitive and HitGeometryType for this SnapDetail. */\n public setCurvePrimitive(primitive?: CurvePrimitive, localToWorld?: Transform, geomType?: HitGeomType): void {\n this.primitive = primitive;\n this.geomType = undefined;\n\n // Only HitGeomType.Point and HitGeomType.Surface are valid without a curve primitive.\n if (undefined === this.primitive) {\n if (HitGeomType.Point === geomType || HitGeomType.Surface === geomType)\n this.geomType = geomType;\n return;\n }\n\n if (undefined !== localToWorld)\n this.primitive.tryTransformInPlace(localToWorld);\n\n if (this.primitive instanceof Arc3d)\n this.geomType = HitGeomType.Arc;\n else if (this.primitive instanceof LineSegment3d)\n this.geomType = HitGeomType.Segment;\n else if (this.primitive instanceof LineString3d)\n this.geomType = HitGeomType.Segment;\n else\n this.geomType = HitGeomType.Curve;\n\n // Set curve primitive geometry type override...\n // - HitGeomType.Point with arc/ellipse denotes center.\n // - HitGeomType.Surface with any curve primitive denotes an interior hit.\n if (undefined !== geomType && HitGeomType.None !== geomType)\n this.geomType = geomType;\n }\n\n /** Make a copy of this SnapDetail. */\n public override clone(): SnapDetail {\n const val = new SnapDetail(this, this.snapMode, this.heat, this.snapPoint);\n val.sprite = this.sprite;\n val.geomType = this.geomType;\n val.parentGeomType = this.parentGeomType;\n val.adjustedPoint.setFrom(this.adjustedPoint);\n if (undefined !== this.primitive)\n val.primitive = this.primitive.clone();\n if (undefined !== this.normal)\n val.normal = this.normal.clone();\n return val;\n }\n\n public getCurvePrimitive(singleSegment: boolean = true): CurvePrimitive | undefined {\n if (!singleSegment || undefined === this.primitive)\n return this.primitive;\n\n if (this.primitive instanceof LineString3d) {\n const ls = this.primitive;\n if (ls.points.length > 2) {\n const loc = ls.closestPoint(this.snapPoint, false);\n const nSegments = ls.points.length - 1;\n const uSegRange = (1.0 / nSegments);\n let segmentNo = Math.floor(loc.fraction / uSegRange);\n if (segmentNo >= nSegments)\n segmentNo = nSegments - 1;\n return LineSegment3d.create(ls.points[segmentNo], ls.points[segmentNo + 1]);\n }\n }\n\n return this.primitive;\n }\n\n public override draw(context: DecorateContext) {\n if (undefined !== this.primitive) {\n let singleSegment = false;\n switch (this.snapMode) {\n case SnapMode.Center:\n case SnapMode.Origin:\n case SnapMode.Bisector:\n break; // Snap point for these is computed using entire linestring, not just the hit segment...\n\n default: {\n singleSegment = true;\n break;\n }\n }\n\n const builder = context.createGraphicBuilder(GraphicType.WorldOverlay);\n const outline = context.viewport.hilite.color.adjustedForContrast(context.viewport.view.backgroundColor, 50);\n const centerLine = context.viewport.hilite.color.adjustedForContrast(outline, 175);\n const path = Path.create(this.getCurvePrimitive(singleSegment)!);\n\n builder.setSymbology(outline, outline, 6);\n builder.addPath(path);\n\n builder.setSymbology(centerLine, centerLine, 2);\n builder.addPath(path);\n\n context.addDecorationFromBuilder(builder);\n return;\n }\n super.draw(context);\n }\n\n private static getSnapSpriteUrl(snapType: SnapMode): string {\n switch (snapType) {\n case SnapMode.Nearest: return `${IModelApp.publicPath}sprites/SnapPointOn.png`;\n case SnapMode.NearestKeypoint: return `${IModelApp.publicPath}sprites/SnapKeypoint.png`;\n case SnapMode.MidPoint: return `${IModelApp.publicPath}sprites/SnapMidpoint.png`;\n case SnapMode.Center: return `${IModelApp.publicPath}sprites/SnapCenter.png`;\n case SnapMode.Origin: return `${IModelApp.publicPath}sprites/SnapOrigin.png`;\n case SnapMode.Bisector: return `${IModelApp.publicPath}sprites/SnapBisector.png`;\n case SnapMode.Intersection: return `${IModelApp.publicPath}sprites/SnapIntersection.png`;\n case SnapMode.PerpendicularPoint: return `${IModelApp.publicPath}sprites/SnapPerpendicularPoint.png`;\n case SnapMode.TangentPoint: return `${IModelApp.publicPath}sprites/SnapTangentPoint.png`;\n }\n return \"\";\n }\n}\n\n/**\n * @public\n * @extensions\n */\nexport class IntersectDetail extends SnapDetail {\n public constructor(from: SnapDetail, heat: SnapHeat = SnapHeat.None, snapPoint: XYZProps, public readonly otherPrimitive: CurvePrimitive, public readonly otherId: string) {\n super(from, SnapMode.Intersection, heat, snapPoint);\n this.primitive = from.primitive;\n this.normal = from.normal; // Preserve normal from primary snap location for AccuDraw smart rotation...\n }\n\n public override draw(context: DecorateContext) {\n if (undefined !== this.primitive && undefined !== this.otherPrimitive) {\n const builder = context.createGraphicBuilder(GraphicType.WorldOverlay);\n const outline = context.viewport.hilite.color.adjustedForContrast(context.viewport.view.backgroundColor, 50);\n const centerLine = context.viewport.hilite.color.adjustedForContrast(outline, 175);\n const path1 = Path.create(this.primitive);\n const path2 = Path.create(this.otherPrimitive);\n\n builder.setSymbology(outline, outline, 6);\n builder.addPath(path1);\n builder.addPath(path2);\n\n builder.setSymbology(centerLine, centerLine, 2);\n builder.addPath(path1);\n builder.setSymbology(centerLine, centerLine, 2, LinePixels.Code2);\n builder.addPath(path2);\n\n context.addDecorationFromBuilder(builder);\n return;\n }\n super.draw(context);\n }\n}\n\n/** The result of a \"locate\" is a sorted list of objects that satisfied the search criteria (a HitList). Earlier hits in the list\n * are somehow *better* than those later on.\n * @public\n * @extensions\n */\nexport class HitList<T extends HitDetail> {\n public hits: T[] = [];\n public currHit = -1;\n public get length(): number { return this.hits.length; }\n public empty(): void {\n this.hits.length = 0;\n this.currHit = -1;\n }\n\n public resetCurrentHit(): void { this.currHit = -1; }\n\n /** Get a hit from a particular index into a HitList\n * return the requested hit from the HitList or undefined\n */\n public getHit(hitNum: number): T | undefined {\n if (hitNum < 0)\n hitNum = this.length - 1;\n\n return (hitNum >= this.length) ? undefined : this.hits[hitNum];\n }\n\n /** When setting one or more indices to undefined you must call dropNulls afterwards */\n public setHit(i: number, p: T | undefined): void {\n if (i < 0 || i >= this.length)\n return;\n this.hits[i] = p!;\n }\n\n public dropNulls(): void {\n const hits = this.hits;\n this.hits = [];\n for (const hit of hits)\n this.hits.push(hit);\n }\n\n public getNextHit(): T | undefined {\n this.currHit++;\n return this.getCurrentHit();\n }\n\n public getCurrentHit(): T | undefined { return -1 === this.currHit ? undefined : this.getHit(this.currHit); }\n\n public setCurrentHit(hit: T): void {\n this.resetCurrentHit();\n for (let thisHit; undefined !== (thisHit = this.getNextHit());) {\n if (thisHit === hit)\n return;\n }\n }\n\n /** remove the current hit from the list. */\n public removeCurrentHit() { this.removeHit(this.currHit); }\n\n /** remove a hit in the list. */\n public removeHit(hitNum: number) {\n if (hitNum < 0) // Support -1 == END\n hitNum = this.length - 1;\n\n if (hitNum <= this.currHit)\n this.currHit = -1;\n\n if (hitNum >= this.length) // Locate calls GetNextHit, which increments currHit, until it goes beyond the end of size of the array.\n return; // Then Reset call RemoteCurrentHit, which passes in currHit. When it is out of range, we do nothing.\n\n this.hits.splice(hitNum, 1);\n }\n\n /** search through list and remove any hits that contain a specified element id. */\n public removeHitsFrom(sourceId: string): boolean {\n let removedOne = false;\n\n // walk backwards through list so we don't have to worry about what happens on remove\n for (let i = this.length - 1; i >= 0; i--) {\n const thisHit = this.hits[i];\n if (thisHit && sourceId === thisHit.sourceId) {\n removedOne = true;\n this.removeHit(i);\n }\n }\n return removedOne;\n }\n\n private getPriorityZOverride(priority: HitPriority): number {\n switch (priority) {\n case HitPriority.WireEdge:\n case HitPriority.PlanarEdge:\n case HitPriority.NonPlanarEdge:\n return 0;\n case HitPriority.SilhouetteEdge:\n return 1;\n case HitPriority.PlanarSurface:\n case HitPriority.NonPlanarSurface:\n return 2;\n default:\n return 3;\n }\n }\n\n /** compare two hits for insertion into list. */\n public compare(hit1: HitDetail | undefined, hit2: HitDetail | undefined): -1 | 1 | 0 {\n if (!hit1 || !hit2)\n return 0;\n\n const zOverride1 = this.getPriorityZOverride(hit1.priority);\n const zOverride2 = this.getPriorityZOverride(hit2.priority);\n\n // Prefer edges over surfaces, this is more important than z because we know the edge isn't obscured...\n if (zOverride1 < zOverride2)\n return -1;\n if (zOverride1 > zOverride2)\n return 1;\n\n // Compare xy distance from pick point, prefer hits closer to center...\n if (hit1.distXY < hit2.distXY)\n return -1;\n if (hit1.distXY > hit2.distXY)\n return 1;\n\n // Compare distance fraction, prefer hits closer to eye...\n if (hit1.distFraction > hit2.distFraction)\n return -1;\n if (hit1.distFraction < hit2.distFraction)\n return 1;\n\n // Compare geometry class, prefer path/region hits over surface hits when all else is equal...\n if (hit1.priority < hit2.priority)\n return -1;\n if (hit1.priority > hit2.priority)\n return 1;\n\n return 0;\n }\n\n /** Add a new hit to the list. Hits are sorted according to their priority and distance. */\n public addHit(newHit: T): number {\n if (0 === this.hits.length) {\n this.hits.push(newHit);\n return 0;\n }\n let index = 0;\n for (; index < this.hits.length; ++index) {\n const oldHit = this.hits[index];\n const comparison = this.compare(newHit, oldHit);\n if (comparison < 0)\n break;\n }\n\n this.hits.splice(index, 0, newHit);\n return index;\n }\n\n /** Insert a new hit into the list at the supplied index. */\n public insertHit(i: number, hit: T): void {\n if (i < 0 || i >= this.length)\n this.hits.push(hit);\n else\n this.hits.splice(i, 0, hit);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"HitDetail.js","sourceRoot":"","sources":["../../src/HitDetail.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module LocatingElements\n */\nimport { assert, Id64, Id64String } from \"@itwin/core-bentley\";\nimport { Arc3d, CurvePrimitive, LineSegment3d, LineString3d, Path, Point3d, Transform, Vector3d, XYZProps } from \"@itwin/core-geometry\";\nimport { ContourGroup, GeometryClass, LinePixels } from \"@itwin/core-common\";\nimport { IModelApp } from \"./IModelApp\";\nimport { IModelConnection } from \"./IModelConnection\";\nimport { IconSprites, Sprite } from \"./Sprites\";\nimport { DecorateContext } from \"./ViewContext\";\nimport { ScreenViewport, Viewport } from \"./Viewport\";\nimport { GraphicType } from \"./common/render/GraphicType\";\n\n/**\n * @public\n * @extensions\n */\nexport enum SnapMode {\n Nearest = 1,\n NearestKeypoint = 1 << 1,\n MidPoint = 1 << 2,\n Center = 1 << 3,\n Origin = 1 << 4,\n Bisector = 1 << 5,\n Intersection = 1 << 6,\n PerpendicularPoint = 1 << 7,\n TangentPoint = 1 << 8,\n}\n\n/**\n * @public\n * @extensions\n */\nexport enum SnapHeat {\n None = 0,\n NotInRange = 1, // \"of interest\", but out of range\n InRange = 2,\n}\n\n/** The procedure that generated this Hit.\n * @public\n * @extensions\n */\nexport enum HitSource {\n None = 0,\n FromUser = 1,\n MotionLocate = 2,\n AccuSnap = 3,\n TentativeSnap = 4,\n DataPoint = 5,\n Application = 6,\n EditAction = 7,\n EditActionSS = 8,\n}\n\n/** What was being tested to generate this hit. This is not the element or\n * GeometricPrimitive that generated the Hit, it is an indication of whether it is an edge or interior hit.\n * @public\n * @extensions\n */\nexport enum HitGeomType {\n None = 0,\n Point = 1,\n Segment = 2,\n Curve = 3,\n Arc = 4,\n Surface = 5,\n}\n\n/** Classification of GeometricPrimitive that generated the Hit.\n * @public\n * @extensions\n */\nexport enum HitParentGeomType {\n None = 0,\n Wire = 1,\n Sheet = 2,\n Solid = 3,\n Mesh = 4,\n Text = 5,\n}\n\n/**\n * @public\n * @extensions\n */\nexport enum HitPriority {\n WireEdge = 0,\n PlanarEdge = 1,\n NonPlanarEdge = 2,\n SilhouetteEdge = 3,\n PlanarSurface = 4,\n NonPlanarSurface = 5,\n Unknown = 6,\n}\n\n/**\n * @public\n * @extensions\n */\nexport enum HitDetailType {\n Hit = 1,\n Snap = 2,\n Intersection = 3,\n}\n\n/** As part of a [[HitPath]], describes the [ViewAttachment]($backend), if any, from which the hit represented by a [[HitDetail]] originated.\n * @beta\n */\nexport interface ViewAttachmentHitInfo {\n /** The element Id of the [ViewAttachment]($backend) from which the hit originated. */\n readonly id: Id64String;\n /** The viewport that renders the contents of the attached view into the [[ScreenViewport]].\n * @note Do not alter the state of this viewport.\n * @alpha\n */\n readonly viewport: Viewport;\n}\n\n/** As part of a [[HitPath]], describes the [SectionDrawing]($backend), if any, from which the hit represented by a [[HitDetail]] originated.\n * @beta\n */\nexport interface SectionDrawingAttachmentHitInfo {\n /** The viewport that renders the contents of the attached view into the [[ScreenViewport]].\n * @note Do not alter the state of this viewport.\n * @alpha\n */\n readonly viewport: Viewport;\n}\n\n/** As part of a [[HitDetail]], describes a series of \"attached\" views through which the hit was located.\n * Typically, the contents of a view are rendered directly to the screen via [[HitDetail.viewport]].\n * However, in some contexts one view might be \"attached\" to the viewport's view via a [ViewAttachment]($backend), [SectionDrawing]($backend), or both.\n * HitPath captures this information in one of the following possible ways:\n * 1. A [[SheetViewState]] renders another view through a [ViewAttachment]($backend), in which case [[viewAttachment]] will be defined.\n * 2. A [[DrawingViewState]] renders a [[SpatialViewState]] through a [SectionDrawing]($backend) attachment, in which case [[sectionDrawingAttachment]] will be defined; or\n * 3. A combination of 1 and 2 where a [ViewAttachment]($backend) on a sheet renders a [SectionDrawing]($backend) with an attached [[SpatialViewState]], in which both [viewAttachment]] and [[sectionDrawingAttachment]] will be defined.\n * @beta\n */\nexport interface HitPath {\n /** Details about the [ViewAttachment]($backend) through which the hit was obtained. */\n viewAttachment?: ViewAttachmentHitInfo;\n /** Details about the [SectionDrawing]($backend) attachment through which the hit was obtained. */\n sectionDrawingAttachment?: SectionDrawingAttachmentHitInfo;\n};\n\n/** Information about a [contour line]($docs/learning/display/ContourDisplay.md) that generated a [[HitDetail]] or [[Pixel]].\n * @see [[HitDetail.contour]]\n * @see [[Pixel.Data.contour]]\n * @beta\n */\nexport interface ContourHit {\n /** The contour group that generated the contour line, as specified by [[ContourDisplay.groups]]. */\n readonly group: ContourGroup;\n /** True if the contour is a major contour line as specified by the [[group]] from which it originated, false if it is a minor contour line. */\n readonly isMajor: boolean;\n /** The height in world coordinates of the contour line. This is always a multiple of the [Contour.minorInterval]($common) defined for the [[group]].\n * @note The multiple may be approximate due to the limitations of floating-point precision.\n */\n readonly elevation: number;\n}\n\n/** Arguments supplied to the [[HitDetail]] constructor.\n * @public\n */\nexport interface HitDetailProps {\n /** The point in world coordinates that was used as the initial locate point. */\n readonly testPoint: Point3d;\n /** The viewport in which the locate operation was performed. */\n readonly viewport: ScreenViewport;\n /** The procedure that requested the locate operation. */\n readonly hitSource: HitSource;\n /** The approximate location in world coordinates on the geometry identified by this HitDetail. */\n readonly hitPoint: Point3d;\n /** The source of the geometry. This may be a persistent element Id, or a transient Id used for, e.g., pickable decorations. */\n readonly sourceId: Id64String;\n /** The hit geometry priority/classification. */\n readonly priority: HitPriority;\n /** The xy distance to the hit in view coordinates. */\n readonly distXY: number;\n /** The distance in view coordinates between the hit and the near plane. */\n readonly distFraction: number;\n /** The [SubCategory]($backend) to which the hit geometry belongs. */\n readonly subCategoryId?: Id64String;\n /** The class of the hit geometry. */\n readonly geometryClass?: GeometryClass;\n /** The Id of the [[ModelState]] from which the hit originated. */\n readonly modelId?: string;\n /** The IModelConnection from which the hit originated.\n * This should almost always be left undefined, unless the hit is known to have originated from an iModel\n * other than the one associated with the viewport.\n * @internal\n */\n readonly sourceIModel?: IModelConnection;\n /** @internal */\n readonly transformFromSourceIModel?: Transform;\n /** @internal chiefly for debugging */\n readonly tileId?: string;\n /** True if the hit originated from a reality model classifier.\n * @alpha\n */\n readonly isClassifier?: boolean;\n /** Describes the path by which the hit was located through a series of attached views.\n * @beta\n */\n readonly path?: HitPath;\n /** Information about the [contour line]($docs/learning/display/ContourDisplay.md), if any, from which this hit originated.\n * @beta\n */\n readonly contour?: ContourHit;\n}\n\n/** A HitDetail stores the result when locating geometry displayed in a view.\n * It holds an approximate location on an element (or decoration) from a *pick*.\n * @public\n * @extensions\n */\nexport class HitDetail {\n private readonly _props: HitDetailProps;\n\n /** The point in world coordinates that was used as the initial locate point. */\n public get testPoint(): Point3d { return this._props.testPoint; }\n /** The viewport in which the locate operation was performed. */\n public get viewport(): ScreenViewport { return this._props.viewport; }\n /** The procedure that requested the locate operation. */\n public get hitSource(): HitSource { return this._props.hitSource; }\n /** The approximate location in world coordinates on the geometry identified by this HitDetail. */\n public get hitPoint(): Point3d { return this._props.hitPoint; }\n /** The source of the geometry. This may be a persistent element Id, or a transient Id used for, e.g., pickable decorations. */\n public get sourceId(): Id64String { return this._props.sourceId; }\n /** The hit geometry priority/classification. */\n public get priority(): HitPriority { return this._props.priority; }\n /** The xy distance to the hit in view coordinates. */\n public get distXY(): number { return this._props.distXY; }\n /** The distance in view coordinates between the hit and the near plane. */\n public get distFraction(): number { return this._props.distFraction; }\n /** The [SubCategory]($backend) to which the hit geometry belongs. */\n public get subCategoryId(): Id64String | undefined { return this._props.subCategoryId; }\n /** The class of the hit geometry. */\n public get geometryClass(): GeometryClass | undefined { return this._props.geometryClass; }\n /** The Id of the [[ModelState]] from which the hit originated. */\n public get modelId(): string | undefined { return this._props.modelId; }\n /** The IModelConnection from which the hit originated.\n * This should almost always be left undefined, unless the hit is known to have originated from an iModel\n * other than the one associated with the viewport.\n * @internal\n */\n public get sourceIModel(): IModelConnection | undefined { return this._props.sourceIModel; }\n /** @internal */\n public get transformFromSourceIModel(): Transform | undefined { return this._props.transformFromSourceIModel; }\n /** @internal chiefly for debugging */\n public get tileId(): string | undefined { return this._props.tileId; }\n /** True if the hit originated from a reality model classifier.\n * @alpha\n */\n public get isClassifier(): boolean | undefined { return this._props.isClassifier; }\n /** Information about the [ViewAttachment]($backend) within which the hit geometry resides, if any.\n * @note Only [[SheetViewState]]s can have view attachments.\n * @beta\n */\n public get viewAttachment(): ViewAttachmentHitInfo | undefined { return this._props.path?.viewAttachment; }\n /** Describes the path by which the hit was located through a series of attached views.\n * @beta\n */\n public get path(): HitPath | undefined { return this._props.path; }\n /** Information about the [contour line]($docs/learning/display/ContourDisplay.md), if any, from which this hit originated.\n * @beta\n */\n public get contour(): ContourHit | undefined { return this._props.contour; }\n\n /** Create a new HitDetail from the inputs to and results of a locate operation. */\n public constructor(props: HitDetailProps);\n\n /** @deprecated in 4.1 - will not be removed until after 2026-06-13. Use the overload that takes a [[HitDetailProps]]. */\n public constructor(testPoint: Point3d, viewport: ScreenViewport, hitSource: HitSource, hitPoint: Point3d, sourceId: string, priority: HitPriority, distXY: number, distFraction: number, subCategoryId?: string, geometryClass?: GeometryClass, modelId?: string, sourceIModel?: IModelConnection, tileId?: string, isClassifier?: boolean);\n\n /** @internal */\n public constructor(arg0: Point3d | HitDetailProps, viewport?: ScreenViewport, hitSource?: HitSource, hitPoint?: Point3d, sourceId?: string, priority?: HitPriority, distXY?: number, distFraction?: number, subCategoryId?: string, geometryClass?: GeometryClass, modelId?: string, sourceIModel?: IModelConnection, tileId?: string, isClassifier?: boolean) {\n if (arg0 instanceof Point3d) {\n assert(undefined !== viewport && undefined !== hitSource && undefined !== hitPoint && undefined !== sourceId);\n assert(undefined !== priority && undefined !== distXY && undefined !== distFraction);\n\n this._props = {\n testPoint: arg0,\n viewport,\n hitSource,\n hitPoint,\n sourceId,\n priority,\n distXY,\n distFraction,\n subCategoryId,\n geometryClass,\n modelId,\n sourceIModel,\n tileId,\n isClassifier,\n };\n } else {\n // Ignore an empty path.\n const path = arg0.path?.sectionDrawingAttachment || arg0.path?.viewAttachment ? arg0.path : undefined;\n\n // Tempting to use { ...arg0 } but spread operator omits getters so, e.g., if input is a HitDetail we would lose all the properties.\n this._props = {\n testPoint: arg0.testPoint,\n viewport: arg0.viewport,\n hitSource: arg0.hitSource,\n hitPoint: arg0.hitPoint,\n sourceId: arg0.sourceId,\n priority: arg0.priority,\n distXY: arg0.distXY,\n distFraction: arg0.distFraction,\n subCategoryId: arg0.subCategoryId,\n geometryClass: arg0.geometryClass,\n modelId: arg0.modelId,\n sourceIModel: arg0.sourceIModel,\n transformFromSourceIModel: arg0.transformFromSourceIModel,\n tileId: arg0.tileId,\n isClassifier: arg0.isClassifier,\n path,\n contour: arg0.contour,\n };\n }\n }\n\n /** Get the type of HitDetail.\n * @returns HitDetailType.Hit if this is a HitDetail, HitDetailType.Snap if it is a SnapDetail\n */\n public getHitType(): HitDetailType { return HitDetailType.Hit; }\n\n /** Get the *hit point* for this HitDetail. Returns the approximate point on the element that caused the hit when not a SnapDetail or IntersectDetail.\n * For a snap that is *hot*, the *exact* point on the Element for the snap mode is returned, otherwise the close point on the hit geometry is returned.\n */\n public getPoint(): Point3d { return this.hitPoint; }\n\n /** Determine if this HitPoint is from the same source as another HitDetail. */\n public isSameHit(otherHit?: HitDetail): boolean { return (undefined !== otherHit && this.sourceId === otherHit.sourceId && this.iModel === otherHit.iModel); }\n /** Return whether sourceId is for a persistent element and not a pickable decoration. */\n public get isElementHit(): boolean { return !Id64.isInvalid(this.sourceId) && !Id64.isTransient(this.sourceId); }\n // return whether the sourceId is for a model (reality models etc.)\n public get isModelHit(): boolean {\n return this.modelId === this.sourceId;\n }\n // return whether the hit point is from map.\n public get isMapHit(): boolean { return 0 !== this.viewport.mapLayerFromHit(this).length; }\n\n /** Create a deep copy of this HitDetail */\n public clone(): HitDetail {\n return new HitDetail(this);\n }\n\n /** Draw this HitDetail as a Decoration. Causes the picked element to *flash* */\n public draw(_context: DecorateContext) {\n this.viewport.flashedId = this.sourceId;\n }\n\n /** Get the tooltip content for this HitDetail. */\n public async getToolTip(): Promise<HTMLElement | string> {\n let toolTipPromise = this.isElementHit ? IModelApp.viewManager.overrideElementToolTip(this) : IModelApp.viewManager.getDecorationToolTip(this);\n for (const toolTipProvider of IModelApp.viewManager.toolTipProviders)\n toolTipPromise = toolTipProvider.augmentToolTip(this, toolTipPromise);\n return toolTipPromise;\n }\n\n /** The IModelConnection from which the hit originated. In some cases this may not be the same as the iModel associated with the Viewport -\n * for example, if a [[TiledGraphicsProvider]] is used to display graphics from a different iModel in the viewport.\n * This HitDetail's element, subcategory, and model Ids are defined in the context of this IModelConnection.\n */\n public get iModel(): IModelConnection {\n return this.sourceIModel ?? this.viewport.iModel;\n }\n\n /** Returns true if this hit originated from an [[IModelConnection]] other than the one associated with the [[Viewport]].\n * @see [[iModel]].\n */\n public get isExternalIModelHit(): boolean {\n return this.iModel !== this.viewport.iModel;\n }\n}\n\n/** A SnapDetail is generated from the result of a snap request. In addition to the HitDetail about the reason the element was *picked*,\n * it holds the *exact* point on the element from the snapping logic, plus additional information that varies with the type of element and snap mode.\n * @public\n * @extensions\n */\nexport class SnapDetail extends HitDetail {\n /** A sprite to show the user the type of snap performed */\n public sprite?: Sprite;\n /** HitPoint adjusted by snap */\n public readonly snapPoint: Point3d;\n /** AccuSnap/AccuDraw can adjust the point after the snap. */\n public readonly adjustedPoint: Point3d;\n /** Curve primitive for snap. */\n public primitive?: CurvePrimitive;\n /** Surface normal at snapPoint */\n public normal?: Vector3d;\n /** The HitGeomType of this SnapDetail */\n public geomType?: HitGeomType;\n /** The HitGeomType of this SnapDetail */\n public parentGeomType?: HitParentGeomType;\n\n /** Constructor for SnapDetail.\n * @param from The HitDetail that created this snap\n * @param snapMode The SnapMode used to create this SnapDetail\n * @param heat The SnapHeat of this SnapDetail\n * @param snapPoint The snapped point in the element\n */\n public constructor(from: HitDetail, public snapMode: SnapMode = SnapMode.Nearest, public heat: SnapHeat = SnapHeat.None, snapPoint?: XYZProps) {\n super(from);\n this.snapPoint = Point3d.fromJSON(snapPoint ? snapPoint : from.hitPoint);\n this.adjustedPoint = this.snapPoint.clone();\n this.sprite = IconSprites.getSpriteFromUrl(SnapDetail.getSnapSpriteUrl(snapMode));\n }\n\n /** Returns `HitDetailType.Snap` */\n public override getHitType(): HitDetailType { return HitDetailType.Snap; }\n /** Get the snap point if this SnapDetail is *hot*, the pick point otherwise. */\n public override getPoint(): Point3d { return this.isHot ? this.snapPoint : super.getPoint(); }\n /** Return true if the pick point was closer than the snap aperture from the generated snap point. */\n public get isHot(): boolean { return this.heat !== SnapHeat.None; }\n /** Determine whether the [[adjustedPoint]] is different than the [[snapPoint]]. This happens, for example, when points are adjusted for grids, acs plane snap, and AccuDraw. */\n public get isPointAdjusted(): boolean { return !this.adjustedPoint.isExactEqual(this.snapPoint); }\n\n /** Change the snap point. */\n public setSnapPoint(point: Point3d, heat: SnapHeat) {\n this.snapPoint.setFrom(point);\n this.adjustedPoint.setFrom(point);\n this.heat = heat;\n }\n\n /** Change the snap mode. */\n public setSnapMode(snapMode: SnapMode) {\n this.snapMode = snapMode;\n this.sprite = IconSprites.getSpriteFromUrl(SnapDetail.getSnapSpriteUrl(snapMode));\n }\n\n /** Set curve primitive and HitGeometryType for this SnapDetail. */\n public setCurvePrimitive(primitive?: CurvePrimitive, localToWorld?: Transform, geomType?: HitGeomType): void {\n this.primitive = primitive;\n this.geomType = undefined;\n\n // Only HitGeomType.Point and HitGeomType.Surface are valid without a curve primitive.\n if (undefined === this.primitive) {\n if (HitGeomType.Point === geomType || HitGeomType.Surface === geomType)\n this.geomType = geomType;\n return;\n }\n\n if (undefined !== localToWorld)\n this.primitive.tryTransformInPlace(localToWorld);\n\n if (this.primitive instanceof Arc3d)\n this.geomType = HitGeomType.Arc;\n else if (this.primitive instanceof LineSegment3d)\n this.geomType = HitGeomType.Segment;\n else if (this.primitive instanceof LineString3d)\n this.geomType = HitGeomType.Segment;\n else\n this.geomType = HitGeomType.Curve;\n\n // Set curve primitive geometry type override...\n // - HitGeomType.Point with arc/ellipse denotes center.\n // - HitGeomType.Surface with any curve primitive denotes an interior hit.\n if (undefined !== geomType && HitGeomType.None !== geomType)\n this.geomType = geomType;\n }\n\n /** Make a copy of this SnapDetail. */\n public override clone(): SnapDetail {\n const val = new SnapDetail(this, this.snapMode, this.heat, this.snapPoint);\n val.sprite = this.sprite;\n val.geomType = this.geomType;\n val.parentGeomType = this.parentGeomType;\n val.adjustedPoint.setFrom(this.adjustedPoint);\n if (undefined !== this.primitive)\n val.primitive = this.primitive.clone();\n if (undefined !== this.normal)\n val.normal = this.normal.clone();\n return val;\n }\n\n public getCurvePrimitive(singleSegment: boolean = true): CurvePrimitive | undefined {\n if (!singleSegment || undefined === this.primitive)\n return this.primitive;\n\n if (this.primitive instanceof LineString3d) {\n const ls = this.primitive;\n if (ls.points.length > 2) {\n const loc = ls.closestPoint(this.snapPoint, false);\n const nSegments = ls.points.length - 1;\n const uSegRange = (1.0 / nSegments);\n let segmentNo = Math.floor(loc.fraction / uSegRange);\n if (segmentNo >= nSegments)\n segmentNo = nSegments - 1;\n return LineSegment3d.create(ls.points[segmentNo], ls.points[segmentNo + 1]);\n }\n }\n\n return this.primitive;\n }\n\n public override draw(context: DecorateContext) {\n if (undefined !== this.primitive) {\n let singleSegment = false;\n switch (this.snapMode) {\n case SnapMode.Center:\n case SnapMode.Origin:\n case SnapMode.Bisector:\n break; // Snap point for these is computed using entire linestring, not just the hit segment...\n\n default: {\n singleSegment = true;\n break;\n }\n }\n\n const builder = context.createGraphicBuilder(GraphicType.WorldOverlay);\n const outline = context.viewport.hilite.color.adjustedForContrast(context.viewport.view.backgroundColor, 50);\n const centerLine = context.viewport.hilite.color.adjustedForContrast(outline, 175);\n const path = Path.create(this.getCurvePrimitive(singleSegment)!);\n\n builder.setSymbology(outline, outline, 6);\n builder.addPath(path);\n\n builder.setSymbology(centerLine, centerLine, 2);\n builder.addPath(path);\n\n context.addDecorationFromBuilder(builder);\n return;\n }\n super.draw(context);\n }\n\n private static getSnapSpriteUrl(snapType: SnapMode): string {\n switch (snapType) {\n case SnapMode.Nearest: return `${IModelApp.publicPath}sprites/SnapPointOn.png`;\n case SnapMode.NearestKeypoint: return `${IModelApp.publicPath}sprites/SnapKeypoint.png`;\n case SnapMode.MidPoint: return `${IModelApp.publicPath}sprites/SnapMidpoint.png`;\n case SnapMode.Center: return `${IModelApp.publicPath}sprites/SnapCenter.png`;\n case SnapMode.Origin: return `${IModelApp.publicPath}sprites/SnapOrigin.png`;\n case SnapMode.Bisector: return `${IModelApp.publicPath}sprites/SnapBisector.png`;\n case SnapMode.Intersection: return `${IModelApp.publicPath}sprites/SnapIntersection.png`;\n case SnapMode.PerpendicularPoint: return `${IModelApp.publicPath}sprites/SnapPerpendicularPoint.png`;\n case SnapMode.TangentPoint: return `${IModelApp.publicPath}sprites/SnapTangentPoint.png`;\n }\n return \"\";\n }\n}\n\n/**\n * @public\n * @extensions\n */\nexport class IntersectDetail extends SnapDetail {\n public constructor(from: SnapDetail, heat: SnapHeat = SnapHeat.None, snapPoint: XYZProps, public readonly otherPrimitive: CurvePrimitive, public readonly otherId: string) {\n super(from, SnapMode.Intersection, heat, snapPoint);\n this.primitive = from.primitive;\n this.normal = from.normal; // Preserve normal from primary snap location for AccuDraw smart rotation...\n }\n\n public override draw(context: DecorateContext) {\n if (undefined !== this.primitive && undefined !== this.otherPrimitive) {\n const builder = context.createGraphicBuilder(GraphicType.WorldOverlay);\n const outline = context.viewport.hilite.color.adjustedForContrast(context.viewport.view.backgroundColor, 50);\n const centerLine = context.viewport.hilite.color.adjustedForContrast(outline, 175);\n const path1 = Path.create(this.primitive);\n const path2 = Path.create(this.otherPrimitive);\n\n builder.setSymbology(outline, outline, 6);\n builder.addPath(path1);\n builder.addPath(path2);\n\n builder.setSymbology(centerLine, centerLine, 2);\n builder.addPath(path1);\n builder.setSymbology(centerLine, centerLine, 2, LinePixels.Code2);\n builder.addPath(path2);\n\n context.addDecorationFromBuilder(builder);\n return;\n }\n super.draw(context);\n }\n}\n\n/** The result of a \"locate\" is a sorted list of objects that satisfied the search criteria (a HitList). Earlier hits in the list\n * are somehow *better* than those later on.\n * @public\n * @extensions\n */\nexport class HitList<T extends HitDetail> {\n public hits: T[] = [];\n public currHit = -1;\n public get length(): number { return this.hits.length; }\n public empty(): void {\n this.hits.length = 0;\n this.currHit = -1;\n }\n\n public resetCurrentHit(): void { this.currHit = -1; }\n\n /** Get a hit from a particular index into a HitList\n * return the requested hit from the HitList or undefined\n */\n public getHit(hitNum: number): T | undefined {\n if (hitNum < 0)\n hitNum = this.length - 1;\n\n return (hitNum >= this.length) ? undefined : this.hits[hitNum];\n }\n\n /** When setting one or more indices to undefined you must call dropNulls afterwards */\n public setHit(i: number, p: T | undefined): void {\n if (i < 0 || i >= this.length)\n return;\n this.hits[i] = p!;\n }\n\n public dropNulls(): void {\n const hits = this.hits;\n this.hits = [];\n for (const hit of hits)\n this.hits.push(hit);\n }\n\n public getNextHit(): T | undefined {\n this.currHit++;\n return this.getCurrentHit();\n }\n\n public getCurrentHit(): T | undefined { return -1 === this.currHit ? undefined : this.getHit(this.currHit); }\n\n public setCurrentHit(hit: T): void {\n this.resetCurrentHit();\n for (let thisHit; undefined !== (thisHit = this.getNextHit());) {\n if (thisHit === hit)\n return;\n }\n }\n\n /** remove the current hit from the list. */\n public removeCurrentHit() { this.removeHit(this.currHit); }\n\n /** remove a hit in the list. */\n public removeHit(hitNum: number) {\n if (hitNum < 0) // Support -1 == END\n hitNum = this.length - 1;\n\n if (hitNum <= this.currHit)\n this.currHit = -1;\n\n if (hitNum >= this.length) // Locate calls GetNextHit, which increments currHit, until it goes beyond the end of size of the array.\n return; // Then Reset call RemoteCurrentHit, which passes in currHit. When it is out of range, we do nothing.\n\n this.hits.splice(hitNum, 1);\n }\n\n /** search through list and remove any hits that contain a specified element id. */\n public removeHitsFrom(sourceId: string): boolean {\n let removedOne = false;\n\n // walk backwards through list so we don't have to worry about what happens on remove\n for (let i = this.length - 1; i >= 0; i--) {\n const thisHit = this.hits[i];\n if (thisHit && sourceId === thisHit.sourceId) {\n removedOne = true;\n this.removeHit(i);\n }\n }\n return removedOne;\n }\n\n private getPriorityZOverride(priority: HitPriority): number {\n switch (priority) {\n case HitPriority.WireEdge:\n case HitPriority.PlanarEdge:\n case HitPriority.NonPlanarEdge:\n return 0;\n case HitPriority.SilhouetteEdge:\n return 1;\n case HitPriority.PlanarSurface:\n case HitPriority.NonPlanarSurface:\n return 2;\n default:\n return 3;\n }\n }\n\n /** compare two hits for insertion into list. */\n public compare(hit1: HitDetail | undefined, hit2: HitDetail | undefined): -1 | 1 | 0 {\n if (!hit1 || !hit2)\n return 0;\n\n const zOverride1 = this.getPriorityZOverride(hit1.priority);\n const zOverride2 = this.getPriorityZOverride(hit2.priority);\n\n // Prefer edges over surfaces, this is more important than z because we know the edge isn't obscured...\n if (zOverride1 < zOverride2)\n return -1;\n if (zOverride1 > zOverride2)\n return 1;\n\n // Compare xy distance from pick point, prefer hits closer to center...\n if (hit1.distXY < hit2.distXY)\n return -1;\n if (hit1.distXY > hit2.distXY)\n return 1;\n\n // Compare distance fraction, prefer hits closer to eye...\n if (hit1.distFraction > hit2.distFraction)\n return -1;\n if (hit1.distFraction < hit2.distFraction)\n return 1;\n\n // Compare geometry class, prefer path/region hits over surface hits when all else is equal...\n if (hit1.priority < hit2.priority)\n return -1;\n if (hit1.priority > hit2.priority)\n return 1;\n\n return 0;\n }\n\n /** Add a new hit to the list. Hits are sorted according to their priority and distance. */\n public addHit(newHit: T): number {\n if (0 === this.hits.length) {\n this.hits.push(newHit);\n return 0;\n }\n let index = 0;\n for (; index < this.hits.length; ++index) {\n const oldHit = this.hits[index];\n const comparison = this.compare(newHit, oldHit);\n if (comparison < 0)\n break;\n }\n\n this.hits.splice(index, 0, newHit);\n return index;\n }\n\n /** Insert a new hit into the list at the supplied index. */\n public insertHit(i: number, hit: T): void {\n if (i < 0 || i >= this.length)\n this.hits.push(hit);\n else\n this.hits.splice(i, 0, hit);\n }\n}\n"]}
|
package/lib/esm/IModelApp.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export declare const ITWINJS_CORE_VERSION: string;
|
|
|
6
6
|
import { UiAdmin } from "@itwin/appui-abstract";
|
|
7
7
|
import { AccessToken, BeDuration, BeEvent, GuidString } from "@itwin/core-bentley";
|
|
8
8
|
import { AuthorizationClient, Localization, RealityDataAccess, RpcInterfaceDefinition } from "@itwin/core-common";
|
|
9
|
+
import { FormatsProvider } from "@itwin/core-quantity";
|
|
9
10
|
import { WebGLRenderCompatibilityInfo } from "@itwin/webgl-compatibility";
|
|
10
11
|
import { AccuDraw } from "./AccuDraw";
|
|
11
12
|
import { AccuSnap } from "./AccuSnap";
|
|
@@ -87,14 +88,16 @@ export interface IModelAppOptions {
|
|
|
87
88
|
renderSys?: RenderSystem | RenderSystem.Options;
|
|
88
89
|
/** If present, supplies the [[UiAdmin]] for this session. */
|
|
89
90
|
uiAdmin?: UiAdmin;
|
|
91
|
+
/** If present, supplies the [[FormatsProvider]] for this session. */
|
|
92
|
+
formatsProvider?: FormatsProvider;
|
|
90
93
|
/** If present, determines whether iModelApp is a NoRenderApp
|
|
91
94
|
* @internal
|
|
92
95
|
*/
|
|
93
96
|
noRender?: boolean;
|
|
94
97
|
/**
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
+
* @deprecated in 3.7 - might be removed in next major version. Specify desired RPC interfaces in the platform-specific RPC manager call instead.
|
|
99
|
+
* See [[MobileRpcManager.initializeClient]], [[ElectronRpcManager.initializeFrontend]], [[BentleyCloudRpcManager.initializeClient]].
|
|
100
|
+
*/
|
|
98
101
|
rpcInterfaces?: RpcInterfaceDefinition[];
|
|
99
102
|
/** @beta */
|
|
100
103
|
realityDataAccess?: RealityDataAccess;
|
|
@@ -165,6 +168,7 @@ export declare class IModelApp {
|
|
|
165
168
|
private static _hubAccess?;
|
|
166
169
|
private static _realityDataAccess?;
|
|
167
170
|
private static _publicPath;
|
|
171
|
+
private static _formatsProviderManager;
|
|
168
172
|
protected constructor();
|
|
169
173
|
/** Event raised just before the frontend IModelApp is to be [[shutdown]]. */
|
|
170
174
|
static readonly onBeforeShutdown: BeEvent<() => void>;
|
|
@@ -181,7 +185,7 @@ export declare class IModelApp {
|
|
|
181
185
|
/** The [[TerrainProviderRegistry]] for this session. */
|
|
182
186
|
static get terrainProviderRegistry(): TerrainProviderRegistry;
|
|
183
187
|
/** The [[RealityDataSourceProviderRegistry]] for this session.
|
|
184
|
-
* @
|
|
188
|
+
* @beta
|
|
185
189
|
*/
|
|
186
190
|
static get realityDataSourceProviders(): RealityDataSourceProviderRegistry;
|
|
187
191
|
/** The [[RenderSystem]] for this session. */
|
|
@@ -236,6 +240,12 @@ export declare class IModelApp {
|
|
|
236
240
|
* The path should always end with a trailing `/`.
|
|
237
241
|
*/
|
|
238
242
|
static get publicPath(): string;
|
|
243
|
+
/** The [[FormatsProvider]] for this session.
|
|
244
|
+
* @param provider The provider to use for formatting quantities.
|
|
245
|
+
* @beta
|
|
246
|
+
*/
|
|
247
|
+
static get formatsProvider(): FormatsProvider;
|
|
248
|
+
static set formatsProvider(provider: FormatsProvider);
|
|
239
249
|
/** @alpha */
|
|
240
250
|
static readonly extensionAdmin: ExtensionAdmin;
|
|
241
251
|
/** Map of classFullName to EntityState class */
|
|
@@ -350,6 +360,11 @@ export declare class IModelApp {
|
|
|
350
360
|
* @beta
|
|
351
361
|
*/
|
|
352
362
|
static translateStatus(status: number): string;
|
|
363
|
+
/**
|
|
364
|
+
* Resets the formatsProvider back to the default [[QuantityTypeFormatsProvider]].
|
|
365
|
+
* @beta
|
|
366
|
+
*/
|
|
367
|
+
static resetFormatsProvider(): void;
|
|
353
368
|
/**
|
|
354
369
|
* Creates an instance of the ExtensionAdmin
|
|
355
370
|
* and registers an event to execute after startup is complete
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IModelApp.d.ts","sourceRoot":"","sources":["../../src/IModelApp.ts"],"names":[],"mappings":"AAIA;;GAEG;AAKH,cAAc;AACd,eAAO,MAAM,oBAAoB,EAA0B,MAAM,CAAC;AAGlE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAA0C,UAAU,EAAyC,MAAM,qBAAqB,CAAC;AAClK,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAoB,sBAAsB,EAAqC,MAAM,oBAAoB,CAAC;AAEvK,OAAO,EAA4B,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AACpG,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,
|
|
1
|
+
{"version":3,"file":"IModelApp.d.ts","sourceRoot":"","sources":["../../src/IModelApp.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/IModelApp.js
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
import packageJson from "../../package.json";
|
|
11
11
|
/** @public */
|
|
12
12
|
export const ITWINJS_CORE_VERSION = packageJson.version;
|
|
13
|
-
const COPYRIGHT_NOTICE =
|
|
13
|
+
const COPYRIGHT_NOTICE = `Copyright © 2017-${new Date().getFullYear()} <a href="https://www.bentley.com" target="_blank" rel="noopener noreferrer">Bentley Systems, Inc.</a>`;
|
|
14
14
|
import { UiAdmin } from "@itwin/appui-abstract";
|
|
15
15
|
import { BeDuration, BeEvent, BentleyStatus, DbResult, dispose, Guid, IModelStatus, Logger, ProcessDetector } from "@itwin/core-bentley";
|
|
16
16
|
import { RpcConfiguration } from "@itwin/core-common";
|
|
@@ -29,7 +29,7 @@ import { FrontendLoggerCategory } from "./common/FrontendLoggerCategory";
|
|
|
29
29
|
import * as modelselector from "./ModelSelectorState";
|
|
30
30
|
import * as modelState from "./ModelState";
|
|
31
31
|
import { NotificationManager } from "./NotificationManager";
|
|
32
|
-
import { QuantityFormatter } from "./quantity-formatting/QuantityFormatter";
|
|
32
|
+
import { FormatsProviderManager, QuantityFormatter, QuantityTypeFormatsProvider } from "./quantity-formatting/QuantityFormatter";
|
|
33
33
|
import { RenderSystem } from "./render/RenderSystem";
|
|
34
34
|
import { System } from "./internal/render/webgl/System";
|
|
35
35
|
import * as sheetState from "./SheetViewState";
|
|
@@ -86,6 +86,7 @@ export class IModelApp {
|
|
|
86
86
|
static _hubAccess;
|
|
87
87
|
static _realityDataAccess;
|
|
88
88
|
static _publicPath;
|
|
89
|
+
static _formatsProviderManager;
|
|
89
90
|
// No instances of IModelApp may be created. All members are static and must be on the singleton object IModelApp.
|
|
90
91
|
constructor() { }
|
|
91
92
|
/** Event raised just before the frontend IModelApp is to be [[shutdown]]. */
|
|
@@ -103,7 +104,7 @@ export class IModelApp {
|
|
|
103
104
|
/** The [[TerrainProviderRegistry]] for this session. */
|
|
104
105
|
static get terrainProviderRegistry() { return this._terrainProviderRegistry; }
|
|
105
106
|
/** The [[RealityDataSourceProviderRegistry]] for this session.
|
|
106
|
-
* @
|
|
107
|
+
* @beta
|
|
107
108
|
*/
|
|
108
109
|
static get realityDataSourceProviders() { return this._realityDataSourceProviders; }
|
|
109
110
|
/** The [[RenderSystem]] for this session. */
|
|
@@ -160,6 +161,14 @@ export class IModelApp {
|
|
|
160
161
|
* The path should always end with a trailing `/`.
|
|
161
162
|
*/
|
|
162
163
|
static get publicPath() { return this._publicPath; }
|
|
164
|
+
/** The [[FormatsProvider]] for this session.
|
|
165
|
+
* @param provider The provider to use for formatting quantities.
|
|
166
|
+
* @beta
|
|
167
|
+
*/
|
|
168
|
+
static get formatsProvider() { return this._formatsProviderManager; }
|
|
169
|
+
static set formatsProvider(provider) {
|
|
170
|
+
this._formatsProviderManager.formatsProvider = provider;
|
|
171
|
+
}
|
|
163
172
|
/** @alpha */
|
|
164
173
|
static extensionAdmin = this._createExtensionAdmin();
|
|
165
174
|
/** Map of classFullName to EntityState class */
|
|
@@ -263,6 +272,7 @@ export class IModelApp {
|
|
|
263
272
|
this._terrainProviderRegistry = new TerrainProviderRegistry();
|
|
264
273
|
this._realityDataSourceProviders = new RealityDataSourceProviderRegistry();
|
|
265
274
|
this._realityDataAccess = opts.realityDataAccess;
|
|
275
|
+
this._formatsProviderManager = new FormatsProviderManager(opts.formatsProvider ?? new QuantityTypeFormatsProvider());
|
|
266
276
|
this._publicPath = opts.publicPath ?? "";
|
|
267
277
|
[
|
|
268
278
|
this.renderSystem,
|
|
@@ -296,6 +306,8 @@ export class IModelApp {
|
|
|
296
306
|
this._entityClasses.clear();
|
|
297
307
|
this.authorizationClient = undefined;
|
|
298
308
|
this._initialized = false;
|
|
309
|
+
this.quantityFormatter[Symbol.dispose]();
|
|
310
|
+
this.resetFormatsProvider();
|
|
299
311
|
this.onAfterStartup.clear();
|
|
300
312
|
}
|
|
301
313
|
/** Controls how frequently the application polls for changes that may require a new animation frame to be requested.
|
|
@@ -546,6 +558,13 @@ export class IModelApp {
|
|
|
546
558
|
}
|
|
547
559
|
return this.localization.getLocalizedString(`iModelJs:${key.scope}.${key.val}`, key);
|
|
548
560
|
}
|
|
561
|
+
/**
|
|
562
|
+
* Resets the formatsProvider back to the default [[QuantityTypeFormatsProvider]].
|
|
563
|
+
* @beta
|
|
564
|
+
*/
|
|
565
|
+
static resetFormatsProvider() {
|
|
566
|
+
this.formatsProvider = new QuantityTypeFormatsProvider();
|
|
567
|
+
}
|
|
549
568
|
/**
|
|
550
569
|
* Creates an instance of the ExtensionAdmin
|
|
551
570
|
* and registers an event to execute after startup is complete
|