@itwin/core-frontend 3.1.0-dev.25 → 3.1.0-dev.29

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.
Files changed (426) hide show
  1. package/CHANGELOG.md +156 -35
  2. package/lib/cjs/AccuSnap.js +2 -2
  3. package/lib/cjs/AccuSnap.js.map +1 -1
  4. package/lib/cjs/DisplayStyleState.d.ts +3 -3
  5. package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
  6. package/lib/cjs/DisplayStyleState.js +32 -8
  7. package/lib/cjs/DisplayStyleState.js.map +1 -1
  8. package/lib/cjs/DrawingViewState.d.ts.map +1 -1
  9. package/lib/cjs/DrawingViewState.js +6 -5
  10. package/lib/cjs/DrawingViewState.js.map +1 -1
  11. package/lib/cjs/IModelApp.d.ts +1 -3
  12. package/lib/cjs/IModelApp.d.ts.map +1 -1
  13. package/lib/cjs/IModelApp.js +10 -8
  14. package/lib/cjs/IModelApp.js.map +1 -1
  15. package/lib/cjs/RealityDataSource.d.ts +50 -14
  16. package/lib/cjs/RealityDataSource.d.ts.map +1 -1
  17. package/lib/cjs/RealityDataSource.js +19 -241
  18. package/lib/cjs/RealityDataSource.js.map +1 -1
  19. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.d.ts +67 -0
  20. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.d.ts.map +1 -0
  21. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js +166 -0
  22. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js.map +1 -0
  23. package/lib/cjs/RealityDataSourceContextShareImpl.d.ts +83 -0
  24. package/lib/cjs/RealityDataSourceContextShareImpl.d.ts.map +1 -0
  25. package/lib/cjs/RealityDataSourceContextShareImpl.js +234 -0
  26. package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -0
  27. package/lib/cjs/RealityDataSourceTilesetUrlImpl.d.ts +65 -0
  28. package/lib/cjs/RealityDataSourceTilesetUrlImpl.d.ts.map +1 -0
  29. package/lib/cjs/RealityDataSourceTilesetUrlImpl.js +135 -0
  30. package/lib/cjs/RealityDataSourceTilesetUrlImpl.js.map +1 -0
  31. package/lib/cjs/SheetViewState.js +4 -0
  32. package/lib/cjs/SheetViewState.js.map +1 -1
  33. package/lib/cjs/ViewState.d.ts +8 -0
  34. package/lib/cjs/ViewState.d.ts.map +1 -1
  35. package/lib/cjs/ViewState.js +1 -1
  36. package/lib/cjs/ViewState.js.map +1 -1
  37. package/lib/cjs/Viewport.d.ts +19 -3
  38. package/lib/cjs/Viewport.d.ts.map +1 -1
  39. package/lib/cjs/Viewport.js +20 -0
  40. package/lib/cjs/Viewport.js.map +1 -1
  41. package/lib/cjs/core-frontend.d.ts +1 -0
  42. package/lib/cjs/core-frontend.d.ts.map +1 -1
  43. package/lib/cjs/core-frontend.js +1 -0
  44. package/lib/cjs/core-frontend.js.map +1 -1
  45. package/lib/cjs/quantity-formatting/BasicUnitsProvider.d.ts +2 -2
  46. package/lib/cjs/quantity-formatting/BasicUnitsProvider.d.ts.map +1 -1
  47. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js +48 -44
  48. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  49. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts +90 -80
  50. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  51. package/lib/cjs/quantity-formatting/QuantityFormatter.js +76 -45
  52. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  53. package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.d.ts +54 -0
  54. package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.d.ts.map +1 -0
  55. package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.js +32 -0
  56. package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -0
  57. package/lib/cjs/quantity-formatting/UnitsData.d.ts +11 -0
  58. package/lib/cjs/quantity-formatting/UnitsData.d.ts.map +1 -0
  59. package/lib/cjs/quantity-formatting/UnitsData.js +59 -0
  60. package/lib/cjs/quantity-formatting/UnitsData.js.map +1 -0
  61. package/lib/cjs/render/GraphicBranch.d.ts +2 -0
  62. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  63. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  64. package/lib/cjs/render/RenderPlanarClassifier.d.ts +1 -1
  65. package/lib/cjs/render/RenderPlanarClassifier.d.ts.map +1 -1
  66. package/lib/cjs/render/RenderPlanarClassifier.js.map +1 -1
  67. package/lib/cjs/render/RenderSystem.d.ts +9 -5
  68. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  69. package/lib/cjs/render/RenderSystem.js +5 -2
  70. package/lib/cjs/render/RenderSystem.js.map +1 -1
  71. package/lib/cjs/render/RenderTarget.d.ts +4 -4
  72. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  73. package/lib/cjs/render/RenderTarget.js.map +1 -1
  74. package/lib/cjs/render/Scene.d.ts.map +1 -1
  75. package/lib/cjs/render/Scene.js.map +1 -1
  76. package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.d.ts +15 -2
  77. package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.d.ts.map +1 -1
  78. package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.js.map +1 -1
  79. package/lib/cjs/render/webgl/BackgroundMapDrape.js +1 -1
  80. package/lib/cjs/render/webgl/BackgroundMapDrape.js.map +1 -1
  81. package/lib/cjs/render/webgl/BranchState.d.ts +2 -0
  82. package/lib/cjs/render/webgl/BranchState.d.ts.map +1 -1
  83. package/lib/cjs/render/webgl/BranchState.js +5 -3
  84. package/lib/cjs/render/webgl/BranchState.js.map +1 -1
  85. package/lib/cjs/render/webgl/Graphic.d.ts +5 -3
  86. package/lib/cjs/render/webgl/Graphic.d.ts.map +1 -1
  87. package/lib/cjs/render/webgl/Graphic.js +7 -2
  88. package/lib/cjs/render/webgl/Graphic.js.map +1 -1
  89. package/lib/cjs/render/webgl/PlanarClassifier.d.ts +4 -1
  90. package/lib/cjs/render/webgl/PlanarClassifier.d.ts.map +1 -1
  91. package/lib/cjs/render/webgl/PlanarClassifier.js +22 -9
  92. package/lib/cjs/render/webgl/PlanarClassifier.js.map +1 -1
  93. package/lib/cjs/render/webgl/PlanarTextureProjection.d.ts +2 -2
  94. package/lib/cjs/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  95. package/lib/cjs/render/webgl/PlanarTextureProjection.js +5 -3
  96. package/lib/cjs/render/webgl/PlanarTextureProjection.js.map +1 -1
  97. package/lib/cjs/render/webgl/RealityMesh.d.ts +30 -11
  98. package/lib/cjs/render/webgl/RealityMesh.d.ts.map +1 -1
  99. package/lib/cjs/render/webgl/RealityMesh.js +154 -52
  100. package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
  101. package/lib/cjs/render/webgl/RenderCommands.d.ts.map +1 -1
  102. package/lib/cjs/render/webgl/RenderCommands.js +4 -0
  103. package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
  104. package/lib/cjs/render/webgl/System.d.ts +9 -9
  105. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  106. package/lib/cjs/render/webgl/System.js +5 -5
  107. package/lib/cjs/render/webgl/System.js.map +1 -1
  108. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  109. package/lib/cjs/render/webgl/Target.js.map +1 -1
  110. package/lib/cjs/render/webgl/glsl/PlanarClassification.js +1 -1
  111. package/lib/cjs/render/webgl/glsl/PlanarClassification.js.map +1 -1
  112. package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  113. package/lib/cjs/render/webgl/glsl/RealityMesh.js +102 -27
  114. package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
  115. package/lib/cjs/tile/ClassifierTileTree.d.ts +4 -2
  116. package/lib/cjs/tile/ClassifierTileTree.d.ts.map +1 -1
  117. package/lib/cjs/tile/ClassifierTileTree.js +31 -16
  118. package/lib/cjs/tile/ClassifierTileTree.js.map +1 -1
  119. package/lib/cjs/tile/OPCFormatInterpreter.d.ts +21 -0
  120. package/lib/cjs/tile/OPCFormatInterpreter.d.ts.map +1 -0
  121. package/lib/cjs/tile/OPCFormatInterpreter.js +81 -0
  122. package/lib/cjs/tile/OPCFormatInterpreter.js.map +1 -0
  123. package/lib/cjs/tile/PntsReader.d.ts.map +1 -1
  124. package/lib/cjs/tile/PntsReader.js +79 -17
  125. package/lib/cjs/tile/PntsReader.js.map +1 -1
  126. package/lib/cjs/tile/PrimaryTileTree.d.ts +18 -2
  127. package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
  128. package/lib/cjs/tile/PrimaryTileTree.js +53 -2
  129. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  130. package/lib/cjs/tile/RealityModelTileTree.d.ts +0 -1
  131. package/lib/cjs/tile/RealityModelTileTree.d.ts.map +1 -1
  132. package/lib/cjs/tile/RealityModelTileTree.js +1 -1
  133. package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
  134. package/lib/cjs/tile/RealityTileDrawArgs.d.ts +4 -1
  135. package/lib/cjs/tile/RealityTileDrawArgs.d.ts.map +1 -1
  136. package/lib/cjs/tile/RealityTileDrawArgs.js +3 -1
  137. package/lib/cjs/tile/RealityTileDrawArgs.js.map +1 -1
  138. package/lib/cjs/tile/RealityTileTree.d.ts +1 -0
  139. package/lib/cjs/tile/RealityTileTree.d.ts.map +1 -1
  140. package/lib/cjs/tile/RealityTileTree.js +7 -3
  141. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  142. package/lib/cjs/tile/ThreeDTileFormatInterpreter.d.ts +51 -0
  143. package/lib/cjs/tile/ThreeDTileFormatInterpreter.d.ts.map +1 -0
  144. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js +160 -0
  145. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js.map +1 -0
  146. package/lib/cjs/tile/TileDrawArgs.d.ts +2 -0
  147. package/lib/cjs/tile/TileDrawArgs.d.ts.map +1 -1
  148. package/lib/cjs/tile/TileDrawArgs.js +5 -0
  149. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  150. package/lib/cjs/tile/internal.d.ts +2 -0
  151. package/lib/cjs/tile/internal.d.ts.map +1 -1
  152. package/lib/cjs/tile/internal.js +2 -0
  153. package/lib/cjs/tile/internal.js.map +1 -1
  154. package/lib/cjs/tile/map/CesiumTerrainProvider.js +2 -2
  155. package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
  156. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -2
  157. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  158. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +1 -1
  159. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  160. package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts +2 -2
  161. package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts.map +1 -1
  162. package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  163. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.d.ts +2 -2
  164. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
  165. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  166. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts +2 -2
  167. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts.map +1 -1
  168. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  169. package/lib/cjs/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts +2 -2
  170. package/lib/cjs/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts.map +1 -1
  171. package/lib/cjs/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
  172. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +2 -2
  173. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  174. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +1 -1
  175. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  176. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +2 -2
  177. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
  178. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  179. package/lib/cjs/tile/map/ImageryTileTree.d.ts +0 -2
  180. package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
  181. package/lib/cjs/tile/map/ImageryTileTree.js +1 -3
  182. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  183. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts +3 -3
  184. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  185. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  186. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts +3 -3
  187. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  188. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  189. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +3 -3
  190. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  191. package/lib/cjs/tile/map/MapLayerImageryProvider.js +1 -1
  192. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  193. package/lib/cjs/tile/map/MapLayerSources.d.ts +2 -2
  194. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  195. package/lib/cjs/tile/map/MapLayerSources.js +6 -4
  196. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  197. package/lib/cjs/tile/map/MapLayerTileTreeReference.d.ts +10 -2
  198. package/lib/cjs/tile/map/MapLayerTileTreeReference.d.ts.map +1 -1
  199. package/lib/cjs/tile/map/MapLayerTileTreeReference.js +26 -3
  200. package/lib/cjs/tile/map/MapLayerTileTreeReference.js.map +1 -1
  201. package/lib/cjs/tile/map/MapTile.d.ts +5 -4
  202. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  203. package/lib/cjs/tile/map/MapTile.js +13 -5
  204. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  205. package/lib/cjs/tile/map/MapTileTree.d.ts +12 -7
  206. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  207. package/lib/cjs/tile/map/MapTileTree.js +60 -48
  208. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  209. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  210. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +1 -1
  211. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  212. package/lib/cjs/tools/ViewTool.js +1 -1
  213. package/lib/cjs/tools/ViewTool.js.map +1 -1
  214. package/lib/esm/AccuSnap.js +2 -2
  215. package/lib/esm/AccuSnap.js.map +1 -1
  216. package/lib/esm/DisplayStyleState.d.ts +3 -3
  217. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  218. package/lib/esm/DisplayStyleState.js +34 -10
  219. package/lib/esm/DisplayStyleState.js.map +1 -1
  220. package/lib/esm/DrawingViewState.d.ts.map +1 -1
  221. package/lib/esm/DrawingViewState.js +6 -5
  222. package/lib/esm/DrawingViewState.js.map +1 -1
  223. package/lib/esm/IModelApp.d.ts +1 -3
  224. package/lib/esm/IModelApp.d.ts.map +1 -1
  225. package/lib/esm/IModelApp.js +10 -8
  226. package/lib/esm/IModelApp.js.map +1 -1
  227. package/lib/esm/RealityDataSource.d.ts +50 -14
  228. package/lib/esm/RealityDataSource.d.ts.map +1 -1
  229. package/lib/esm/RealityDataSource.js +22 -244
  230. package/lib/esm/RealityDataSource.js.map +1 -1
  231. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.d.ts +67 -0
  232. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.d.ts.map +1 -0
  233. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js +162 -0
  234. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js.map +1 -0
  235. package/lib/esm/RealityDataSourceContextShareImpl.d.ts +83 -0
  236. package/lib/esm/RealityDataSourceContextShareImpl.d.ts.map +1 -0
  237. package/lib/esm/RealityDataSourceContextShareImpl.js +230 -0
  238. package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -0
  239. package/lib/esm/RealityDataSourceTilesetUrlImpl.d.ts +65 -0
  240. package/lib/esm/RealityDataSourceTilesetUrlImpl.d.ts.map +1 -0
  241. package/lib/esm/RealityDataSourceTilesetUrlImpl.js +131 -0
  242. package/lib/esm/RealityDataSourceTilesetUrlImpl.js.map +1 -0
  243. package/lib/esm/SheetViewState.js +4 -0
  244. package/lib/esm/SheetViewState.js.map +1 -1
  245. package/lib/esm/ViewState.d.ts +8 -0
  246. package/lib/esm/ViewState.d.ts.map +1 -1
  247. package/lib/esm/ViewState.js +1 -1
  248. package/lib/esm/ViewState.js.map +1 -1
  249. package/lib/esm/Viewport.d.ts +19 -3
  250. package/lib/esm/Viewport.d.ts.map +1 -1
  251. package/lib/esm/Viewport.js +20 -0
  252. package/lib/esm/Viewport.js.map +1 -1
  253. package/lib/esm/core-frontend.d.ts +1 -0
  254. package/lib/esm/core-frontend.d.ts.map +1 -1
  255. package/lib/esm/core-frontend.js +1 -0
  256. package/lib/esm/core-frontend.js.map +1 -1
  257. package/lib/esm/quantity-formatting/BasicUnitsProvider.d.ts +2 -2
  258. package/lib/esm/quantity-formatting/BasicUnitsProvider.d.ts.map +1 -1
  259. package/lib/esm/quantity-formatting/BasicUnitsProvider.js +48 -44
  260. package/lib/esm/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  261. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts +90 -80
  262. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  263. package/lib/esm/quantity-formatting/QuantityFormatter.js +75 -41
  264. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  265. package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.d.ts +54 -0
  266. package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.d.ts.map +1 -0
  267. package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.js +26 -0
  268. package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -0
  269. package/lib/esm/quantity-formatting/UnitsData.d.ts +11 -0
  270. package/lib/esm/quantity-formatting/UnitsData.d.ts.map +1 -0
  271. package/lib/esm/quantity-formatting/UnitsData.js +56 -0
  272. package/lib/esm/quantity-formatting/UnitsData.js.map +1 -0
  273. package/lib/esm/render/GraphicBranch.d.ts +2 -0
  274. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  275. package/lib/esm/render/GraphicBranch.js.map +1 -1
  276. package/lib/esm/render/RenderPlanarClassifier.d.ts +1 -1
  277. package/lib/esm/render/RenderPlanarClassifier.d.ts.map +1 -1
  278. package/lib/esm/render/RenderPlanarClassifier.js.map +1 -1
  279. package/lib/esm/render/RenderSystem.d.ts +9 -5
  280. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  281. package/lib/esm/render/RenderSystem.js +5 -2
  282. package/lib/esm/render/RenderSystem.js.map +1 -1
  283. package/lib/esm/render/RenderTarget.d.ts +4 -4
  284. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  285. package/lib/esm/render/RenderTarget.js.map +1 -1
  286. package/lib/esm/render/Scene.d.ts.map +1 -1
  287. package/lib/esm/render/Scene.js.map +1 -1
  288. package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.d.ts +15 -2
  289. package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.d.ts.map +1 -1
  290. package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.js.map +1 -1
  291. package/lib/esm/render/webgl/BackgroundMapDrape.js +1 -1
  292. package/lib/esm/render/webgl/BackgroundMapDrape.js.map +1 -1
  293. package/lib/esm/render/webgl/BranchState.d.ts +2 -0
  294. package/lib/esm/render/webgl/BranchState.d.ts.map +1 -1
  295. package/lib/esm/render/webgl/BranchState.js +5 -3
  296. package/lib/esm/render/webgl/BranchState.js.map +1 -1
  297. package/lib/esm/render/webgl/Graphic.d.ts +5 -3
  298. package/lib/esm/render/webgl/Graphic.d.ts.map +1 -1
  299. package/lib/esm/render/webgl/Graphic.js +7 -2
  300. package/lib/esm/render/webgl/Graphic.js.map +1 -1
  301. package/lib/esm/render/webgl/PlanarClassifier.d.ts +4 -1
  302. package/lib/esm/render/webgl/PlanarClassifier.d.ts.map +1 -1
  303. package/lib/esm/render/webgl/PlanarClassifier.js +22 -9
  304. package/lib/esm/render/webgl/PlanarClassifier.js.map +1 -1
  305. package/lib/esm/render/webgl/PlanarTextureProjection.d.ts +2 -2
  306. package/lib/esm/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  307. package/lib/esm/render/webgl/PlanarTextureProjection.js +5 -3
  308. package/lib/esm/render/webgl/PlanarTextureProjection.js.map +1 -1
  309. package/lib/esm/render/webgl/RealityMesh.d.ts +30 -11
  310. package/lib/esm/render/webgl/RealityMesh.d.ts.map +1 -1
  311. package/lib/esm/render/webgl/RealityMesh.js +154 -52
  312. package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
  313. package/lib/esm/render/webgl/RenderCommands.d.ts.map +1 -1
  314. package/lib/esm/render/webgl/RenderCommands.js +4 -0
  315. package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
  316. package/lib/esm/render/webgl/System.d.ts +9 -9
  317. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  318. package/lib/esm/render/webgl/System.js +6 -6
  319. package/lib/esm/render/webgl/System.js.map +1 -1
  320. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  321. package/lib/esm/render/webgl/Target.js.map +1 -1
  322. package/lib/esm/render/webgl/glsl/PlanarClassification.js +1 -1
  323. package/lib/esm/render/webgl/glsl/PlanarClassification.js.map +1 -1
  324. package/lib/esm/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  325. package/lib/esm/render/webgl/glsl/RealityMesh.js +103 -28
  326. package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
  327. package/lib/esm/tile/ClassifierTileTree.d.ts +4 -2
  328. package/lib/esm/tile/ClassifierTileTree.d.ts.map +1 -1
  329. package/lib/esm/tile/ClassifierTileTree.js +32 -17
  330. package/lib/esm/tile/ClassifierTileTree.js.map +1 -1
  331. package/lib/esm/tile/OPCFormatInterpreter.d.ts +21 -0
  332. package/lib/esm/tile/OPCFormatInterpreter.d.ts.map +1 -0
  333. package/lib/esm/tile/OPCFormatInterpreter.js +77 -0
  334. package/lib/esm/tile/OPCFormatInterpreter.js.map +1 -0
  335. package/lib/esm/tile/PntsReader.d.ts.map +1 -1
  336. package/lib/esm/tile/PntsReader.js +79 -17
  337. package/lib/esm/tile/PntsReader.js.map +1 -1
  338. package/lib/esm/tile/PrimaryTileTree.d.ts +18 -2
  339. package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
  340. package/lib/esm/tile/PrimaryTileTree.js +51 -2
  341. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  342. package/lib/esm/tile/RealityModelTileTree.d.ts +0 -1
  343. package/lib/esm/tile/RealityModelTileTree.d.ts.map +1 -1
  344. package/lib/esm/tile/RealityModelTileTree.js +1 -1
  345. package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
  346. package/lib/esm/tile/RealityTileDrawArgs.d.ts +4 -1
  347. package/lib/esm/tile/RealityTileDrawArgs.d.ts.map +1 -1
  348. package/lib/esm/tile/RealityTileDrawArgs.js +3 -1
  349. package/lib/esm/tile/RealityTileDrawArgs.js.map +1 -1
  350. package/lib/esm/tile/RealityTileTree.d.ts +1 -0
  351. package/lib/esm/tile/RealityTileTree.d.ts.map +1 -1
  352. package/lib/esm/tile/RealityTileTree.js +7 -3
  353. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  354. package/lib/esm/tile/ThreeDTileFormatInterpreter.d.ts +51 -0
  355. package/lib/esm/tile/ThreeDTileFormatInterpreter.d.ts.map +1 -0
  356. package/lib/esm/tile/ThreeDTileFormatInterpreter.js +156 -0
  357. package/lib/esm/tile/ThreeDTileFormatInterpreter.js.map +1 -0
  358. package/lib/esm/tile/TileDrawArgs.d.ts +2 -0
  359. package/lib/esm/tile/TileDrawArgs.d.ts.map +1 -1
  360. package/lib/esm/tile/TileDrawArgs.js +5 -0
  361. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  362. package/lib/esm/tile/internal.d.ts +2 -0
  363. package/lib/esm/tile/internal.d.ts.map +1 -1
  364. package/lib/esm/tile/internal.js +2 -0
  365. package/lib/esm/tile/internal.js.map +1 -1
  366. package/lib/esm/tile/map/CesiumTerrainProvider.js +2 -2
  367. package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
  368. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -2
  369. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  370. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +1 -1
  371. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  372. package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts +2 -2
  373. package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts.map +1 -1
  374. package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  375. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.d.ts +2 -2
  376. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
  377. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  378. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts +2 -2
  379. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts.map +1 -1
  380. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  381. package/lib/esm/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts +2 -2
  382. package/lib/esm/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts.map +1 -1
  383. package/lib/esm/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
  384. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +2 -2
  385. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  386. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +1 -1
  387. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  388. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +2 -2
  389. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
  390. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  391. package/lib/esm/tile/map/ImageryTileTree.d.ts +0 -2
  392. package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
  393. package/lib/esm/tile/map/ImageryTileTree.js +1 -3
  394. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  395. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts +3 -3
  396. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  397. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  398. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts +3 -3
  399. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  400. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  401. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +3 -3
  402. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  403. package/lib/esm/tile/map/MapLayerImageryProvider.js +1 -1
  404. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  405. package/lib/esm/tile/map/MapLayerSources.d.ts +2 -2
  406. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  407. package/lib/esm/tile/map/MapLayerSources.js +6 -4
  408. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  409. package/lib/esm/tile/map/MapLayerTileTreeReference.d.ts +10 -2
  410. package/lib/esm/tile/map/MapLayerTileTreeReference.d.ts.map +1 -1
  411. package/lib/esm/tile/map/MapLayerTileTreeReference.js +25 -3
  412. package/lib/esm/tile/map/MapLayerTileTreeReference.js.map +1 -1
  413. package/lib/esm/tile/map/MapTile.d.ts +5 -4
  414. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  415. package/lib/esm/tile/map/MapTile.js +13 -5
  416. package/lib/esm/tile/map/MapTile.js.map +1 -1
  417. package/lib/esm/tile/map/MapTileTree.d.ts +12 -7
  418. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  419. package/lib/esm/tile/map/MapTileTree.js +61 -49
  420. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  421. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  422. package/lib/esm/tile/map/MapTiledGraphicsProvider.js +2 -2
  423. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  424. package/lib/esm/tools/ViewTool.js +1 -1
  425. package/lib/esm/tools/ViewTool.js.map +1 -1
  426. 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
