@itwin/core-frontend 3.1.0-dev.8 → 3.1.0

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 (665) hide show
  1. package/CHANGELOG.md +203 -35
  2. package/lib/cjs/AccuSnap.js +2 -2
  3. package/lib/cjs/AccuSnap.js.map +1 -1
  4. package/lib/cjs/ApproximateTerrainHeights.d.ts +1 -1
  5. package/lib/cjs/ApproximateTerrainHeights.d.ts.map +1 -1
  6. package/lib/cjs/ApproximateTerrainHeights.js +21 -9
  7. package/lib/cjs/ApproximateTerrainHeights.js.map +1 -1
  8. package/lib/cjs/ApproximateTerrainHeightsProps.d.ts +12 -0
  9. package/lib/cjs/ApproximateTerrainHeightsProps.d.ts.map +1 -0
  10. package/lib/cjs/ApproximateTerrainHeightsProps.js +13 -0
  11. package/lib/cjs/ApproximateTerrainHeightsProps.js.map +1 -0
  12. package/lib/cjs/CategorySelectorState.js +1 -1
  13. package/lib/cjs/CategorySelectorState.js.map +1 -1
  14. package/lib/cjs/DisplayStyleState.d.ts +4 -3
  15. package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
  16. package/lib/cjs/DisplayStyleState.js +32 -8
  17. package/lib/cjs/DisplayStyleState.js.map +1 -1
  18. package/lib/cjs/DrawingViewState.d.ts.map +1 -1
  19. package/lib/cjs/DrawingViewState.js +6 -5
  20. package/lib/cjs/DrawingViewState.js.map +1 -1
  21. package/lib/cjs/FrontendLoggerCategory.d.ts +3 -1
  22. package/lib/cjs/FrontendLoggerCategory.d.ts.map +1 -1
  23. package/lib/cjs/FrontendLoggerCategory.js +2 -0
  24. package/lib/cjs/FrontendLoggerCategory.js.map +1 -1
  25. package/lib/cjs/IModelApp.d.ts +10 -4
  26. package/lib/cjs/IModelApp.d.ts.map +1 -1
  27. package/lib/cjs/IModelApp.js +26 -13
  28. package/lib/cjs/IModelApp.js.map +1 -1
  29. package/lib/cjs/IModelConnection.d.ts +3 -2
  30. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  31. package/lib/cjs/IModelConnection.js +6 -4
  32. package/lib/cjs/IModelConnection.js.map +1 -1
  33. package/lib/cjs/ImageUtil.d.ts.map +1 -1
  34. package/lib/cjs/ImageUtil.js +8 -14
  35. package/lib/cjs/ImageUtil.js.map +1 -1
  36. package/lib/cjs/LocalhostIpcApp.d.ts +2 -0
  37. package/lib/cjs/LocalhostIpcApp.d.ts.map +1 -1
  38. package/lib/cjs/LocalhostIpcApp.js +10 -4
  39. package/lib/cjs/LocalhostIpcApp.js.map +1 -1
  40. package/lib/cjs/RealityDataSource.d.ts +60 -14
  41. package/lib/cjs/RealityDataSource.d.ts.map +1 -1
  42. package/lib/cjs/RealityDataSource.js +36 -235
  43. package/lib/cjs/RealityDataSource.js.map +1 -1
  44. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.d.ts +67 -0
  45. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.d.ts.map +1 -0
  46. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js +166 -0
  47. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js.map +1 -0
  48. package/lib/cjs/RealityDataSourceContextShareImpl.d.ts +83 -0
  49. package/lib/cjs/RealityDataSourceContextShareImpl.d.ts.map +1 -0
  50. package/lib/cjs/RealityDataSourceContextShareImpl.js +234 -0
  51. package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -0
  52. package/lib/cjs/RealityDataSourceTilesetUrlImpl.d.ts +65 -0
  53. package/lib/cjs/RealityDataSourceTilesetUrlImpl.d.ts.map +1 -0
  54. package/lib/cjs/RealityDataSourceTilesetUrlImpl.js +135 -0
  55. package/lib/cjs/RealityDataSourceTilesetUrlImpl.js.map +1 -0
  56. package/lib/cjs/SheetViewState.js +4 -0
  57. package/lib/cjs/SheetViewState.js.map +1 -1
  58. package/lib/cjs/ViewState.d.ts +8 -0
  59. package/lib/cjs/ViewState.d.ts.map +1 -1
  60. package/lib/cjs/ViewState.js +1 -1
  61. package/lib/cjs/ViewState.js.map +1 -1
  62. package/lib/cjs/Viewport.d.ts +30 -12
  63. package/lib/cjs/Viewport.d.ts.map +1 -1
  64. package/lib/cjs/Viewport.js +43 -1
  65. package/lib/cjs/Viewport.js.map +1 -1
  66. package/lib/cjs/core-frontend.d.ts +6 -4
  67. package/lib/cjs/core-frontend.d.ts.map +1 -1
  68. package/lib/cjs/core-frontend.js +6 -4
  69. package/lib/cjs/core-frontend.js.map +1 -1
  70. package/lib/cjs/extension/Extension.d.ts +48 -0
  71. package/lib/cjs/extension/Extension.d.ts.map +1 -0
  72. package/lib/cjs/extension/Extension.js +18 -0
  73. package/lib/cjs/extension/Extension.js.map +1 -0
  74. package/lib/cjs/extension/ExtensionAdmin.d.ts +64 -0
  75. package/lib/cjs/extension/ExtensionAdmin.d.ts.map +1 -0
  76. package/lib/cjs/extension/ExtensionAdmin.js +106 -0
  77. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -0
  78. package/lib/cjs/extension/ExtensionHost.d.ts +23 -0
  79. package/lib/cjs/extension/ExtensionHost.d.ts.map +1 -0
  80. package/lib/cjs/extension/ExtensionHost.js +26 -0
  81. package/lib/cjs/extension/ExtensionHost.js.map +1 -0
  82. package/lib/cjs/extension/ExtensionImpl.d.ts +21 -0
  83. package/lib/cjs/extension/ExtensionImpl.d.ts.map +1 -0
  84. package/lib/cjs/extension/ExtensionImpl.js +45 -0
  85. package/lib/cjs/extension/ExtensionImpl.js.map +1 -0
  86. package/lib/cjs/extension/ExtensionLoader.d.ts +26 -0
  87. package/lib/cjs/extension/ExtensionLoader.d.ts.map +1 -0
  88. package/lib/cjs/extension/ExtensionLoader.js +10 -0
  89. package/lib/cjs/extension/ExtensionLoader.js.map +1 -0
  90. package/lib/cjs/extension/ExtensionRuntime.d.ts +5 -0
  91. package/lib/cjs/extension/ExtensionRuntime.d.ts.map +1 -0
  92. package/lib/cjs/extension/ExtensionRuntime.js +86 -0
  93. package/lib/cjs/extension/ExtensionRuntime.js.map +1 -0
  94. package/lib/cjs/extension/extensions.d.ts +19 -0
  95. package/lib/cjs/extension/extensions.d.ts.map +1 -0
  96. package/lib/cjs/extension/extensions.js +36 -0
  97. package/lib/cjs/extension/extensions.js.map +1 -0
  98. package/lib/cjs/quantity-formatting/BasicUnitsProvider.d.ts +2 -2
  99. package/lib/cjs/quantity-formatting/BasicUnitsProvider.d.ts.map +1 -1
  100. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js +48 -44
  101. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  102. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts +90 -80
  103. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  104. package/lib/cjs/quantity-formatting/QuantityFormatter.js +85 -45
  105. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  106. package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.d.ts +54 -0
  107. package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.d.ts.map +1 -0
  108. package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.js +32 -0
  109. package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -0
  110. package/lib/cjs/quantity-formatting/UnitsData.d.ts +11 -0
  111. package/lib/cjs/quantity-formatting/UnitsData.d.ts.map +1 -0
  112. package/lib/cjs/quantity-formatting/UnitsData.js +59 -0
  113. package/lib/cjs/quantity-formatting/UnitsData.js.map +1 -0
  114. package/lib/cjs/render/GraphicBranch.d.ts +2 -0
  115. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  116. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  117. package/lib/cjs/render/RenderPlanarClassifier.d.ts +1 -1
  118. package/lib/cjs/render/RenderPlanarClassifier.d.ts.map +1 -1
  119. package/lib/cjs/render/RenderPlanarClassifier.js.map +1 -1
  120. package/lib/cjs/render/RenderSystem.d.ts +12 -7
  121. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  122. package/lib/cjs/render/RenderSystem.js +8 -5
  123. package/lib/cjs/render/RenderSystem.js.map +1 -1
  124. package/lib/cjs/render/RenderTarget.d.ts +4 -4
  125. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  126. package/lib/cjs/render/RenderTarget.js.map +1 -1
  127. package/lib/cjs/render/Scene.d.ts.map +1 -1
  128. package/lib/cjs/render/Scene.js.map +1 -1
  129. package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.d.ts +17 -2
  130. package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.d.ts.map +1 -1
  131. package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.js +39 -2
  132. package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.js.map +1 -1
  133. package/lib/cjs/render/webgl/BackgroundMapDrape.js +1 -1
  134. package/lib/cjs/render/webgl/BackgroundMapDrape.js.map +1 -1
  135. package/lib/cjs/render/webgl/BranchState.d.ts +2 -0
  136. package/lib/cjs/render/webgl/BranchState.d.ts.map +1 -1
  137. package/lib/cjs/render/webgl/BranchState.js +5 -3
  138. package/lib/cjs/render/webgl/BranchState.js.map +1 -1
  139. package/lib/cjs/render/webgl/DrawCommand.js +1 -1
  140. package/lib/cjs/render/webgl/DrawCommand.js.map +1 -1
  141. package/lib/cjs/render/webgl/Graphic.d.ts +5 -3
  142. package/lib/cjs/render/webgl/Graphic.d.ts.map +1 -1
  143. package/lib/cjs/render/webgl/Graphic.js +7 -2
  144. package/lib/cjs/render/webgl/Graphic.js.map +1 -1
  145. package/lib/cjs/render/webgl/PlanarClassifier.d.ts +4 -1
  146. package/lib/cjs/render/webgl/PlanarClassifier.d.ts.map +1 -1
  147. package/lib/cjs/render/webgl/PlanarClassifier.js +22 -9
  148. package/lib/cjs/render/webgl/PlanarClassifier.js.map +1 -1
  149. package/lib/cjs/render/webgl/PlanarTextureProjection.d.ts +2 -2
  150. package/lib/cjs/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  151. package/lib/cjs/render/webgl/PlanarTextureProjection.js +5 -3
  152. package/lib/cjs/render/webgl/PlanarTextureProjection.js.map +1 -1
  153. package/lib/cjs/render/webgl/RealityMesh.d.ts +31 -11
  154. package/lib/cjs/render/webgl/RealityMesh.d.ts.map +1 -1
  155. package/lib/cjs/render/webgl/RealityMesh.js +155 -52
  156. package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
  157. package/lib/cjs/render/webgl/RenderCommands.d.ts.map +1 -1
  158. package/lib/cjs/render/webgl/RenderCommands.js +4 -0
  159. package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
  160. package/lib/cjs/render/webgl/SceneCompositor.d.ts +3 -0
  161. package/lib/cjs/render/webgl/SceneCompositor.d.ts.map +1 -1
  162. package/lib/cjs/render/webgl/SceneCompositor.js +45 -19
  163. package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
  164. package/lib/cjs/render/webgl/ShaderProgram.d.ts +1 -0
  165. package/lib/cjs/render/webgl/ShaderProgram.d.ts.map +1 -1
  166. package/lib/cjs/render/webgl/ShaderProgram.js +1 -0
  167. package/lib/cjs/render/webgl/ShaderProgram.js.map +1 -1
  168. package/lib/cjs/render/webgl/System.d.ts +9 -9
  169. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  170. package/lib/cjs/render/webgl/System.js +5 -5
  171. package/lib/cjs/render/webgl/System.js.map +1 -1
  172. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  173. package/lib/cjs/render/webgl/Target.js.map +1 -1
  174. package/lib/cjs/render/webgl/glsl/PlanarClassification.js +1 -1
  175. package/lib/cjs/render/webgl/glsl/PlanarClassification.js.map +1 -1
  176. package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  177. package/lib/cjs/render/webgl/glsl/RealityMesh.js +102 -27
  178. package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
  179. package/lib/cjs/tile/ClassifierTileTree.d.ts +4 -2
  180. package/lib/cjs/tile/ClassifierTileTree.d.ts.map +1 -1
  181. package/lib/cjs/tile/ClassifierTileTree.js +31 -16
  182. package/lib/cjs/tile/ClassifierTileTree.js.map +1 -1
  183. package/lib/cjs/tile/GltfReader.d.ts +22 -3
  184. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  185. package/lib/cjs/tile/GltfReader.js +224 -40
  186. package/lib/cjs/tile/GltfReader.js.map +1 -1
  187. package/lib/cjs/tile/IModelTileRequestChannels.d.ts +3 -3
  188. package/lib/cjs/tile/IModelTileRequestChannels.d.ts.map +1 -1
  189. package/lib/cjs/tile/IModelTileRequestChannels.js +7 -11
  190. package/lib/cjs/tile/IModelTileRequestChannels.js.map +1 -1
  191. package/lib/cjs/tile/OPCFormatInterpreter.d.ts +22 -0
  192. package/lib/cjs/tile/OPCFormatInterpreter.d.ts.map +1 -0
  193. package/lib/cjs/tile/OPCFormatInterpreter.js +92 -0
  194. package/lib/cjs/tile/OPCFormatInterpreter.js.map +1 -0
  195. package/lib/cjs/tile/PntsReader.d.ts +1 -1
  196. package/lib/cjs/tile/PntsReader.d.ts.map +1 -1
  197. package/lib/cjs/tile/PntsReader.js +170 -36
  198. package/lib/cjs/tile/PntsReader.js.map +1 -1
  199. package/lib/cjs/tile/PrimaryTileTree.d.ts +18 -2
  200. package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
  201. package/lib/cjs/tile/PrimaryTileTree.js +53 -2
  202. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  203. package/lib/cjs/tile/RealityModelTileTree.d.ts +24 -3
  204. package/lib/cjs/tile/RealityModelTileTree.d.ts.map +1 -1
  205. package/lib/cjs/tile/RealityModelTileTree.js +36 -11
  206. package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
  207. package/lib/cjs/tile/RealityTile.d.ts +16 -2
  208. package/lib/cjs/tile/RealityTile.d.ts.map +1 -1
  209. package/lib/cjs/tile/RealityTile.js +32 -0
  210. package/lib/cjs/tile/RealityTile.js.map +1 -1
  211. package/lib/cjs/tile/RealityTileDrawArgs.d.ts +4 -1
  212. package/lib/cjs/tile/RealityTileDrawArgs.d.ts.map +1 -1
  213. package/lib/cjs/tile/RealityTileDrawArgs.js +3 -1
  214. package/lib/cjs/tile/RealityTileDrawArgs.js.map +1 -1
  215. package/lib/cjs/tile/RealityTileLoader.d.ts +7 -4
  216. package/lib/cjs/tile/RealityTileLoader.d.ts.map +1 -1
  217. package/lib/cjs/tile/RealityTileLoader.js +19 -5
  218. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  219. package/lib/cjs/tile/RealityTileTree.d.ts +4 -1
  220. package/lib/cjs/tile/RealityTileTree.d.ts.map +1 -1
  221. package/lib/cjs/tile/RealityTileTree.js +11 -3
  222. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  223. package/lib/cjs/tile/ThreeDTileFormatInterpreter.d.ts +52 -0
  224. package/lib/cjs/tile/ThreeDTileFormatInterpreter.d.ts.map +1 -0
  225. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js +179 -0
  226. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js.map +1 -0
  227. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  228. package/lib/cjs/tile/TileAdmin.js +0 -5
  229. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  230. package/lib/cjs/tile/TileDrawArgs.d.ts +2 -0
  231. package/lib/cjs/tile/TileDrawArgs.d.ts.map +1 -1
  232. package/lib/cjs/tile/TileDrawArgs.js +5 -0
  233. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  234. package/lib/cjs/tile/TileGeometryCollector.d.ts +80 -0
  235. package/lib/cjs/tile/TileGeometryCollector.d.ts.map +1 -0
  236. package/lib/cjs/tile/TileGeometryCollector.js +71 -0
  237. package/lib/cjs/tile/TileGeometryCollector.js.map +1 -0
  238. package/lib/cjs/tile/TileRequestChannels.d.ts +0 -4
  239. package/lib/cjs/tile/TileRequestChannels.d.ts.map +1 -1
  240. package/lib/cjs/tile/TileRequestChannels.js +1 -6
  241. package/lib/cjs/tile/TileRequestChannels.js.map +1 -1
  242. package/lib/cjs/tile/TileTree.d.ts +7 -1
  243. package/lib/cjs/tile/TileTree.d.ts.map +1 -1
  244. package/lib/cjs/tile/TileTree.js +7 -0
  245. package/lib/cjs/tile/TileTree.js.map +1 -1
  246. package/lib/cjs/tile/TileTreeReference.d.ts +26 -1
  247. package/lib/cjs/tile/TileTreeReference.d.ts.map +1 -1
  248. package/lib/cjs/tile/TileTreeReference.js +40 -0
  249. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  250. package/lib/cjs/tile/internal.d.ts +4 -0
  251. package/lib/cjs/tile/internal.d.ts.map +1 -1
  252. package/lib/cjs/tile/internal.js +4 -0
  253. package/lib/cjs/tile/internal.js.map +1 -1
  254. package/lib/cjs/tile/map/CesiumTerrainProvider.js +2 -2
  255. package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
  256. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +5 -3
  257. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  258. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +45 -12
  259. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  260. package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts +2 -2
  261. package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts.map +1 -1
  262. package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  263. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.d.ts +2 -2
  264. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
  265. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  266. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts +2 -2
  267. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts.map +1 -1
  268. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js +4 -3
  269. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  270. package/lib/cjs/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts +2 -2
  271. package/lib/cjs/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts.map +1 -1
  272. package/lib/cjs/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
  273. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +2 -2
  274. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  275. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +1 -1
  276. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  277. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +2 -2
  278. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
  279. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  280. package/lib/cjs/tile/map/ImageryTileTree.d.ts +2 -3
  281. package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
  282. package/lib/cjs/tile/map/ImageryTileTree.js +4 -3
  283. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  284. package/lib/cjs/tile/map/MapFeatureInfo.d.ts +26 -0
  285. package/lib/cjs/tile/map/MapFeatureInfo.d.ts.map +1 -0
  286. package/lib/cjs/tile/map/MapFeatureInfo.js +19 -0
  287. package/lib/cjs/tile/map/MapFeatureInfo.js.map +1 -0
  288. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts +4 -4
  289. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  290. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  291. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts +3 -3
  292. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  293. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  294. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +5 -4
  295. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  296. package/lib/cjs/tile/map/MapLayerImageryProvider.js +5 -1
  297. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  298. package/lib/cjs/tile/map/MapLayerSources.d.ts +2 -2
  299. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  300. package/lib/cjs/tile/map/MapLayerSources.js +6 -4
  301. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  302. package/lib/cjs/tile/map/MapLayerTileTreeReference.d.ts +10 -2
  303. package/lib/cjs/tile/map/MapLayerTileTreeReference.d.ts.map +1 -1
  304. package/lib/cjs/tile/map/MapLayerTileTreeReference.js +26 -3
  305. package/lib/cjs/tile/map/MapLayerTileTreeReference.js.map +1 -1
  306. package/lib/cjs/tile/map/MapTile.d.ts +12 -10
  307. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  308. package/lib/cjs/tile/map/MapTile.js +60 -39
  309. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  310. package/lib/cjs/tile/map/MapTileLoader.d.ts +2 -1
  311. package/lib/cjs/tile/map/MapTileLoader.d.ts.map +1 -1
  312. package/lib/cjs/tile/map/MapTileLoader.js +4 -1
  313. package/lib/cjs/tile/map/MapTileLoader.js.map +1 -1
  314. package/lib/cjs/tile/map/MapTileTree.d.ts +18 -8
  315. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  316. package/lib/cjs/tile/map/MapTileTree.js +150 -63
  317. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  318. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  319. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +1 -1
  320. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  321. package/lib/cjs/tools/ToolAdmin.d.ts +2 -3
  322. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  323. package/lib/cjs/tools/ToolAdmin.js +7 -2
  324. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  325. package/lib/cjs/tools/ViewTool.d.ts +4 -4
  326. package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
  327. package/lib/cjs/tools/ViewTool.js +1 -1
  328. package/lib/cjs/tools/ViewTool.js.map +1 -1
  329. package/lib/esm/AccuSnap.js +2 -2
  330. package/lib/esm/AccuSnap.js.map +1 -1
  331. package/lib/esm/ApproximateTerrainHeights.d.ts +1 -1
  332. package/lib/esm/ApproximateTerrainHeights.d.ts.map +1 -1
  333. package/lib/esm/ApproximateTerrainHeights.js +2 -9
  334. package/lib/esm/ApproximateTerrainHeights.js.map +1 -1
  335. package/lib/esm/ApproximateTerrainHeightsProps.d.ts +12 -0
  336. package/lib/esm/ApproximateTerrainHeightsProps.d.ts.map +1 -0
  337. package/lib/esm/ApproximateTerrainHeightsProps.js +10 -0
  338. package/lib/esm/ApproximateTerrainHeightsProps.js.map +1 -0
  339. package/lib/esm/CategorySelectorState.js +1 -1
  340. package/lib/esm/CategorySelectorState.js.map +1 -1
  341. package/lib/esm/DisplayStyleState.d.ts +4 -3
  342. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  343. package/lib/esm/DisplayStyleState.js +34 -10
  344. package/lib/esm/DisplayStyleState.js.map +1 -1
  345. package/lib/esm/DrawingViewState.d.ts.map +1 -1
  346. package/lib/esm/DrawingViewState.js +6 -5
  347. package/lib/esm/DrawingViewState.js.map +1 -1
  348. package/lib/esm/FrontendLoggerCategory.d.ts +3 -1
  349. package/lib/esm/FrontendLoggerCategory.d.ts.map +1 -1
  350. package/lib/esm/FrontendLoggerCategory.js +2 -0
  351. package/lib/esm/FrontendLoggerCategory.js.map +1 -1
  352. package/lib/esm/IModelApp.d.ts +10 -4
  353. package/lib/esm/IModelApp.d.ts.map +1 -1
  354. package/lib/esm/IModelApp.js +25 -12
  355. package/lib/esm/IModelApp.js.map +1 -1
  356. package/lib/esm/IModelConnection.d.ts +3 -2
  357. package/lib/esm/IModelConnection.d.ts.map +1 -1
  358. package/lib/esm/IModelConnection.js +7 -5
  359. package/lib/esm/IModelConnection.js.map +1 -1
  360. package/lib/esm/ImageUtil.d.ts.map +1 -1
  361. package/lib/esm/ImageUtil.js +8 -14
  362. package/lib/esm/ImageUtil.js.map +1 -1
  363. package/lib/esm/LocalhostIpcApp.d.ts +2 -0
  364. package/lib/esm/LocalhostIpcApp.d.ts.map +1 -1
  365. package/lib/esm/LocalhostIpcApp.js +10 -4
  366. package/lib/esm/LocalhostIpcApp.js.map +1 -1
  367. package/lib/esm/RealityDataSource.d.ts +60 -14
  368. package/lib/esm/RealityDataSource.d.ts.map +1 -1
  369. package/lib/esm/RealityDataSource.js +37 -237
  370. package/lib/esm/RealityDataSource.js.map +1 -1
  371. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.d.ts +67 -0
  372. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.d.ts.map +1 -0
  373. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js +162 -0
  374. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js.map +1 -0
  375. package/lib/esm/RealityDataSourceContextShareImpl.d.ts +83 -0
  376. package/lib/esm/RealityDataSourceContextShareImpl.d.ts.map +1 -0
  377. package/lib/esm/RealityDataSourceContextShareImpl.js +230 -0
  378. package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -0
  379. package/lib/esm/RealityDataSourceTilesetUrlImpl.d.ts +65 -0
  380. package/lib/esm/RealityDataSourceTilesetUrlImpl.d.ts.map +1 -0
  381. package/lib/esm/RealityDataSourceTilesetUrlImpl.js +131 -0
  382. package/lib/esm/RealityDataSourceTilesetUrlImpl.js.map +1 -0
  383. package/lib/esm/SheetViewState.js +4 -0
  384. package/lib/esm/SheetViewState.js.map +1 -1
  385. package/lib/esm/ViewState.d.ts +8 -0
  386. package/lib/esm/ViewState.d.ts.map +1 -1
  387. package/lib/esm/ViewState.js +1 -1
  388. package/lib/esm/ViewState.js.map +1 -1
  389. package/lib/esm/Viewport.d.ts +30 -12
  390. package/lib/esm/Viewport.d.ts.map +1 -1
  391. package/lib/esm/Viewport.js +43 -1
  392. package/lib/esm/Viewport.js.map +1 -1
  393. package/lib/esm/core-frontend.d.ts +6 -4
  394. package/lib/esm/core-frontend.d.ts.map +1 -1
  395. package/lib/esm/core-frontend.js +6 -4
  396. package/lib/esm/core-frontend.js.map +1 -1
  397. package/lib/esm/extension/Extension.d.ts +48 -0
  398. package/lib/esm/extension/Extension.d.ts.map +1 -0
  399. package/lib/esm/extension/Extension.js +15 -0
  400. package/lib/esm/extension/Extension.js.map +1 -0
  401. package/lib/esm/extension/ExtensionAdmin.d.ts +64 -0
  402. package/lib/esm/extension/ExtensionAdmin.d.ts.map +1 -0
  403. package/lib/esm/extension/ExtensionAdmin.js +102 -0
  404. package/lib/esm/extension/ExtensionAdmin.js.map +1 -0
  405. package/lib/esm/extension/ExtensionHost.d.ts +23 -0
  406. package/lib/esm/extension/ExtensionHost.d.ts.map +1 -0
  407. package/lib/esm/extension/ExtensionHost.js +22 -0
  408. package/lib/esm/extension/ExtensionHost.js.map +1 -0
  409. package/lib/esm/extension/ExtensionImpl.d.ts +21 -0
  410. package/lib/esm/extension/ExtensionImpl.d.ts.map +1 -0
  411. package/lib/esm/extension/ExtensionImpl.js +40 -0
  412. package/lib/esm/extension/ExtensionImpl.js.map +1 -0
  413. package/lib/esm/extension/ExtensionLoader.d.ts +26 -0
  414. package/lib/esm/extension/ExtensionLoader.d.ts.map +1 -0
  415. package/lib/esm/extension/ExtensionLoader.js +9 -0
  416. package/lib/esm/extension/ExtensionLoader.js.map +1 -0
  417. package/lib/esm/extension/ExtensionRuntime.d.ts +5 -0
  418. package/lib/esm/extension/ExtensionRuntime.d.ts.map +1 -0
  419. package/lib/esm/extension/ExtensionRuntime.js +84 -0
  420. package/lib/esm/extension/ExtensionRuntime.js.map +1 -0
  421. package/lib/esm/extension/extensions.d.ts +19 -0
  422. package/lib/esm/extension/extensions.d.ts.map +1 -0
  423. package/lib/esm/extension/extensions.js +24 -0
  424. package/lib/esm/extension/extensions.js.map +1 -0
  425. package/lib/esm/quantity-formatting/BasicUnitsProvider.d.ts +2 -2
  426. package/lib/esm/quantity-formatting/BasicUnitsProvider.d.ts.map +1 -1
  427. package/lib/esm/quantity-formatting/BasicUnitsProvider.js +48 -44
  428. package/lib/esm/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  429. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts +90 -80
  430. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  431. package/lib/esm/quantity-formatting/QuantityFormatter.js +85 -42
  432. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  433. package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.d.ts +54 -0
  434. package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.d.ts.map +1 -0
  435. package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.js +26 -0
  436. package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -0
  437. package/lib/esm/quantity-formatting/UnitsData.d.ts +11 -0
  438. package/lib/esm/quantity-formatting/UnitsData.d.ts.map +1 -0
  439. package/lib/esm/quantity-formatting/UnitsData.js +56 -0
  440. package/lib/esm/quantity-formatting/UnitsData.js.map +1 -0
  441. package/lib/esm/render/GraphicBranch.d.ts +2 -0
  442. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  443. package/lib/esm/render/GraphicBranch.js.map +1 -1
  444. package/lib/esm/render/RenderPlanarClassifier.d.ts +1 -1
  445. package/lib/esm/render/RenderPlanarClassifier.d.ts.map +1 -1
  446. package/lib/esm/render/RenderPlanarClassifier.js.map +1 -1
  447. package/lib/esm/render/RenderSystem.d.ts +12 -7
  448. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  449. package/lib/esm/render/RenderSystem.js +6 -3
  450. package/lib/esm/render/RenderSystem.js.map +1 -1
  451. package/lib/esm/render/RenderTarget.d.ts +4 -4
  452. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  453. package/lib/esm/render/RenderTarget.js.map +1 -1
  454. package/lib/esm/render/Scene.d.ts.map +1 -1
  455. package/lib/esm/render/Scene.js.map +1 -1
  456. package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.d.ts +17 -2
  457. package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.d.ts.map +1 -1
  458. package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.js +39 -2
  459. package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.js.map +1 -1
  460. package/lib/esm/render/webgl/BackgroundMapDrape.js +1 -1
  461. package/lib/esm/render/webgl/BackgroundMapDrape.js.map +1 -1
  462. package/lib/esm/render/webgl/BranchState.d.ts +2 -0
  463. package/lib/esm/render/webgl/BranchState.d.ts.map +1 -1
  464. package/lib/esm/render/webgl/BranchState.js +5 -3
  465. package/lib/esm/render/webgl/BranchState.js.map +1 -1
  466. package/lib/esm/render/webgl/DrawCommand.js +1 -1
  467. package/lib/esm/render/webgl/DrawCommand.js.map +1 -1
  468. package/lib/esm/render/webgl/Graphic.d.ts +5 -3
  469. package/lib/esm/render/webgl/Graphic.d.ts.map +1 -1
  470. package/lib/esm/render/webgl/Graphic.js +7 -2
  471. package/lib/esm/render/webgl/Graphic.js.map +1 -1
  472. package/lib/esm/render/webgl/PlanarClassifier.d.ts +4 -1
  473. package/lib/esm/render/webgl/PlanarClassifier.d.ts.map +1 -1
  474. package/lib/esm/render/webgl/PlanarClassifier.js +22 -9
  475. package/lib/esm/render/webgl/PlanarClassifier.js.map +1 -1
  476. package/lib/esm/render/webgl/PlanarTextureProjection.d.ts +2 -2
  477. package/lib/esm/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  478. package/lib/esm/render/webgl/PlanarTextureProjection.js +5 -3
  479. package/lib/esm/render/webgl/PlanarTextureProjection.js.map +1 -1
  480. package/lib/esm/render/webgl/RealityMesh.d.ts +31 -11
  481. package/lib/esm/render/webgl/RealityMesh.d.ts.map +1 -1
  482. package/lib/esm/render/webgl/RealityMesh.js +155 -52
  483. package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
  484. package/lib/esm/render/webgl/RenderCommands.d.ts.map +1 -1
  485. package/lib/esm/render/webgl/RenderCommands.js +4 -0
  486. package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
  487. package/lib/esm/render/webgl/SceneCompositor.d.ts +3 -0
  488. package/lib/esm/render/webgl/SceneCompositor.d.ts.map +1 -1
  489. package/lib/esm/render/webgl/SceneCompositor.js +45 -19
  490. package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
  491. package/lib/esm/render/webgl/ShaderProgram.d.ts +1 -0
  492. package/lib/esm/render/webgl/ShaderProgram.d.ts.map +1 -1
  493. package/lib/esm/render/webgl/ShaderProgram.js +1 -0
  494. package/lib/esm/render/webgl/ShaderProgram.js.map +1 -1
  495. package/lib/esm/render/webgl/System.d.ts +9 -9
  496. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  497. package/lib/esm/render/webgl/System.js +6 -6
  498. package/lib/esm/render/webgl/System.js.map +1 -1
  499. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  500. package/lib/esm/render/webgl/Target.js.map +1 -1
  501. package/lib/esm/render/webgl/glsl/PlanarClassification.js +1 -1
  502. package/lib/esm/render/webgl/glsl/PlanarClassification.js.map +1 -1
  503. package/lib/esm/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  504. package/lib/esm/render/webgl/glsl/RealityMesh.js +103 -28
  505. package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
  506. package/lib/esm/tile/ClassifierTileTree.d.ts +4 -2
  507. package/lib/esm/tile/ClassifierTileTree.d.ts.map +1 -1
  508. package/lib/esm/tile/ClassifierTileTree.js +32 -17
  509. package/lib/esm/tile/ClassifierTileTree.js.map +1 -1
  510. package/lib/esm/tile/GltfReader.d.ts +22 -3
  511. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  512. package/lib/esm/tile/GltfReader.js +207 -42
  513. package/lib/esm/tile/GltfReader.js.map +1 -1
  514. package/lib/esm/tile/IModelTileRequestChannels.d.ts +3 -3
  515. package/lib/esm/tile/IModelTileRequestChannels.d.ts.map +1 -1
  516. package/lib/esm/tile/IModelTileRequestChannels.js +7 -11
  517. package/lib/esm/tile/IModelTileRequestChannels.js.map +1 -1
  518. package/lib/esm/tile/OPCFormatInterpreter.d.ts +22 -0
  519. package/lib/esm/tile/OPCFormatInterpreter.d.ts.map +1 -0
  520. package/lib/esm/tile/OPCFormatInterpreter.js +88 -0
  521. package/lib/esm/tile/OPCFormatInterpreter.js.map +1 -0
  522. package/lib/esm/tile/PntsReader.d.ts +1 -1
  523. package/lib/esm/tile/PntsReader.d.ts.map +1 -1
  524. package/lib/esm/tile/PntsReader.js +154 -39
  525. package/lib/esm/tile/PntsReader.js.map +1 -1
  526. package/lib/esm/tile/PrimaryTileTree.d.ts +18 -2
  527. package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
  528. package/lib/esm/tile/PrimaryTileTree.js +51 -2
  529. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  530. package/lib/esm/tile/RealityModelTileTree.d.ts +24 -3
  531. package/lib/esm/tile/RealityModelTileTree.d.ts.map +1 -1
  532. package/lib/esm/tile/RealityModelTileTree.js +36 -12
  533. package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
  534. package/lib/esm/tile/RealityTile.d.ts +16 -2
  535. package/lib/esm/tile/RealityTile.d.ts.map +1 -1
  536. package/lib/esm/tile/RealityTile.js +32 -0
  537. package/lib/esm/tile/RealityTile.js.map +1 -1
  538. package/lib/esm/tile/RealityTileDrawArgs.d.ts +4 -1
  539. package/lib/esm/tile/RealityTileDrawArgs.d.ts.map +1 -1
  540. package/lib/esm/tile/RealityTileDrawArgs.js +3 -1
  541. package/lib/esm/tile/RealityTileDrawArgs.js.map +1 -1
  542. package/lib/esm/tile/RealityTileLoader.d.ts +7 -4
  543. package/lib/esm/tile/RealityTileLoader.d.ts.map +1 -1
  544. package/lib/esm/tile/RealityTileLoader.js +19 -5
  545. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  546. package/lib/esm/tile/RealityTileTree.d.ts +4 -1
  547. package/lib/esm/tile/RealityTileTree.d.ts.map +1 -1
  548. package/lib/esm/tile/RealityTileTree.js +13 -5
  549. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  550. package/lib/esm/tile/ThreeDTileFormatInterpreter.d.ts +52 -0
  551. package/lib/esm/tile/ThreeDTileFormatInterpreter.d.ts.map +1 -0
  552. package/lib/esm/tile/ThreeDTileFormatInterpreter.js +175 -0
  553. package/lib/esm/tile/ThreeDTileFormatInterpreter.js.map +1 -0
  554. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  555. package/lib/esm/tile/TileAdmin.js +0 -5
  556. package/lib/esm/tile/TileAdmin.js.map +1 -1
  557. package/lib/esm/tile/TileDrawArgs.d.ts +2 -0
  558. package/lib/esm/tile/TileDrawArgs.d.ts.map +1 -1
  559. package/lib/esm/tile/TileDrawArgs.js +5 -0
  560. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  561. package/lib/esm/tile/TileGeometryCollector.d.ts +80 -0
  562. package/lib/esm/tile/TileGeometryCollector.d.ts.map +1 -0
  563. package/lib/esm/tile/TileGeometryCollector.js +67 -0
  564. package/lib/esm/tile/TileGeometryCollector.js.map +1 -0
  565. package/lib/esm/tile/TileRequestChannels.d.ts +0 -4
  566. package/lib/esm/tile/TileRequestChannels.d.ts.map +1 -1
  567. package/lib/esm/tile/TileRequestChannels.js +1 -6
  568. package/lib/esm/tile/TileRequestChannels.js.map +1 -1
  569. package/lib/esm/tile/TileTree.d.ts +7 -1
  570. package/lib/esm/tile/TileTree.d.ts.map +1 -1
  571. package/lib/esm/tile/TileTree.js +7 -0
  572. package/lib/esm/tile/TileTree.js.map +1 -1
  573. package/lib/esm/tile/TileTreeReference.d.ts +26 -1
  574. package/lib/esm/tile/TileTreeReference.d.ts.map +1 -1
  575. package/lib/esm/tile/TileTreeReference.js +42 -2
  576. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  577. package/lib/esm/tile/internal.d.ts +4 -0
  578. package/lib/esm/tile/internal.d.ts.map +1 -1
  579. package/lib/esm/tile/internal.js +4 -0
  580. package/lib/esm/tile/internal.js.map +1 -1
  581. package/lib/esm/tile/map/CesiumTerrainProvider.js +2 -2
  582. package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
  583. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +5 -3
  584. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  585. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +46 -13
  586. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  587. package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts +2 -2
  588. package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts.map +1 -1
  589. package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  590. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.d.ts +2 -2
  591. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
  592. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  593. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts +2 -2
  594. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts.map +1 -1
  595. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js +4 -3
  596. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  597. package/lib/esm/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts +2 -2
  598. package/lib/esm/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts.map +1 -1
  599. package/lib/esm/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
  600. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +2 -2
  601. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  602. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +1 -1
  603. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  604. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +2 -2
  605. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
  606. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  607. package/lib/esm/tile/map/ImageryTileTree.d.ts +2 -3
  608. package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
  609. package/lib/esm/tile/map/ImageryTileTree.js +4 -3
  610. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  611. package/lib/esm/tile/map/MapFeatureInfo.d.ts +26 -0
  612. package/lib/esm/tile/map/MapFeatureInfo.d.ts.map +1 -0
  613. package/lib/esm/tile/map/MapFeatureInfo.js +15 -0
  614. package/lib/esm/tile/map/MapFeatureInfo.js.map +1 -0
  615. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts +4 -4
  616. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  617. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  618. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts +3 -3
  619. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  620. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  621. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +5 -4
  622. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  623. package/lib/esm/tile/map/MapLayerImageryProvider.js +5 -1
  624. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  625. package/lib/esm/tile/map/MapLayerSources.d.ts +2 -2
  626. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  627. package/lib/esm/tile/map/MapLayerSources.js +6 -4
  628. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  629. package/lib/esm/tile/map/MapLayerTileTreeReference.d.ts +10 -2
  630. package/lib/esm/tile/map/MapLayerTileTreeReference.d.ts.map +1 -1
  631. package/lib/esm/tile/map/MapLayerTileTreeReference.js +25 -3
  632. package/lib/esm/tile/map/MapLayerTileTreeReference.js.map +1 -1
  633. package/lib/esm/tile/map/MapTile.d.ts +12 -10
  634. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  635. package/lib/esm/tile/map/MapTile.js +60 -39
  636. package/lib/esm/tile/map/MapTile.js.map +1 -1
  637. package/lib/esm/tile/map/MapTileLoader.d.ts +2 -1
  638. package/lib/esm/tile/map/MapTileLoader.d.ts.map +1 -1
  639. package/lib/esm/tile/map/MapTileLoader.js +4 -1
  640. package/lib/esm/tile/map/MapTileLoader.js.map +1 -1
  641. package/lib/esm/tile/map/MapTileTree.d.ts +18 -8
  642. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  643. package/lib/esm/tile/map/MapTileTree.js +152 -65
  644. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  645. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  646. package/lib/esm/tile/map/MapTiledGraphicsProvider.js +2 -2
  647. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  648. package/lib/esm/tools/ToolAdmin.d.ts +2 -3
  649. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  650. package/lib/esm/tools/ToolAdmin.js +8 -3
  651. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  652. package/lib/esm/tools/ViewTool.d.ts +4 -4
  653. package/lib/esm/tools/ViewTool.d.ts.map +1 -1
  654. package/lib/esm/tools/ViewTool.js +1 -1
  655. package/lib/esm/tools/ViewTool.js.map +1 -1
  656. package/package.json +22 -20
  657. package/lib/cjs/tile/DracoDecoder.d.ts +0 -20
  658. package/lib/cjs/tile/DracoDecoder.d.ts.map +0 -1
  659. package/lib/cjs/tile/DracoDecoder.js +0 -169
  660. package/lib/cjs/tile/DracoDecoder.js.map +0 -1
  661. package/lib/esm/tile/DracoDecoder.d.ts +0 -20
  662. package/lib/esm/tile/DracoDecoder.d.ts.map +0 -1
  663. package/lib/esm/tile/DracoDecoder.js +0 -165
  664. package/lib/esm/tile/DracoDecoder.js.map +0 -1
  665. package/lib/public/assets/approximateTerrainHeights.json +0 -1
