@itwin/core-frontend 5.1.0-dev.9 → 5.2.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +92 -1
- package/lib/cjs/AccuDraw.js +2 -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/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.map +1 -1
- package/lib/cjs/tools/ToolAdmin.js +51 -16
- 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.js +2 -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/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.map +1 -1
- package/lib/esm/tools/ToolAdmin.js +51 -16
- 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":"WmtsMapLayerImageryProvider.js","sourceRoot":"","sources":["../../../../../../src/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tiles\n */\nimport { assert, IModelStatus } from \"@itwin/core-bentley\";\nimport { ImageMapLayerSettings, ServerError } from \"@itwin/core-common\";\nimport {\n MapLayerImageryProvider,\n MapLayerImageryProviderStatus,\n QuadId,\n WmsUtilities, WmtsCapabilities, WmtsCapability, WmtsConstants,\n} from \"../../../../tile/internal\";\n\ninterface TileMatrixSetAndLimits { tileMatrixSet: WmtsCapability.TileMatrixSet, limits: WmtsCapability.TileMatrixSetLimits[] | undefined }\n\nexport class WmtsMapLayerImageryProvider extends MapLayerImageryProvider {\n private _baseUrl: string;\n private _capabilities?: WmtsCapabilities;\n private _preferredLayerTileMatrixSet = new Map<string, TileMatrixSetAndLimits>();\n private _preferredLayerStyle = new Map<string, WmtsCapability.Style>();\n public displayedLayerName = \"\";\n\n public override get mutualExclusiveSubLayer(): boolean { return true; }\n\n constructor(settings: ImageMapLayerSettings) {\n super(settings, true);\n this._baseUrl = WmsUtilities.getBaseUrl(this._settings.url);\n }\n\n public override async initialize(): Promise<void> {\n try {\n this._capabilities = await WmtsCapabilities.create(this._baseUrl);\n this.initPreferredTileMatrixSet();\n this.initPreferredStyle();\n this.initCartoRange();\n this.initDisplayedLayer();\n\n if (this._preferredLayerTileMatrixSet.size === 0 || this._preferredLayerStyle.size === 0)\n throw new ServerError(IModelStatus.ValidationFailed, \"\");\n } catch (error: any) {\n // Don't throw error if unauthorized status:\n // We want the tile tree to be created, so that end-user can get feedback on which layer is missing credentials.\n // When credentials will be provided, a new provider will be created, and initialization should be fine.\n if (error?.status === 401) {\n this.setStatus(MapLayerImageryProviderStatus.RequireAuth);\n } else {\n throw new ServerError(IModelStatus.ValidationFailed, \"\");\n }\n }\n }\n private initDisplayedLayer() {\n if (0 === this._settings.subLayers.length) {\n assert(false);\n return;\n }\n\n const firstDisplayedLayer = this._settings.subLayers.find((subLayer) => subLayer.visible);\n this.displayedLayerName = firstDisplayedLayer ? firstDisplayedLayer.name : this._settings.subLayers[0].name;\n }\n\n // Each layer can be served in multiple tile matrix set (i.e. TileTree).\n // We have to pick one for each layer: for now we look for a Google Maps compatible tile tree.\n private initPreferredTileMatrixSet() {\n const googleMapsTms = this._capabilities?.contents?.getGoogleMapsCompatibleTileMatrixSet();\n const wellGoogleKnownTms = googleMapsTms?.find((tms) => tms.wellKnownScaleSet?.toLowerCase().includes(WmtsConstants.GOOGLEMAPS_COMPATIBLE_WELLKNOWNNAME));\n\n this._capabilities?.contents?.layers.forEach((layer) => {\n let preferredTms: WmtsCapability.TileMatrixSet | undefined;\n\n if (wellGoogleKnownTms && layer.tileMatrixSetLinks.some((tmsl) => tmsl.tileMatrixSet === wellGoogleKnownTms.identifier)) {\n // Favor tile matrix set that was explicitly marked as GoogleMaps compatible\n preferredTms = wellGoogleKnownTms;\n } else {\n\n // Search all compatible tile set matrix if previous attempt didn't work.\n // If more than one candidate is found, pick the tile set with the most LODs.\n let tileMatrixSets = googleMapsTms?.filter((tms) => {\n return layer.tileMatrixSetLinks.some((tmsl) => tmsl.tileMatrixSet === tms.identifier);\n });\n\n if (!tileMatrixSets || tileMatrixSets.length === 0) {\n const eps4326CompatibleTms = this._capabilities?.contents?.getEpsg4326CompatibleTileMatrixSet();\n tileMatrixSets = eps4326CompatibleTms?.filter((tms) => {\n return layer.tileMatrixSetLinks.some((tmsl) => tmsl.tileMatrixSet === tms.identifier);\n });\n }\n\n if (tileMatrixSets && tileMatrixSets.length === 1)\n preferredTms = tileMatrixSets[0];\n else if (tileMatrixSets && tileMatrixSets?.length > 1)\n preferredTms = tileMatrixSets.reduce((prev, current) => (prev.tileMatrix.length > current.tileMatrix.length) ? prev : current);\n\n }\n\n if (preferredTms !== undefined) {\n const tmsLink= layer.tileMatrixSetLinks.find((tmsl) => tmsl.tileMatrixSet === preferredTms.identifier);\n this._preferredLayerTileMatrixSet.set(layer.identifier, { tileMatrixSet: preferredTms, limits: tmsLink?.tileMatrixSetLimits } );\n }\n });\n }\n\n // Each layer can be published different style. We look for a style flagged as 'Default'.\n private initPreferredStyle() {\n this._capabilities?.contents?.layers.forEach((layer) => {\n let preferredStyle: WmtsCapability.Style | undefined;\n if (layer.styles.length === 1)\n preferredStyle = layer.styles[0];\n else if (layer.styles.length > 1) {\n // If more than style is available, takes the default one, otherwise the first one.\n const defaultStyle = layer.styles.find((style) => style.isDefault);\n if (defaultStyle)\n preferredStyle = defaultStyle;\n else\n preferredStyle = layer.styles[0];\n }\n\n if (preferredStyle)\n this._preferredLayerStyle.set(layer.identifier, preferredStyle);\n });\n }\n\n private initCartoRange() {\n this._capabilities?.contents?.layers.forEach((layer) => {\n\n if (layer.wsg84BoundingBox) {\n if (this.cartoRange)\n this.cartoRange.extendRange(layer.wsg84BoundingBox);\n else\n this.cartoRange = layer.wsg84BoundingBox.clone();\n }\n });\n }\n private getDisplayedTileMatrixSetAndLimits(): TileMatrixSetAndLimits | undefined {\n return this._preferredLayerTileMatrixSet.get(this.displayedLayerName);\n }\n\n protected override _generateChildIds(quadId: QuadId, resolveChildren: (childIds: QuadId[]) => void) {\n const childIds = this.getPotentialChildIds(quadId);\n const matrixSetAndLimits = this.getDisplayedTileMatrixSetAndLimits();\n if (!matrixSetAndLimits) {\n assert(false); // Must always hava a matrix set.\n return;\n }\n const limits = matrixSetAndLimits.limits?.[quadId.level + 1]?.limits;\n if (!limits) {\n resolveChildren(childIds);\n return;\n }\n\n const availableChildIds = [];\n for (const childId of childIds)\n if (limits.containsXY(childId.column, childId.row))\n availableChildIds.push(childId);\n\n resolveChildren(availableChildIds);\n }\n public override get useGeographicTilingScheme(): boolean {\n const matrixSetAndLimits = this.getDisplayedTileMatrixSetAndLimits();\n return matrixSetAndLimits ? (matrixSetAndLimits?.tileMatrixSet.identifier?.includes(\"4326\") || matrixSetAndLimits?.tileMatrixSet.supportedCrs?.includes(\"4326\")) : false;\n }\n\n public async constructUrl(row: number, column: number, zoomLevel: number): Promise<string> {\n const matrixSetAndLimits = this.getDisplayedTileMatrixSetAndLimits();\n const style = this._preferredLayerStyle.get(this.displayedLayerName);\n\n // Matrix identifier might be something other than standard 0..n zoom level,\n // so lookup the matrix identifier just in case.\n let tileMatrix;\n if (matrixSetAndLimits && matrixSetAndLimits.tileMatrixSet.tileMatrix.length > zoomLevel)\n tileMatrix = matrixSetAndLimits.tileMatrixSet.tileMatrix[zoomLevel].identifier;\n\n const styleParam = (style?.identifier === undefined ? \"\" : `&style=${style.identifier}`);\n if (tileMatrix !== undefined && matrixSetAndLimits !== undefined) {\n const tmpUrl = `${this._baseUrl}?Service=WMTS&Version=1.0.0&Request=GetTile&Format=image%2Fpng&layer=${this.displayedLayerName}${styleParam}&TileMatrixSet=${matrixSetAndLimits.tileMatrixSet.identifier}&TileMatrix=${tileMatrix}&TileCol=${column}&TileRow=${row}`;\n return this.appendCustomParams(tmpUrl);\n }\n return \"\";\n\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"WmtsMapLayerImageryProvider.js","sourceRoot":"","sources":["../../../../../../src/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tiles\n */\nimport { assert, IModelStatus } from \"@itwin/core-bentley\";\nimport { ImageMapLayerSettings, ServerError } from \"@itwin/core-common\";\nimport {\n MapLayerImageryProvider,\n MapLayerImageryProviderStatus,\n QuadId,\n WmsUtilities, WmtsCapabilities, WmtsCapability, WmtsConstants,\n} from \"../../../../tile/internal\";\n\ninterface TileMatrixSetAndLimits { tileMatrixSet: WmtsCapability.TileMatrixSet, limits: WmtsCapability.TileMatrixSetLimits[] | undefined }\n\nconst tileMatrixSetToken = \"{TileMatrixSet}\";\nconst tileMatrixToken = \"{TileMatrix}\";\nconst tileColToken = \"{TileCol}\";\nconst tileRowToken = \"{TileRow}\";\n\nexport class WmtsMapLayerImageryProvider extends MapLayerImageryProvider {\n private _baseUrl: string;\n private _capabilities?: WmtsCapabilities;\n private _preferredLayerTileMatrixSet = new Map<string, TileMatrixSetAndLimits>();\n private _preferredLayerStyle = new Map<string, WmtsCapability.Style>();\n public displayedLayerName = \"\";\n private _resourceUrlTemplate?: string;\n private _maximumZoomLevel;\n public override get mutualExclusiveSubLayer(): boolean { return true; }\n\n constructor(settings: ImageMapLayerSettings) {\n super(settings, true);\n this._maximumZoomLevel = this.defaultMaximumZoomLevel;\n this._baseUrl = WmsUtilities.getBaseUrl(this._settings.url);\n }\n\n public override async initialize(): Promise<void> {\n try {\n this._capabilities = await WmtsCapabilities.create(this._baseUrl);\n this.initPreferredTileMatrixSet();\n this.initPreferredStyle();\n this.initDisplayedLayer();\n this.initCartoRange();\n this.initResourceUrl();\n\n if (this._preferredLayerTileMatrixSet.size === 0 || this._preferredLayerStyle.size === 0)\n throw new ServerError(IModelStatus.ValidationFailed, \"\");\n } catch (error: any) {\n // Don't throw error if unauthorized status:\n // We want the tile tree to be created, so that end-user can get feedback on which layer is missing credentials.\n // When credentials will be provided, a new provider will be created, and initialization should be fine.\n if (error?.status === 401) {\n this.setStatus(MapLayerImageryProviderStatus.RequireAuth);\n } else {\n throw new ServerError(IModelStatus.ValidationFailed, \"\");\n }\n }\n }\n\n public override get maximumZoomLevel(): number { return this._maximumZoomLevel; }\n\n private initDisplayedLayer() {\n const layers = this._capabilities?.contents?.layers;\n if (0 === this._settings.subLayers.length && layers && layers.length > 0) {\n // No sub-layers defined in settings, pick first layer from capabilities.\n this.displayedLayerName = layers[0].identifier;\n return;\n }\n\n // If sub-layers are defined in settings, pick the first one that is visible.\n const firstDisplayedLayer = this._settings.subLayers.find((subLayer) => subLayer.visible);\n this.displayedLayerName = firstDisplayedLayer ? firstDisplayedLayer.name : this._settings.subLayers[0].name;\n }\n\n\n private initResourceUrl() {\n const layersCapabilities = this._capabilities?.contents?.layers;\n if (undefined === layersCapabilities) {\n return;\n }\n\n const layerCapability = layersCapabilities.find((layer) => layer.identifier === this.displayedLayerName);\n if (undefined === layerCapability) {\n return;\n }\n\n let resourceUrl = layerCapability.resourceUrls.find((url) => url.format.includes(\"png\"));\n if (undefined === resourceUrl) {\n // If no PNG resource URL is found, try to find a JPEG one.\n resourceUrl = layerCapability.resourceUrls.find((url) => url.format.includes(\"jpeg\") || url.format.includes(\"jpg\"));\n }\n if (undefined !== resourceUrl\n && (resourceUrl.template.indexOf(tileMatrixToken) > 0\n && resourceUrl.template.indexOf(tileColToken) > 0\n && resourceUrl.template.indexOf(tileRowToken) > 0\n )\n ) {\n this._resourceUrlTemplate = resourceUrl.template;\n }\n }\n\n // Each layer can be served in multiple tile matrix set (i.e. TileTree).\n // We have to pick one for each layer: for now we look for a Google Maps compatible tile tree.\n private initPreferredTileMatrixSet() {\n const googleMapsTms = this._capabilities?.contents?.getGoogleMapsCompatibleTileMatrixSet();\n const wellGoogleKnownTms = googleMapsTms?.find((tms) => tms.wellKnownScaleSet?.toLowerCase().includes(WmtsConstants.GOOGLEMAPS_COMPATIBLE_WELLKNOWNNAME));\n\n this._capabilities?.contents?.layers.forEach((layer) => {\n let preferredTms: WmtsCapability.TileMatrixSet | undefined;\n\n if (wellGoogleKnownTms && layer.tileMatrixSetLinks.some((tmsl) => tmsl.tileMatrixSet === wellGoogleKnownTms.identifier)) {\n // Favor tile matrix set that was explicitly marked as GoogleMaps compatible\n preferredTms = wellGoogleKnownTms;\n } else {\n\n // Search all compatible tile set matrix if previous attempt didn't work.\n // If more than one candidate is found, pick the tile set with the most LODs.\n let tileMatrixSets = googleMapsTms?.filter((tms) => {\n return layer.tileMatrixSetLinks.some((tmsl) => tmsl.tileMatrixSet === tms.identifier);\n });\n\n if (!tileMatrixSets || tileMatrixSets.length === 0) {\n const eps4326CompatibleTms = this._capabilities?.contents?.getEpsg4326CompatibleTileMatrixSet();\n tileMatrixSets = eps4326CompatibleTms?.filter((tms) => {\n return layer.tileMatrixSetLinks.some((tmsl) => tmsl.tileMatrixSet === tms.identifier);\n });\n }\n\n if (tileMatrixSets && tileMatrixSets.length === 1)\n preferredTms = tileMatrixSets[0];\n else if (tileMatrixSets && tileMatrixSets?.length > 1)\n preferredTms = tileMatrixSets.reduce((prev, current) => (prev.tileMatrix.length > current.tileMatrix.length) ? prev : current);\n\n }\n\n if (preferredTms !== undefined) {\n const tmsLink= layer.tileMatrixSetLinks.find((tmsl) => tmsl.tileMatrixSet === preferredTms.identifier);\n this._preferredLayerTileMatrixSet.set(layer.identifier, { tileMatrixSet: preferredTms, limits: tmsLink?.tileMatrixSetLimits } );\n this._maximumZoomLevel = Math.max(this._maximumZoomLevel, preferredTms.tileMatrix.length-1);\n }\n });\n }\n\n // Each layer can be published different style. We look for a style flagged as 'Default'.\n private initPreferredStyle() {\n this._capabilities?.contents?.layers.forEach((layer) => {\n let preferredStyle: WmtsCapability.Style | undefined;\n if (layer.styles.length === 1)\n preferredStyle = layer.styles[0];\n else if (layer.styles.length > 1) {\n // If more than style is available, takes the default one, otherwise the first one.\n const defaultStyle = layer.styles.find((style) => style.isDefault);\n if (defaultStyle)\n preferredStyle = defaultStyle;\n else\n preferredStyle = layer.styles[0];\n }\n\n if (preferredStyle)\n this._preferredLayerStyle.set(layer.identifier, preferredStyle);\n });\n }\n\n private initCartoRange() {\n const activeLayer = this._capabilities?.contents?.layers.find((layer)=>layer.identifier === this.displayedLayerName);\n\n if (activeLayer?.wsg84BoundingBox) {\n if (this.cartoRange)\n this.cartoRange.extendRange(activeLayer.wsg84BoundingBox);\n else\n this.cartoRange = activeLayer.wsg84BoundingBox.clone();\n }\n\n }\n\n private getDisplayedTileMatrixSetAndLimits(): TileMatrixSetAndLimits | undefined {\n return this._preferredLayerTileMatrixSet.get(this.displayedLayerName);\n }\n\n protected override _generateChildIds(quadId: QuadId, resolveChildren: (childIds: QuadId[]) => void) {\n const childIds = this.getPotentialChildIds(quadId);\n const matrixSetAndLimits = this.getDisplayedTileMatrixSetAndLimits();\n if (!matrixSetAndLimits) {\n assert(false); // Must always hava a matrix set.\n return;\n }\n const limits = matrixSetAndLimits.limits?.[quadId.level + 1]?.limits;\n if (!limits) {\n resolveChildren(childIds);\n return;\n }\n\n const availableChildIds = [];\n for (const childId of childIds)\n if (limits.containsXY(childId.column, childId.row))\n availableChildIds.push(childId);\n\n resolveChildren(availableChildIds);\n }\n public override get useGeographicTilingScheme(): boolean {\n const matrixSetAndLimits = this.getDisplayedTileMatrixSetAndLimits();\n return matrixSetAndLimits ? (matrixSetAndLimits?.tileMatrixSet.identifier?.includes(\"4326\") || matrixSetAndLimits?.tileMatrixSet.supportedCrs?.includes(\"4326\")) : false;\n }\n\n public async constructUrl(row: number, column: number, zoomLevel: number): Promise<string> {\n\n const matrixSetAndLimits = this.getDisplayedTileMatrixSetAndLimits();\n const style = this._preferredLayerStyle.get(this.displayedLayerName);\n\n // Matrix identifier might be something other than standard 0..n zoom level,\n // so lookup the matrix identifier just in case.\n let tileMatrix;\n if (matrixSetAndLimits && matrixSetAndLimits.tileMatrixSet.tileMatrix.length > zoomLevel)\n tileMatrix = matrixSetAndLimits.tileMatrixSet.tileMatrix[zoomLevel].identifier;\n\n if (this._resourceUrlTemplate) {\n const tmpUrl = this._resourceUrlTemplate\n .replace(tileMatrixSetToken, matrixSetAndLimits?.tileMatrixSet.identifier??\"\")\n .replace(tileMatrixToken, tileMatrix??zoomLevel.toString())\n .replace(tileColToken, column.toString())\n .replace(tileRowToken, row.toString());\n return this.appendCustomParams(tmpUrl);\n }\n\n const styleParam = (style?.identifier === undefined ? \"\" : `&style=${style.identifier}`);\n if (tileMatrix !== undefined && matrixSetAndLimits !== undefined) {\n const tmpUrl = `${this._baseUrl}?Service=WMTS&Version=1.0.0&Request=GetTile&Format=image%2Fpng&layer=${this.displayedLayerName}${styleParam}&TileMatrixSet=${matrixSetAndLimits.tileMatrixSet.identifier}&TileMatrix=${tileMatrix}&TileCol=${column}&TileRow=${row}`;\n return this.appendCustomParams(tmpUrl);\n }\n return \"\";\n }\n}\n"]}
|
|
@@ -73,6 +73,12 @@ export declare namespace WmtsCapability {
|
|
|
73
73
|
readonly tileMatrixSetLimits: TileMatrixSetLimits[];
|
|
74
74
|
constructor(elem: Element);
|
|
75
75
|
}
|
|
76
|
+
class ResourceURL {
|
|
77
|
+
readonly format: string;
|
|
78
|
+
readonly resourceType: string;
|
|
79
|
+
readonly template: string;
|
|
80
|
+
constructor(elem: Element);
|
|
81
|
+
}
|
|
76
82
|
class TileMatrixSet {
|
|
77
83
|
readonly identifier: string;
|
|
78
84
|
readonly title?: string;
|
|
@@ -103,6 +109,7 @@ export declare namespace WmtsCapability {
|
|
|
103
109
|
readonly boundingBox?: BoundingBox;
|
|
104
110
|
readonly styles: Style[];
|
|
105
111
|
readonly tileMatrixSetLinks: TileMatrixSetLink[];
|
|
112
|
+
readonly resourceUrls: ResourceURL[];
|
|
106
113
|
constructor(elem: Element);
|
|
107
114
|
}
|
|
108
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WmtsCapabilities.d.ts","sourceRoot":"","sources":["../../../../../src/internal/tile/map/WmtsCapabilities.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAgB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"WmtsCapabilities.d.ts","sourceRoot":"","sources":["../../../../../src/internal/tile/map/WmtsCapabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,6 +49,7 @@ var XmlConstants;
|
|
|
49
49
|
XmlConstants["TILEHEIGHT_XMLTAG"] = "TileHeight";
|
|
50
50
|
XmlConstants["TILEMATRIX_XMLTAG"] = "TileMatrix";
|
|
51
51
|
XmlConstants["TILEMATRIXSETLINK_XMLTAG"] = "TileMatrixSetLink";
|
|
52
|
+
XmlConstants["RESOURCEURL_XMLTAG"] = "ResourceURL";
|
|
52
53
|
XmlConstants["TILEWIDTH_XMLTAG"] = "TileWidth";
|
|
53
54
|
XmlConstants["TOPLEFTCORNER_XMLTAG"] = "TopLeftCorner";
|
|
54
55
|
XmlConstants["WELLKNOWNSCALESET_XMLTAG"] = "WellKnownScaleSet";
|
|
@@ -291,6 +292,17 @@ var WmtsCapability;
|
|
|
291
292
|
}
|
|
292
293
|
}
|
|
293
294
|
WmtsCapability.TileMatrixSetLink = TileMatrixSetLink;
|
|
295
|
+
class ResourceURL {
|
|
296
|
+
format;
|
|
297
|
+
resourceType;
|
|
298
|
+
template;
|
|
299
|
+
constructor(elem) {
|
|
300
|
+
this.format = elem.getAttribute("format") ?? "";
|
|
301
|
+
this.resourceType = elem.getAttribute("resourceType") ?? "";
|
|
302
|
+
this.template = elem.getAttribute("template") ?? "";
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
WmtsCapability.ResourceURL = ResourceURL;
|
|
294
306
|
class TileMatrixSet {
|
|
295
307
|
identifier;
|
|
296
308
|
title;
|
|
@@ -383,6 +395,7 @@ var WmtsCapability;
|
|
|
383
395
|
boundingBox;
|
|
384
396
|
styles = [];
|
|
385
397
|
tileMatrixSetLinks = [];
|
|
398
|
+
resourceUrls = [];
|
|
386
399
|
constructor(elem) {
|
|
387
400
|
const identifier = getElementTextContent(elem, OwsConstants.IDENTIFIER_XMLTAG, "");
|
|
388
401
|
if (identifier)
|
|
@@ -424,6 +437,10 @@ var WmtsCapability;
|
|
|
424
437
|
throw new Error("No matrix set link found for WMTS layer");
|
|
425
438
|
for (const tmsl of tileMatrixSetLink)
|
|
426
439
|
this.tileMatrixSetLinks.push(new TileMatrixSetLink(tmsl));
|
|
440
|
+
// ResourceURL are optional. It can be repeated for different resource types.
|
|
441
|
+
const resourceUrls = elem.getElementsByTagName(XmlConstants.RESOURCEURL_XMLTAG);
|
|
442
|
+
for (const url of resourceUrls)
|
|
443
|
+
this.resourceUrls.push(new ResourceURL(url));
|
|
427
444
|
}
|
|
428
445
|
}
|
|
429
446
|
WmtsCapability.Layer = Layer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WmtsCapabilities.js","sourceRoot":"","sources":["../../../../../src/internal/tile/map/WmtsCapabilities.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 Views\n */\n\nimport { Point2d, Range2d } from \"@itwin/core-geometry\";\nimport { RequestBasicCredentials } from \"../../../request/Request\";\nimport { MapCartoRectangle, WmsUtilities } from \"../../../tile/internal\";\n\nenum OwsConstants {\n ABSTRACT_XMLTAG = \"ows:Abstract\",\n ACCESSCONSTRAINTS_XMLTAG = \"ows:AccessConstraints\",\n ALLOWEDVALUES_XMLTAG = \"ows:AllowedValues\",\n BOUNDINGBOX_XMLTAG = \"ows:BoundingBox\",\n CONSTRAINT_XMLTAG = \"ows:Constraint\",\n DCP_XMLTAG = \"ows:DCP\",\n FEES_XMLTAG = \"ows:Fees\",\n GET_XMLTAG = \"ows:Get\",\n HTTP_XMLTAG = \"ows:HTTP\",\n IDENTIFIER_XMLTAG = \"ows:Identifier\",\n KEYWORDS_XMLTAG = \"ows:Keywords\",\n KEYWORD_XMLTAG = \"ows:Keyword\",\n LOWERCORNER_XMLTAG = \"ows:LowerCorner\",\n OPERATION_XMLTAG = \"ows:Operation\",\n OPERATIONSMETADATA_XMLTAG = \"ows:OperationsMetadata\",\n POST_XMLTAG = \"ows:Post\",\n SERVICEIDENTIFICATION_XMLTAG = \"ows:ServiceIdentification\",\n SERVICETYPE_XMLTAG = \"ows:ServiceType\",\n SERVICETYPEVERSION_XMLTAG = \"ows:ServiceTypeVersion\",\n SUPPORTEDCRS_XMLTAG = \"ows:SupportedCRS\",\n TITLE_XMLTAG = \"ows:Title\",\n UPPERCORNER_XMLTAG = \"ows:UpperCorner\",\n VALUE_XMLTAG = \"ows:Value\",\n WGS84BOUNDINGBOX_XMLTAG = \"ows:WGS84BoundingBox\"\n\n}\n\nenum XmlConstants {\n // Operations names\n GETCAPABILITIES = \"GetCapabilities\",\n GETTILE = \"GetTile\",\n GETFEATUREINFO = \"GetFeatureInfo\",\n\n MATRIXWIDTH_XMLTAG = \"MatrixWidth\",\n MATRIXHEIGHT_XMLTAG = \"MatrixHeight\",\n SCALEDENOMINATOR_XMLTAG = \"ScaleDenominator\",\n\n TILEHEIGHT_XMLTAG = \"TileHeight\",\n TILEMATRIX_XMLTAG = \"TileMatrix\",\n TILEMATRIXSETLINK_XMLTAG = \"TileMatrixSetLink\",\n TILEWIDTH_XMLTAG = \"TileWidth\",\n TOPLEFTCORNER_XMLTAG = \"TopLeftCorner\",\n WELLKNOWNSCALESET_XMLTAG = \"WellKnownScaleSet\",\n\n CONSTRAINT_NAME_FILTER = \"Encoding\",\n STYLE_ISDEFAULT = \"IsDefault\",\n XLINK_HREF = \"xlink:href\",\n}\n\nexport enum WmtsConstants {\n GOOGLEMAPS_LEVEL0_SCALE_DENOM = 559082264.0287178,\n GOOGLEMAPS_COMPATIBLE_WELLKNOWNNAME = \"googlemapscompatible\",\n}\n\n/**\n * Utility function to extract an element' text content\n * @return An element's text content, default to provided defaultTest value if no text is available.\n * @param url server URL to address the request\n */\nconst getElementTextContent = (elem: Element, qualifiedName: string, defaultText?: string) => {\n\n const tmpElem = elem.getElementsByTagName(qualifiedName);\n if (tmpElem.length > 0) {\n return tmpElem[0].textContent ?? defaultText;\n } else\n return defaultText;\n\n};\n\n/** Encapsulation of the capabilities for an WMTS server\n */\nexport namespace WmtsCapability {\n export class ServiceIdentification {\n public readonly abstract?: string;\n public readonly accessConstraints?: string;\n public readonly fees?: string;\n public readonly serviceType?: string;\n public readonly serviceTypeVersion?: string;\n public readonly title?: string;\n public readonly keywords?: string[];\n\n constructor(elem: Element) {\n this.abstract = getElementTextContent(elem, OwsConstants.ABSTRACT_XMLTAG);\n this.serviceType = getElementTextContent(elem, OwsConstants.SERVICETYPE_XMLTAG);\n this.serviceTypeVersion = getElementTextContent(elem, OwsConstants.SERVICETYPEVERSION_XMLTAG);\n this.title = getElementTextContent(elem, OwsConstants.TITLE_XMLTAG);\n\n const keywords = elem.getElementsByTagName(OwsConstants.KEYWORDS_XMLTAG);\n if (keywords.length > 0) {\n const keyword = keywords[0].getElementsByTagName(OwsConstants.KEYWORD_XMLTAG);\n this.keywords = [];\n for (const keyworkElem of keyword) {\n const keyWordText = keyworkElem.textContent;\n if (keyWordText)\n this.keywords.push(keyWordText);\n }\n }\n\n this.accessConstraints = getElementTextContent(elem, OwsConstants.ACCESSCONSTRAINTS_XMLTAG);\n\n this.fees = getElementTextContent(elem, OwsConstants.FEES_XMLTAG);\n }\n }\n\n export class OperationMetadata {\n private _getCapabilities?: Operation;\n public get getCapabilities(): Operation | undefined { return this._getCapabilities; }\n\n private _getFeatureInfo?: Operation;\n public get getFeatureInfo(): Operation | undefined { return this._getFeatureInfo; }\n\n private _getTile?: Operation;\n public get getTile(): Operation | undefined { return this._getTile; }\n\n private readOperation(op: Element) {\n const nameAttr = op.attributes.getNamedItem(\"name\");\n if (!nameAttr)\n return;\n\n if (nameAttr.textContent === XmlConstants.GETCAPABILITIES) {\n this._getCapabilities = new Operation(op);\n } else if (nameAttr.textContent === XmlConstants.GETTILE) {\n this._getTile = new Operation(op);\n } else if (nameAttr.textContent === XmlConstants.GETFEATUREINFO) {\n this._getFeatureInfo = new Operation(op);\n }\n }\n\n constructor(elem: Element) {\n const operation = elem.getElementsByTagName(OwsConstants.OPERATION_XMLTAG);\n if (operation.length > 0) {\n for (const op of operation) {\n this.readOperation(op);\n }\n }\n }\n }\n\n export class HttpDcp {\n public readonly url?: string;\n public readonly constraintName?: string;\n\n // For simplicity of use we create a 'static' encoding property instead of having\n // a generic constraint data model.\n // We make sure the constraint name is 'encoding' related.\n public readonly encoding?: string;\n\n constructor(elem: Element) {\n const url = elem.getAttribute(XmlConstants.XLINK_HREF);\n if (url)\n this.url = url ?? \"\";\n\n const constraint = elem.getElementsByTagName(OwsConstants.CONSTRAINT_XMLTAG);\n if (constraint.length > 0) {\n this.constraintName = constraint[0].getAttribute(\"name\") ?? \"\";\n if (this.constraintName?.endsWith(XmlConstants.CONSTRAINT_NAME_FILTER)) {\n const allowedValues = constraint[0].getElementsByTagName(OwsConstants.ALLOWEDVALUES_XMLTAG);\n if (allowedValues.length > 0) {\n this.encoding = getElementTextContent(allowedValues[0], OwsConstants.VALUE_XMLTAG);\n }\n }\n }\n }\n }\n\n export class Operation {\n public readonly name?: string;\n private _getDcpHttp?: HttpDcp[];\n public get getDcpHttp(): HttpDcp[] | undefined { return this._getDcpHttp; }\n private _postDcpHttp?: HttpDcp[];\n public get postDcpHttp(): HttpDcp[] | undefined { return this._postDcpHttp; }\n\n constructor(elem: Element) {\n const name = elem.getAttribute(\"name\");\n if (name)\n this.name = name;\n\n const dcp = elem.getElementsByTagName(OwsConstants.DCP_XMLTAG);\n if (!dcp || dcp.length === 0)\n return;\n\n const dcpHttp = dcp[0].getElementsByTagName(OwsConstants.HTTP_XMLTAG);\n if (!dcpHttp || dcpHttp.length === 0)\n return;\n\n const get = dcpHttp[0].getElementsByTagName(OwsConstants.GET_XMLTAG);\n if (get.length > 0) {\n this._getDcpHttp = [];\n\n for (const getItem of get) {\n this._getDcpHttp?.push(new HttpDcp(getItem));\n }\n }\n\n const post = dcpHttp[0].getElementsByTagName(OwsConstants.POST_XMLTAG);\n if (post.length > 0) {\n this._postDcpHttp = [];\n\n for (const postItem of post) {\n this._postDcpHttp?.push(new HttpDcp(postItem));\n }\n }\n }\n }\n\n export class Contents {\n public readonly layers: Layer[] = [];\n public readonly tileMatrixSets: TileMatrixSet[] = [];\n\n constructor(elem: Element) {\n // Layers\n const layer = elem.getElementsByTagName(\"Layer\");\n if (layer) {\n for (const layerElem of layer)\n this.layers.push(new Layer(layerElem));\n }\n\n // TileMatrixSet\n const tms = elem.querySelectorAll(\"Contents > TileMatrixSet\");\n if (tms) {\n for (const tmsElem of tms)\n this.tileMatrixSets.push(new TileMatrixSet(tmsElem));\n }\n\n }\n\n public getGoogleMapsCompatibleTileMatrixSet(): TileMatrixSet[] {\n const googleMapsTms: TileMatrixSet[] = [];\n this.tileMatrixSets.forEach((tms) => {\n if (tms.wellKnownScaleSet?.toLowerCase().includes(WmtsConstants.GOOGLEMAPS_COMPATIBLE_WELLKNOWNNAME))\n googleMapsTms.push(tms);\n\n // In case wellKnownScaleSet was not been set properly, infer from scaleDenominator\n // Note: some servers are quite inaccurate in their scale values, hence I used a delta value of 1.\n else if (tms.tileMatrix.length > 0\n && Math.abs(tms.tileMatrix[0].scaleDenominator - WmtsConstants.GOOGLEMAPS_LEVEL0_SCALE_DENOM) < 1\n && (tms.supportedCrs.includes(\"3857\") || tms.supportedCrs.includes(\"900913\"))\n )\n googleMapsTms.push(tms);\n });\n return googleMapsTms;\n }\n\n public getEpsg4326CompatibleTileMatrixSet(): TileMatrixSet[] {\n return this.tileMatrixSets.filter((tms) => tms.supportedCrs.includes(\"4326\"));\n }\n }\n\n export class Style {\n public readonly isDefault: boolean = false;\n public readonly title?: string;\n public readonly identifier?: string;\n // TODO: LegendURL\n\n constructor(elem: Element) {\n if (!elem)\n return;\n\n const isDefault = elem.getAttribute(\"isDefault\");\n if (isDefault)\n this.isDefault = isDefault.toLowerCase() === \"true\";\n\n this.title = getElementTextContent(elem, OwsConstants.TITLE_XMLTAG);\n this.identifier = getElementTextContent(elem, OwsConstants.IDENTIFIER_XMLTAG);\n }\n }\n\n export class BoundingBox {\n public readonly crs?: string;\n public readonly range?: Range2d;\n\n constructor(elem: Element) {\n this.crs = elem.getAttribute(\"crs\") ?? undefined;\n\n const lowerCorner = getElementTextContent(elem, OwsConstants.LOWERCORNER_XMLTAG);\n const upperCorner = getElementTextContent(elem, OwsConstants.UPPERCORNER_XMLTAG);\n if (lowerCorner && upperCorner) {\n const lowerCornerArray = lowerCorner?.split(\" \").map((x: string) => +x);\n const upperCornerArray = upperCorner?.split(\" \").map((x: string) => +x);\n if (lowerCornerArray && lowerCornerArray.length === 2 && upperCornerArray && upperCornerArray.length === 2)\n this.range = Range2d.createXYXY(lowerCornerArray[0], lowerCornerArray[1], upperCornerArray[0], upperCornerArray[1]);\n }\n }\n }\n\n export class TileMatrixSetLimits {\n public limits?: Range2d;\n public tileMatrix?: string;\n\n constructor(elem: Element) {\n\n this.tileMatrix = getElementTextContent(elem, \"TileMatrix\");\n\n const minTileRow = getElementTextContent(elem, \"MinTileRow\");\n const maxTileRow = getElementTextContent(elem, \"MaxTileRow\");\n const minTileCol = getElementTextContent(elem, \"MinTileCol\");\n const maxTileCol = getElementTextContent(elem, \"MaxTileCol\");\n\n if (minTileRow !== undefined && maxTileRow !== undefined && minTileCol !== undefined && maxTileCol)\n this.limits = Range2d.createXYXY(Number(minTileCol), Number(minTileRow), Number(maxTileCol), Number(maxTileRow));\n }\n }\n\n export class TileMatrixSetLink {\n public readonly tileMatrixSet: string;\n public readonly tileMatrixSetLimits = new Array<TileMatrixSetLimits>();\n\n constructor(elem: Element) {\n\n this.tileMatrixSet = getElementTextContent(elem, \"TileMatrixSet\", \"\")!;\n\n const tileMatrixLimitsRoot = elem.getElementsByTagName(\"TileMatrixSetLimits\");\n if (tileMatrixLimitsRoot.length > 0) {\n const tileMatrixLimits = tileMatrixLimitsRoot[0].getElementsByTagName(\"TileMatrixSetLimits\");\n for (const tmsl of tileMatrixLimits) {\n this.tileMatrixSetLimits.push(new TileMatrixSetLimits(tmsl));\n }\n }\n }\n }\n\n export class TileMatrixSet {\n public readonly identifier: string;\n public readonly title?: string;\n public readonly abstract?: string;\n public readonly supportedCrs: string;\n public readonly wellKnownScaleSet: string;\n public readonly tileMatrix: TileMatrix[] = [];\n\n constructor(elem: Element) {\n const identifier = getElementTextContent(elem, OwsConstants.IDENTIFIER_XMLTAG);\n if (identifier)\n this.identifier = identifier;\n else\n throw new Error(\"No Identifier found.\");\n\n this.title = getElementTextContent(elem, OwsConstants.TITLE_XMLTAG);\n this.abstract = getElementTextContent(elem, OwsConstants.ABSTRACT_XMLTAG);\n\n const supportedCrs = getElementTextContent(elem, OwsConstants.SUPPORTEDCRS_XMLTAG);\n if (supportedCrs)\n this.supportedCrs = supportedCrs;\n else\n throw new Error(\"No supported CRS found.\");\n\n this.wellKnownScaleSet = getElementTextContent(elem, XmlConstants.WELLKNOWNSCALESET_XMLTAG, \"\")!;\n\n // TileMatrix:\n // TileMatrix is mandatory on TileMatrixSet, if it doesn't exists, something is OFF with the capability.\n const tileMatrix = elem.getElementsByTagName(XmlConstants.TILEMATRIX_XMLTAG);\n if (tileMatrix.length === 0)\n throw new Error(\"No matrix set link found for WMTS layer\");\n\n for (const tm of tileMatrix) {\n this.tileMatrix.push(new TileMatrix(tm));\n }\n }\n }\n\n export class TileMatrix {\n public readonly identifier: string;\n public readonly title?: string;\n public readonly abstract?: string;\n public readonly scaleDenominator: number;\n public readonly topLeftCorner: Point2d;\n public readonly tileWidth: number;\n public readonly tileHeight: number;\n public readonly matrixWidth: number;\n public readonly matrixHeight: number;\n\n constructor(elem: Element) {\n const identifier = getElementTextContent(elem, OwsConstants.IDENTIFIER_XMLTAG, \"\");\n if (identifier)\n this.identifier = identifier;\n else\n throw new Error(\"No Identifier found.\");\n\n this.title = getElementTextContent(elem, OwsConstants.TITLE_XMLTAG);\n this.abstract = getElementTextContent(elem, OwsConstants.ABSTRACT_XMLTAG);\n\n // Scale denominator\n const scaleDenom = getElementTextContent(elem, XmlConstants.SCALEDENOMINATOR_XMLTAG, \"\");\n if (!scaleDenom)\n throw new Error(\"No scale denominator found on TileMatrix.\");\n this.scaleDenominator = +scaleDenom;\n\n // Top left corner\n const topLeftCorner = getElementTextContent(elem, XmlConstants.TOPLEFTCORNER_XMLTAG, \"\")?.split(\" \").map((x: string) => +x);\n if (topLeftCorner?.length !== 2)\n throw new Error(\"No TopLeftCorner found on TileMatrix.\");\n this.topLeftCorner = Point2d.create(topLeftCorner[0], topLeftCorner[1]);\n\n // Tile Width\n const tileWidth = getElementTextContent(elem, XmlConstants.TILEWIDTH_XMLTAG);\n if (!tileWidth)\n throw new Error(\"No tile width found on TileMatrix.\");\n this.tileWidth = +tileWidth;\n\n // Tile Height\n const tileHeight = getElementTextContent(elem, XmlConstants.TILEHEIGHT_XMLTAG);\n if (!tileHeight)\n throw new Error(\"No tile height found on TileMatrix.\");\n this.tileHeight = +tileHeight;\n\n // Matrix Width\n const matrixWidth = getElementTextContent(elem, XmlConstants.MATRIXWIDTH_XMLTAG);\n if (!matrixWidth)\n throw new Error(\"No tile width found on TileMatrix.\");\n this.matrixWidth = +matrixWidth;\n\n // Matrix Height\n const matrixHeight = getElementTextContent(elem, XmlConstants.MATRIXHEIGHT_XMLTAG);\n if (!matrixHeight)\n throw new Error(\"No tile height found on TileMatrix.\");\n this.matrixHeight = +matrixHeight;\n }\n }\n\n export class Layer {\n public readonly identifier: string;\n public readonly title?: string;\n public readonly abstract?: string;\n public readonly format?: string;\n public readonly wsg84BoundingBox?: MapCartoRectangle;\n public readonly boundingBox?: BoundingBox;\n public readonly styles: Style[] = [];\n public readonly tileMatrixSetLinks: TileMatrixSetLink[] = [];\n\n constructor(elem: Element) {\n\n const identifier = getElementTextContent(elem, OwsConstants.IDENTIFIER_XMLTAG, \"\");\n if (identifier)\n this.identifier = identifier;\n else\n throw new Error(\"No Identifier found.\");\n\n this.title = getElementTextContent(elem, OwsConstants.TITLE_XMLTAG);\n this.format = getElementTextContent(elem, \"Format\");\n\n // BoundingBox\n const boundingBox = elem.getElementsByTagName(OwsConstants.BOUNDINGBOX_XMLTAG);\n if (boundingBox.length > 0)\n this.boundingBox = new BoundingBox(boundingBox[0]);\n\n let lowerCornerArray: number[] | undefined, upperCornerArray: number[] | undefined;\n const bbox = elem.getElementsByTagName(OwsConstants.WGS84BOUNDINGBOX_XMLTAG);\n if (bbox.length > 0) {\n lowerCornerArray = getElementTextContent(bbox[0], OwsConstants.LOWERCORNER_XMLTAG)?.split(\" \").map((x: string) => +x);\n upperCornerArray = getElementTextContent(bbox[0], OwsConstants.UPPERCORNER_XMLTAG)?.split(\" \").map((x: string) => +x);\n }\n\n if (lowerCornerArray?.length === 2 && upperCornerArray?.length === 2)\n this.wsg84BoundingBox = MapCartoRectangle.fromDegrees(lowerCornerArray[0], lowerCornerArray[1], upperCornerArray[0], upperCornerArray[1]);\n\n // If we could not initialized WSG84 bounding box, attempt to initialized it from Bounding Box\n if (!this.wsg84BoundingBox && (this.boundingBox?.crs?.includes(\"EPSG:4326\") || this.boundingBox?.crs?.includes(\"CRS:84\"))) {\n const range = this.boundingBox.range;\n if (range)\n this.wsg84BoundingBox = MapCartoRectangle.fromDegrees(range.low.x, range.low.y, range.high.x, range.high.y);\n else\n this.wsg84BoundingBox = MapCartoRectangle.createMaximum();\n }\n\n // Style\n const style = elem.getElementsByTagName(\"Style\");\n if (style.length > 0) {\n for (const styleElem of style)\n this.styles.push(new Style(styleElem));\n }\n\n // TileMatrixSetLink\n // TileMatrixSetLink is mandatory on Layer, if it doesn't exists, something is OFF with the capability.\n const tileMatrixSetLink = elem.getElementsByTagName(XmlConstants.TILEMATRIXSETLINK_XMLTAG);\n\n if (tileMatrixSetLink.length === 0)\n throw new Error(\"No matrix set link found for WMTS layer\");\n\n for (const tmsl of tileMatrixSetLink)\n this.tileMatrixSetLinks.push(new TileMatrixSetLink(tmsl));\n }\n }\n}\n\nexport class WmtsCapabilities {\n private static _capabilitiesCache = new Map<string, WmtsCapabilities | undefined>();\n\n public readonly version?: string;\n public readonly serviceIdentification?: WmtsCapability.ServiceIdentification;\n public readonly contents?: WmtsCapability.Contents;\n\n public readonly operationsMetadata?: WmtsCapability.OperationMetadata;\n\n constructor(xmlDoc: Document) {\n\n const capabilities = xmlDoc.getElementsByTagName(\"Capabilities\");\n if (capabilities.length !== 0) {\n const capability = capabilities[0];\n this.version = capability.getAttribute(\"version\") ?? undefined;\n\n // Service Identification\n const serviceIdentification = capability.getElementsByTagName(OwsConstants.SERVICEIDENTIFICATION_XMLTAG);\n if (serviceIdentification.length > 0)\n this.serviceIdentification = new WmtsCapability.ServiceIdentification(serviceIdentification[0]);\n\n // Operations metadata\n const operationsMetadata = capability.getElementsByTagName(OwsConstants.OPERATIONSMETADATA_XMLTAG);\n if (operationsMetadata.length > 0)\n this.operationsMetadata = new WmtsCapability.OperationMetadata(operationsMetadata[0]);\n\n // Contents\n const content = capability.getElementsByTagName(\"Contents\");\n if (content.length > 0)\n this.contents = new WmtsCapability.Contents(content[0]);\n }\n }\n\n public static createFromXml(xmlCapabilities: string): WmtsCapabilities | undefined {\n const parser = new DOMParser();\n const xmlDoc = parser.parseFromString(xmlCapabilities, \"text/xml\");\n return new WmtsCapabilities(xmlDoc);\n }\n\n public static async create(url: string, credentials?: RequestBasicCredentials, ignoreCache?: boolean, queryParams?: {[key: string]: string}): Promise<WmtsCapabilities | undefined> {\n if (!ignoreCache) {\n const cached = WmtsCapabilities._capabilitiesCache.get(url);\n if (cached !== undefined)\n return cached;\n }\n\n const tmpUrl = new URL(WmsUtilities.getBaseUrl(url));\n tmpUrl.searchParams.append(\"request\", \"GetCapabilities\");\n tmpUrl.searchParams.append(\"service\", \"WMTS\");\n if (queryParams) {\n Object.keys(queryParams).forEach((paramKey) => {\n if (!tmpUrl.searchParams.has(paramKey))\n tmpUrl.searchParams.append(paramKey, queryParams[paramKey]);\n });\n }\n\n const xmlCapabilities = await WmsUtilities.fetchXml(tmpUrl.toString(), credentials);\n if (!xmlCapabilities)\n return undefined;\n\n const capabilities = WmtsCapabilities.createFromXml(xmlCapabilities);\n if (capabilities)\n WmtsCapabilities._capabilitiesCache.set(url, capabilities);\n\n return capabilities;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"WmtsCapabilities.js","sourceRoot":"","sources":["../../../../../src/internal/tile/map/WmtsCapabilities.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 Views\n */\n\nimport { Point2d, Range2d } from \"@itwin/core-geometry\";\nimport { RequestBasicCredentials } from \"../../../request/Request\";\nimport { MapCartoRectangle, WmsUtilities } from \"../../../tile/internal\";\n\nenum OwsConstants {\n ABSTRACT_XMLTAG = \"ows:Abstract\",\n ACCESSCONSTRAINTS_XMLTAG = \"ows:AccessConstraints\",\n ALLOWEDVALUES_XMLTAG = \"ows:AllowedValues\",\n BOUNDINGBOX_XMLTAG = \"ows:BoundingBox\",\n CONSTRAINT_XMLTAG = \"ows:Constraint\",\n DCP_XMLTAG = \"ows:DCP\",\n FEES_XMLTAG = \"ows:Fees\",\n GET_XMLTAG = \"ows:Get\",\n HTTP_XMLTAG = \"ows:HTTP\",\n IDENTIFIER_XMLTAG = \"ows:Identifier\",\n KEYWORDS_XMLTAG = \"ows:Keywords\",\n KEYWORD_XMLTAG = \"ows:Keyword\",\n LOWERCORNER_XMLTAG = \"ows:LowerCorner\",\n OPERATION_XMLTAG = \"ows:Operation\",\n OPERATIONSMETADATA_XMLTAG = \"ows:OperationsMetadata\",\n POST_XMLTAG = \"ows:Post\",\n SERVICEIDENTIFICATION_XMLTAG = \"ows:ServiceIdentification\",\n SERVICETYPE_XMLTAG = \"ows:ServiceType\",\n SERVICETYPEVERSION_XMLTAG = \"ows:ServiceTypeVersion\",\n SUPPORTEDCRS_XMLTAG = \"ows:SupportedCRS\",\n TITLE_XMLTAG = \"ows:Title\",\n UPPERCORNER_XMLTAG = \"ows:UpperCorner\",\n VALUE_XMLTAG = \"ows:Value\",\n WGS84BOUNDINGBOX_XMLTAG = \"ows:WGS84BoundingBox\"\n\n}\n\nenum XmlConstants {\n // Operations names\n GETCAPABILITIES = \"GetCapabilities\",\n GETTILE = \"GetTile\",\n GETFEATUREINFO = \"GetFeatureInfo\",\n\n MATRIXWIDTH_XMLTAG = \"MatrixWidth\",\n MATRIXHEIGHT_XMLTAG = \"MatrixHeight\",\n SCALEDENOMINATOR_XMLTAG = \"ScaleDenominator\",\n\n TILEHEIGHT_XMLTAG = \"TileHeight\",\n TILEMATRIX_XMLTAG = \"TileMatrix\",\n TILEMATRIXSETLINK_XMLTAG = \"TileMatrixSetLink\",\n RESOURCEURL_XMLTAG = \"ResourceURL\",\n TILEWIDTH_XMLTAG = \"TileWidth\",\n TOPLEFTCORNER_XMLTAG = \"TopLeftCorner\",\n WELLKNOWNSCALESET_XMLTAG = \"WellKnownScaleSet\",\n\n CONSTRAINT_NAME_FILTER = \"Encoding\",\n STYLE_ISDEFAULT = \"IsDefault\",\n XLINK_HREF = \"xlink:href\",\n}\n\nexport enum WmtsConstants {\n GOOGLEMAPS_LEVEL0_SCALE_DENOM = 559082264.0287178,\n GOOGLEMAPS_COMPATIBLE_WELLKNOWNNAME = \"googlemapscompatible\",\n}\n\n/**\n * Utility function to extract an element' text content\n * @return An element's text content, default to provided defaultTest value if no text is available.\n * @param url server URL to address the request\n */\nconst getElementTextContent = (elem: Element, qualifiedName: string, defaultText?: string) => {\n\n const tmpElem = elem.getElementsByTagName(qualifiedName);\n if (tmpElem.length > 0) {\n return tmpElem[0].textContent ?? defaultText;\n } else\n return defaultText;\n\n};\n\n/** Encapsulation of the capabilities for an WMTS server\n */\nexport namespace WmtsCapability {\n export class ServiceIdentification {\n public readonly abstract?: string;\n public readonly accessConstraints?: string;\n public readonly fees?: string;\n public readonly serviceType?: string;\n public readonly serviceTypeVersion?: string;\n public readonly title?: string;\n public readonly keywords?: string[];\n\n constructor(elem: Element) {\n this.abstract = getElementTextContent(elem, OwsConstants.ABSTRACT_XMLTAG);\n this.serviceType = getElementTextContent(elem, OwsConstants.SERVICETYPE_XMLTAG);\n this.serviceTypeVersion = getElementTextContent(elem, OwsConstants.SERVICETYPEVERSION_XMLTAG);\n this.title = getElementTextContent(elem, OwsConstants.TITLE_XMLTAG);\n\n const keywords = elem.getElementsByTagName(OwsConstants.KEYWORDS_XMLTAG);\n if (keywords.length > 0) {\n const keyword = keywords[0].getElementsByTagName(OwsConstants.KEYWORD_XMLTAG);\n this.keywords = [];\n for (const keyworkElem of keyword) {\n const keyWordText = keyworkElem.textContent;\n if (keyWordText)\n this.keywords.push(keyWordText);\n }\n }\n\n this.accessConstraints = getElementTextContent(elem, OwsConstants.ACCESSCONSTRAINTS_XMLTAG);\n\n this.fees = getElementTextContent(elem, OwsConstants.FEES_XMLTAG);\n }\n }\n\n export class OperationMetadata {\n private _getCapabilities?: Operation;\n public get getCapabilities(): Operation | undefined { return this._getCapabilities; }\n\n private _getFeatureInfo?: Operation;\n public get getFeatureInfo(): Operation | undefined { return this._getFeatureInfo; }\n\n private _getTile?: Operation;\n public get getTile(): Operation | undefined { return this._getTile; }\n\n private readOperation(op: Element) {\n const nameAttr = op.attributes.getNamedItem(\"name\");\n if (!nameAttr)\n return;\n\n if (nameAttr.textContent === XmlConstants.GETCAPABILITIES) {\n this._getCapabilities = new Operation(op);\n } else if (nameAttr.textContent === XmlConstants.GETTILE) {\n this._getTile = new Operation(op);\n } else if (nameAttr.textContent === XmlConstants.GETFEATUREINFO) {\n this._getFeatureInfo = new Operation(op);\n }\n }\n\n constructor(elem: Element) {\n const operation = elem.getElementsByTagName(OwsConstants.OPERATION_XMLTAG);\n if (operation.length > 0) {\n for (const op of operation) {\n this.readOperation(op);\n }\n }\n }\n }\n\n export class HttpDcp {\n public readonly url?: string;\n public readonly constraintName?: string;\n\n // For simplicity of use we create a 'static' encoding property instead of having\n // a generic constraint data model.\n // We make sure the constraint name is 'encoding' related.\n public readonly encoding?: string;\n\n constructor(elem: Element) {\n const url = elem.getAttribute(XmlConstants.XLINK_HREF);\n if (url)\n this.url = url ?? \"\";\n\n const constraint = elem.getElementsByTagName(OwsConstants.CONSTRAINT_XMLTAG);\n if (constraint.length > 0) {\n this.constraintName = constraint[0].getAttribute(\"name\") ?? \"\";\n if (this.constraintName?.endsWith(XmlConstants.CONSTRAINT_NAME_FILTER)) {\n const allowedValues = constraint[0].getElementsByTagName(OwsConstants.ALLOWEDVALUES_XMLTAG);\n if (allowedValues.length > 0) {\n this.encoding = getElementTextContent(allowedValues[0], OwsConstants.VALUE_XMLTAG);\n }\n }\n }\n }\n }\n\n export class Operation {\n public readonly name?: string;\n private _getDcpHttp?: HttpDcp[];\n public get getDcpHttp(): HttpDcp[] | undefined { return this._getDcpHttp; }\n private _postDcpHttp?: HttpDcp[];\n public get postDcpHttp(): HttpDcp[] | undefined { return this._postDcpHttp; }\n\n constructor(elem: Element) {\n const name = elem.getAttribute(\"name\");\n if (name)\n this.name = name;\n\n const dcp = elem.getElementsByTagName(OwsConstants.DCP_XMLTAG);\n if (!dcp || dcp.length === 0)\n return;\n\n const dcpHttp = dcp[0].getElementsByTagName(OwsConstants.HTTP_XMLTAG);\n if (!dcpHttp || dcpHttp.length === 0)\n return;\n\n const get = dcpHttp[0].getElementsByTagName(OwsConstants.GET_XMLTAG);\n if (get.length > 0) {\n this._getDcpHttp = [];\n\n for (const getItem of get) {\n this._getDcpHttp?.push(new HttpDcp(getItem));\n }\n }\n\n const post = dcpHttp[0].getElementsByTagName(OwsConstants.POST_XMLTAG);\n if (post.length > 0) {\n this._postDcpHttp = [];\n\n for (const postItem of post) {\n this._postDcpHttp?.push(new HttpDcp(postItem));\n }\n }\n }\n }\n\n export class Contents {\n public readonly layers: Layer[] = [];\n public readonly tileMatrixSets: TileMatrixSet[] = [];\n\n constructor(elem: Element) {\n // Layers\n const layer = elem.getElementsByTagName(\"Layer\");\n if (layer) {\n for (const layerElem of layer)\n this.layers.push(new Layer(layerElem));\n }\n\n // TileMatrixSet\n const tms = elem.querySelectorAll(\"Contents > TileMatrixSet\");\n if (tms) {\n for (const tmsElem of tms)\n this.tileMatrixSets.push(new TileMatrixSet(tmsElem));\n }\n\n }\n\n public getGoogleMapsCompatibleTileMatrixSet(): TileMatrixSet[] {\n const googleMapsTms: TileMatrixSet[] = [];\n this.tileMatrixSets.forEach((tms) => {\n if (tms.wellKnownScaleSet?.toLowerCase().includes(WmtsConstants.GOOGLEMAPS_COMPATIBLE_WELLKNOWNNAME))\n googleMapsTms.push(tms);\n\n // In case wellKnownScaleSet was not been set properly, infer from scaleDenominator\n // Note: some servers are quite inaccurate in their scale values, hence I used a delta value of 1.\n else if (tms.tileMatrix.length > 0\n && Math.abs(tms.tileMatrix[0].scaleDenominator - WmtsConstants.GOOGLEMAPS_LEVEL0_SCALE_DENOM) < 1\n && (tms.supportedCrs.includes(\"3857\") || tms.supportedCrs.includes(\"900913\"))\n )\n googleMapsTms.push(tms);\n });\n return googleMapsTms;\n }\n\n public getEpsg4326CompatibleTileMatrixSet(): TileMatrixSet[] {\n return this.tileMatrixSets.filter((tms) => tms.supportedCrs.includes(\"4326\"));\n }\n }\n\n export class Style {\n public readonly isDefault: boolean = false;\n public readonly title?: string;\n public readonly identifier?: string;\n // TODO: LegendURL\n\n constructor(elem: Element) {\n if (!elem)\n return;\n\n const isDefault = elem.getAttribute(\"isDefault\");\n if (isDefault)\n this.isDefault = isDefault.toLowerCase() === \"true\";\n\n this.title = getElementTextContent(elem, OwsConstants.TITLE_XMLTAG);\n this.identifier = getElementTextContent(elem, OwsConstants.IDENTIFIER_XMLTAG);\n }\n }\n\n export class BoundingBox {\n public readonly crs?: string;\n public readonly range?: Range2d;\n\n constructor(elem: Element) {\n this.crs = elem.getAttribute(\"crs\") ?? undefined;\n\n const lowerCorner = getElementTextContent(elem, OwsConstants.LOWERCORNER_XMLTAG);\n const upperCorner = getElementTextContent(elem, OwsConstants.UPPERCORNER_XMLTAG);\n if (lowerCorner && upperCorner) {\n const lowerCornerArray = lowerCorner?.split(\" \").map((x: string) => +x);\n const upperCornerArray = upperCorner?.split(\" \").map((x: string) => +x);\n if (lowerCornerArray && lowerCornerArray.length === 2 && upperCornerArray && upperCornerArray.length === 2)\n this.range = Range2d.createXYXY(lowerCornerArray[0], lowerCornerArray[1], upperCornerArray[0], upperCornerArray[1]);\n }\n }\n }\n\n export class TileMatrixSetLimits {\n public limits?: Range2d;\n public tileMatrix?: string;\n\n constructor(elem: Element) {\n\n this.tileMatrix = getElementTextContent(elem, \"TileMatrix\");\n\n const minTileRow = getElementTextContent(elem, \"MinTileRow\");\n const maxTileRow = getElementTextContent(elem, \"MaxTileRow\");\n const minTileCol = getElementTextContent(elem, \"MinTileCol\");\n const maxTileCol = getElementTextContent(elem, \"MaxTileCol\");\n\n if (minTileRow !== undefined && maxTileRow !== undefined && minTileCol !== undefined && maxTileCol)\n this.limits = Range2d.createXYXY(Number(minTileCol), Number(minTileRow), Number(maxTileCol), Number(maxTileRow));\n }\n }\n\n export class TileMatrixSetLink {\n public readonly tileMatrixSet: string;\n public readonly tileMatrixSetLimits = new Array<TileMatrixSetLimits>();\n\n constructor(elem: Element) {\n\n this.tileMatrixSet = getElementTextContent(elem, \"TileMatrixSet\", \"\")!;\n\n const tileMatrixLimitsRoot = elem.getElementsByTagName(\"TileMatrixSetLimits\");\n if (tileMatrixLimitsRoot.length > 0) {\n const tileMatrixLimits = tileMatrixLimitsRoot[0].getElementsByTagName(\"TileMatrixSetLimits\");\n for (const tmsl of tileMatrixLimits) {\n this.tileMatrixSetLimits.push(new TileMatrixSetLimits(tmsl));\n }\n }\n }\n }\n\n export class ResourceURL {\n public readonly format: string;\n public readonly resourceType: string\n public readonly template: string;\n\n constructor(elem: Element) {\n this.format = elem.getAttribute(\"format\") ?? \"\";\n this.resourceType = elem.getAttribute(\"resourceType\") ?? \"\";\n this.template = elem.getAttribute(\"template\") ?? \"\";\n }\n }\n\n export class TileMatrixSet {\n public readonly identifier: string;\n public readonly title?: string;\n public readonly abstract?: string;\n public readonly supportedCrs: string;\n public readonly wellKnownScaleSet: string;\n public readonly tileMatrix: TileMatrix[] = [];\n\n constructor(elem: Element) {\n const identifier = getElementTextContent(elem, OwsConstants.IDENTIFIER_XMLTAG);\n if (identifier)\n this.identifier = identifier;\n else\n throw new Error(\"No Identifier found.\");\n\n this.title = getElementTextContent(elem, OwsConstants.TITLE_XMLTAG);\n this.abstract = getElementTextContent(elem, OwsConstants.ABSTRACT_XMLTAG);\n\n const supportedCrs = getElementTextContent(elem, OwsConstants.SUPPORTEDCRS_XMLTAG);\n if (supportedCrs)\n this.supportedCrs = supportedCrs;\n else\n throw new Error(\"No supported CRS found.\");\n\n this.wellKnownScaleSet = getElementTextContent(elem, XmlConstants.WELLKNOWNSCALESET_XMLTAG, \"\")!;\n\n // TileMatrix:\n // TileMatrix is mandatory on TileMatrixSet, if it doesn't exists, something is OFF with the capability.\n const tileMatrix = elem.getElementsByTagName(XmlConstants.TILEMATRIX_XMLTAG);\n if (tileMatrix.length === 0)\n throw new Error(\"No matrix set link found for WMTS layer\");\n\n for (const tm of tileMatrix) {\n this.tileMatrix.push(new TileMatrix(tm));\n }\n }\n }\n\n export class TileMatrix {\n public readonly identifier: string;\n public readonly title?: string;\n public readonly abstract?: string;\n public readonly scaleDenominator: number;\n public readonly topLeftCorner: Point2d;\n public readonly tileWidth: number;\n public readonly tileHeight: number;\n public readonly matrixWidth: number;\n public readonly matrixHeight: number;\n\n constructor(elem: Element) {\n const identifier = getElementTextContent(elem, OwsConstants.IDENTIFIER_XMLTAG, \"\");\n if (identifier)\n this.identifier = identifier;\n else\n throw new Error(\"No Identifier found.\");\n\n this.title = getElementTextContent(elem, OwsConstants.TITLE_XMLTAG);\n this.abstract = getElementTextContent(elem, OwsConstants.ABSTRACT_XMLTAG);\n\n // Scale denominator\n const scaleDenom = getElementTextContent(elem, XmlConstants.SCALEDENOMINATOR_XMLTAG, \"\");\n if (!scaleDenom)\n throw new Error(\"No scale denominator found on TileMatrix.\");\n this.scaleDenominator = +scaleDenom;\n\n // Top left corner\n const topLeftCorner = getElementTextContent(elem, XmlConstants.TOPLEFTCORNER_XMLTAG, \"\")?.split(\" \").map((x: string) => +x);\n if (topLeftCorner?.length !== 2)\n throw new Error(\"No TopLeftCorner found on TileMatrix.\");\n this.topLeftCorner = Point2d.create(topLeftCorner[0], topLeftCorner[1]);\n\n // Tile Width\n const tileWidth = getElementTextContent(elem, XmlConstants.TILEWIDTH_XMLTAG);\n if (!tileWidth)\n throw new Error(\"No tile width found on TileMatrix.\");\n this.tileWidth = +tileWidth;\n\n // Tile Height\n const tileHeight = getElementTextContent(elem, XmlConstants.TILEHEIGHT_XMLTAG);\n if (!tileHeight)\n throw new Error(\"No tile height found on TileMatrix.\");\n this.tileHeight = +tileHeight;\n\n // Matrix Width\n const matrixWidth = getElementTextContent(elem, XmlConstants.MATRIXWIDTH_XMLTAG);\n if (!matrixWidth)\n throw new Error(\"No tile width found on TileMatrix.\");\n this.matrixWidth = +matrixWidth;\n\n // Matrix Height\n const matrixHeight = getElementTextContent(elem, XmlConstants.MATRIXHEIGHT_XMLTAG);\n if (!matrixHeight)\n throw new Error(\"No tile height found on TileMatrix.\");\n this.matrixHeight = +matrixHeight;\n }\n }\n\n export class Layer {\n public readonly identifier: string;\n public readonly title?: string;\n public readonly abstract?: string;\n public readonly format?: string;\n public readonly wsg84BoundingBox?: MapCartoRectangle;\n public readonly boundingBox?: BoundingBox;\n public readonly styles: Style[] = [];\n public readonly tileMatrixSetLinks: TileMatrixSetLink[] = [];\n public readonly resourceUrls: ResourceURL[] = [];\n\n constructor(elem: Element) {\n\n const identifier = getElementTextContent(elem, OwsConstants.IDENTIFIER_XMLTAG, \"\");\n if (identifier)\n this.identifier = identifier;\n else\n throw new Error(\"No Identifier found.\");\n\n this.title = getElementTextContent(elem, OwsConstants.TITLE_XMLTAG);\n this.format = getElementTextContent(elem, \"Format\");\n\n // BoundingBox\n const boundingBox = elem.getElementsByTagName(OwsConstants.BOUNDINGBOX_XMLTAG);\n if (boundingBox.length > 0)\n this.boundingBox = new BoundingBox(boundingBox[0]);\n\n let lowerCornerArray: number[] | undefined, upperCornerArray: number[] | undefined;\n const bbox = elem.getElementsByTagName(OwsConstants.WGS84BOUNDINGBOX_XMLTAG);\n if (bbox.length > 0) {\n lowerCornerArray = getElementTextContent(bbox[0], OwsConstants.LOWERCORNER_XMLTAG)?.split(\" \").map((x: string) => +x);\n upperCornerArray = getElementTextContent(bbox[0], OwsConstants.UPPERCORNER_XMLTAG)?.split(\" \").map((x: string) => +x);\n }\n\n if (lowerCornerArray?.length === 2 && upperCornerArray?.length === 2)\n this.wsg84BoundingBox = MapCartoRectangle.fromDegrees(lowerCornerArray[0], lowerCornerArray[1], upperCornerArray[0], upperCornerArray[1]);\n\n // If we could not initialized WSG84 bounding box, attempt to initialized it from Bounding Box\n if (!this.wsg84BoundingBox && (this.boundingBox?.crs?.includes(\"EPSG:4326\") || this.boundingBox?.crs?.includes(\"CRS:84\"))) {\n const range = this.boundingBox.range;\n if (range)\n this.wsg84BoundingBox = MapCartoRectangle.fromDegrees(range.low.x, range.low.y, range.high.x, range.high.y);\n else\n this.wsg84BoundingBox = MapCartoRectangle.createMaximum();\n }\n\n // Style\n const style = elem.getElementsByTagName(\"Style\");\n if (style.length > 0) {\n for (const styleElem of style)\n this.styles.push(new Style(styleElem));\n }\n\n // TileMatrixSetLink\n // TileMatrixSetLink is mandatory on Layer, if it doesn't exists, something is OFF with the capability.\n const tileMatrixSetLink = elem.getElementsByTagName(XmlConstants.TILEMATRIXSETLINK_XMLTAG);\n\n if (tileMatrixSetLink.length === 0)\n throw new Error(\"No matrix set link found for WMTS layer\");\n\n for (const tmsl of tileMatrixSetLink)\n this.tileMatrixSetLinks.push(new TileMatrixSetLink(tmsl));\n\n // ResourceURL are optional. It can be repeated for different resource types.\n const resourceUrls = elem.getElementsByTagName(XmlConstants.RESOURCEURL_XMLTAG);\n\n for (const url of resourceUrls)\n this.resourceUrls.push(new ResourceURL(url));\n }\n }\n}\n\nexport class WmtsCapabilities {\n private static _capabilitiesCache = new Map<string, WmtsCapabilities | undefined>();\n\n public readonly version?: string;\n public readonly serviceIdentification?: WmtsCapability.ServiceIdentification;\n public readonly contents?: WmtsCapability.Contents;\n\n public readonly operationsMetadata?: WmtsCapability.OperationMetadata;\n\n constructor(xmlDoc: Document) {\n\n const capabilities = xmlDoc.getElementsByTagName(\"Capabilities\");\n if (capabilities.length !== 0) {\n const capability = capabilities[0];\n this.version = capability.getAttribute(\"version\") ?? undefined;\n\n // Service Identification\n const serviceIdentification = capability.getElementsByTagName(OwsConstants.SERVICEIDENTIFICATION_XMLTAG);\n if (serviceIdentification.length > 0)\n this.serviceIdentification = new WmtsCapability.ServiceIdentification(serviceIdentification[0]);\n\n // Operations metadata\n const operationsMetadata = capability.getElementsByTagName(OwsConstants.OPERATIONSMETADATA_XMLTAG);\n if (operationsMetadata.length > 0)\n this.operationsMetadata = new WmtsCapability.OperationMetadata(operationsMetadata[0]);\n\n // Contents\n const content = capability.getElementsByTagName(\"Contents\");\n if (content.length > 0)\n this.contents = new WmtsCapability.Contents(content[0]);\n }\n }\n\n public static createFromXml(xmlCapabilities: string): WmtsCapabilities | undefined {\n const parser = new DOMParser();\n const xmlDoc = parser.parseFromString(xmlCapabilities, \"text/xml\");\n return new WmtsCapabilities(xmlDoc);\n }\n\n public static async create(url: string, credentials?: RequestBasicCredentials, ignoreCache?: boolean, queryParams?: {[key: string]: string}): Promise<WmtsCapabilities | undefined> {\n if (!ignoreCache) {\n const cached = WmtsCapabilities._capabilitiesCache.get(url);\n if (cached !== undefined)\n return cached;\n }\n\n const tmpUrl = new URL(WmsUtilities.getBaseUrl(url));\n tmpUrl.searchParams.append(\"request\", \"GetCapabilities\");\n tmpUrl.searchParams.append(\"service\", \"WMTS\");\n if (queryParams) {\n Object.keys(queryParams).forEach((paramKey) => {\n if (!tmpUrl.searchParams.has(paramKey))\n tmpUrl.searchParams.append(paramKey, queryParams[paramKey]);\n });\n }\n\n const xmlCapabilities = await WmsUtilities.fetchXml(tmpUrl.toString(), credentials);\n if (!xmlCapabilities)\n return undefined;\n\n const capabilities = WmtsCapabilities.createFromXml(xmlCapabilities);\n if (capabilities)\n WmtsCapabilities._capabilitiesCache.set(url, capabilities);\n\n return capabilities;\n }\n}\n"]}
|
|
@@ -9,7 +9,7 @@ export { MeshGraphic } from "./render/webgl/Mesh";
|
|
|
9
9
|
export { PolylineGeometry } from "./render/webgl/Polyline";
|
|
10
10
|
export { RenderOrder } from "./render/webgl/RenderFlags";
|
|
11
11
|
export { FrameBuffer } from "./render/webgl/FrameBuffer";
|
|
12
|
-
export { ExternalTextureLoader, ExternalTextureRequest, Texture2DHandle, TextureHandle } from "./render/webgl/Texture";
|
|
12
|
+
export { ExternalTextureLoader, type ExternalTextureRequest, Texture2DHandle, TextureHandle } from "./render/webgl/Texture";
|
|
13
13
|
export { FeatureOverrides } from "./render/webgl/FeatureOverrides";
|
|
14
14
|
export { GL } from "./render/webgl/GL";
|
|
15
15
|
//# sourceMappingURL=webgl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webgl.d.ts","sourceRoot":"","sources":["../../../src/internal/webgl.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/G,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"webgl.d.ts","sourceRoot":"","sources":["../../../src/internal/webgl.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/G,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,KAAK,sBAAsB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5H,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webgl.js","sourceRoot":"","sources":["../../../src/internal/webgl.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,wEAAwE;AACxE,oGAAoG;AACpG,wEAAuE;AAA9D,wHAAA,kBAAkB,OAAA;AAC3B,gDAAgF;AAAvE,yGAAA,eAAe,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,gGAAA,MAAM,OAAA;AAChD,kDAA+G;AAAtG,gGAAA,KAAK,OAAA;AAAE,iGAAA,MAAM,OAAA;AAAE,kGAAA,OAAO,OAAA;AAAE,uGAAA,YAAY,OAAA;AAAE,wGAAA,aAAa,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAC9E,sDAAqD;AAA5C,sGAAA,SAAS,OAAA;AAClB,4CAAkD;AAAzC,mGAAA,WAAW,OAAA;AACpB,oDAA2D;AAAlD,4GAAA,gBAAgB,OAAA;AAEzB,0DAAyD;AAAhD,0GAAA,WAAW,OAAA;AACpB,
|
|
1
|
+
{"version":3,"file":"webgl.js","sourceRoot":"","sources":["../../../src/internal/webgl.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,wEAAwE;AACxE,oGAAoG;AACpG,wEAAuE;AAA9D,wHAAA,kBAAkB,OAAA;AAC3B,gDAAgF;AAAvE,yGAAA,eAAe,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,gGAAA,MAAM,OAAA;AAChD,kDAA+G;AAAtG,gGAAA,KAAK,OAAA;AAAE,iGAAA,MAAM,OAAA;AAAE,kGAAA,OAAO,OAAA;AAAE,uGAAA,YAAY,OAAA;AAAE,wGAAA,aAAa,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAC9E,sDAAqD;AAA5C,sGAAA,SAAS,OAAA;AAClB,4CAAkD;AAAzC,mGAAA,WAAW,OAAA;AACpB,oDAA2D;AAAlD,4GAAA,gBAAgB,OAAA;AAEzB,0DAAyD;AAAhD,0GAAA,WAAW,OAAA;AACpB,kDAA4H;AAAnH,gHAAA,qBAAqB,OAAA;AAA+B,0GAAA,eAAe,OAAA;AAAE,wGAAA,aAAa,OAAA;AAC3F,oEAAmE;AAA1D,oHAAA,gBAAgB,OAAA;AACzB,wCAAuC;AAA9B,wFAAA,EAAE,OAAA","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 Utils\n */\n\n// All of the following are exported strictly for core-full-stack-tests.\n// Most if not all of those tests really should be moved to core-frontend and these exports removed.\nexport { PerformanceMetrics } from \"./render/webgl/PerformanceMetrics\";\nexport { OffScreenTarget, OnScreenTarget, Target } from \"./render/webgl/Target\";\nexport { Batch, Branch, Graphic, GraphicOwner, GraphicsArray, WorldDecorations } from \"./render/webgl/Graphic\";\nexport { Primitive } from \"./render/webgl/Primitive\";\nexport { MeshGraphic } from \"./render/webgl/Mesh\";\nexport { PolylineGeometry } from \"./render/webgl/Polyline\";\nexport { RenderOrder } from \"./render/webgl/RenderFlags\";\nexport { FrameBuffer } from \"./render/webgl/FrameBuffer\";\nexport { ExternalTextureLoader, type ExternalTextureRequest, Texture2DHandle, TextureHandle } from \"./render/webgl/Texture\";\nexport { FeatureOverrides } from \"./render/webgl/FeatureOverrides\";\nexport { GL } from \"./render/webgl/GL\";\n"]}
|
|
@@ -8,8 +8,11 @@ import { FormattedQuantityDescription } from "./FormattedQuantityDescription";
|
|
|
8
8
|
* @beta
|
|
9
9
|
*/
|
|
10
10
|
export declare class AngleDescription extends FormattedQuantityDescription {
|
|
11
|
-
constructor(name?: string, displayLabel?: string, iconSpec?: string);
|
|
11
|
+
constructor(name?: string, displayLabel?: string, iconSpec?: string, kindOfQuantityName?: string);
|
|
12
12
|
get formatterQuantityType(): QuantityType;
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated in 5.0 - will not be removed until after 2026-06-13. Use the `kindOfQuantityName` property instead.
|
|
15
|
+
*/
|
|
13
16
|
get quantityType(): string;
|
|
14
17
|
get parseError(): string;
|
|
15
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AngleDescription.d.ts","sourceRoot":"","sources":["../../../src/properties/AngleDescription.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,4BAA4B;gBACpD,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"AngleDescription.d.ts","sourceRoot":"","sources":["../../../src/properties/AngleDescription.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,4BAA4B;gBACpD,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM;IAUhG,IAAW,qBAAqB,IAAI,YAAY,CAA+B;IAC/E;;OAEG;IACH,IAAW,YAAY,IAAI,MAAM,CAAoB;IAErD,IAAW,UAAU,IAAI,MAAM,CAAgG;CAChI"}
|
|
@@ -16,11 +16,19 @@ const FormattedQuantityDescription_1 = require("./FormattedQuantityDescription")
|
|
|
16
16
|
* @beta
|
|
17
17
|
*/
|
|
18
18
|
class AngleDescription extends FormattedQuantityDescription_1.FormattedQuantityDescription {
|
|
19
|
-
constructor(name, displayLabel, iconSpec) {
|
|
19
|
+
constructor(name, displayLabel, iconSpec, kindOfQuantityName) {
|
|
20
20
|
const defaultName = "angle";
|
|
21
|
-
super(
|
|
21
|
+
super({
|
|
22
|
+
name: name ? name : defaultName,
|
|
23
|
+
displayLabel: displayLabel ? displayLabel : IModelApp_1.IModelApp.localization.getLocalizedString("iModelJs:Properties.Angle"),
|
|
24
|
+
kindOfQuantityName: kindOfQuantityName ? kindOfQuantityName : "AecUnits.ANGLE",
|
|
25
|
+
iconSpec
|
|
26
|
+
});
|
|
22
27
|
}
|
|
23
28
|
get formatterQuantityType() { return QuantityFormatter_1.QuantityType.Angle; }
|
|
29
|
+
/**
|
|
30
|
+
* @deprecated in 5.0 - will not be removed until after 2026-06-13. Use the `kindOfQuantityName` property instead.
|
|
31
|
+
*/
|
|
24
32
|
get quantityType() { return "Angle"; }
|
|
25
33
|
get parseError() { return IModelApp_1.IModelApp.localization.getLocalizedString("iModelJs:Properties.UnableToParseAngle"); }
|
|
26
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AngleDescription.js","sourceRoot":"","sources":["../../../src/properties/AngleDescription.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,4CAAyC;AACzC,gFAAwE;AACxE,iFAA8E;AAE9E;;;GAGG;AACH,MAAa,gBAAiB,SAAQ,2DAA4B;IAChE,YAAY,IAAa,EAAE,YAAqB,EAAE,QAAiB;
|
|
1
|
+
{"version":3,"file":"AngleDescription.js","sourceRoot":"","sources":["../../../src/properties/AngleDescription.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,4CAAyC;AACzC,gFAAwE;AACxE,iFAA8E;AAE9E;;;GAGG;AACH,MAAa,gBAAiB,SAAQ,2DAA4B;IAChE,YAAY,IAAa,EAAE,YAAqB,EAAE,QAAiB,EAAE,kBAA2B;QAC9F,MAAM,WAAW,GAAG,OAAO,CAAC;QAC5B,KAAK,CAAC;YACJ,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW;YAC/B,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,2BAA2B,CAAC;YAClH,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,gBAAgB;YAC9E,QAAQ;SACT,CAAC,CAAA;IACJ,CAAC;IAED,IAAW,qBAAqB,KAAmB,OAAO,gCAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/E;;OAEG;IACH,IAAW,YAAY,KAAa,OAAO,OAAO,CAAC,CAAC,CAAC;IAErD,IAAW,UAAU,KAAa,OAAO,qBAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,wCAAwC,CAAC,CAAC,CAAC,CAAC;CAChI;AAlBD,4CAkBC","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 Properties\n */\n\nimport { IModelApp } from \"../IModelApp\";\nimport { QuantityType } from \"../quantity-formatting/QuantityFormatter\";\nimport { FormattedQuantityDescription } from \"./FormattedQuantityDescription\";\n\n/**\n * Angle Property Description\n * @beta\n */\nexport class AngleDescription extends FormattedQuantityDescription {\n constructor(name?: string, displayLabel?: string, iconSpec?: string, kindOfQuantityName?: string) {\n const defaultName = \"angle\";\n super({\n name: name ? name : defaultName,\n displayLabel: displayLabel ? displayLabel : IModelApp.localization.getLocalizedString(\"iModelJs:Properties.Angle\"),\n kindOfQuantityName: kindOfQuantityName ? kindOfQuantityName : \"AecUnits.ANGLE\",\n iconSpec\n })\n }\n\n public get formatterQuantityType(): QuantityType { return QuantityType.Angle; }\n /**\n * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use the `kindOfQuantityName` property instead.\n */\n public get quantityType(): string { return \"Angle\"; }\n\n public get parseError(): string { return IModelApp.localization.getLocalizedString(\"iModelJs:Properties.UnableToParseAngle\"); }\n}\n"]}
|
|
@@ -4,6 +4,15 @@
|
|
|
4
4
|
import { FormatterSpec, ParserSpec } from "@itwin/core-quantity";
|
|
5
5
|
import { BaseQuantityDescription, ParseResults } from "@itwin/appui-abstract";
|
|
6
6
|
import { QuantityType } from "../quantity-formatting/QuantityFormatter";
|
|
7
|
+
/**
|
|
8
|
+
* @beta
|
|
9
|
+
*/
|
|
10
|
+
export interface FormattedQuantityDescriptionArgs {
|
|
11
|
+
name: string;
|
|
12
|
+
displayLabel: string;
|
|
13
|
+
iconSpec?: string;
|
|
14
|
+
kindOfQuantityName?: string;
|
|
15
|
+
}
|
|
7
16
|
/**
|
|
8
17
|
* Base Quantity Property Description
|
|
9
18
|
* @beta
|
|
@@ -11,7 +20,8 @@ import { QuantityType } from "../quantity-formatting/QuantityFormatter";
|
|
|
11
20
|
export declare abstract class FormattedQuantityDescription extends BaseQuantityDescription {
|
|
12
21
|
private _formatterSpec?;
|
|
13
22
|
private _parserSpec?;
|
|
14
|
-
constructor(
|
|
23
|
+
constructor(args: FormattedQuantityDescriptionArgs);
|
|
24
|
+
constructor(name: string, displayLabel: string, iconSpec?: string, kindOfQuantityName?: string);
|
|
15
25
|
protected formatValue(numberValue: number): string;
|
|
16
26
|
protected parseString(userInput: string): ParseResults;
|
|
17
27
|
get formatterSpec(): FormatterSpec | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormattedQuantityDescription.d.ts","sourceRoot":"","sources":["../../../src/properties/FormattedQuantityDescription.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAU,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE9E,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAExE;;;GAGG;AACH,8BAAsB,4BAA6B,SAAQ,uBAAuB;IAChF,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,WAAW,CAAC,CAAa;gBAErB,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"FormattedQuantityDescription.d.ts","sourceRoot":"","sources":["../../../src/properties/FormattedQuantityDescription.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAU,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE9E,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,8BAAsB,4BAA6B,SAAQ,uBAAuB;IAChF,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,WAAW,CAAC,CAAa;gBAErB,IAAI,EAAE,gCAAgC;gBACtC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM;IAQ9F,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAOlD,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY;IAYtD,IAAW,aAAa,IAAI,aAAa,GAAG,SAAS,CAWpD;IAED,IAAW,UAAU,IAAI,UAAU,GAAG,SAAS,CAW9C;IAED,aAAoB,qBAAqB,IAAI,YAAY,CAAC;IAE1D,aAA6B,UAAU,IAAI,MAAM,CAAC;CACnD"}
|
|
@@ -18,8 +18,13 @@ const IModelApp_1 = require("../IModelApp");
|
|
|
18
18
|
class FormattedQuantityDescription extends appui_abstract_1.BaseQuantityDescription {
|
|
19
19
|
_formatterSpec;
|
|
20
20
|
_parserSpec;
|
|
21
|
-
constructor(
|
|
22
|
-
|
|
21
|
+
constructor(argsOrName, displayLabel, iconSpec, kindOfQuantityName) {
|
|
22
|
+
if (typeof argsOrName === "string") {
|
|
23
|
+
super(argsOrName, displayLabel, iconSpec, kindOfQuantityName);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
super(argsOrName.name, argsOrName.displayLabel, argsOrName.iconSpec, argsOrName.kindOfQuantityName);
|
|
27
|
+
}
|
|
23
28
|
}
|
|
24
29
|
formatValue(numberValue) {
|
|
25
30
|
if (this.formatterSpec) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormattedQuantityDescription.js","sourceRoot":"","sources":["../../../src/properties/FormattedQuantityDescription.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,wDAAyE;AACzE,0DAA8E;AAC9E,4CAAyC;
|
|
1
|
+
{"version":3,"file":"FormattedQuantityDescription.js","sourceRoot":"","sources":["../../../src/properties/FormattedQuantityDescription.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,wDAAyE;AACzE,0DAA8E;AAC9E,4CAAyC;AAazC;;;GAGG;AACH,MAAsB,4BAA6B,SAAQ,wCAAuB;IACxE,cAAc,CAAiB;IAC/B,WAAW,CAAc;IAIjC,YAAY,UAAqD,EAAE,YAAqB,EAAE,QAAiB,EAAE,kBAA2B;QACtI,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,KAAK,CAAC,UAAU,EAAE,YAAa,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;IACS,WAAW,CAAC,WAAmB;QACvC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,qBAAS,CAAC,iBAAiB,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACrF,CAAC;QACD,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAES,WAAW,CAAC,SAAiB;QACrC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,WAAW,GAAG,qBAAS,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACjG,IAAI,sBAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;gBACzC,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,CAAC;QACH,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAC7C,CAAC;IAED,IAAW,aAAa;QACtB,IAAI,IAAI,CAAC,cAAc;YACrB,OAAO,IAAI,CAAC,cAAc,CAAC;QAE7B,MAAM,aAAa,GAAG,qBAAS,CAAC,iBAAiB,CAAC,+BAA+B,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC9G,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;YACpC,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAW,UAAU;QACnB,IAAI,IAAI,CAAC,WAAW;YAClB,OAAO,IAAI,CAAC,WAAW,CAAC;QAE1B,MAAM,UAAU,GAAG,qBAAS,CAAC,iBAAiB,CAAC,4BAA4B,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACxG,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;YAC9B,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CAKF;AA7DD,oEA6DC","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 Properties\n */\n\nimport { FormatterSpec, Parser, ParserSpec } from \"@itwin/core-quantity\";\nimport { BaseQuantityDescription, ParseResults } from \"@itwin/appui-abstract\";\nimport { IModelApp } from \"../IModelApp\";\nimport { QuantityType } from \"../quantity-formatting/QuantityFormatter\";\n\n/**\n * @beta\n */\nexport interface FormattedQuantityDescriptionArgs {\n name: string;\n displayLabel: string;\n iconSpec?: string;\n kindOfQuantityName?: string;\n}\n\n/**\n * Base Quantity Property Description\n * @beta\n */\nexport abstract class FormattedQuantityDescription extends BaseQuantityDescription {\n private _formatterSpec?: FormatterSpec;\n private _parserSpec?: ParserSpec;\n\n constructor(args: FormattedQuantityDescriptionArgs);\n constructor(name: string, displayLabel: string, iconSpec?: string, kindOfQuantityName?: string);\n constructor(argsOrName: FormattedQuantityDescriptionArgs | string, displayLabel?: string, iconSpec?: string, kindOfQuantityName?: string) {\n if (typeof argsOrName === \"string\") {\n super(argsOrName, displayLabel!, iconSpec, kindOfQuantityName);\n } else {\n super(argsOrName.name, argsOrName.displayLabel, argsOrName.iconSpec, argsOrName.kindOfQuantityName);\n }\n }\n protected formatValue(numberValue: number): string {\n if (this.formatterSpec) {\n return IModelApp.quantityFormatter.formatQuantity(numberValue, this.formatterSpec);\n }\n return numberValue.toFixed(2);\n }\n\n protected parseString(userInput: string): ParseResults {\n if (this.parserSpec) {\n const parseResult = IModelApp.quantityFormatter.parseToQuantityValue(userInput, this.parserSpec);\n if (Parser.isParsedQuantity(parseResult)) {\n return { value: parseResult.value };\n } else {\n return { parseError: this.parseError };\n }\n }\n return { parseError: \"no parser defined\" };\n }\n\n public get formatterSpec(): FormatterSpec | undefined {\n if (this._formatterSpec)\n return this._formatterSpec;\n\n const formatterSpec = IModelApp.quantityFormatter.findFormatterSpecByQuantityType(this.formatterQuantityType);\n if (formatterSpec) {\n this._formatterSpec = formatterSpec;\n return formatterSpec;\n }\n\n return undefined;\n }\n\n public get parserSpec(): ParserSpec | undefined {\n if (this._parserSpec)\n return this._parserSpec;\n\n const parserSpec = IModelApp.quantityFormatter.findParserSpecByQuantityType(this.formatterQuantityType);\n if (parserSpec) {\n this._parserSpec = parserSpec;\n return parserSpec;\n }\n\n return undefined;\n }\n\n public abstract get formatterQuantityType(): QuantityType;\n\n public abstract override get parseError(): string;\n}\n"]}
|
|
@@ -8,8 +8,11 @@ import { FormattedQuantityDescription } from "./FormattedQuantityDescription";
|
|
|
8
8
|
* @beta
|
|
9
9
|
*/
|
|
10
10
|
export declare class LengthDescription extends FormattedQuantityDescription {
|
|
11
|
-
constructor(name?: string, displayLabel?: string, iconSpec?: string);
|
|
11
|
+
constructor(name?: string, displayLabel?: string, iconSpec?: string, kindOfQuantityName?: string);
|
|
12
12
|
get formatterQuantityType(): QuantityType;
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated in 5.0 - will not be removed until after 2026-06-13. Use the `kindOfQuantityName` property instead.
|
|
15
|
+
*/
|
|
13
16
|
get quantityType(): string;
|
|
14
17
|
get parseError(): string;
|
|
15
18
|
}
|
|
@@ -18,8 +21,11 @@ export declare class LengthDescription extends FormattedQuantityDescription {
|
|
|
18
21
|
* @beta
|
|
19
22
|
*/
|
|
20
23
|
export declare class SurveyLengthDescription extends FormattedQuantityDescription {
|
|
21
|
-
constructor(name?: string, displayLabel?: string, iconSpec?: string);
|
|
24
|
+
constructor(name?: string, displayLabel?: string, iconSpec?: string, kindOfQuantityName?: string);
|
|
22
25
|
get formatterQuantityType(): QuantityType;
|
|
26
|
+
/**
|
|
27
|
+
* @deprecated in 5.0 - will not be removed until after 2026-06-13. Use the `kindOfQuantityName` property instead.
|
|
28
|
+
*/
|
|
23
29
|
get quantityType(): string;
|
|
24
30
|
get parseError(): string;
|
|
25
31
|
}
|
|
@@ -28,8 +34,11 @@ export declare class SurveyLengthDescription extends FormattedQuantityDescriptio
|
|
|
28
34
|
* @beta
|
|
29
35
|
*/
|
|
30
36
|
export declare class EngineeringLengthDescription extends FormattedQuantityDescription {
|
|
31
|
-
constructor(name?: string, displayLabel?: string, iconSpec?: string);
|
|
37
|
+
constructor(name?: string, displayLabel?: string, iconSpec?: string, kindOfQuantityName?: string);
|
|
32
38
|
get formatterQuantityType(): QuantityType;
|
|
39
|
+
/**
|
|
40
|
+
* @deprecated in 5.0 - will not be removed until after 2026-06-13. Use the `kindOfQuantityName` property instead.
|
|
41
|
+
*/
|
|
33
42
|
get quantityType(): string;
|
|
34
43
|
get parseError(): string;
|
|
35
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LengthDescription.d.ts","sourceRoot":"","sources":["../../../src/properties/LengthDescription.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,4BAA4B;gBACrD,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"LengthDescription.d.ts","sourceRoot":"","sources":["../../../src/properties/LengthDescription.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,4BAA4B;gBACrD,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM;IAUhG,IAAW,qBAAqB,IAAI,YAAY,CAAgC;IAChF;;OAEG;IACH,IAAW,YAAY,IAAI,MAAM,CAAqB;IAEtD,IAAW,UAAU,IAAI,MAAM,CAAiG;CACjI;AAED;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,4BAA4B;gBAC3D,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM;IAUhG,IAAW,qBAAqB,IAAI,YAAY,CAAsC;IACtF;;OAEG;IACH,IAAW,YAAY,IAAI,MAAM,CAA2B;IAE5D,IAAW,UAAU,IAAI,MAAM,CAAiG;CACjI;AAED;;;GAGG;AACH,qBAAa,4BAA6B,SAAQ,4BAA4B;gBAEhE,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM;IAUhG,IAAW,qBAAqB,IAAI,YAAY,CAA2C;IAC3F;;OAEG;IACH,IAAW,YAAY,IAAI,MAAM,CAAgC;IAEjE,IAAW,UAAU,IAAI,MAAM,CAAiG;CACjI"}
|