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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (426) hide show
  1. package/CHANGELOG.md +156 -35
  2. package/lib/cjs/AccuSnap.js +2 -2
  3. package/lib/cjs/AccuSnap.js.map +1 -1
  4. package/lib/cjs/DisplayStyleState.d.ts +3 -3
  5. package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
  6. package/lib/cjs/DisplayStyleState.js +32 -8
  7. package/lib/cjs/DisplayStyleState.js.map +1 -1
  8. package/lib/cjs/DrawingViewState.d.ts.map +1 -1
  9. package/lib/cjs/DrawingViewState.js +6 -5
  10. package/lib/cjs/DrawingViewState.js.map +1 -1
  11. package/lib/cjs/IModelApp.d.ts +1 -3
  12. package/lib/cjs/IModelApp.d.ts.map +1 -1
  13. package/lib/cjs/IModelApp.js +10 -8
  14. package/lib/cjs/IModelApp.js.map +1 -1
  15. package/lib/cjs/RealityDataSource.d.ts +50 -14
  16. package/lib/cjs/RealityDataSource.d.ts.map +1 -1
  17. package/lib/cjs/RealityDataSource.js +19 -241
  18. package/lib/cjs/RealityDataSource.js.map +1 -1
  19. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.d.ts +67 -0
  20. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.d.ts.map +1 -0
  21. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js +166 -0
  22. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js.map +1 -0
  23. package/lib/cjs/RealityDataSourceContextShareImpl.d.ts +83 -0
  24. package/lib/cjs/RealityDataSourceContextShareImpl.d.ts.map +1 -0
  25. package/lib/cjs/RealityDataSourceContextShareImpl.js +234 -0
  26. package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -0
  27. package/lib/cjs/RealityDataSourceTilesetUrlImpl.d.ts +65 -0
  28. package/lib/cjs/RealityDataSourceTilesetUrlImpl.d.ts.map +1 -0
  29. package/lib/cjs/RealityDataSourceTilesetUrlImpl.js +135 -0
  30. package/lib/cjs/RealityDataSourceTilesetUrlImpl.js.map +1 -0
  31. package/lib/cjs/SheetViewState.js +4 -0
  32. package/lib/cjs/SheetViewState.js.map +1 -1
  33. package/lib/cjs/ViewState.d.ts +8 -0
  34. package/lib/cjs/ViewState.d.ts.map +1 -1
  35. package/lib/cjs/ViewState.js +1 -1
  36. package/lib/cjs/ViewState.js.map +1 -1
  37. package/lib/cjs/Viewport.d.ts +19 -3
  38. package/lib/cjs/Viewport.d.ts.map +1 -1
  39. package/lib/cjs/Viewport.js +20 -0
  40. package/lib/cjs/Viewport.js.map +1 -1
  41. package/lib/cjs/core-frontend.d.ts +1 -0
  42. package/lib/cjs/core-frontend.d.ts.map +1 -1
  43. package/lib/cjs/core-frontend.js +1 -0
  44. package/lib/cjs/core-frontend.js.map +1 -1
  45. package/lib/cjs/quantity-formatting/BasicUnitsProvider.d.ts +2 -2
  46. package/lib/cjs/quantity-formatting/BasicUnitsProvider.d.ts.map +1 -1
  47. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js +48 -44
  48. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  49. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts +90 -80
  50. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  51. package/lib/cjs/quantity-formatting/QuantityFormatter.js +76 -45
  52. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  53. package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.d.ts +54 -0
  54. package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.d.ts.map +1 -0
  55. package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.js +32 -0
  56. package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -0
  57. package/lib/cjs/quantity-formatting/UnitsData.d.ts +11 -0
  58. package/lib/cjs/quantity-formatting/UnitsData.d.ts.map +1 -0
  59. package/lib/cjs/quantity-formatting/UnitsData.js +59 -0
  60. package/lib/cjs/quantity-formatting/UnitsData.js.map +1 -0
  61. package/lib/cjs/render/GraphicBranch.d.ts +2 -0
  62. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  63. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  64. package/lib/cjs/render/RenderPlanarClassifier.d.ts +1 -1
  65. package/lib/cjs/render/RenderPlanarClassifier.d.ts.map +1 -1
  66. package/lib/cjs/render/RenderPlanarClassifier.js.map +1 -1
  67. package/lib/cjs/render/RenderSystem.d.ts +9 -5
  68. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  69. package/lib/cjs/render/RenderSystem.js +5 -2
  70. package/lib/cjs/render/RenderSystem.js.map +1 -1
  71. package/lib/cjs/render/RenderTarget.d.ts +4 -4
  72. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  73. package/lib/cjs/render/RenderTarget.js.map +1 -1
  74. package/lib/cjs/render/Scene.d.ts.map +1 -1
  75. package/lib/cjs/render/Scene.js.map +1 -1
  76. package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.d.ts +15 -2
  77. package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.d.ts.map +1 -1
  78. package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.js.map +1 -1
  79. package/lib/cjs/render/webgl/BackgroundMapDrape.js +1 -1
  80. package/lib/cjs/render/webgl/BackgroundMapDrape.js.map +1 -1
  81. package/lib/cjs/render/webgl/BranchState.d.ts +2 -0
  82. package/lib/cjs/render/webgl/BranchState.d.ts.map +1 -1
  83. package/lib/cjs/render/webgl/BranchState.js +5 -3
  84. package/lib/cjs/render/webgl/BranchState.js.map +1 -1
  85. package/lib/cjs/render/webgl/Graphic.d.ts +5 -3
  86. package/lib/cjs/render/webgl/Graphic.d.ts.map +1 -1
  87. package/lib/cjs/render/webgl/Graphic.js +7 -2
  88. package/lib/cjs/render/webgl/Graphic.js.map +1 -1
  89. package/lib/cjs/render/webgl/PlanarClassifier.d.ts +4 -1
  90. package/lib/cjs/render/webgl/PlanarClassifier.d.ts.map +1 -1
  91. package/lib/cjs/render/webgl/PlanarClassifier.js +22 -9
  92. package/lib/cjs/render/webgl/PlanarClassifier.js.map +1 -1
  93. package/lib/cjs/render/webgl/PlanarTextureProjection.d.ts +2 -2
  94. package/lib/cjs/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  95. package/lib/cjs/render/webgl/PlanarTextureProjection.js +5 -3
  96. package/lib/cjs/render/webgl/PlanarTextureProjection.js.map +1 -1
  97. package/lib/cjs/render/webgl/RealityMesh.d.ts +30 -11
  98. package/lib/cjs/render/webgl/RealityMesh.d.ts.map +1 -1
  99. package/lib/cjs/render/webgl/RealityMesh.js +154 -52
  100. package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
  101. package/lib/cjs/render/webgl/RenderCommands.d.ts.map +1 -1
  102. package/lib/cjs/render/webgl/RenderCommands.js +4 -0
  103. package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
  104. package/lib/cjs/render/webgl/System.d.ts +9 -9
  105. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  106. package/lib/cjs/render/webgl/System.js +5 -5
  107. package/lib/cjs/render/webgl/System.js.map +1 -1
  108. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  109. package/lib/cjs/render/webgl/Target.js.map +1 -1
  110. package/lib/cjs/render/webgl/glsl/PlanarClassification.js +1 -1
  111. package/lib/cjs/render/webgl/glsl/PlanarClassification.js.map +1 -1
  112. package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  113. package/lib/cjs/render/webgl/glsl/RealityMesh.js +102 -27
  114. package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
  115. package/lib/cjs/tile/ClassifierTileTree.d.ts +4 -2
  116. package/lib/cjs/tile/ClassifierTileTree.d.ts.map +1 -1
  117. package/lib/cjs/tile/ClassifierTileTree.js +31 -16
  118. package/lib/cjs/tile/ClassifierTileTree.js.map +1 -1
  119. package/lib/cjs/tile/OPCFormatInterpreter.d.ts +21 -0
  120. package/lib/cjs/tile/OPCFormatInterpreter.d.ts.map +1 -0
  121. package/lib/cjs/tile/OPCFormatInterpreter.js +81 -0
  122. package/lib/cjs/tile/OPCFormatInterpreter.js.map +1 -0
  123. package/lib/cjs/tile/PntsReader.d.ts.map +1 -1
  124. package/lib/cjs/tile/PntsReader.js +79 -17
  125. package/lib/cjs/tile/PntsReader.js.map +1 -1
  126. package/lib/cjs/tile/PrimaryTileTree.d.ts +18 -2
  127. package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
  128. package/lib/cjs/tile/PrimaryTileTree.js +53 -2
  129. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  130. package/lib/cjs/tile/RealityModelTileTree.d.ts +0 -1
  131. package/lib/cjs/tile/RealityModelTileTree.d.ts.map +1 -1
  132. package/lib/cjs/tile/RealityModelTileTree.js +1 -1
  133. package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
  134. package/lib/cjs/tile/RealityTileDrawArgs.d.ts +4 -1
  135. package/lib/cjs/tile/RealityTileDrawArgs.d.ts.map +1 -1
  136. package/lib/cjs/tile/RealityTileDrawArgs.js +3 -1
  137. package/lib/cjs/tile/RealityTileDrawArgs.js.map +1 -1
  138. package/lib/cjs/tile/RealityTileTree.d.ts +1 -0
  139. package/lib/cjs/tile/RealityTileTree.d.ts.map +1 -1
  140. package/lib/cjs/tile/RealityTileTree.js +7 -3
  141. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  142. package/lib/cjs/tile/ThreeDTileFormatInterpreter.d.ts +51 -0
  143. package/lib/cjs/tile/ThreeDTileFormatInterpreter.d.ts.map +1 -0
  144. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js +160 -0
  145. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js.map +1 -0
  146. package/lib/cjs/tile/TileDrawArgs.d.ts +2 -0
  147. package/lib/cjs/tile/TileDrawArgs.d.ts.map +1 -1
  148. package/lib/cjs/tile/TileDrawArgs.js +5 -0
  149. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  150. package/lib/cjs/tile/internal.d.ts +2 -0
  151. package/lib/cjs/tile/internal.d.ts.map +1 -1
  152. package/lib/cjs/tile/internal.js +2 -0
  153. package/lib/cjs/tile/internal.js.map +1 -1
  154. package/lib/cjs/tile/map/CesiumTerrainProvider.js +2 -2
  155. package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
  156. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -2
  157. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  158. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +1 -1
  159. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  160. package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts +2 -2
  161. package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts.map +1 -1
  162. package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  163. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.d.ts +2 -2
  164. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
  165. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  166. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts +2 -2
  167. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts.map +1 -1
  168. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  169. package/lib/cjs/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts +2 -2
  170. package/lib/cjs/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts.map +1 -1
  171. package/lib/cjs/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
  172. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +2 -2
  173. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  174. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +1 -1
  175. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  176. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +2 -2
  177. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
  178. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  179. package/lib/cjs/tile/map/ImageryTileTree.d.ts +0 -2
  180. package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
  181. package/lib/cjs/tile/map/ImageryTileTree.js +1 -3
  182. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  183. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts +3 -3
  184. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  185. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  186. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts +3 -3
  187. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  188. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  189. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +3 -3
  190. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  191. package/lib/cjs/tile/map/MapLayerImageryProvider.js +1 -1
  192. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  193. package/lib/cjs/tile/map/MapLayerSources.d.ts +2 -2
  194. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  195. package/lib/cjs/tile/map/MapLayerSources.js +6 -4
  196. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  197. package/lib/cjs/tile/map/MapLayerTileTreeReference.d.ts +10 -2
  198. package/lib/cjs/tile/map/MapLayerTileTreeReference.d.ts.map +1 -1
  199. package/lib/cjs/tile/map/MapLayerTileTreeReference.js +26 -3
  200. package/lib/cjs/tile/map/MapLayerTileTreeReference.js.map +1 -1
  201. package/lib/cjs/tile/map/MapTile.d.ts +5 -4
  202. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  203. package/lib/cjs/tile/map/MapTile.js +13 -5
  204. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  205. package/lib/cjs/tile/map/MapTileTree.d.ts +12 -7
  206. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  207. package/lib/cjs/tile/map/MapTileTree.js +60 -48
  208. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  209. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  210. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +1 -1
  211. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  212. package/lib/cjs/tools/ViewTool.js +1 -1
  213. package/lib/cjs/tools/ViewTool.js.map +1 -1
  214. package/lib/esm/AccuSnap.js +2 -2
  215. package/lib/esm/AccuSnap.js.map +1 -1
  216. package/lib/esm/DisplayStyleState.d.ts +3 -3
  217. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  218. package/lib/esm/DisplayStyleState.js +34 -10
  219. package/lib/esm/DisplayStyleState.js.map +1 -1
  220. package/lib/esm/DrawingViewState.d.ts.map +1 -1
  221. package/lib/esm/DrawingViewState.js +6 -5
  222. package/lib/esm/DrawingViewState.js.map +1 -1
  223. package/lib/esm/IModelApp.d.ts +1 -3
  224. package/lib/esm/IModelApp.d.ts.map +1 -1
  225. package/lib/esm/IModelApp.js +10 -8
  226. package/lib/esm/IModelApp.js.map +1 -1
  227. package/lib/esm/RealityDataSource.d.ts +50 -14
  228. package/lib/esm/RealityDataSource.d.ts.map +1 -1
  229. package/lib/esm/RealityDataSource.js +22 -244
  230. package/lib/esm/RealityDataSource.js.map +1 -1
  231. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.d.ts +67 -0
  232. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.d.ts.map +1 -0
  233. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js +162 -0
  234. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js.map +1 -0
  235. package/lib/esm/RealityDataSourceContextShareImpl.d.ts +83 -0
  236. package/lib/esm/RealityDataSourceContextShareImpl.d.ts.map +1 -0
  237. package/lib/esm/RealityDataSourceContextShareImpl.js +230 -0
  238. package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -0
  239. package/lib/esm/RealityDataSourceTilesetUrlImpl.d.ts +65 -0
  240. package/lib/esm/RealityDataSourceTilesetUrlImpl.d.ts.map +1 -0
  241. package/lib/esm/RealityDataSourceTilesetUrlImpl.js +131 -0
  242. package/lib/esm/RealityDataSourceTilesetUrlImpl.js.map +1 -0
  243. package/lib/esm/SheetViewState.js +4 -0
  244. package/lib/esm/SheetViewState.js.map +1 -1
  245. package/lib/esm/ViewState.d.ts +8 -0
  246. package/lib/esm/ViewState.d.ts.map +1 -1
  247. package/lib/esm/ViewState.js +1 -1
  248. package/lib/esm/ViewState.js.map +1 -1
  249. package/lib/esm/Viewport.d.ts +19 -3
  250. package/lib/esm/Viewport.d.ts.map +1 -1
  251. package/lib/esm/Viewport.js +20 -0
  252. package/lib/esm/Viewport.js.map +1 -1
  253. package/lib/esm/core-frontend.d.ts +1 -0
  254. package/lib/esm/core-frontend.d.ts.map +1 -1
  255. package/lib/esm/core-frontend.js +1 -0
  256. package/lib/esm/core-frontend.js.map +1 -1
  257. package/lib/esm/quantity-formatting/BasicUnitsProvider.d.ts +2 -2
  258. package/lib/esm/quantity-formatting/BasicUnitsProvider.d.ts.map +1 -1
  259. package/lib/esm/quantity-formatting/BasicUnitsProvider.js +48 -44
  260. package/lib/esm/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  261. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts +90 -80
  262. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  263. package/lib/esm/quantity-formatting/QuantityFormatter.js +75 -41
  264. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  265. package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.d.ts +54 -0
  266. package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.d.ts.map +1 -0
  267. package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.js +26 -0
  268. package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -0
  269. package/lib/esm/quantity-formatting/UnitsData.d.ts +11 -0
  270. package/lib/esm/quantity-formatting/UnitsData.d.ts.map +1 -0
  271. package/lib/esm/quantity-formatting/UnitsData.js +56 -0
  272. package/lib/esm/quantity-formatting/UnitsData.js.map +1 -0
  273. package/lib/esm/render/GraphicBranch.d.ts +2 -0
  274. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  275. package/lib/esm/render/GraphicBranch.js.map +1 -1
  276. package/lib/esm/render/RenderPlanarClassifier.d.ts +1 -1
  277. package/lib/esm/render/RenderPlanarClassifier.d.ts.map +1 -1
  278. package/lib/esm/render/RenderPlanarClassifier.js.map +1 -1
  279. package/lib/esm/render/RenderSystem.d.ts +9 -5
  280. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  281. package/lib/esm/render/RenderSystem.js +5 -2
  282. package/lib/esm/render/RenderSystem.js.map +1 -1
  283. package/lib/esm/render/RenderTarget.d.ts +4 -4
  284. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  285. package/lib/esm/render/RenderTarget.js.map +1 -1
  286. package/lib/esm/render/Scene.d.ts.map +1 -1
  287. package/lib/esm/render/Scene.js.map +1 -1
  288. package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.d.ts +15 -2
  289. package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.d.ts.map +1 -1
  290. package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.js.map +1 -1
  291. package/lib/esm/render/webgl/BackgroundMapDrape.js +1 -1
  292. package/lib/esm/render/webgl/BackgroundMapDrape.js.map +1 -1
  293. package/lib/esm/render/webgl/BranchState.d.ts +2 -0
  294. package/lib/esm/render/webgl/BranchState.d.ts.map +1 -1
  295. package/lib/esm/render/webgl/BranchState.js +5 -3
  296. package/lib/esm/render/webgl/BranchState.js.map +1 -1
  297. package/lib/esm/render/webgl/Graphic.d.ts +5 -3
  298. package/lib/esm/render/webgl/Graphic.d.ts.map +1 -1
  299. package/lib/esm/render/webgl/Graphic.js +7 -2
  300. package/lib/esm/render/webgl/Graphic.js.map +1 -1
  301. package/lib/esm/render/webgl/PlanarClassifier.d.ts +4 -1
  302. package/lib/esm/render/webgl/PlanarClassifier.d.ts.map +1 -1
  303. package/lib/esm/render/webgl/PlanarClassifier.js +22 -9
  304. package/lib/esm/render/webgl/PlanarClassifier.js.map +1 -1
  305. package/lib/esm/render/webgl/PlanarTextureProjection.d.ts +2 -2
  306. package/lib/esm/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  307. package/lib/esm/render/webgl/PlanarTextureProjection.js +5 -3
  308. package/lib/esm/render/webgl/PlanarTextureProjection.js.map +1 -1
  309. package/lib/esm/render/webgl/RealityMesh.d.ts +30 -11
  310. package/lib/esm/render/webgl/RealityMesh.d.ts.map +1 -1
  311. package/lib/esm/render/webgl/RealityMesh.js +154 -52
  312. package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
  313. package/lib/esm/render/webgl/RenderCommands.d.ts.map +1 -1
  314. package/lib/esm/render/webgl/RenderCommands.js +4 -0
  315. package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
  316. package/lib/esm/render/webgl/System.d.ts +9 -9
  317. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  318. package/lib/esm/render/webgl/System.js +6 -6
  319. package/lib/esm/render/webgl/System.js.map +1 -1
  320. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  321. package/lib/esm/render/webgl/Target.js.map +1 -1
  322. package/lib/esm/render/webgl/glsl/PlanarClassification.js +1 -1
  323. package/lib/esm/render/webgl/glsl/PlanarClassification.js.map +1 -1
  324. package/lib/esm/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  325. package/lib/esm/render/webgl/glsl/RealityMesh.js +103 -28
  326. package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
  327. package/lib/esm/tile/ClassifierTileTree.d.ts +4 -2
  328. package/lib/esm/tile/ClassifierTileTree.d.ts.map +1 -1
  329. package/lib/esm/tile/ClassifierTileTree.js +32 -17
  330. package/lib/esm/tile/ClassifierTileTree.js.map +1 -1
  331. package/lib/esm/tile/OPCFormatInterpreter.d.ts +21 -0
  332. package/lib/esm/tile/OPCFormatInterpreter.d.ts.map +1 -0
  333. package/lib/esm/tile/OPCFormatInterpreter.js +77 -0
  334. package/lib/esm/tile/OPCFormatInterpreter.js.map +1 -0
  335. package/lib/esm/tile/PntsReader.d.ts.map +1 -1
  336. package/lib/esm/tile/PntsReader.js +79 -17
  337. package/lib/esm/tile/PntsReader.js.map +1 -1
  338. package/lib/esm/tile/PrimaryTileTree.d.ts +18 -2
  339. package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
  340. package/lib/esm/tile/PrimaryTileTree.js +51 -2
  341. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  342. package/lib/esm/tile/RealityModelTileTree.d.ts +0 -1
  343. package/lib/esm/tile/RealityModelTileTree.d.ts.map +1 -1
  344. package/lib/esm/tile/RealityModelTileTree.js +1 -1
  345. package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
  346. package/lib/esm/tile/RealityTileDrawArgs.d.ts +4 -1
  347. package/lib/esm/tile/RealityTileDrawArgs.d.ts.map +1 -1
  348. package/lib/esm/tile/RealityTileDrawArgs.js +3 -1
  349. package/lib/esm/tile/RealityTileDrawArgs.js.map +1 -1
  350. package/lib/esm/tile/RealityTileTree.d.ts +1 -0
  351. package/lib/esm/tile/RealityTileTree.d.ts.map +1 -1
  352. package/lib/esm/tile/RealityTileTree.js +7 -3
  353. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  354. package/lib/esm/tile/ThreeDTileFormatInterpreter.d.ts +51 -0
  355. package/lib/esm/tile/ThreeDTileFormatInterpreter.d.ts.map +1 -0
  356. package/lib/esm/tile/ThreeDTileFormatInterpreter.js +156 -0
  357. package/lib/esm/tile/ThreeDTileFormatInterpreter.js.map +1 -0
  358. package/lib/esm/tile/TileDrawArgs.d.ts +2 -0
  359. package/lib/esm/tile/TileDrawArgs.d.ts.map +1 -1
  360. package/lib/esm/tile/TileDrawArgs.js +5 -0
  361. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  362. package/lib/esm/tile/internal.d.ts +2 -0
  363. package/lib/esm/tile/internal.d.ts.map +1 -1
  364. package/lib/esm/tile/internal.js +2 -0
  365. package/lib/esm/tile/internal.js.map +1 -1
  366. package/lib/esm/tile/map/CesiumTerrainProvider.js +2 -2
  367. package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
  368. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -2
  369. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  370. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +1 -1
  371. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  372. package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts +2 -2
  373. package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts.map +1 -1
  374. package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  375. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.d.ts +2 -2
  376. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
  377. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  378. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts +2 -2
  379. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts.map +1 -1
  380. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  381. package/lib/esm/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts +2 -2
  382. package/lib/esm/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts.map +1 -1
  383. package/lib/esm/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
  384. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +2 -2
  385. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  386. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +1 -1
  387. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  388. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +2 -2
  389. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
  390. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  391. package/lib/esm/tile/map/ImageryTileTree.d.ts +0 -2
  392. package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
  393. package/lib/esm/tile/map/ImageryTileTree.js +1 -3
  394. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  395. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts +3 -3
  396. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  397. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  398. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts +3 -3
  399. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  400. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  401. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +3 -3
  402. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  403. package/lib/esm/tile/map/MapLayerImageryProvider.js +1 -1
  404. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  405. package/lib/esm/tile/map/MapLayerSources.d.ts +2 -2
  406. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  407. package/lib/esm/tile/map/MapLayerSources.js +6 -4
  408. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  409. package/lib/esm/tile/map/MapLayerTileTreeReference.d.ts +10 -2
  410. package/lib/esm/tile/map/MapLayerTileTreeReference.d.ts.map +1 -1
  411. package/lib/esm/tile/map/MapLayerTileTreeReference.js +25 -3
  412. package/lib/esm/tile/map/MapLayerTileTreeReference.js.map +1 -1
  413. package/lib/esm/tile/map/MapTile.d.ts +5 -4
  414. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  415. package/lib/esm/tile/map/MapTile.js +13 -5
  416. package/lib/esm/tile/map/MapTile.js.map +1 -1
  417. package/lib/esm/tile/map/MapTileTree.d.ts +12 -7
  418. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  419. package/lib/esm/tile/map/MapTileTree.js +61 -49
  420. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  421. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  422. package/lib/esm/tile/map/MapTiledGraphicsProvider.js +2 -2
  423. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  424. package/lib/esm/tools/ViewTool.js +1 -1
  425. package/lib/esm/tools/ViewTool.js.map +1 -1
  426. package/package.json +20 -20
