@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.
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 +58 -14
  16. package/lib/cjs/RealityDataSource.d.ts.map +1 -1
  17. package/lib/cjs/RealityDataSource.js +30 -242
  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 +22 -0
  120. package/lib/cjs/tile/OPCFormatInterpreter.d.ts.map +1 -0
  121. package/lib/cjs/tile/OPCFormatInterpreter.js +92 -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 +52 -0
  143. package/lib/cjs/tile/ThreeDTileFormatInterpreter.d.ts.map +1 -0
  144. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js +179 -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 +58 -14
  228. package/lib/esm/RealityDataSource.d.ts.map +1 -1
  229. package/lib/esm/RealityDataSource.js +31 -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 +22 -0
  332. package/lib/esm/tile/OPCFormatInterpreter.d.ts.map +1 -0
  333. package/lib/esm/tile/OPCFormatInterpreter.js +88 -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 +52 -0
  355. package/lib/esm/tile/ThreeDTileFormatInterpreter.d.ts.map +1 -0
  356. package/lib/esm/tile/ThreeDTileFormatInterpreter.js +175 -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
@@ -7,25 +7,35 @@
7
7
  * @module QuantityFormatting
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.QuantityFormatter = exports.isCustomQuantityTypeDefinition = exports.isTextSelectFormatPropEditorSpec = exports.isTextInputFormatPropEditorSpec = exports.isCheckboxFormatPropEditorSpec = exports.getQuantityTypeKey = exports.AlternateUnitLabelsRegistry = exports.QuantityType = void 0;
10
+ exports.QuantityFormatter = exports.isCustomQuantityTypeDefinition = exports.getQuantityTypeKey = exports.AlternateUnitLabelsRegistry = exports.QuantityType = void 0;
11
11
  const core_bentley_1 = require("@itwin/core-bentley");
12
12
  const core_quantity_1 = require("@itwin/core-quantity");
13
13
  const IModelApp_1 = require("../IModelApp");
14
14
  const BasicUnitsProvider_1 = require("./BasicUnitsProvider");
15
15
  // cSpell:ignore FORMATPROPS FORMATKEY ussurvey uscustomary USCUSTOM
16
- /** Defines standard format types for tools that need to display measurements to user. Kept only to provide compatibility for existing API.
17
- * @beta
16
+ /**
17
+ * Defines standard format types for tools that need to display measurements to user.
18
+ * @public
18
19
  */
19
20
  var QuantityType;
20
21
  (function (QuantityType) {
22
+ /** Length which is stored in meters. Typically formatted to display in meters or feet-inches based on active unit system. */
21
23
  QuantityType[QuantityType["Length"] = 1] = "Length";
24
+ /** Angular value which is stored in radians. Typically formatted to display degrees or Degrees-Minute-Seconds based on active unit system. */
22
25
  QuantityType[QuantityType["Angle"] = 2] = "Angle";
26
+ /** Area value store in meters squared. Typically formatted to display in meters squared or feet squared based on active unit system. */
23
27
  QuantityType[QuantityType["Area"] = 3] = "Area";
28
+ /** Volume value which is stored in meters cubed. Typically formatted to display in meters cubed or feet cubed based on active unit system. */
24
29
  QuantityType[QuantityType["Volume"] = 4] = "Volume";
30
+ /** LatLong is an angular value which is stored in radians. Typically formatted to display degrees or Degrees-Minute-Seconds based on active unit system. */
25
31
  QuantityType[QuantityType["LatLong"] = 5] = "LatLong";
32
+ /** Coordinate/Location value which is stored in meters. Typically formatted to display in meters or feet based on active unit system. */
26
33
  QuantityType[QuantityType["Coordinate"] = 6] = "Coordinate";
34
+ /** Stationing is a distance value stored in meters. Typically formatted to display `xxx+xx` or `xx+xxx` based on active unit system. */
27
35
  QuantityType[QuantityType["Stationing"] = 7] = "Stationing";
36
+ /** LengthSurvey is a distance value stored in meters. Typically formatted to display in meters or US Survey Feet based on active unit system.. */
28
37
  QuantityType[QuantityType["LengthSurvey"] = 8] = "LengthSurvey";
38
+ /** LengthEngineering is a distance value stored in meters. Typically formatted to display either meters or feet based on active unit system. */
29
39
  QuantityType[QuantityType["LengthEngineering"] = 9] = "LengthEngineering";
30
40
  })(QuantityType = exports.QuantityType || (exports.QuantityType = {}));