- /** Defines standard format types for tools that need to display measurements to user. Kept only to provide compatibility for existing API.
14
- * @beta
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
- /** Function to return a QuantityTypeKey given either a QuantityType or a string
52
- * @beta
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
- * @beta
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
- * @beta
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.getFormatPropsByQuantityTypeEntyAndSystem(entry, systemKey));
236
+ formatPropsByType.set(entry, this.getFormatPropsByQuantityTypeEntryAndSystem(entry, systemKey));
236
237
  });
237
- const formatPropPromises = new Array();
238
238
  for (const [entry, formatProps] of formatPropsByType) {
239
- formatPropPromises.push(this.loadFormatAndParserSpec(entry, formatProps));
239
+ await this.loadFormatAndParserSpec(entry, formatProps);
240
240
  }
241
- await Promise.all(formatPropPromises);
242
241
  }
243
- getFormatPropsByQuantityTypeEntyAndSystem(quantityEntry, requestedSystem, ignoreOverrides) {
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
- * @beta
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
- /** True if tool quantity values should be displayed in imperial units; false for metric. Changing this flag triggers an asynchronous request to refresh the cached formats. */
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
- // TODO: make more generic to support "named" systems.
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 of a QuantityType.
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.getFormatPropsByQuantityTypeEntyAndSystem(entry, requestedSystem), this.unitsProvider);
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.getFormatPropsByQuantityTypeEntyAndSystem(entry, requestedSystem), this.unitsProvider);
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
- /** Get a UnitSystemKey from a string that may have been entered via a key-in. Support different variation of unit system names.
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.getFormatPropsByQuantityTypeEntyAndSystem(quantityEntry, requestedSystem !== null && requestedSystem !== void 0 ? requestedSystem : this.activeUnitSystem, ignoreOverrides);
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
- async findUnit(unitLabel, phenomenon, unitSystem) {
575
- return this._unitsProvider.findUnit(unitLabel, phenomenon, unitSystem);
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
  }