@itwin/core-frontend 3.1.0-dev.26 → 3.1.0-dev.31
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 +156 -35
- package/lib/cjs/AccuSnap.js +2 -2
- package/lib/cjs/AccuSnap.js.map +1 -1
- package/lib/cjs/DisplayStyleState.d.ts +3 -3
- package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
- package/lib/cjs/DisplayStyleState.js +32 -8
- package/lib/cjs/DisplayStyleState.js.map +1 -1
- package/lib/cjs/DrawingViewState.d.ts.map +1 -1
- package/lib/cjs/DrawingViewState.js +6 -5
- package/lib/cjs/DrawingViewState.js.map +1 -1
- package/lib/cjs/IModelApp.d.ts +1 -3
- package/lib/cjs/IModelApp.d.ts.map +1 -1
- package/lib/cjs/IModelApp.js +10 -8
- package/lib/cjs/IModelApp.js.map +1 -1
- package/lib/cjs/RealityDataSource.d.ts +58 -14
- package/lib/cjs/RealityDataSource.d.ts.map +1 -1
- package/lib/cjs/RealityDataSource.js +30 -242
- package/lib/cjs/RealityDataSource.js.map +1 -1
- package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.d.ts +67 -0
- package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.d.ts.map +1 -0
- package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js +166 -0
- package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js.map +1 -0
- package/lib/cjs/RealityDataSourceContextShareImpl.d.ts +83 -0
- package/lib/cjs/RealityDataSourceContextShareImpl.d.ts.map +1 -0
- package/lib/cjs/RealityDataSourceContextShareImpl.js +234 -0
- package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -0
- package/lib/cjs/RealityDataSourceTilesetUrlImpl.d.ts +65 -0
- package/lib/cjs/RealityDataSourceTilesetUrlImpl.d.ts.map +1 -0
- package/lib/cjs/RealityDataSourceTilesetUrlImpl.js +135 -0
- package/lib/cjs/RealityDataSourceTilesetUrlImpl.js.map +1 -0
- package/lib/cjs/SheetViewState.js +4 -0
- package/lib/cjs/SheetViewState.js.map +1 -1
- package/lib/cjs/ViewState.d.ts +8 -0
- package/lib/cjs/ViewState.d.ts.map +1 -1
- package/lib/cjs/ViewState.js +1 -1
- package/lib/cjs/ViewState.js.map +1 -1
- package/lib/cjs/Viewport.d.ts +19 -3
- package/lib/cjs/Viewport.d.ts.map +1 -1
- package/lib/cjs/Viewport.js +20 -0
- package/lib/cjs/Viewport.js.map +1 -1
- package/lib/cjs/core-frontend.d.ts +1 -0
- package/lib/cjs/core-frontend.d.ts.map +1 -1
- package/lib/cjs/core-frontend.js +1 -0
- package/lib/cjs/core-frontend.js.map +1 -1
- package/lib/cjs/quantity-formatting/BasicUnitsProvider.d.ts +2 -2
- package/lib/cjs/quantity-formatting/BasicUnitsProvider.d.ts.map +1 -1
- package/lib/cjs/quantity-formatting/BasicUnitsProvider.js +48 -44
- package/lib/cjs/quantity-formatting/BasicUnitsProvider.js.map +1 -1
- package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts +90 -80
- package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
- package/lib/cjs/quantity-formatting/QuantityFormatter.js +76 -45
- package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
- package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.d.ts +54 -0
- package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.d.ts.map +1 -0
- package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.js +32 -0
- package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -0
- package/lib/cjs/quantity-formatting/UnitsData.d.ts +11 -0
- package/lib/cjs/quantity-formatting/UnitsData.d.ts.map +1 -0
- package/lib/cjs/quantity-formatting/UnitsData.js +59 -0
- package/lib/cjs/quantity-formatting/UnitsData.js.map +1 -0
- package/lib/cjs/render/GraphicBranch.d.ts +2 -0
- package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
- package/lib/cjs/render/GraphicBranch.js.map +1 -1
- package/lib/cjs/render/RenderPlanarClassifier.d.ts +1 -1
- package/lib/cjs/render/RenderPlanarClassifier.d.ts.map +1 -1
- package/lib/cjs/render/RenderPlanarClassifier.js.map +1 -1
- package/lib/cjs/render/RenderSystem.d.ts +9 -5
- package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
- package/lib/cjs/render/RenderSystem.js +5 -2
- package/lib/cjs/render/RenderSystem.js.map +1 -1
- package/lib/cjs/render/RenderTarget.d.ts +4 -4
- package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
- package/lib/cjs/render/RenderTarget.js.map +1 -1
- package/lib/cjs/render/Scene.d.ts.map +1 -1
- package/lib/cjs/render/Scene.js.map +1 -1
- package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.d.ts +15 -2
- package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.d.ts.map +1 -1
- package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.js.map +1 -1
- package/lib/cjs/render/webgl/BackgroundMapDrape.js +1 -1
- package/lib/cjs/render/webgl/BackgroundMapDrape.js.map +1 -1
- package/lib/cjs/render/webgl/BranchState.d.ts +2 -0
- package/lib/cjs/render/webgl/BranchState.d.ts.map +1 -1
- package/lib/cjs/render/webgl/BranchState.js +5 -3
- package/lib/cjs/render/webgl/BranchState.js.map +1 -1
- package/lib/cjs/render/webgl/Graphic.d.ts +5 -3
- package/lib/cjs/render/webgl/Graphic.d.ts.map +1 -1
- package/lib/cjs/render/webgl/Graphic.js +7 -2
- package/lib/cjs/render/webgl/Graphic.js.map +1 -1
- package/lib/cjs/render/webgl/PlanarClassifier.d.ts +4 -1
- package/lib/cjs/render/webgl/PlanarClassifier.d.ts.map +1 -1
- package/lib/cjs/render/webgl/PlanarClassifier.js +22 -9
- package/lib/cjs/render/webgl/PlanarClassifier.js.map +1 -1
- package/lib/cjs/render/webgl/PlanarTextureProjection.d.ts +2 -2
- package/lib/cjs/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
- package/lib/cjs/render/webgl/PlanarTextureProjection.js +5 -3
- package/lib/cjs/render/webgl/PlanarTextureProjection.js.map +1 -1
- package/lib/cjs/render/webgl/RealityMesh.d.ts +30 -11
- package/lib/cjs/render/webgl/RealityMesh.d.ts.map +1 -1
- package/lib/cjs/render/webgl/RealityMesh.js +154 -52
- package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
- package/lib/cjs/render/webgl/RenderCommands.d.ts.map +1 -1
- package/lib/cjs/render/webgl/RenderCommands.js +4 -0
- package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
- package/lib/cjs/render/webgl/System.d.ts +9 -9
- package/lib/cjs/render/webgl/System.d.ts.map +1 -1
- package/lib/cjs/render/webgl/System.js +5 -5
- package/lib/cjs/render/webgl/System.js.map +1 -1
- package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
- package/lib/cjs/render/webgl/Target.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/PlanarClassification.js +1 -1
- package/lib/cjs/render/webgl/glsl/PlanarClassification.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
- package/lib/cjs/render/webgl/glsl/RealityMesh.js +102 -27
- package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/cjs/tile/ClassifierTileTree.d.ts +4 -2
- package/lib/cjs/tile/ClassifierTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/ClassifierTileTree.js +31 -16
- package/lib/cjs/tile/ClassifierTileTree.js.map +1 -1
- package/lib/cjs/tile/OPCFormatInterpreter.d.ts +22 -0
- package/lib/cjs/tile/OPCFormatInterpreter.d.ts.map +1 -0
- package/lib/cjs/tile/OPCFormatInterpreter.js +92 -0
- package/lib/cjs/tile/OPCFormatInterpreter.js.map +1 -0
- package/lib/cjs/tile/PntsReader.d.ts.map +1 -1
- package/lib/cjs/tile/PntsReader.js +79 -17
- package/lib/cjs/tile/PntsReader.js.map +1 -1
- package/lib/cjs/tile/PrimaryTileTree.d.ts +18 -2
- package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/PrimaryTileTree.js +53 -2
- package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
- package/lib/cjs/tile/RealityModelTileTree.d.ts +0 -1
- package/lib/cjs/tile/RealityModelTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/RealityModelTileTree.js +1 -1
- package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
- package/lib/cjs/tile/RealityTileDrawArgs.d.ts +4 -1
- package/lib/cjs/tile/RealityTileDrawArgs.d.ts.map +1 -1
- package/lib/cjs/tile/RealityTileDrawArgs.js +3 -1
- package/lib/cjs/tile/RealityTileDrawArgs.js.map +1 -1
- package/lib/cjs/tile/RealityTileTree.d.ts +1 -0
- package/lib/cjs/tile/RealityTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/RealityTileTree.js +7 -3
- package/lib/cjs/tile/RealityTileTree.js.map +1 -1
- package/lib/cjs/tile/ThreeDTileFormatInterpreter.d.ts +52 -0
- package/lib/cjs/tile/ThreeDTileFormatInterpreter.d.ts.map +1 -0
- package/lib/cjs/tile/ThreeDTileFormatInterpreter.js +179 -0
- package/lib/cjs/tile/ThreeDTileFormatInterpreter.js.map +1 -0
- package/lib/cjs/tile/TileDrawArgs.d.ts +2 -0
- package/lib/cjs/tile/TileDrawArgs.d.ts.map +1 -1
- package/lib/cjs/tile/TileDrawArgs.js +5 -0
- package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
- package/lib/cjs/tile/internal.d.ts +2 -0
- package/lib/cjs/tile/internal.d.ts.map +1 -1
- package/lib/cjs/tile/internal.js +2 -0
- package/lib/cjs/tile/internal.js.map +1 -1
- package/lib/cjs/tile/map/CesiumTerrainProvider.js +2 -2
- package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -2
- package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +1 -1
- package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts +2 -2
- package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.d.ts +2 -2
- package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts +2 -2
- package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts +2 -2
- package/lib/cjs/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +2 -2
- package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +1 -1
- package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +2 -2
- package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryTileTree.d.ts +0 -2
- package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/map/ImageryTileTree.js +1 -3
- package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts +3 -3
- package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts +3 -3
- package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryFormats.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 +1 -1
- package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerSources.d.ts +2 -2
- package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapLayerSources.js +6 -4
- package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerTileTreeReference.d.ts +10 -2
- package/lib/cjs/tile/map/MapLayerTileTreeReference.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapLayerTileTreeReference.js +26 -3
- package/lib/cjs/tile/map/MapLayerTileTreeReference.js.map +1 -1
- package/lib/cjs/tile/map/MapTile.d.ts +5 -4
- package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapTile.js +13 -5
- package/lib/cjs/tile/map/MapTile.js.map +1 -1
- package/lib/cjs/tile/map/MapTileTree.d.ts +12 -7
- package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapTileTree.js +60 -48
- package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
- package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +1 -1
- package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
- package/lib/cjs/tools/ViewTool.js +1 -1
- package/lib/cjs/tools/ViewTool.js.map +1 -1
- package/lib/esm/AccuSnap.js +2 -2
- package/lib/esm/AccuSnap.js.map +1 -1
- package/lib/esm/DisplayStyleState.d.ts +3 -3
- package/lib/esm/DisplayStyleState.d.ts.map +1 -1
- package/lib/esm/DisplayStyleState.js +34 -10
- package/lib/esm/DisplayStyleState.js.map +1 -1
- package/lib/esm/DrawingViewState.d.ts.map +1 -1
- package/lib/esm/DrawingViewState.js +6 -5
- package/lib/esm/DrawingViewState.js.map +1 -1
- package/lib/esm/IModelApp.d.ts +1 -3
- package/lib/esm/IModelApp.d.ts.map +1 -1
- package/lib/esm/IModelApp.js +10 -8
- package/lib/esm/IModelApp.js.map +1 -1
- package/lib/esm/RealityDataSource.d.ts +58 -14
- package/lib/esm/RealityDataSource.d.ts.map +1 -1
- package/lib/esm/RealityDataSource.js +31 -244
- package/lib/esm/RealityDataSource.js.map +1 -1
- package/lib/esm/RealityDataSourceCesiumIonAssetImpl.d.ts +67 -0
- package/lib/esm/RealityDataSourceCesiumIonAssetImpl.d.ts.map +1 -0
- package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js +162 -0
- package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js.map +1 -0
- package/lib/esm/RealityDataSourceContextShareImpl.d.ts +83 -0
- package/lib/esm/RealityDataSourceContextShareImpl.d.ts.map +1 -0
- package/lib/esm/RealityDataSourceContextShareImpl.js +230 -0
- package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -0
- package/lib/esm/RealityDataSourceTilesetUrlImpl.d.ts +65 -0
- package/lib/esm/RealityDataSourceTilesetUrlImpl.d.ts.map +1 -0
- package/lib/esm/RealityDataSourceTilesetUrlImpl.js +131 -0
- package/lib/esm/RealityDataSourceTilesetUrlImpl.js.map +1 -0
- package/lib/esm/SheetViewState.js +4 -0
- package/lib/esm/SheetViewState.js.map +1 -1
- package/lib/esm/ViewState.d.ts +8 -0
- package/lib/esm/ViewState.d.ts.map +1 -1
- package/lib/esm/ViewState.js +1 -1
- package/lib/esm/ViewState.js.map +1 -1
- package/lib/esm/Viewport.d.ts +19 -3
- package/lib/esm/Viewport.d.ts.map +1 -1
- package/lib/esm/Viewport.js +20 -0
- package/lib/esm/Viewport.js.map +1 -1
- package/lib/esm/core-frontend.d.ts +1 -0
- package/lib/esm/core-frontend.d.ts.map +1 -1
- package/lib/esm/core-frontend.js +1 -0
- package/lib/esm/core-frontend.js.map +1 -1
- package/lib/esm/quantity-formatting/BasicUnitsProvider.d.ts +2 -2
- package/lib/esm/quantity-formatting/BasicUnitsProvider.d.ts.map +1 -1
- package/lib/esm/quantity-formatting/BasicUnitsProvider.js +48 -44
- package/lib/esm/quantity-formatting/BasicUnitsProvider.js.map +1 -1
- package/lib/esm/quantity-formatting/QuantityFormatter.d.ts +90 -80
- package/lib/esm/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
- package/lib/esm/quantity-formatting/QuantityFormatter.js +75 -41
- package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
- package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.d.ts +54 -0
- package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.d.ts.map +1 -0
- package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.js +26 -0
- package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -0
- package/lib/esm/quantity-formatting/UnitsData.d.ts +11 -0
- package/lib/esm/quantity-formatting/UnitsData.d.ts.map +1 -0
- package/lib/esm/quantity-formatting/UnitsData.js +56 -0
- package/lib/esm/quantity-formatting/UnitsData.js.map +1 -0
- package/lib/esm/render/GraphicBranch.d.ts +2 -0
- package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
- package/lib/esm/render/GraphicBranch.js.map +1 -1
- package/lib/esm/render/RenderPlanarClassifier.d.ts +1 -1
- package/lib/esm/render/RenderPlanarClassifier.d.ts.map +1 -1
- package/lib/esm/render/RenderPlanarClassifier.js.map +1 -1
- package/lib/esm/render/RenderSystem.d.ts +9 -5
- package/lib/esm/render/RenderSystem.d.ts.map +1 -1
- package/lib/esm/render/RenderSystem.js +5 -2
- package/lib/esm/render/RenderSystem.js.map +1 -1
- package/lib/esm/render/RenderTarget.d.ts +4 -4
- package/lib/esm/render/RenderTarget.d.ts.map +1 -1
- package/lib/esm/render/RenderTarget.js.map +1 -1
- package/lib/esm/render/Scene.d.ts.map +1 -1
- package/lib/esm/render/Scene.js.map +1 -1
- package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.d.ts +15 -2
- package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.d.ts.map +1 -1
- package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.js.map +1 -1
- package/lib/esm/render/webgl/BackgroundMapDrape.js +1 -1
- package/lib/esm/render/webgl/BackgroundMapDrape.js.map +1 -1
- package/lib/esm/render/webgl/BranchState.d.ts +2 -0
- package/lib/esm/render/webgl/BranchState.d.ts.map +1 -1
- package/lib/esm/render/webgl/BranchState.js +5 -3
- package/lib/esm/render/webgl/BranchState.js.map +1 -1
- package/lib/esm/render/webgl/Graphic.d.ts +5 -3
- package/lib/esm/render/webgl/Graphic.d.ts.map +1 -1
- package/lib/esm/render/webgl/Graphic.js +7 -2
- package/lib/esm/render/webgl/Graphic.js.map +1 -1
- package/lib/esm/render/webgl/PlanarClassifier.d.ts +4 -1
- package/lib/esm/render/webgl/PlanarClassifier.d.ts.map +1 -1
- package/lib/esm/render/webgl/PlanarClassifier.js +22 -9
- package/lib/esm/render/webgl/PlanarClassifier.js.map +1 -1
- package/lib/esm/render/webgl/PlanarTextureProjection.d.ts +2 -2
- package/lib/esm/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
- package/lib/esm/render/webgl/PlanarTextureProjection.js +5 -3
- package/lib/esm/render/webgl/PlanarTextureProjection.js.map +1 -1
- package/lib/esm/render/webgl/RealityMesh.d.ts +30 -11
- package/lib/esm/render/webgl/RealityMesh.d.ts.map +1 -1
- package/lib/esm/render/webgl/RealityMesh.js +154 -52
- package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
- package/lib/esm/render/webgl/RenderCommands.d.ts.map +1 -1
- package/lib/esm/render/webgl/RenderCommands.js +4 -0
- package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
- package/lib/esm/render/webgl/System.d.ts +9 -9
- package/lib/esm/render/webgl/System.d.ts.map +1 -1
- package/lib/esm/render/webgl/System.js +6 -6
- package/lib/esm/render/webgl/System.js.map +1 -1
- package/lib/esm/render/webgl/Target.d.ts.map +1 -1
- package/lib/esm/render/webgl/Target.js.map +1 -1
- package/lib/esm/render/webgl/glsl/PlanarClassification.js +1 -1
- package/lib/esm/render/webgl/glsl/PlanarClassification.js.map +1 -1
- package/lib/esm/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
- package/lib/esm/render/webgl/glsl/RealityMesh.js +103 -28
- package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/esm/tile/ClassifierTileTree.d.ts +4 -2
- package/lib/esm/tile/ClassifierTileTree.d.ts.map +1 -1
- package/lib/esm/tile/ClassifierTileTree.js +32 -17
- package/lib/esm/tile/ClassifierTileTree.js.map +1 -1
- package/lib/esm/tile/OPCFormatInterpreter.d.ts +22 -0
- package/lib/esm/tile/OPCFormatInterpreter.d.ts.map +1 -0
- package/lib/esm/tile/OPCFormatInterpreter.js +88 -0
- package/lib/esm/tile/OPCFormatInterpreter.js.map +1 -0
- package/lib/esm/tile/PntsReader.d.ts.map +1 -1
- package/lib/esm/tile/PntsReader.js +79 -17
- package/lib/esm/tile/PntsReader.js.map +1 -1
- package/lib/esm/tile/PrimaryTileTree.d.ts +18 -2
- package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
- package/lib/esm/tile/PrimaryTileTree.js +51 -2
- package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
- package/lib/esm/tile/RealityModelTileTree.d.ts +0 -1
- package/lib/esm/tile/RealityModelTileTree.d.ts.map +1 -1
- package/lib/esm/tile/RealityModelTileTree.js +1 -1
- package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
- package/lib/esm/tile/RealityTileDrawArgs.d.ts +4 -1
- package/lib/esm/tile/RealityTileDrawArgs.d.ts.map +1 -1
- package/lib/esm/tile/RealityTileDrawArgs.js +3 -1
- package/lib/esm/tile/RealityTileDrawArgs.js.map +1 -1
- package/lib/esm/tile/RealityTileTree.d.ts +1 -0
- package/lib/esm/tile/RealityTileTree.d.ts.map +1 -1
- package/lib/esm/tile/RealityTileTree.js +7 -3
- package/lib/esm/tile/RealityTileTree.js.map +1 -1
- package/lib/esm/tile/ThreeDTileFormatInterpreter.d.ts +52 -0
- package/lib/esm/tile/ThreeDTileFormatInterpreter.d.ts.map +1 -0
- package/lib/esm/tile/ThreeDTileFormatInterpreter.js +175 -0
- package/lib/esm/tile/ThreeDTileFormatInterpreter.js.map +1 -0
- package/lib/esm/tile/TileDrawArgs.d.ts +2 -0
- package/lib/esm/tile/TileDrawArgs.d.ts.map +1 -1
- package/lib/esm/tile/TileDrawArgs.js +5 -0
- package/lib/esm/tile/TileDrawArgs.js.map +1 -1
- package/lib/esm/tile/internal.d.ts +2 -0
- package/lib/esm/tile/internal.d.ts.map +1 -1
- package/lib/esm/tile/internal.js +2 -0
- package/lib/esm/tile/internal.js.map +1 -1
- package/lib/esm/tile/map/CesiumTerrainProvider.js +2 -2
- package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -2
- package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +1 -1
- package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts +2 -2
- package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.d.ts +2 -2
- package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts +2 -2
- package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts +2 -2
- package/lib/esm/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +2 -2
- package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +1 -1
- package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +2 -2
- package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryTileTree.d.ts +0 -2
- package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
- package/lib/esm/tile/map/ImageryTileTree.js +1 -3
- package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
- package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts +3 -3
- package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
- package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryFormats.d.ts +3 -3
- package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryFormats.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 +1 -1
- package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/MapLayerSources.d.ts +2 -2
- package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
- package/lib/esm/tile/map/MapLayerSources.js +6 -4
- package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
- package/lib/esm/tile/map/MapLayerTileTreeReference.d.ts +10 -2
- package/lib/esm/tile/map/MapLayerTileTreeReference.d.ts.map +1 -1
- package/lib/esm/tile/map/MapLayerTileTreeReference.js +25 -3
- package/lib/esm/tile/map/MapLayerTileTreeReference.js.map +1 -1
- package/lib/esm/tile/map/MapTile.d.ts +5 -4
- package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
- package/lib/esm/tile/map/MapTile.js +13 -5
- package/lib/esm/tile/map/MapTile.js.map +1 -1
- package/lib/esm/tile/map/MapTileTree.d.ts +12 -7
- package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
- package/lib/esm/tile/map/MapTileTree.js +61 -49
- package/lib/esm/tile/map/MapTileTree.js.map +1 -1
- package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/MapTiledGraphicsProvider.js +2 -2
- package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
- package/lib/esm/tools/ViewTool.js +1 -1
- package/lib/esm/tools/ViewTool.js.map +1 -1
- package/package.json +20 -20
|
@@ -10,19 +10,29 @@ import { Format, FormatterSpec, ParseError, ParserSpec, } from "@itwin/core-quan
|
|
|
10
10
|
import { IModelApp } from "../IModelApp";
|
|
11
11
|
import { BasicUnitsProvider, getDefaultAlternateUnitLabels } from "./BasicUnitsProvider";
|
|
12
12
|
// cSpell:ignore FORMATPROPS FORMATKEY ussurvey uscustomary USCUSTOM
|
|
13
|
-
/**
|
|
14
|
-
*
|
|
13
|
+
/**
|
|
14
|
+
* Defines standard format types for tools that need to display measurements to user.
|
|
15
|
+
* @public
|
|
15
16
|
*/
|
|
16
17
|
export var QuantityType;
|
|
17
18
|
(function (QuantityType) {
|
|
19
|
+
/** Length which is stored in meters. Typically formatted to display in meters or feet-inches based on active unit system. */
|
|
18
20
|
QuantityType[QuantityType["Length"] = 1] = "Length";
|
|
21
|
+
/** Angular value which is stored in radians. Typically formatted to display degrees or Degrees-Minute-Seconds based on active unit system. */
|
|
19
22
|
QuantityType[QuantityType["Angle"] = 2] = "Angle";
|
|
23
|
+
/** Area value store in meters squared. Typically formatted to display in meters squared or feet squared based on active unit system. */
|
|
20
24
|
QuantityType[QuantityType["Area"] = 3] = "Area";
|
|
25
|
+
/** Volume value which is stored in meters cubed. Typically formatted to display in meters cubed or feet cubed based on active unit system. */
|
|
21
26
|
QuantityType[QuantityType["Volume"] = 4] = "Volume";
|
|
27
|
+
/** LatLong is an angular value which is stored in radians. Typically formatted to display degrees or Degrees-Minute-Seconds based on active unit system. */
|
|
22
28
|
QuantityType[QuantityType["LatLong"] = 5] = "LatLong";
|
|
29
|
+
/** Coordinate/Location value which is stored in meters. Typically formatted to display in meters or feet based on active unit system. */
|
|
23
30
|
QuantityType[QuantityType["Coordinate"] = 6] = "Coordinate";
|
|
31
|
+
/** Stationing is a distance value stored in meters. Typically formatted to display `xxx+xx` or `xx+xxx` based on active unit system. */
|
|
24
32
|
QuantityType[QuantityType["Stationing"] = 7] = "Stationing";
|
|
33
|
+
/** LengthSurvey is a distance value stored in meters. Typically formatted to display in meters or US Survey Feet based on active unit system.. */
|
|
25
34
|
QuantityType[QuantityType["LengthSurvey"] = 8] = "LengthSurvey";
|
|
35
|
+
/** LengthEngineering is a distance value stored in meters. Typically formatted to display either meters or feet based on active unit system. */
|
|
26
36
|
QuantityType[QuantityType["LengthEngineering"] = 9] = "LengthEngineering";
|
|
27
37
|
})(QuantityType || (QuantityType = {}));
|
|
28
38
|
/**
|
|
@@ -48,8 +58,10 @@ export class AlternateUnitLabelsRegistry {
|
|
|
48
58
|
return undefined;
|
|
49
59
|
}
|
|
50
60
|
}
|
|
51
|
-
/**
|
|
52
|
-
*
|
|
61
|
+
/**
|
|
62
|
+
* Function to return a QuantityTypeKey given either a QuantityType enum value or a string. This allows caching and
|
|
63
|
+
* retrieving standard and custom quantity types.
|
|
64
|
+
* @public
|
|
53
65
|
*/
|
|
54
66
|
export function getQuantityTypeKey(type) {
|
|
55
67
|
// For QuantityType enum values, build a string that shouldn't collide with anything a user may come up with
|
|
@@ -57,31 +69,13 @@ export function getQuantityTypeKey(type) {
|
|
|
57
69
|
return `QuantityTypeEnumValue-${type.toString()}`;
|
|
58
70
|
return type;
|
|
59
71
|
}
|
|
60
|
-
/** CheckboxFormatPropEditorSpec type guard.
|
|
61
|
-
* @beta
|
|
62
|
-
*/
|
|
63
|
-
export const isCheckboxFormatPropEditorSpec = (item) => {
|
|
64
|
-
return item.editorType === "checkbox";
|
|
65
|
-
};
|
|
66
|
-
/** TextInputFormatPropEditorSpec type guard.
|
|
67
|
-
* @beta
|
|
68
|
-
*/
|
|
69
|
-
export const isTextInputFormatPropEditorSpec = (item) => {
|
|
70
|
-
return item.editorType === "text";
|
|
71
|
-
};
|
|
72
|
-
/** TextSelectFormatPropEditorSpec type guard.
|
|
73
|
-
* @beta
|
|
74
|
-
*/
|
|
75
|
-
export const isTextSelectFormatPropEditorSpec = (item) => {
|
|
76
|
-
return item.editorType === "select";
|
|
77
|
-
};
|
|
78
72
|
/** CustomQuantityTypeDefinition type guard.
|
|
79
|
-
* @
|
|
73
|
+
* @public
|
|
80
74
|
*/
|
|
81
75
|
export function isCustomQuantityTypeDefinition(item) {
|
|
82
76
|
return !!item.isCompatibleFormatProps;
|
|
83
77
|
}
|
|
84
|
-
/** private class to hold standard quantity definitions and implement QuantityTypeDefinition interface */
|
|
78
|
+
/** private class to hold standard quantity definitions as defined by QuantityType enum and implement QuantityTypeDefinition interface */
|
|
85
79
|
class StandardQuantityTypeDefinition {
|
|
86
80
|
constructor(type, persistenceUnit, _labelKey, _descriptionKey) {
|
|
87
81
|
this.type = type;
|
|
@@ -105,6 +99,7 @@ class StandardQuantityTypeDefinition {
|
|
|
105
99
|
}
|
|
106
100
|
return (_a = this._description) !== null && _a !== void 0 ? _a : this.label;
|
|
107
101
|
}
|
|
102
|
+
/** Get a default format to show quantity in persistence unit with precision or 6 decimal places. */
|
|
108
103
|
getDefaultFormatPropsBySystem(requestedSystem) {
|
|
109
104
|
// Fallback same as Format "DefaultRealU" in Formats ecschema
|
|
110
105
|
const fallbackProps = {
|
|
@@ -143,7 +138,7 @@ class StandardQuantityTypeDefinition {
|
|
|
143
138
|
* identified by the [[QuantityType]] enum. [[CustomQuantityTypeDefinition]] can be registered to extend the available quantity types available
|
|
144
139
|
* by frontend tools. The QuantityFormatter also allows the default formats to be overriden.
|
|
145
140
|
*
|
|
146
|
-
* @
|
|
141
|
+
* @public
|
|
147
142
|
*/
|
|
148
143
|
export class QuantityFormatter {
|
|
149
144
|
/**
|
|
@@ -154,10 +149,15 @@ export class QuantityFormatter {
|
|
|
154
149
|
constructor(showMetricOrUnitSystem) {
|
|
155
150
|
this._unitsProvider = new BasicUnitsProvider();
|
|
156
151
|
this._alternateUnitLabelsRegistry = new AlternateUnitLabelsRegistry(getDefaultAlternateUnitLabels());
|
|
152
|
+
/** Registry containing available quantity type definitions. */
|
|
157
153
|
this._quantityTypeRegistry = new Map();
|
|
154
|
+
/** Active UnitSystem key - must be one of "imperial", "metric", "usCustomary", or "usSurvey". */
|
|
158
155
|
this._activeUnitSystem = "imperial";
|
|
156
|
+
/** Map of FormatSpecs for all available QuantityTypes and the active Unit System */
|
|
159
157
|
this._activeFormatSpecsByType = new Map();
|
|
158
|
+
/** Map of ParserSpecs for all available QuantityTypes and the active Unit System */
|
|
160
159
|
this._activeParserSpecsByType = new Map();
|
|
160
|
+
/** Map of FormatSpecs that have been overriden from the default. */
|
|
161
161
|
this._overrideFormatPropsByUnitSystem = new Map();
|
|
162
162
|
/** Called after the active unit system is changed.
|
|
163
163
|
* The system will report the UnitSystemKey/name of the the system that was activated.
|
|
@@ -189,6 +189,7 @@ export class QuantityFormatter {
|
|
|
189
189
|
return undefined;
|
|
190
190
|
return overrideMap.get(quantityTypeKey);
|
|
191
191
|
}
|
|
192
|
+
/** Method used to register all QuantityTypes defined in QuantityType enum. */
|
|
192
193
|
async initializeQuantityTypesRegistry() {
|
|
193
194
|
// QuantityType.Length
|
|
194
195
|
const lengthUnit = await this.findUnitByName("Units.M");
|
|
@@ -232,15 +233,13 @@ export class QuantityFormatter {
|
|
|
232
233
|
// load cache for every registered QuantityType
|
|
233
234
|
[...this.quantityTypesRegistry.keys()].forEach((key) => {
|
|
234
235
|
const entry = this.quantityTypesRegistry.get(key);
|
|
235
|
-
formatPropsByType.set(entry, this.
|
|
236
|
+
formatPropsByType.set(entry, this.getFormatPropsByQuantityTypeEntryAndSystem(entry, systemKey));
|
|
236
237
|
});
|
|
237
|
-
const formatPropPromises = new Array();
|
|
238
238
|
for (const [entry, formatProps] of formatPropsByType) {
|
|
239
|
-
|
|
239
|
+
await this.loadFormatAndParserSpec(entry, formatProps);
|
|
240
240
|
}
|
|
241
|
-
await Promise.all(formatPropPromises);
|
|
242
241
|
}
|
|
243
|
-
|
|
242
|
+
getFormatPropsByQuantityTypeEntryAndSystem(quantityEntry, requestedSystem, ignoreOverrides) {
|
|
244
243
|
if (!ignoreOverrides) {
|
|
245
244
|
const overrideProps = this.getOverrideFormatPropsByQuantityType(quantityEntry.key, requestedSystem);
|
|
246
245
|
if (overrideProps)
|
|
@@ -313,9 +312,11 @@ export class QuantityFormatter {
|
|
|
313
312
|
// initialize default format and parsing specs
|
|
314
313
|
await this.loadFormatAndParsingMapsForSystem();
|
|
315
314
|
}
|
|
315
|
+
/** Return a map that serves as a registry of all standard and custom quantity types. */
|
|
316
316
|
get quantityTypesRegistry() {
|
|
317
317
|
return this._quantityTypeRegistry;
|
|
318
318
|
}
|
|
319
|
+
/** Return the class the contain map of all alternate labels for units. These alternate labels are used when parsing strings in quantity values. */
|
|
319
320
|
get alternateUnitLabelsProvider() {
|
|
320
321
|
return this._alternateUnitLabelsRegistry;
|
|
321
322
|
}
|
|
@@ -328,13 +329,30 @@ export class QuantityFormatter {
|
|
|
328
329
|
this._alternateUnitLabelsRegistry.addAlternateLabels(key, ...labels);
|
|
329
330
|
this.onUnitsProviderChanged.emit();
|
|
330
331
|
}
|
|
332
|
+
/** Get/Set the active UnitsProvider class. */
|
|
331
333
|
get unitsProvider() {
|
|
332
334
|
return this._unitsProvider;
|
|
333
335
|
}
|
|
334
336
|
set unitsProvider(unitsProvider) {
|
|
337
|
+
this.setUnitsProvider(unitsProvider); // eslint-disable-line @typescript-eslint/no-floating-promises
|
|
338
|
+
}
|
|
339
|
+
/** async method to set a units provider and reload caches */
|
|
340
|
+
async setUnitsProvider(unitsProvider) {
|
|
335
341
|
this._unitsProvider = unitsProvider;
|
|
342
|
+
// force all cached data to be reinitialized
|
|
343
|
+
await IModelApp.quantityFormatter.onInitialized();
|
|
344
|
+
// force default tool to start so any tool that may be using cached data will not be using bad data.
|
|
345
|
+
if (IModelApp.toolAdmin)
|
|
346
|
+
await IModelApp.toolAdmin.startDefaultTool();
|
|
336
347
|
this.onUnitsProviderChanged.emit();
|
|
337
348
|
}
|
|
349
|
+
/** Async call typically used after IModel is closed to reset UnitsProvider to default one that does not require an Units schema. */
|
|
350
|
+
async resetToUseInternalUnitsProvider() {
|
|
351
|
+
if (this._unitsProvider instanceof BasicUnitsProvider)
|
|
352
|
+
return;
|
|
353
|
+
await this.setUnitsProvider(new BasicUnitsProvider());
|
|
354
|
+
}
|
|
355
|
+
/** Async call to register a CustomQuantityType and load the FormatSpec and ParserSpec for the new type. */
|
|
338
356
|
async registerQuantityType(entry, replace) {
|
|
339
357
|
if (!replace && this._quantityTypeRegistry.has(entry.key))
|
|
340
358
|
return false;
|
|
@@ -351,7 +369,7 @@ export class QuantityFormatter {
|
|
|
351
369
|
}
|
|
352
370
|
/** Reinitialize caches. Typically called by active UnitFormattingSettingsProvider.
|
|
353
371
|
* startDefaultTool - set to true to start the Default to instead of leaving any active tool pointing to cached unit data that is no longer valid
|
|
354
|
-
* @
|
|
372
|
+
* @public
|
|
355
373
|
*/
|
|
356
374
|
async reinitializeFormatAndParsingsMaps(overrideFormatPropsByUnitSystem, unitSystemKey, fireUnitSystemChanged, startDefaultTool) {
|
|
357
375
|
this._overrideFormatPropsByUnitSystem.clear();
|
|
@@ -381,15 +399,17 @@ export class QuantityFormatter {
|
|
|
381
399
|
if (IModelApp.toolAdmin && restartActiveTool)
|
|
382
400
|
return IModelApp.toolAdmin.startDefaultTool();
|
|
383
401
|
}
|
|
384
|
-
/**
|
|
402
|
+
/** Retrieve the active [[UnitSystemKey]] which is used to determine what formats are to be used to display quantities */
|
|
385
403
|
get activeUnitSystem() { return this._activeUnitSystem; }
|
|
404
|
+
/** Clear any formatting override for specified quantity type, but only for the "active" Unit System. */
|
|
386
405
|
async clearOverrideFormats(type) {
|
|
387
406
|
await this.clearOverrideFormatsByQuantityTypeKey(this.getQuantityTypeKey(type));
|
|
388
407
|
}
|
|
408
|
+
/** Set formatting override for specified quantity type, but only for the "active" Unit System. */
|
|
389
409
|
async setOverrideFormats(type, overrideEntry) {
|
|
390
410
|
await this.setOverrideFormatsByQuantityTypeKey(this.getQuantityTypeKey(type), overrideEntry);
|
|
391
411
|
}
|
|
392
|
-
|
|
412
|
+
/** Set Override Format for a quantity type, but only in the "active" Unit System. */
|
|
393
413
|
async setOverrideFormat(type, overrideFormat) {
|
|
394
414
|
const typeKey = this.getQuantityTypeKey(type);
|
|
395
415
|
let overrideEntry = {};
|
|
@@ -403,6 +423,7 @@ export class QuantityFormatter {
|
|
|
403
423
|
overrideEntry = { usSurvey: overrideFormat };
|
|
404
424
|
await this.setOverrideFormatsByQuantityTypeKey(typeKey, overrideEntry);
|
|
405
425
|
}
|
|
426
|
+
/** Clear formatting override for all quantity types, but only for the "active" Unit System. */
|
|
406
427
|
async clearAllOverrideFormats() {
|
|
407
428
|
if (0 === this._overrideFormatPropsByUnitSystem.size)
|
|
408
429
|
return;
|
|
@@ -425,10 +446,11 @@ export class QuantityFormatter {
|
|
|
425
446
|
}
|
|
426
447
|
}
|
|
427
448
|
}
|
|
428
|
-
/** Converts a QuantityTypeArg into a QuantityTypeKey/string value. */
|
|
449
|
+
/** Converts a QuantityTypeArg into a QuantityTypeKey/string value that can be used to lookup custom and standard quantity types. */
|
|
429
450
|
getQuantityTypeKey(type) {
|
|
430
451
|
return getQuantityTypeKey(type);
|
|
431
452
|
}
|
|
453
|
+
/** Return [[QuantityTypeDefinition]] if type has been registered. Standard QuantityTypes are automatically registered. */
|
|
432
454
|
getQuantityDefinition(type) {
|
|
433
455
|
return this.quantityTypesRegistry.get(this.getQuantityTypeKey(type));
|
|
434
456
|
}
|
|
@@ -438,13 +460,14 @@ export class QuantityFormatter {
|
|
|
438
460
|
findFormatterSpecByQuantityType(type, _unused) {
|
|
439
461
|
return this._activeFormatSpecsByType.get(this.getQuantityTypeKey(type));
|
|
440
462
|
}
|
|
463
|
+
/** Asynchronous Call to get a FormatterSpec for a QuantityType. This formatter spec can be used to synchronously format quantities. */
|
|
441
464
|
async generateFormatterSpecByType(type, formatProps) {
|
|
442
465
|
const quantityTypeDefinition = this.quantityTypesRegistry.get(this.getQuantityTypeKey(type));
|
|
443
466
|
if (quantityTypeDefinition)
|
|
444
467
|
return quantityTypeDefinition.generateFormatterSpec(formatProps, this.unitsProvider);
|
|
445
468
|
throw new Error(`Unable to generate FormatSpec for QuantityType ${type}`);
|
|
446
469
|
}
|
|
447
|
-
/** Asynchronous Call to get a FormatterSpec
|
|
470
|
+
/** Asynchronous Call to get a FormatterSpec for a QuantityType and a Unit System. This formatter spec can be used to synchronously format quantities.
|
|
448
471
|
* @param type One of the built-in quantity types supported.
|
|
449
472
|
* @param system Requested unit system key. Note it is more efficient to use setActiveUnitSystem to set up formatters for all
|
|
450
473
|
* quantity types of a unit system.
|
|
@@ -461,7 +484,7 @@ export class QuantityFormatter {
|
|
|
461
484
|
const entry = this.quantityTypesRegistry.get(quantityKey);
|
|
462
485
|
if (!entry)
|
|
463
486
|
throw new Error(`Unable to find registered quantity type with key ${quantityKey}`);
|
|
464
|
-
return entry.generateFormatterSpec(this.
|
|
487
|
+
return entry.generateFormatterSpec(this.getFormatPropsByQuantityTypeEntryAndSystem(entry, requestedSystem), this.unitsProvider);
|
|
465
488
|
}
|
|
466
489
|
/** Asynchronous Call to get a FormatterSpec for a QuantityType.
|
|
467
490
|
* @param type One of the built-in quantity types supported.
|
|
@@ -480,6 +503,7 @@ export class QuantityFormatter {
|
|
|
480
503
|
findParserSpecByQuantityType(type) {
|
|
481
504
|
return this._activeParserSpecsByType.get(this.getQuantityTypeKey(type));
|
|
482
505
|
}
|
|
506
|
+
/** Asynchronous Call to get a ParserSpec for a QuantityType. If the UnitSystemKey is not specified the active Unit System is used. **/
|
|
483
507
|
async getParserSpecByQuantityTypeAndSystem(type, system) {
|
|
484
508
|
const quantityKey = this.getQuantityTypeKey(type);
|
|
485
509
|
const requestedSystem = system !== null && system !== void 0 ? system : this.activeUnitSystem;
|
|
@@ -491,7 +515,7 @@ export class QuantityFormatter {
|
|
|
491
515
|
const entry = this.quantityTypesRegistry.get(quantityKey);
|
|
492
516
|
if (!entry)
|
|
493
517
|
throw new Error(`Unable to find registered quantity type with key ${quantityKey}`);
|
|
494
|
-
return entry.generateParserSpec(this.
|
|
518
|
+
return entry.generateParserSpec(this.getFormatPropsByQuantityTypeEntryAndSystem(entry, requestedSystem), this.unitsProvider);
|
|
495
519
|
}
|
|
496
520
|
/** Asynchronous Call to get a ParserSpec for a QuantityType.
|
|
497
521
|
* @param type One of the built-in quantity types supported.
|
|
@@ -525,7 +549,9 @@ export class QuantityFormatter {
|
|
|
525
549
|
return parserSpec.parseToQuantityValue(inString);
|
|
526
550
|
return { ok: false, error: ParseError.InvalidParserSpec };
|
|
527
551
|
}
|
|
528
|
-
/**
|
|
552
|
+
/**
|
|
553
|
+
* Get a UnitSystemKey from a string that may have been entered via a key-in. Supports different variation of
|
|
554
|
+
* unit system names that have been used in the past.
|
|
529
555
|
*/
|
|
530
556
|
getUnitSystemFromString(inputSystem, fallback) {
|
|
531
557
|
switch (inputSystem.toLowerCase()) {
|
|
@@ -550,6 +576,7 @@ export class QuantityFormatter {
|
|
|
550
576
|
}
|
|
551
577
|
return "imperial";
|
|
552
578
|
}
|
|
579
|
+
/** Return true if the QuantityType is using an override format. */
|
|
553
580
|
hasActiveOverride(type, checkOnlyActiveUnitSystem) {
|
|
554
581
|
const quantityTypeKey = this.getQuantityTypeKey(type);
|
|
555
582
|
if (checkOnlyActiveUnitSystem) {
|
|
@@ -564,22 +591,29 @@ export class QuantityFormatter {
|
|
|
564
591
|
}
|
|
565
592
|
return false;
|
|
566
593
|
}
|
|
594
|
+
/** Get the cached FormatProps give a quantity type. If ignoreOverrides is false then if the format has been overridden
|
|
595
|
+
* the overridden format is returned, else the standard format is returned.
|
|
596
|
+
*/
|
|
567
597
|
getFormatPropsByQuantityType(quantityType, requestedSystem, ignoreOverrides) {
|
|
568
598
|
const quantityEntry = this.quantityTypesRegistry.get(this.getQuantityTypeKey(quantityType));
|
|
569
599
|
if (quantityEntry)
|
|
570
|
-
return this.
|
|
600
|
+
return this.getFormatPropsByQuantityTypeEntryAndSystem(quantityEntry, requestedSystem !== null && requestedSystem !== void 0 ? requestedSystem : this.activeUnitSystem, ignoreOverrides);
|
|
571
601
|
return undefined;
|
|
572
602
|
}
|
|
573
603
|
// keep following to maintain existing API of implementing UnitsProvider
|
|
574
|
-
|
|
575
|
-
|
|
604
|
+
/** Find [UnitProp] for a specific unit label. */
|
|
605
|
+
async findUnit(unitLabel, schemaName, phenomenon, unitSystem) {
|
|
606
|
+
return this._unitsProvider.findUnit(unitLabel, schemaName, phenomenon, unitSystem);
|
|
576
607
|
}
|
|
608
|
+
/** Returns all defined units for the specified Unit Family/Phenomenon. */
|
|
577
609
|
async getUnitsByFamily(phenomenon) {
|
|
578
610
|
return this._unitsProvider.getUnitsByFamily(phenomenon);
|
|
579
611
|
}
|
|
612
|
+
/** Find [UnitProp] for a specific unit name. */
|
|
580
613
|
async findUnitByName(unitName) {
|
|
581
614
|
return this._unitsProvider.findUnitByName(unitName);
|
|
582
615
|
}
|
|
616
|
+
/** Returns data needed to convert from one Unit to another in the same Unit Family/Phenomenon. */
|
|
583
617
|
async getConversion(fromUnit, toUnit) {
|
|
584
618
|
return this._unitsProvider.getConversion(fromUnit, toUnit);
|
|
585
619
|
}
|