@@ -5,14 +5,13 @@
5
5
  /** @packageDocumentation
6
6
  * @module Tiles
7
7
  */
8
- import { assert, compareBooleans, compareNumbers, compareStrings, compareStringsOrUndefined, CompressedId64Set } from "@itwin/core-bentley";
9
- import { Angle, AngleSweep, Constant, Ellipsoid, EllipsoidPatch, Point3d, Range1d, Range3d, Ray3d, Transform, Vector3d, } from "@itwin/core-geometry";
8
+ import { assert, compareBooleans, compareBooleansOrUndefined, compareNumbers, compareStrings, compareStringsOrUndefined, CompressedId64Set } from "@itwin/core-bentley";
10
9
  import { Cartographic, FeatureAppearance, GeoCoordStatus, GlobeMode, MapLayerSettings, PlanarClipMaskPriority, TerrainHeightOriginMode, } from "@itwin/core-common";
10
+ import { Angle, AngleSweep, Constant, Ellipsoid, EllipsoidPatch, Point3d, Range1d, Range3d, Ray3d, Transform, Vector3d, } from "@itwin/core-geometry";
11
11
  import { ApproximateTerrainHeights } from "../../ApproximateTerrainHeights";
12
- import { IModelApp } from "../../IModelApp";
13
12
  import { PlanarClipMaskState } from "../../PlanarClipMaskState";