@@ -6,13 +6,12 @@
6
6
  * @module Tiles
7
7
  */
8
8
  import { assert, compareBooleans, compareBooleansOrUndefined, 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";
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);
@@ -67,19 +68,28 @@ export class MapTileTree extends RealityTileTree {
67
68
  tileFromQuadId(quadId) {
68
69
  return this._rootTile.tileFromQuadId(quadId);
69
70
  }
70
- addImageryLayer(tree, settings) {
71
- const maxLayers = IModelApp.renderSystem.maxRealityImageryLayers;
72
- if (this.imageryTrees.length < maxLayers) {
73
- this.imageryTrees.push(tree);
74
- this._layerSettings.set(tree.modelId, settings);
75
- }
76
- else {
77
- // TBD -- Notify user that layers is being ignored?
78
- }
71
+ addImageryLayer(tree, settings, index) {
72
+ this.imageryTrees.push(tree);
73
+ this._layerSettings.set(tree.modelId, settings);
74
+ this._modelIdToIndex.set(tree.modelId, index);
79
75
  }
80
- clearImageryLayers() {
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);
80
+ }
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() {
81
89
  this.imageryTrees.length = 0;
82
90
  this._layerSettings.clear();
91
+ this._modelIdToIndex.clear();
92
+ this.layerClassifiers.clear();
83
93
  }
84
94
  get isTransparent() {
85
95
  return this.mapTransparent || this.baseTransparent;
@@ -271,10 +281,8 @@ export class MapTileTree extends RealityTileTree {
271
281
  return this.sourceTilingScheme.tileXYToRectangle(quadId.column, quadId.row, quadId.level);
272
282
  }
273
283
  getLayerIndex(imageryTreeId) {
274
- for (let index = 0; index < this.imageryTrees.length; index++)
275
- if (imageryTreeId === this.imageryTrees[index].modelId)
276
- return index;
277
- return -1;
284
+ const index = this._modelIdToIndex.get(imageryTreeId);
285
+ return index === undefined ? -1 : index;
278
286
  }
279
287
  getLayerTransparency(imageryTreeId) {
280
288
  const layerSettings = this._layerSettings.get(imageryTreeId);
@@ -415,7 +423,7 @@ export class MapTileTreeReference extends TileTreeReference {
415
423
  this._isDrape = _isDrape;
416
424
  this._overrideTerrainDisplay = _overrideTerrainDisplay;
417
425
  this._baseImageryLayerIncluded = false;
418
- this._imageryTrees = new Array();
426
+ this._layerTrees = new Array();
419
427
  this._baseTransparent = false;
420
428
  this._tileUserId = tileUserId;
421
429
  this._settings = settings;
@@ -423,7 +431,7 @@ export class MapTileTreeReference extends TileTreeReference {
423
431
  let tree;
424
432
  if (!isOverlay && this._baseLayerSettings !== undefined) {
425
433
  if (this._baseLayerSettings instanceof MapLayerSettings) {
426
- tree = IModelApp.mapLayerFormatRegistry.createImageryMapLayerTree(this._baseLayerSettings, 0, iModel);
434
+ tree = createMapLayerTreeReference(this._baseLayerSettings, 0, iModel);
427
435
  this._baseTransparent = this._baseLayerSettings.transparency > 0;
428
436
  }
429
437
  else {
@@ -432,10 +440,10 @@ export class MapTileTreeReference extends TileTreeReference {
432
440
  }
433
441
  }
434
442
  if (this._baseImageryLayerIncluded = (undefined !== tree))
435
- this._imageryTrees.push(tree);
443
+ this._layerTrees.push(tree);
436
444
  for (let i = 0; i < this._layerSettings.length; i++)
437
- if (undefined !== (tree = IModelApp.mapLayerFormatRegistry.createImageryMapLayerTree(this._layerSettings[i], i + 1, iModel)))
438
- this._imageryTrees.push(tree);
445
+ if (undefined !== (tree = createMapLayerTreeReference(this._layerSettings[i], i + 1, iModel)))
446
+ this._layerTrees.push(tree);
439
447
  if (this._settings.planarClipMask && this._settings.planarClipMask.isValid)
440
448
  this._planarClipMask = PlanarClipMaskState.create(this._settings.planarClipMask);
441
449
  if (this._overrideTerrainDisplay && ((_b = this._overrideTerrainDisplay()) === null || _b === void 0 ? void 0 : _b.produceGeometry))
@@ -463,7 +471,7 @@ export class MapTileTreeReference extends TileTreeReference {
463
471
  let tree;
464
472
  this._baseLayerSettings = baseLayerSettings;
465
473
  if (baseLayerSettings instanceof MapLayerSettings) {
466
- tree = IModelApp.mapLayerFormatRegistry.createImageryMapLayerTree(baseLayerSettings, 0, this._iModel);
474
+ tree = createMapLayerTreeReference(baseLayerSettings, 0, this._iModel);
467
475
  this._baseColor = undefined;
468
476
  this._baseTransparent = baseLayerSettings.transparency > 0;
469
477
  }
@@ -473,13 +481,13 @@ export class MapTileTreeReference extends TileTreeReference {
473
481
  }
474
482
  if (tree) {
475
483
  if (this._baseImageryLayerIncluded)
476
- this._imageryTrees[0] = tree;
484
+ this._layerTrees[0] = tree;
477
485
  else
478
- this._imageryTrees.splice(0, 0, tree);
486
+ this._layerTrees.splice(0, 0, tree);
479
487
  }
480
488
  else {
481
489
  if (this._baseImageryLayerIncluded)
482
- this._imageryTrees.shift();
490
+ this._layerTrees.shift();
483
491
  }
484
492
  this._baseImageryLayerIncluded = tree !== undefined;
485
493
  this.clearLayers();
@@ -490,11 +498,11 @@ export class MapTileTreeReference extends TileTreeReference {
490
498
  setLayerSettings(layerSettings) {
491
499
  this._layerSettings = layerSettings;
492
500
  const baseLayerIndex = this._baseImageryLayerIncluded ? 1 : 0;
493
- 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.
494
502
  for (let i = 0; i < layerSettings.length; i++) {
495
503
  const treeIndex = i + baseLayerIndex;
496
- if (treeIndex >= this._imageryTrees.length || !this._imageryTrees[treeIndex].layerSettings.displayMatches(layerSettings[i]))
497
- 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);
498
506
  }
499
507
  this.clearLayers();
500
508
  }
@@ -508,7 +516,7 @@ export class MapTileTreeReference extends TileTreeReference {
508
516
  }
509
517
  get _isLoadingComplete() {
510
518
  // Wait until drape tree is fully loaded too.
511
- for (const drapeTree of this._imageryTrees)
519
+ for (const drapeTree of this._layerTrees)
512
520
  if (!drapeTree.isLoadingComplete)
513
521
  return false;
514
522
  return super._isLoadingComplete;
@@ -556,30 +564,33 @@ export class MapTileTreeReference extends TileTreeReference {
556
564
  getLayerImageryTreeRef(index) {
557
565
  const baseLayerIndex = this._baseImageryLayerIncluded ? 1 : 0;
558
566
  const treeIndex = index + baseLayerIndex;
559
- return index < 0 || treeIndex >= this._imageryTrees.length ? undefined : this._imageryTrees[treeIndex];
567
+ return index < 0 || treeIndex >= this._layerTrees.length ? undefined : this._layerTrees[treeIndex];
560
568
  }
561
- initializeImagery() {
569
+ initializeLayers(context) {
562
570
  const tree = this.treeOwner.load();
563
571
  if (undefined === tree)
564
572
  return false; // Not loaded yet.
565
573
  tree.imageryTrees.length = 0;
566
- if (0 === this._imageryTrees.length)
574
+ if (0 === this._layerTrees.length)
567
575
  return !this.isOverlay;
568
- let treeIndex = this._imageryTrees.length - 1;
576
+ let treeIndex = this._layerTrees.length - 1;
569
577
  // Start displaying at the highest completely opaque layer...
570
578
  for (; treeIndex >= 1; treeIndex--) {
571
- const imageryTreeRef = this._imageryTrees[treeIndex];
572
- const layerSettings = imageryTreeRef.layerSettings;
573
- if (layerSettings.visible && !imageryTreeRef.layerSettings.allSubLayersInvisible && !layerSettings.transparentBackground && 0 === layerSettings.transparency)
579
+ const layerTreeRef = this._layerTrees[treeIndex];
580
+ if (layerTreeRef.isOpaque)
574
581
  break; // This layer is completely opaque and will obscure all others so ignore lower ones.
575
582
  }
576
- for (; treeIndex < this._imageryTrees.length; treeIndex++) {
577
- const imageryTreeRef = this._imageryTrees[treeIndex];
578
- if (TileTreeLoadStatus.NotFound !== imageryTreeRef.treeOwner.loadStatus && imageryTreeRef.layerSettings.visible && !imageryTreeRef.layerSettings.allSubLayersInvisible) {
579
- const imageryTree = imageryTreeRef.treeOwner.load();
580
- 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)
581
588
  return false; // Not loaded yet.
582
- 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);
583
594
  }
584
595
  }
585
596
  return true;
@@ -589,7 +600,7 @@ export class MapTileTreeReference extends TileTreeReference {
589
600
  if (!context.viewFlags.backgroundMap)
590
601
  return;
591
602
  const tree = this.treeOwner.load();
592
- if (undefined === tree || !this.initializeImagery())
603
+ if (undefined === tree || !this.initializeLayers(context))
593
604
  return; // Not loaded yet.
594
605
  if (this._planarClipMask && this._planarClipMask.settings.isValid)
595
606
  context.addPlanarClassifier(tree.modelId, undefined, this._planarClipMask);
@@ -605,13 +616,14 @@ export class MapTileTreeReference extends TileTreeReference {
605
616
  const args = this.createDrawArgs(context);
606
617
  if (undefined !== args)
607
618
  tree.draw(args);
608
- tree.clearImageryLayers();
619
+ tree.clearImageryTreesAndClassifiers();
609
620
  }
610
621
  createDrawArgs(context) {
611
622
  const args = super.createDrawArgs(context);
612
623
  if (undefined === args)
613
624
  return undefined;
614
- 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);
615
627
  }
616
628
  getViewFlagOverrides(_tree) {
617
629
  return createViewFlagOverrides(false, this._settings.applyTerrain ? undefined : false);
@@ -621,7 +633,7 @@ export class MapTileTreeReference extends TileTreeReference {
621
633
  }
622
634
  discloseTileTrees(trees) {
623
635
  super.discloseTileTrees(trees);
624
- this._imageryTrees.forEach((imageryTree) => trees.disclose(imageryTree));
636
+ this._layerTrees.forEach((imageryTree) => trees.disclose(imageryTree));
625
637
  if (this._planarClipMask)
626
638
  this._planarClipMask.discloseTileTrees(trees);
627
639
  }
@@ -629,7 +641,7 @@ export class MapTileTreeReference extends TileTreeReference {
629
641
  const tree = this.treeOwner.tileTree;
630
642
  if (undefined === tree || tree.modelId !== mapTreeModelId)
631
643
  return undefined;
632
- for (const imageryTree of this._imageryTrees)
644
+ for (const imageryTree of this._layerTrees)
633
645
  if (imageryTree.treeOwner.tileTree && imageryTree.treeOwner.tileTree.modelId === layerTreeModelId)
634
646
  return imageryTree;
635
647
  return undefined;
@@ -683,7 +695,7 @@ export class MapTileTreeReference extends TileTreeReference {
683
695
  if (tree) {
684
696
  if (undefined !== (logo = tree.mapLoader.terrainProvider.getLogo()))
685
697
  cards.appendChild(logo);
686
- for (const imageryTreeRef of this._imageryTrees) {
698
+ for (const imageryTreeRef of this._layerTrees) {
687
699
  if (imageryTreeRef.layerSettings.visible) {
688
700
  const imageryTree = imageryTreeRef.treeOwner.tileTree;
689
701
  if (imageryTree && (undefined !== (logo = imageryTree.getLogo(vp))))