31
41
  /**
@@ -52,8 +62,10 @@ class AlternateUnitLabelsRegistry {
52
62
  }
53
63
  }
54
64
  exports.AlternateUnitLabelsRegistry = AlternateUnitLabelsRegistry;
55
- /** Function to return a QuantityTypeKey given either a QuantityType or a string
56
- * @beta
65
+ /**
66
+ * Function to return a QuantityTypeKey given either a QuantityType enum value or a string. This allows caching and
67
+ * retrieving standard and custom quantity types.
68
+ * @public
57
69
  */
58
70
  function getQuantityTypeKey(type) {
59
71
  // For QuantityType enum values, build a string that shouldn't collide with anything a user may come up with
@@ -62,35 +74,14 @@ function getQuantityTypeKey(type) {
62
74
  return type;
63
75
  }
64
76
  exports.getQuantityTypeKey = getQuantityTypeKey;
65
- /** CheckboxFormatPropEditorSpec type guard.
66
- * @beta
67
- */
68
- const isCheckboxFormatPropEditorSpec = (item) => {
69
- return item.editorType === "checkbox";
70
- };
71
- exports.isCheckboxFormatPropEditorSpec = isCheckboxFormatPropEditorSpec;
72
- /** TextInputFormatPropEditorSpec type guard.
73
- * @beta
74
- */
75
- const isTextInputFormatPropEditorSpec = (item) => {
76
- return item.editorType === "text";
77
- };
78
- exports.isTextInputFormatPropEditorSpec = isTextInputFormatPropEditorSpec;
79
- /** TextSelectFormatPropEditorSpec type guard.
80
- * @beta
81
- */
82
- const isTextSelectFormatPropEditorSpec = (item) => {
83
- return item.editorType === "select";
84
- };
85
- exports.isTextSelectFormatPropEditorSpec = isTextSelectFormatPropEditorSpec;
86
77
  /** CustomQuantityTypeDefinition type guard.
87
- * @beta
78
+ * @public
88
79
  */
89
80
  function isCustomQuantityTypeDefinition(item) {
90
81
  return !!item.isCompatibleFormatProps;
91
82
  }
92
83
  exports.isCustomQuantityTypeDefinition = isCustomQuantityTypeDefinition;
93
- /** private class to hold standard quantity definitions and implement QuantityTypeDefinition interface */
84
+ /** private class to hold standard quantity definitions as defined by QuantityType enum and implement QuantityTypeDefinition interface */
94
85
  class StandardQuantityTypeDefinition {
95
86
  constructor(type, persistenceUnit, _labelKey, _descriptionKey) {
96
87
  this.type = type;
@@ -114,6 +105,7 @@ class StandardQuantityTypeDefinition {
114
105
  }
115
106
  return (_a = this._description) !== null && _a !== void 0 ? _a : this.label;
116
107
  }
108
+ /** Get a default format to show quantity in persistence unit with precision or 6 decimal places. */
117
109
  getDefaultFormatPropsBySystem(requestedSystem) {
118
110
  // Fallback same as Format "DefaultRealU" in Formats ecschema
119
111
  const fallbackProps = {
@@ -152,7 +144,7 @@ class StandardQuantityTypeDefinition {
152
144
  * identified by the [[QuantityType]] enum. [[CustomQuantityTypeDefinition]] can be registered to extend the available quantity types available
153
145
  * by frontend tools. The QuantityFormatter also allows the default formats to be overriden.
154
146
  *
155
- * @beta
147
+ * @public
156
148
  */
157
149
  class QuantityFormatter {
158
150
  /**
@@ -163,10 +155,15 @@ class QuantityFormatter {
163
155
  constructor(showMetricOrUnitSystem) {
164
156
  this._unitsProvider = new BasicUnitsProvider_1.BasicUnitsProvider();
165
157
  this._alternateUnitLabelsRegistry = new AlternateUnitLabelsRegistry((0, BasicUnitsProvider_1.getDefaultAlternateUnitLabels)());
158
+ /** Registry containing available quantity type definitions. */
166
159
  this._quantityTypeRegistry = new Map();
160
+ /** Active UnitSystem key - must be one of "imperial", "metric", "usCustomary", or "usSurvey". */
167
161
  this._activeUnitSystem = "imperial";
162
+ /** Map of FormatSpecs for all available QuantityTypes and the active Unit System */
168
163
  this._activeFormatSpecsByType = new Map();
164
+ /** Map of ParserSpecs for all available QuantityTypes and the active Unit System */
169
165
  this._activeParserSpecsByType = new Map();
166
+ /** Map of FormatSpecs that have been overriden from the default. */
170
167
  this._overrideFormatPropsByUnitSystem = new Map();
171
168
  /** Called after the active unit system is changed.
172
169
  * The system will report the UnitSystemKey/name of the the system that was activated.
@@ -198,6 +195,7 @@ class QuantityFormatter {
198
195
  return undefined;
199
196
  return overrideMap.get(quantityTypeKey);
200
197
  }
198
+ /** Method used to register all QuantityTypes defined in QuantityType enum. */
201
199
  async initializeQuantityTypesRegistry() {
202
200
  // QuantityType.Length
203
201
  const lengthUnit = await this.findUnitByName("Units.M");
@@ -241,15 +239,13 @@ class QuantityFormatter {
241
239
  // load cache for every registered QuantityType
242
240
  [...this.quantityTypesRegistry.keys()].forEach((key) => {
243
241
  const entry = this.quantityTypesRegistry.get(key);
244
- formatPropsByType.set(entry, this.getFormatPropsByQuantityTypeEntyAndSystem(entry, systemKey));
242
+ formatPropsByType.set(entry, this.getFormatPropsByQuantityTypeEntryAndSystem(entry, systemKey));
245
243
  });
246
- const formatPropPromises = new Array();
247
244
  for (const [entry, formatProps] of formatPropsByType) {
248
- formatPropPromises.push(this.loadFormatAndParserSpec(entry, formatProps));
245
+ await this.loadFormatAndParserSpec(entry, formatProps);
249
246
  }
250
- await Promise.all(formatPropPromises);
251
247
  }
252
- getFormatPropsByQuantityTypeEntyAndSystem(quantityEntry, requestedSystem, ignoreOverrides) {
248
+ getFormatPropsByQuantityTypeEntryAndSystem(quantityEntry, requestedSystem, ignoreOverrides) {
253
249
  if (!ignoreOverrides) {
254
250
  const overrideProps = this.getOverrideFormatPropsByQuantityType(quantityEntry.key, requestedSystem);
255
251
  if (overrideProps)
@@ -322,9 +318,11 @@ class QuantityFormatter {
322
318
  // initialize default format and parsing specs
323
319
  await this.loadFormatAndParsingMapsForSystem();
324
320
  }
321
+ /** Return a map that serves as a registry of all standard and custom quantity types. */
325
322
  get quantityTypesRegistry() {
326
323
  return this._quantityTypeRegistry;
327
324
  }
325
+ /** Return the class the contain map of all alternate labels for units. These alternate labels are used when parsing strings in quantity values. */
328
326
  get alternateUnitLabelsProvider() {
329
327
  return this._alternateUnitLabelsRegistry;
330
328
  }
@@ -337,13 +335,30 @@ class QuantityFormatter {
337
335
  this._alternateUnitLabelsRegistry.addAlternateLabels(key, ...labels);
338
336
  this.onUnitsProviderChanged.emit();
339
337
  }
338
+ /** Get/Set the active UnitsProvider class. */
340
339
  get unitsProvider() {
341
340
  return this._unitsProvider;
342
341
  }
343
342
  set unitsProvider(unitsProvider) {
343
+ this.setUnitsProvider(unitsProvider); // eslint-disable-line @typescript-eslint/no-floating-promises
344
+ }
345
+ /** async method to set a units provider and reload caches */
346
+ async setUnitsProvider(unitsProvider) {
344
347
  this._unitsProvider = unitsProvider;
348
+ // force all cached data to be reinitialized
349
+ await IModelApp_1.IModelApp.quantityFormatter.onInitialized();
350
+ // force default tool to start so any tool that may be using cached data will not be using bad data.
351
+ if (IModelApp_1.IModelApp.toolAdmin)
352
+ await IModelApp_1.IModelApp.toolAdmin.startDefaultTool();
345
353
  this.onUnitsProviderChanged.emit();
346
354
  }
355
+ /** Async call typically used after IModel is closed to reset UnitsProvider to default one that does not require an Units schema. */
356
+ async resetToUseInternalUnitsProvider() {
357
+ if (this._unitsProvider instanceof BasicUnitsProvider_1.BasicUnitsProvider)
358
+ return;
359
+ await this.setUnitsProvider(new BasicUnitsProvider_1.BasicUnitsProvider());
360
+ }
361
+ /** Async call to register a CustomQuantityType and load the FormatSpec and ParserSpec for the new type. */
347
362
  async registerQuantityType(entry, replace) {
348
363
  if (!replace && this._quantityTypeRegistry.has(entry.key))
349
364
  return false;
@@ -360,7 +375,7 @@ class QuantityFormatter {
360
375
  }
361
376
  /** Reinitialize caches. Typically called by active UnitFormattingSettingsProvider.
362
377
  * 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
363
- * @beta
378
+ * @public
364
379
  */
365
380
  async reinitializeFormatAndParsingsMaps(overrideFormatPropsByUnitSystem, unitSystemKey, fireUnitSystemChanged, startDefaultTool) {
366
381
  this._overrideFormatPropsByUnitSystem.clear();
@@ -390,15 +405,17 @@ class QuantityFormatter {
390
405
  if (IModelApp_1.IModelApp.toolAdmin && restartActiveTool)
391
406
  return IModelApp_1.IModelApp.toolAdmin.startDefaultTool();
392
407
  }
393
- /** 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. */
408
+ /** Retrieve the active [[UnitSystemKey]] which is used to determine what formats are to be used to display quantities */
394
409
  get activeUnitSystem() { return this._activeUnitSystem; }
410
+ /** Clear any formatting override for specified quantity type, but only for the "active" Unit System. */
395
411
  async clearOverrideFormats(type) {
396
412
  await this.clearOverrideFormatsByQuantityTypeKey(this.getQuantityTypeKey(type));
397
413
  }
414
+ /** Set formatting override for specified quantity type, but only for the "active" Unit System. */
398
415
  async setOverrideFormats(type, overrideEntry) {
399
416
  await this.setOverrideFormatsByQuantityTypeKey(this.getQuantityTypeKey(type), overrideEntry);
400
417
  }
401
- // TODO: make more generic to support "named" systems.
418
+ /** Set Override Format for a quantity type, but only in the "active" Unit System. */
402
419
  async setOverrideFormat(type, overrideFormat) {
403
420
  const typeKey = this.getQuantityTypeKey(type);
404
421
  let overrideEntry = {};
@@ -412,6 +429,7 @@ class QuantityFormatter {
412
429
  overrideEntry = { usSurvey: overrideFormat };
413
430
  await this.setOverrideFormatsByQuantityTypeKey(typeKey, overrideEntry);
414
431
  }
432
+ /** Clear formatting override for all quantity types, but only for the "active" Unit System. */
415
433
  async clearAllOverrideFormats() {
416
434
  if (0 === this._overrideFormatPropsByUnitSystem.size)
417
435
  return;
@@ -434,10 +452,11 @@ class QuantityFormatter {
434
452
  }
435
453
  }
436
454
  }
437
- /** Converts a QuantityTypeArg into a QuantityTypeKey/string value. */
455
+ /** Converts a QuantityTypeArg into a QuantityTypeKey/string value that can be used to lookup custom and standard quantity types. */
438
456
  getQuantityTypeKey(type) {
439
457
  return getQuantityTypeKey(type);
440
458
  }
459
+ /** Return [[QuantityTypeDefinition]] if type has been registered. Standard QuantityTypes are automatically registered. */
441
460
  getQuantityDefinition(type) {
442
461
  return this.quantityTypesRegistry.get(this.getQuantityTypeKey(type));
443
462
  }
@@ -447,13 +466,14 @@ class QuantityFormatter {
447
466
  findFormatterSpecByQuantityType(type, _unused) {
448
467
  return this._activeFormatSpecsByType.get(this.getQuantityTypeKey(type));
449
468
  }
469
+ /** Asynchronous Call to get a FormatterSpec for a QuantityType. This formatter spec can be used to synchronously format quantities. */
450
470
  async generateFormatterSpecByType(type, formatProps) {
451
471
  const quantityTypeDefinition = this.quantityTypesRegistry.get(this.getQuantityTypeKey(type));
452
472
  if (quantityTypeDefinition)
453
473
  return quantityTypeDefinition.generateFormatterSpec(formatProps, this.unitsProvider);
454
474
  throw new Error(`Unable to generate FormatSpec for QuantityType ${type}`);
455
475
  }
456
- /** Asynchronous Call to get a FormatterSpec of a QuantityType.
476
+ /** Asynchronous Call to get a FormatterSpec for a QuantityType and a Unit System. This formatter spec can be used to synchronously format quantities.
457
477
  * @param type One of the built-in quantity types supported.
458
478
  * @param system Requested unit system key. Note it is more efficient to use setActiveUnitSystem to set up formatters for all
459
479
  * quantity types of a unit system.
@@ -470,7 +490,7 @@ class QuantityFormatter {
470
490
  const entry = this.quantityTypesRegistry.get(quantityKey);
471
491
  if (!entry)
472
492
  throw new Error(`Unable to find registered quantity type with key ${quantityKey}`);
473
- return entry.generateFormatterSpec(this.getFormatPropsByQuantityTypeEntyAndSystem(entry, requestedSystem), this.unitsProvider);
493
+ return entry.generateFormatterSpec(this.getFormatPropsByQuantityTypeEntryAndSystem(entry, requestedSystem), this.unitsProvider);
474
494
  }
475
495
  /** Asynchronous Call to get a FormatterSpec for a QuantityType.
476
496
  * @param type One of the built-in quantity types supported.
@@ -489,6 +509,7 @@ class QuantityFormatter {
489
509
  findParserSpecByQuantityType(type) {
490
510
  return this._activeParserSpecsByType.get(this.getQuantityTypeKey(type));
491
511
  }
512
+ /** Asynchronous Call to get a ParserSpec for a QuantityType. If the UnitSystemKey is not specified the active Unit System is used. **/
492
513
  async getParserSpecByQuantityTypeAndSystem(type, system) {
493
514
  const quantityKey = this.getQuantityTypeKey(type);
494
515
  const requestedSystem = system !== null && system !== void 0 ? system : this.activeUnitSystem;
@@ -500,7 +521,7 @@ class QuantityFormatter {
500
521
  const entry = this.quantityTypesRegistry.get(quantityKey);
501
522
  if (!entry)
502
523
  throw new Error(`Unable to find registered quantity type with key ${quantityKey}`);
503
- return entry.generateParserSpec(this.getFormatPropsByQuantityTypeEntyAndSystem(entry, requestedSystem), this.unitsProvider);
524
+ return entry.generateParserSpec(this.getFormatPropsByQuantityTypeEntryAndSystem(entry, requestedSystem), this.unitsProvider);
504
525
  }
505
526
  /** Asynchronous Call to get a ParserSpec for a QuantityType.
506
527
  * @param type One of the built-in quantity types supported.
@@ -534,7 +555,9 @@ class QuantityFormatter {
534
555
  return parserSpec.parseToQuantityValue(inString);
535
556
  return { ok: false, error: core_quantity_1.ParseError.InvalidParserSpec };
536
557
  }
537
- /** Get a UnitSystemKey from a string that may have been entered via a key-in. Support different variation of unit system names.
558
+ /**
559
+ * Get a UnitSystemKey from a string that may have been entered via a key-in. Supports different variation of
560
+ * unit system names that have been used in the past.
538
561
  */
539
562
  getUnitSystemFromString(inputSystem, fallback) {
540
563
  switch (inputSystem.toLowerCase()) {
@@ -559,6 +582,7 @@ class QuantityFormatter {
559
582
  }
560
583
  return "imperial";
561
584
  }
585
+ /** Return true if the QuantityType is using an override format. */
562
586
  hasActiveOverride(type, checkOnlyActiveUnitSystem) {
563
587
  const quantityTypeKey = this.getQuantityTypeKey(type);
564
588
  if (checkOnlyActiveUnitSystem) {
@@ -573,22 +597,29 @@ class QuantityFormatter {
573
597
  }
574
598
  return false;
575
599
  }
600
+ /** Get the cached FormatProps give a quantity type. If ignoreOverrides is false then if the format has been overridden
601
+ * the overridden format is returned, else the standard format is returned.
602
+ */
576
603
  getFormatPropsByQuantityType(quantityType, requestedSystem, ignoreOverrides) {
577
604
  const quantityEntry = this.quantityTypesRegistry.get(this.getQuantityTypeKey(quantityType));
578
605
  if (quantityEntry)
579
- return this.getFormatPropsByQuantityTypeEntyAndSystem(quantityEntry, requestedSystem !== null && requestedSystem !== void 0 ? requestedSystem : this.activeUnitSystem, ignoreOverrides);
606
+ return this.getFormatPropsByQuantityTypeEntryAndSystem(quantityEntry, requestedSystem !== null && requestedSystem !== void 0 ? requestedSystem : this.activeUnitSystem, ignoreOverrides);
580
607
  return undefined;
581
608
  }
582
609
  // keep following to maintain existing API of implementing UnitsProvider
583
- async findUnit(unitLabel, phenomenon, unitSystem) {
584
- return this._unitsProvider.findUnit(unitLabel, phenomenon, unitSystem);
610
+ /** Find [UnitProp] for a specific unit label. */
611
+ async findUnit(unitLabel, schemaName, phenomenon, unitSystem) {
612
+ return this._unitsProvider.findUnit(unitLabel, schemaName, phenomenon, unitSystem);
585
613
  }
614
+ /** Returns all defined units for the specified Unit Family/Phenomenon. */
586
615
  async getUnitsByFamily(phenomenon) {
587
616
  return this._unitsProvider.getUnitsByFamily(phenomenon);
588
617
  }
618
+ /** Find [UnitProp] for a specific unit name. */
589
619
  async findUnitByName(unitName) {
590
620
  return this._unitsProvider.findUnitByName(unitName);
591
621
  }
622
+ /** Returns data needed to convert from one Unit to another in the same Unit Family/Phenomenon. */
592
623
  async getConversion(fromUnit, toUnit) {
593
624
  return this._unitsProvider.getConversion(fromUnit, toUnit);
594
625
  }