14
13
  import { FeatureSymbology } from "../../render/FeatureSymbology";
15
- import { BingElevationProvider, createDefaultViewFlagOverrides, EllipsoidTerrainProvider, getCesiumTerrainProvider, MapCartoRectangle, MapTile, MapTileLoader, PlanarTilePatch, QuadId, RealityTileDrawArgs, RealityTileTree, TileTreeLoadStatus, TileTreeReference, UpsampledMapTile, WebMercatorTilingScheme, } from "../internal";
14
+ import { BingElevationProvider, createDefaultViewFlagOverrides, createMapLayerTreeReference, EllipsoidTerrainProvider, getCesiumTerrainProvider, GraphicsCollectorDrawArgs, ImageryMapTileTree, MapCartoRectangle, MapTile, MapTileLoader, ModelMapLayerTileTreeReference, PlanarTilePatch, QuadId, RealityTileDrawArgs, RealityTileTree, TileTreeLoadStatus, TileTreeReference, UpsampledMapTile, WebMercatorTilingScheme, } from "../internal";
16
15
  const scratchPoint = Point3d.create();
17
16
  const scratchCorners = [Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero()];
18
17
  const scratchCorner = Point3d.createZero();
@@ -27,6 +26,8 @@ export class MapTileTree extends RealityTileTree {
27
26
  this.sourceTilingScheme = sourceTilingScheme;
28
27
  this.imageryTrees = [];
29
28
  this._layerSettings = new Map();
29
+ this._modelIdToIndex = new Map();
30
+ this.layerClassifiers = new Map();
30
31
  this._mercatorTilingScheme = new WebMercatorTilingScheme();
31
32
  this._mercatorFractionToDb = this._mercatorTilingScheme.computeMercatorFractionToDb(ecefToDb, bimElevationBias, params.iModel, applyTerrain);
32
33
  const quadId = new QuadId(sourceTilingScheme.rootLevel, 0, 0);
@@ -44,6 +45,7 @@ export class MapTileTree extends RealityTileTree {
44
45
  if (applyTerrain) {
45
46
  this.minEarthEllipsoid = Ellipsoid.createCenterMatrixRadii(this.globeOrigin, this.ecefToDb.matrix, Constant.earthRadiusWGS84.equator + globalHeightRange.low, Constant.earthRadiusWGS84.equator + globalHeightRange.low, Constant.earthRadiusWGS84.polar + globalHeightRange.low);
46
47
  this.maxEarthEllipsoid = Ellipsoid.createCenterMatrixRadii(this.globeOrigin, this.ecefToDb.matrix, Constant.earthRadiusWGS84.equator + globalHeightRange.high, Constant.earthRadiusWGS84.equator + globalHeightRange.high, Constant.earthRadiusWGS84.polar + globalHeightRange.high);
48
+ this.produceGeometry = id.produceGeometry;
47
49
  }
48
50
  else {
49
51
  this.minEarthEllipsoid = this.earthEllipsoid;
@@ -66,19 +68,28 @@ export class MapTileTree extends RealityTileTree {
66
68
  tileFromQuadId(quadId) {
67
69
  return this._rootTile.tileFromQuadId(quadId);
68
70
  }
69
- addImageryLayer(tree, settings) {
70
- const maxLayers = IModelApp.renderSystem.maxRealityImageryLayers;
71
- if (this.imageryTrees.length < maxLayers) {
72
- this.imageryTrees.push(tree);
73
- this._layerSettings.set(tree.modelId, settings);
74
- }
75
- else {
76
- // TBD -- Notify user that layers is being ignored?
77
- }
71
+ addImageryLayer(tree, settings, index) {
72
+ this.imageryTrees.push(tree);
73
+ this._layerSettings.set(tree.modelId, settings);
74
+ this._modelIdToIndex.set(tree.modelId, index);
75
+ }
76
+ addModelLayer(layerTreeRef, context) {
77
+ const classifier = context.addPlanarClassifier(`MapLayer ${this.modelId}-${layerTreeRef.layerIndex}`, layerTreeRef);
78
+ if (classifier)
79
+ this.layerClassifiers.set(layerTreeRef.layerIndex, classifier);
78
80
  }
79
- clearImageryLayers() {
81
+ collectClassifierGraphics(args, selectedTiles) {
82
+ super.collectClassifierGraphics(args, selectedTiles);
83
+ this.layerClassifiers.forEach((layerClassifier) => {
84
+ if (!(args instanceof GraphicsCollectorDrawArgs))
85
+ layerClassifier.collectGraphics(args.context, { modelId: this.modelId, tiles: selectedTiles, location: args.location, isPointCloud: this.isPointCloud });
86
+ });
87
+ }
88
+ clearImageryTreesAndClassifiers() {
80
89
  this.imageryTrees.length = 0;
81
90
  this._layerSettings.clear();
91
+ this._modelIdToIndex.clear();
92
+ this.layerClassifiers.clear();
82
93
  }
83
94
  get isTransparent() {
84
95
  return this.mapTransparent || this.baseTransparent;
@@ -90,9 +101,12 @@ export class MapTileTree extends RealityTileTree {
90
101
  return maxDepth;
91
102
  }
92
103
  createPlanarChild(params, quadId, corners, normal, rectangle, chordHeight, heightRange) {
104
+ const childAvailable = this.mapLoader.isTileAvailable(quadId);
105
+ if (!childAvailable && this.produceGeometry)
106
+ return undefined;
93
107
  const patch = new PlanarTilePatch(corners, normal, chordHeight);
94
108
  const cornerNormals = this.getCornerRays(rectangle);
95
- const ctor = this.mapLoader.isTileAvailable(quadId) ? MapTile : UpsampledMapTile;
109
+ const ctor = childAvailable ? MapTile : UpsampledMapTile;
96
110
  return new ctor(params, this, quadId, patch, rectangle, heightRange, cornerNormals);
97
111
  }
98
112
  createGlobeChild(params, quadId, _rangeCorners, rectangle, ellipsoidPatch, heightRange) {
@@ -267,10 +281,8 @@ export class MapTileTree extends RealityTileTree {
267
281
  return this.sourceTilingScheme.tileXYToRectangle(quadId.column, quadId.row, quadId.level);
268
282
  }
269
283
  getLayerIndex(imageryTreeId) {
270
- for (let index = 0; index < this.imageryTrees.length; index++)
271
- if (imageryTreeId === this.imageryTrees[index].modelId)
272
- return index;
273
- return -1;
284
+ const index = this._modelIdToIndex.get(imageryTreeId);
285
+ return index === undefined ? -1 : index;
274
286
  }
275
287
  getLayerTransparency(imageryTreeId) {
276
288
  const layerSettings = this._layerSettings.get(imageryTreeId);
@@ -309,7 +321,7 @@ class MapTreeSupplier {
309
321
  cmp = compareStringsOrUndefined(lhs.maskModelIds, rhs.maskModelIds);
310
322
  if (0 === cmp) {
311
323
  cmp = compareBooleans(lhs.isOverlay, rhs.isOverlay);
312
- if (0 === cmp && !lhs.isOverlay) {
324
+ if (0 === cmp) {
313
325
  cmp = compareBooleans(lhs.wantSkirts, rhs.wantSkirts);
314
326
  if (0 === cmp) {
315
327
  cmp = compareBooleans(lhs.wantNormals, rhs.wantNormals);
@@ -331,8 +343,11 @@ class MapTreeSupplier {
331
343
  cmp = compareNumbers(lhs.terrainHeightOrigin, rhs.terrainHeightOrigin);
332
344
  if (0 === cmp) {
333
345
  cmp = compareNumbers(lhs.terrainHeightOriginMode, rhs.terrainHeightOriginMode);
334
- if (0 === cmp)
346
+ if (0 === cmp) {
335
347
  cmp = compareNumbers(lhs.terrainExaggeration, rhs.terrainExaggeration);
348
+ if (0 === cmp)
349
+ cmp = compareBooleansOrUndefined(lhs.produceGeometry, rhs.produceGeometry);
350
+ }
336
351
  }
337
352
  }
338
353
  }
@@ -400,7 +415,7 @@ const mapTreeSupplier = new MapTreeSupplier();
400
415
  */
401
416
  export class MapTileTreeReference extends TileTreeReference {
402
417
  constructor(settings, _baseLayerSettings, _layerSettings, iModel, tileUserId, isOverlay, _isDrape, _overrideTerrainDisplay) {
403
- var _a;
418
+ var _a, _b;
404
419
  super();
405
420
  this._baseLayerSettings = _baseLayerSettings;
406
421
  this._layerSettings = _layerSettings;
@@ -408,7 +423,7 @@ export class MapTileTreeReference extends TileTreeReference {
408
423
  this._isDrape = _isDrape;
409
424
  this._overrideTerrainDisplay = _overrideTerrainDisplay;
410
425
  this._baseImageryLayerIncluded = false;
411
- this._imageryTrees = new Array();
426
+ this._layerTrees = new Array();
412
427
  this._baseTransparent = false;
413
428
  this._tileUserId = tileUserId;
414
429
  this._settings = settings;
@@ -416,7 +431,7 @@ export class MapTileTreeReference extends TileTreeReference {
416
431
  let tree;
417
432
  if (!isOverlay && this._baseLayerSettings !== undefined) {
418
433
  if (this._baseLayerSettings instanceof MapLayerSettings) {
419
- tree = IModelApp.mapLayerFormatRegistry.createImageryMapLayerTree(this._baseLayerSettings, 0, iModel);
434
+ tree = createMapLayerTreeReference(this._baseLayerSettings, 0, iModel);
420
435
  this._baseTransparent = this._baseLayerSettings.transparency > 0;
421
436
  }
422
437
  else {
@@ -425,16 +440,25 @@ export class MapTileTreeReference extends TileTreeReference {
425
440
  }
426
441
  }
427
442
  if (this._baseImageryLayerIncluded = (undefined !== tree))
428
- this._imageryTrees.push(tree);
443
+ this._layerTrees.push(tree);
429
444
  for (let i = 0; i < this._layerSettings.length; i++)
430
- if (undefined !== (tree = IModelApp.mapLayerFormatRegistry.createImageryMapLayerTree(this._layerSettings[i], i + 1, iModel)))
431
- this._imageryTrees.push(tree);
445
+ if (undefined !== (tree = createMapLayerTreeReference(this._layerSettings[i], i + 1, iModel)))
446
+ this._layerTrees.push(tree);
432
447
  if (this._settings.planarClipMask && this._settings.planarClipMask.isValid)
433
448
  this._planarClipMask = PlanarClipMaskState.create(this._settings.planarClipMask);
449
+ if (this._overrideTerrainDisplay && ((_b = this._overrideTerrainDisplay()) === null || _b === void 0 ? void 0 : _b.produceGeometry))
450
+ this.collectTileGeometry = (collector) => this._collectTileGeometry(collector);
434
451
  }
435
452
  get isGlobal() { return true; }
436
453
  get baseColor() { return this._baseColor; }
437
454
  get planarclipMaskPriority() { return PlanarClipMaskPriority.BackgroundMap; }
455
+ _createGeometryTreeReference() {
456
+ if (!this._settings.applyTerrain || this._isDrape)
457
+ return undefined; // Don't bother generating non-terrain (flat) geometry.
458
+ const ref = new MapTileTreeReference(this._settings, undefined, [], this._iModel, this._tileUserId, false, false, () => { return { produceGeometry: true }; });
459
+ assert(undefined !== ref.collectTileGeometry);
460
+ return ref;
461
+ }
438
462
  /** Terrain tiles do not contribute to the range used by "fit view". */
439
463
  unionFitRange(_range) { }
440
464
  get settings() { return this._settings; }
@@ -447,7 +471,7 @@ export class MapTileTreeReference extends TileTreeReference {
447
471
  let tree;
448
472
  this._baseLayerSettings = baseLayerSettings;
449
473
  if (baseLayerSettings instanceof MapLayerSettings) {
450
- tree = IModelApp.mapLayerFormatRegistry.createImageryMapLayerTree(baseLayerSettings, 0, this._iModel);
474
+ tree = createMapLayerTreeReference(baseLayerSettings, 0, this._iModel);
451
475
  this._baseColor = undefined;
452
476
  this._baseTransparent = baseLayerSettings.transparency > 0;
453
477
  }
@@ -457,13 +481,13 @@ export class MapTileTreeReference extends TileTreeReference {
457
481
  }
458
482
  if (tree) {
459
483
  if (this._baseImageryLayerIncluded)
460
- this._imageryTrees[0] = tree;
484
+ this._layerTrees[0] = tree;
461
485
  else
462
- this._imageryTrees.splice(0, 0, tree);
486
+ this._layerTrees.splice(0, 0, tree);
463
487
  }
464
488
  else {
465
489
  if (this._baseImageryLayerIncluded)
466
- this._imageryTrees.shift();
490
+ this._layerTrees.shift();
467
491
  }
468
492
  this._baseImageryLayerIncluded = tree !== undefined;
469
493
  this.clearLayers();
@@ -474,11 +498,11 @@ export class MapTileTreeReference extends TileTreeReference {
474
498
  setLayerSettings(layerSettings) {
475
499
  this._layerSettings = layerSettings;
476
500
  const baseLayerIndex = this._baseImageryLayerIncluded ? 1 : 0;
477
- this._imageryTrees.length = Math.min(layerSettings.length + baseLayerIndex, this._imageryTrees.length); // Truncate if number of layers reduced.
501
+ this._layerTrees.length = Math.min(layerSettings.length + baseLayerIndex, this._layerTrees.length); // Truncate if number of layers reduced.
478
502
  for (let i = 0; i < layerSettings.length; i++) {
479
503
  const treeIndex = i + baseLayerIndex;
480
- if (treeIndex >= this._imageryTrees.length || !this._imageryTrees[treeIndex].layerSettings.displayMatches(layerSettings[i]))
481
- this._imageryTrees[treeIndex] = IModelApp.mapLayerFormatRegistry.createImageryMapLayerTree(layerSettings[i], treeIndex, this._iModel);
504
+ if (treeIndex >= this._layerTrees.length || !this._layerTrees[treeIndex].layerSettings.displayMatches(layerSettings[i]))
505
+ this._layerTrees[treeIndex] = createMapLayerTreeReference(layerSettings[i], treeIndex, this._iModel);
482
506
  }
483
507
  this.clearLayers();
484
508
  }
@@ -492,7 +516,7 @@ export class MapTileTreeReference extends TileTreeReference {
492
516
  }
493
517
  get _isLoadingComplete() {
494
518
  // Wait until drape tree is fully loaded too.
495
- for (const drapeTree of this._imageryTrees)
519
+ for (const drapeTree of this._layerTrees)
496
520
  if (!drapeTree.isLoadingComplete)
497
521
  return false;
498
522
  return super._isLoadingComplete;
@@ -509,7 +533,7 @@ export class MapTileTreeReference extends TileTreeReference {
509
533
  }
510
534
  const id = {
511
535
  tileUserId: this._tileUserId,
512
- applyTerrain: this.settings.applyTerrain && !this.isOverlay && !this._isDrape,
536
+ applyTerrain: this.settings.applyTerrain && !this._isDrape,
513
537
  terrainProviderName: this.settings.terrainSettings.providerName,
514
538
  terrainHeightOrigin: this.settings.terrainSettings.heightOrigin,
515
539
  terrainHeightOriginMode: this.settings.terrainSettings.heightOriginMode,
@@ -525,12 +549,14 @@ export class MapTileTreeReference extends TileTreeReference {
525
549
  baseTransparent: this._baseTransparent,
526
550
  mapTransparent: this.settings.transparency > 0,
527
551
  maskModelIds: (_b = this._planarClipMask) === null || _b === void 0 ? void 0 : _b.settings.compressedModelIds,
552
+ produceGeometry: false,
528
553
  };
529
554
  if (undefined !== this._overrideTerrainDisplay) {
530
555
  const ovr = this._overrideTerrainDisplay();
531
556
  if (undefined !== ovr) {
532
557
  id.wantSkirts = (_c = ovr.wantSkirts) !== null && _c !== void 0 ? _c : id.wantSkirts;
533
558
  id.wantNormals = (_d = ovr.wantNormals) !== null && _d !== void 0 ? _d : id.wantNormals;
559
+ id.produceGeometry = ovr.produceGeometry === true;
534
560
  }
535
561
  }
536
562
  return this._iModel.tiles.getTileTreeOwner(id, mapTreeSupplier);
@@ -538,30 +564,33 @@ export class MapTileTreeReference extends TileTreeReference {
538
564
  getLayerImageryTreeRef(index) {
539
565
  const baseLayerIndex = this._baseImageryLayerIncluded ? 1 : 0;
540
566
  const treeIndex = index + baseLayerIndex;
541
- return index < 0 || treeIndex >= this._imageryTrees.length ? undefined : this._imageryTrees[treeIndex];
567
+ return index < 0 || treeIndex >= this._layerTrees.length ? undefined : this._layerTrees[treeIndex];
542
568
  }
543
- initializeImagery() {
569
+ initializeLayers(context) {
544
570
  const tree = this.treeOwner.load();
545
571
  if (undefined === tree)
546
572
  return false; // Not loaded yet.
547
573
  tree.imageryTrees.length = 0;
548
- if (0 === this._imageryTrees.length)
574
+ if (0 === this._layerTrees.length)
549
575
  return !this.isOverlay;
550
- let treeIndex = this._imageryTrees.length - 1;
576
+ let treeIndex = this._layerTrees.length - 1;
551
577
  // Start displaying at the highest completely opaque layer...
552
578
  for (; treeIndex >= 1; treeIndex--) {
553
- const imageryTreeRef = this._imageryTrees[treeIndex];
554
- const layerSettings = imageryTreeRef.layerSettings;
555
- if (layerSettings.visible && !imageryTreeRef.layerSettings.allSubLayersInvisible && !layerSettings.transparentBackground && 0 === layerSettings.transparency)
579
+ const layerTreeRef = this._layerTrees[treeIndex];
580
+ if (layerTreeRef.isOpaque)
556
581
  break; // This layer is completely opaque and will obscure all others so ignore lower ones.
557
582
  }
558
- for (; treeIndex < this._imageryTrees.length; treeIndex++) {
559
- const imageryTreeRef = this._imageryTrees[treeIndex];
560
- if (TileTreeLoadStatus.NotFound !== imageryTreeRef.treeOwner.loadStatus && imageryTreeRef.layerSettings.visible && !imageryTreeRef.layerSettings.allSubLayersInvisible) {
561
- const imageryTree = imageryTreeRef.treeOwner.load();
562
- if (undefined === imageryTree)
583
+ for (; treeIndex < this._layerTrees.length; treeIndex++) {
584
+ const layerTreeRef = this._layerTrees[treeIndex];
585
+ if (TileTreeLoadStatus.NotFound !== layerTreeRef.treeOwner.loadStatus && layerTreeRef.layerSettings.visible && !layerTreeRef.layerSettings.allSubLayersInvisible) {
586
+ const layerTree = layerTreeRef.treeOwner.load();
587
+ if (undefined === layerTree)
563
588
  return false; // Not loaded yet.
564
- tree.addImageryLayer(imageryTree, imageryTreeRef.layerSettings);
589
+ if (layerTree instanceof ImageryMapTileTree) {
590
+ tree.addImageryLayer(layerTree, layerTreeRef.layerSettings, treeIndex);
591
+ }
592
+ else if (layerTreeRef instanceof ModelMapLayerTileTreeReference)
593
+ tree.addModelLayer(layerTreeRef, context);
565
594
  }
566
595
  }
567
596
  return true;
@@ -571,7 +600,7 @@ export class MapTileTreeReference extends TileTreeReference {
571
600
  if (!context.viewFlags.backgroundMap)
572
601
  return;
573
602
  const tree = this.treeOwner.load();
574
- if (undefined === tree || !this.initializeImagery())
603
+ if (undefined === tree || !this.initializeLayers(context))
575
604
  return; // Not loaded yet.
576
605
  if (this._planarClipMask && this._planarClipMask.settings.isValid)
577
606
  context.addPlanarClassifier(tree.modelId, undefined, this._planarClipMask);
@@ -587,13 +616,14 @@ export class MapTileTreeReference extends TileTreeReference {
587
616
  const args = this.createDrawArgs(context);
588
617
  if (undefined !== args)
589
618
  tree.draw(args);
590
- tree.clearImageryLayers();
619
+ tree.clearImageryTreesAndClassifiers();
591
620
  }
592
621
  createDrawArgs(context) {
593
622
  const args = super.createDrawArgs(context);
594
623
  if (undefined === args)
595
624
  return undefined;
596
- return new RealityTileDrawArgs(args, args.worldToViewMap, args.frustumPlanes);
625
+ const tree = this.treeOwner.load();
626
+ return new RealityTileDrawArgs(args, args.worldToViewMap, args.frustumPlanes, undefined, tree === null || tree === void 0 ? void 0 : tree.layerClassifiers);
597
627
  }
598
628
  getViewFlagOverrides(_tree) {
599
629
  return createViewFlagOverrides(false, this._settings.applyTerrain ? undefined : false);
@@ -603,7 +633,7 @@ export class MapTileTreeReference extends TileTreeReference {
603
633
  }
604
634
  discloseTileTrees(trees) {
605
635
  super.discloseTileTrees(trees);
606
- this._imageryTrees.forEach((imageryTree) => trees.disclose(imageryTree));
636
+ this._layerTrees.forEach((imageryTree) => trees.disclose(imageryTree));
607
637
  if (this._planarClipMask)
608
638
  this._planarClipMask.discloseTileTrees(trees);
609
639
  }
@@ -611,7 +641,7 @@ export class MapTileTreeReference extends TileTreeReference {
611
641
  const tree = this.treeOwner.tileTree;
612
642
  if (undefined === tree || tree.modelId !== mapTreeModelId)
613
643
  return undefined;
614
- for (const imageryTree of this._imageryTrees)
644
+ for (const imageryTree of this._layerTrees)
615
645
  if (imageryTree.treeOwner.tileTree && imageryTree.treeOwner.tileTree.modelId === layerTreeModelId)
616
646
  return imageryTree;
617
647
  return undefined;
@@ -620,16 +650,24 @@ export class MapTileTreeReference extends TileTreeReference {
620
650
  const imageryTree = this.imageryTreeFromTreeModelIds(mapTreeModelId, layerTreeModelId);
621
651
  return imageryTree === undefined ? imageryTree : imageryTree.layerSettings;
622
652
  }
623
- async getToolTip(hit) {
653
+ // Utility method that execute the provided function for every *imagery* tiles under a given HotDetail object.
654
+ async forEachImageryTileHit(hit, func) {
624
655
  const tree = this.treeOwner.tileTree;
625
- // eslint-disable-next-line @typescript-eslint/unbound-method
626
656
  if (undefined === tree || hit.iModel !== tree.iModel || tree.modelId !== hit.modelId || !hit.viewport || !hit.viewport.view.is3d)
627
657
  return undefined;
628
658
  const backgroundMapGeometry = hit.viewport.displayStyle.getBackgroundMapGeometry();
629
659
  if (undefined === backgroundMapGeometry)
630
660
  return undefined;
631
661
  const worldPoint = hit.hitPoint.clone();
632
- const cartoGraphic = await backgroundMapGeometry.dbToCartographicFromGcs(worldPoint);
662
+ let cartoGraphic;
663
+ try {
664
+ cartoGraphic = await backgroundMapGeometry.dbToCartographicFromGcs(worldPoint);
665
+ }
666
+ catch {
667
+ }
668
+ if (!cartoGraphic) {
669
+ return undefined;
670
+ }
633
671
  const strings = [];
634
672
  const imageryTreeRef = this.imageryTreeFromTreeModelIds(hit.modelId, hit.sourceId);
635
673
  if (imageryTreeRef !== undefined) {
@@ -641,23 +679,72 @@ export class MapTileTreeReference extends TileTreeReference {
641
679
  const imageryTree = imageryTreeRef.treeOwner.tileTree;
642
680
  if (imageryTree) {
643
681
  for (const imageryTile of terrainTile.imageryTiles) {
644
- if (imageryTree === imageryTile.imageryTree && imageryTile.rectangle.containsCartographic(cartoGraphic))
645
- await imageryTree.imageryLoader.getToolTip(strings, imageryTile.quadId, cartoGraphic, imageryTree);
682
+ if (imageryTree === imageryTile.imageryTree && imageryTile.rectangle.containsCartographic(cartoGraphic)) {
683
+ try {
684
+ await func(imageryTreeRef, imageryTile.quadId, cartoGraphic, imageryTree);
685
+ }
686
+ catch {
687
+ // continue iterating even though we got a failure.
688
+ }
689
+ }
646
690
  }
647
691
  }
648
692
  }
649
693
  }
650
694
  }
651
- strings.push(`Latitude: ${cartoGraphic.latitudeDegrees.toFixed(4)}`);
652
- strings.push(`Longitude: ${cartoGraphic.longitudeDegrees.toFixed(4)}`);
653
- if (this.settings.applyTerrain) {
654
- const geodeticHeight = (cartoGraphic.height - tree.bimElevationBias) / tree.terrainExaggeration;
655
- strings.push(`Height (Meters) Geodetic: ${geodeticHeight.toFixed(1)} Sea Level: ${(geodeticHeight - tree.geodeticOffset).toFixed(1)}`);
695
+ }
696
+ async getToolTip(hit) {
697
+ const tree = this.treeOwner.tileTree;
698
+ if (tree.modelId !== hit.modelId)
699
+ return undefined;
700
+ let carto;
701
+ const strings = [];
702
+ const getTooltipFunc = async (imageryTreeRef, quadId, cartoGraphic, imageryTree) => {
703
+ strings.push(`Imagery Layer: ${imageryTreeRef.layerSettings.name}`);
704
+ carto = cartoGraphic;
705
+ await imageryTree.imageryLoader.getToolTip(strings, quadId, cartoGraphic, imageryTree);
706
+ };
707
+ try {
708
+ await this.forEachImageryTileHit(hit, getTooltipFunc);
709
+ }
710
+ catch {
711
+ // No results added
712
+ }
713
+ if (carto) {
714
+ strings.push(`Latitude: ${carto.latitudeDegrees.toFixed(4)}`);
715
+ strings.push(`Longitude: ${carto.longitudeDegrees.toFixed(4)}`);
716
+ if (this.settings.applyTerrain && tree.terrainExaggeration !== 0.0) {
717
+ const geodeticHeight = (carto.height - tree.bimElevationBias) / tree.terrainExaggeration;
718
+ strings.push(`Height (Meters) Geodetic: ${geodeticHeight.toFixed(1)} Sea Level: ${(geodeticHeight - tree.geodeticOffset).toFixed(1)}`);
719
+ }
656
720
  }
657
721
  const div = document.createElement("div");
658
722
  div.innerHTML = strings.join("<br>");
659
723
  return div;
660
724
  }
725
+ async getMapFeatureInfo(hit) {
726
+ const tree = this.treeOwner.tileTree;
727
+ if (undefined === tree || hit.iModel !== tree.iModel || tree.modelId !== hit.modelId || !hit.viewport || !hit.viewport.view.is3d)
728
+ return undefined;
729
+ const info = [];
730
+ const imageryTreeRef = this.imageryTreeFromTreeModelIds(hit.modelId, hit.sourceId);
731
+ if (imageryTreeRef !== undefined) {
732
+ const getFeatureInfoFunc = async (_imageryTreeRef, quadId, cartoGraphic, imageryTree) => {
733
+ try {
734
+ await imageryTree.imageryLoader.getMapFeatureInfo(info, quadId, cartoGraphic, imageryTree);
735
+ }
736
+ catch {
737
+ }
738
+ };
739
+ try {
740
+ await this.forEachImageryTileHit(hit, getFeatureInfoFunc);
741
+ }
742
+ catch {
743
+ // No results added
744
+ }
745
+ }
746
+ return info;
747
+ }
661
748
  /** Add logo cards to logo div. */
662
749
  addLogoCards(cards, vp) {
663
750
  const tree = this.treeOwner.tileTree;
@@ -665,7 +752,7 @@ export class MapTileTreeReference extends TileTreeReference {
665
752
  if (tree) {
666
753
  if (undefined !== (logo = tree.mapLoader.terrainProvider.getLogo()))
667
754
  cards.appendChild(logo);
668
- for (const imageryTreeRef of this._imageryTrees) {
755
+ for (const imageryTreeRef of this._layerTrees) {
669
756
  if (imageryTreeRef.layerSettings.visible) {
670
757
  const imageryTree = imageryTreeRef.treeOwner.tileTree;
671
758
  if (imageryTree && (undefined !== (logo = imageryTree.getLogo(vp))))