@itwin/core-frontend 5.0.0-dev.90 → 5.0.0-dev.93

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 (330) hide show
  1. package/lib/cjs/ContextRealityModelState.d.ts.map +1 -1
  2. package/lib/cjs/ContextRealityModelState.js +2 -0
  3. package/lib/cjs/ContextRealityModelState.js.map +1 -1
  4. package/lib/cjs/ModelState.d.ts.map +1 -1
  5. package/lib/cjs/ModelState.js +4 -0
  6. package/lib/cjs/ModelState.js.map +1 -1
  7. package/lib/cjs/NoRenderApp.d.ts +1 -1
  8. package/lib/cjs/NoRenderApp.d.ts.map +1 -1
  9. package/lib/cjs/NoRenderApp.js +1 -1
  10. package/lib/cjs/NoRenderApp.js.map +1 -1
  11. package/lib/cjs/Viewport.d.ts +1 -0
  12. package/lib/cjs/Viewport.d.ts.map +1 -1
  13. package/lib/cjs/Viewport.js +4 -1
  14. package/lib/cjs/Viewport.js.map +1 -1
  15. package/lib/cjs/common/internal/render/MeshParams.d.ts +2 -0
  16. package/lib/cjs/common/internal/render/MeshParams.d.ts.map +1 -1
  17. package/lib/cjs/common/internal/render/MeshParams.js.map +1 -1
  18. package/lib/cjs/internal/render/{RealityMeshGraphicParams.d.ts → MeshMapLayerGraphicParams.d.ts} +4 -4
  19. package/lib/cjs/internal/render/MeshMapLayerGraphicParams.d.ts.map +1 -0
  20. package/lib/cjs/internal/render/{RealityMeshGraphicParams.js → MeshMapLayerGraphicParams.js} +1 -1
  21. package/lib/cjs/internal/render/MeshMapLayerGraphicParams.js.map +1 -0
  22. package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js +1 -1
  23. package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
  24. package/lib/cjs/internal/render/webgl/MapLayerParams.d.ts +54 -0
  25. package/lib/cjs/internal/render/webgl/MapLayerParams.d.ts.map +1 -0
  26. package/lib/cjs/internal/render/webgl/MapLayerParams.js +198 -0
  27. package/lib/cjs/internal/render/webgl/MapLayerParams.js.map +1 -0
  28. package/lib/cjs/internal/render/webgl/Mesh.js +1 -1
  29. package/lib/cjs/internal/render/webgl/Mesh.js.map +1 -1
  30. package/lib/cjs/internal/render/webgl/PlanarClassifier.d.ts.map +1 -1
  31. package/lib/cjs/internal/render/webgl/PlanarClassifier.js.map +1 -1
  32. package/lib/cjs/internal/render/webgl/RealityMesh.d.ts +6 -35
  33. package/lib/cjs/internal/render/webgl/RealityMesh.d.ts.map +1 -1
  34. package/lib/cjs/internal/render/webgl/RealityMesh.js +41 -154
  35. package/lib/cjs/internal/render/webgl/RealityMesh.js.map +1 -1
  36. package/lib/cjs/internal/render/webgl/RenderFlags.d.ts +7 -1
  37. package/lib/cjs/internal/render/webgl/RenderFlags.d.ts.map +1 -1
  38. package/lib/cjs/internal/render/webgl/RenderFlags.js +7 -0
  39. package/lib/cjs/internal/render/webgl/RenderFlags.js.map +1 -1
  40. package/lib/cjs/internal/render/webgl/ShaderBuilder.d.ts +12 -11
  41. package/lib/cjs/internal/render/webgl/ShaderBuilder.d.ts.map +1 -1
  42. package/lib/cjs/internal/render/webgl/ShaderBuilder.js +13 -8
  43. package/lib/cjs/internal/render/webgl/ShaderBuilder.js.map +1 -1
  44. package/lib/cjs/internal/render/webgl/SurfaceGeometry.d.ts +5 -2
  45. package/lib/cjs/internal/render/webgl/SurfaceGeometry.d.ts.map +1 -1
  46. package/lib/cjs/internal/render/webgl/SurfaceGeometry.js +49 -3
  47. package/lib/cjs/internal/render/webgl/SurfaceGeometry.js.map +1 -1
  48. package/lib/cjs/internal/render/webgl/System.d.ts +2 -2
  49. package/lib/cjs/internal/render/webgl/System.d.ts.map +1 -1
  50. package/lib/cjs/internal/render/webgl/System.js.map +1 -1
  51. package/lib/cjs/internal/render/webgl/Target.d.ts +1 -1
  52. package/lib/cjs/internal/render/webgl/Target.d.ts.map +1 -1
  53. package/lib/cjs/internal/render/webgl/Target.js +11 -2
  54. package/lib/cjs/internal/render/webgl/Target.js.map +1 -1
  55. package/lib/cjs/internal/render/webgl/glsl/AmbientOcclusion.js +1 -1
  56. package/lib/cjs/internal/render/webgl/glsl/Atmosphere.js +1 -1
  57. package/lib/cjs/internal/render/webgl/glsl/Blur.js +1 -1
  58. package/lib/cjs/internal/render/webgl/glsl/ClearPickAndColor.js +1 -1
  59. package/lib/cjs/internal/render/webgl/glsl/ClearTranslucent.js +1 -1
  60. package/lib/cjs/internal/render/webgl/glsl/Clipping.js +1 -1
  61. package/lib/cjs/internal/render/webgl/glsl/Combine3Textures.js +1 -1
  62. package/lib/cjs/internal/render/webgl/glsl/CombineTextures.js +1 -1
  63. package/lib/cjs/internal/render/webgl/glsl/Composite.js +1 -1
  64. package/lib/cjs/internal/render/webgl/glsl/CopyColor.js +1 -1
  65. package/lib/cjs/internal/render/webgl/glsl/CopyPickBuffers.js +1 -1
  66. package/lib/cjs/internal/render/webgl/glsl/CopyStencil.js +5 -5
  67. package/lib/cjs/internal/render/webgl/glsl/EDL.js +4 -4
  68. package/lib/cjs/internal/render/webgl/glsl/EVSMFromDepth.js +1 -1
  69. package/lib/cjs/internal/render/webgl/glsl/Edge.js +1 -1
  70. package/lib/cjs/internal/render/webgl/glsl/FeatureSymbology.js +2 -2
  71. package/lib/cjs/internal/render/webgl/glsl/Fragment.js +9 -9
  72. package/lib/cjs/internal/render/webgl/glsl/LogarithmicDepthBuffer.js +1 -1
  73. package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.d.ts +12 -0
  74. package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.d.ts.map +1 -0
  75. package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.js +116 -0
  76. package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.js.map +1 -0
  77. package/lib/cjs/internal/render/webgl/glsl/PlanarClassification.js +3 -3
  78. package/lib/cjs/internal/render/webgl/glsl/PointCloud.js +2 -2
  79. package/lib/cjs/internal/render/webgl/glsl/PointCloud.js.map +1 -1
  80. package/lib/cjs/internal/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  81. package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js +6 -91
  82. package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
  83. package/lib/cjs/internal/render/webgl/glsl/ScreenSpaceEffect.js +1 -1
  84. package/lib/cjs/internal/render/webgl/glsl/SkyBox.js +1 -1
  85. package/lib/cjs/internal/render/webgl/glsl/SkySphere.js +1 -1
  86. package/lib/cjs/internal/render/webgl/glsl/SolarShadowMapping.js +1 -1
  87. package/lib/cjs/internal/render/webgl/glsl/Surface.d.ts +1 -1
  88. package/lib/cjs/internal/render/webgl/glsl/Surface.d.ts.map +1 -1
  89. package/lib/cjs/internal/render/webgl/glsl/Surface.js +73 -7
  90. package/lib/cjs/internal/render/webgl/glsl/Surface.js.map +1 -1
  91. package/lib/cjs/internal/render/webgl/glsl/Translucency.js +1 -1
  92. package/lib/cjs/internal/render/webgl/glsl/Wiremesh.js +1 -1
  93. package/lib/cjs/internal/tile/B3dmReader.d.ts +2 -1
  94. package/lib/cjs/internal/tile/B3dmReader.d.ts.map +1 -1
  95. package/lib/cjs/internal/tile/B3dmReader.js +5 -5
  96. package/lib/cjs/internal/tile/B3dmReader.js.map +1 -1
  97. package/lib/cjs/internal/tile/I3dmReader.d.ts +2 -1
  98. package/lib/cjs/internal/tile/I3dmReader.d.ts.map +1 -1
  99. package/lib/cjs/internal/tile/I3dmReader.js +4 -4
  100. package/lib/cjs/internal/tile/I3dmReader.js.map +1 -1
  101. package/lib/cjs/internal/tile/IModelTileTree.d.ts.map +1 -1
  102. package/lib/cjs/internal/tile/IModelTileTree.js.map +1 -1
  103. package/lib/cjs/internal/tile/ImdlGraphicsCreator.d.ts +2 -0
  104. package/lib/cjs/internal/tile/ImdlGraphicsCreator.d.ts.map +1 -1
  105. package/lib/cjs/internal/tile/ImdlGraphicsCreator.js +1 -0
  106. package/lib/cjs/internal/tile/ImdlGraphicsCreator.js.map +1 -1
  107. package/lib/cjs/internal/tile/PrimaryTileTree.js.map +1 -1
  108. package/lib/cjs/internal/tile/RealityModelTileTree.d.ts +14 -3
  109. package/lib/cjs/internal/tile/RealityModelTileTree.d.ts.map +1 -1
  110. package/lib/cjs/internal/tile/RealityModelTileTree.js +51 -11
  111. package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -1
  112. package/lib/cjs/internal/tile/RealityTileLoader.d.ts.map +1 -1
  113. package/lib/cjs/internal/tile/RealityTileLoader.js +8 -2
  114. package/lib/cjs/internal/tile/RealityTileLoader.js.map +1 -1
  115. package/lib/cjs/render/RealityMeshParams.d.ts +3 -0
  116. package/lib/cjs/render/RealityMeshParams.d.ts.map +1 -1
  117. package/lib/cjs/render/RealityMeshParams.js.map +1 -1
  118. package/lib/cjs/render/RenderSystem.d.ts +4 -3
  119. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  120. package/lib/cjs/render/RenderSystem.js +2 -1
  121. package/lib/cjs/render/RenderSystem.js.map +1 -1
  122. package/lib/cjs/render/RenderTarget.d.ts +1 -1
  123. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  124. package/lib/cjs/render/RenderTarget.js +1 -1
  125. package/lib/cjs/render/RenderTarget.js.map +1 -1
  126. package/lib/cjs/tile/GltfReader.d.ts +8 -2
  127. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  128. package/lib/cjs/tile/GltfReader.js +11 -2
  129. package/lib/cjs/tile/GltfReader.js.map +1 -1
  130. package/lib/cjs/tile/ImdlReader.d.ts +2 -1
  131. package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
  132. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  133. package/lib/cjs/tile/LayerTileTreeHandler.d.ts +47 -0
  134. package/lib/cjs/tile/LayerTileTreeHandler.d.ts.map +1 -0
  135. package/lib/cjs/tile/LayerTileTreeHandler.js +54 -0
  136. package/lib/cjs/tile/LayerTileTreeHandler.js.map +1 -0
  137. package/lib/cjs/tile/LayerTileTreeReferenceHandler.d.ts +36 -0
  138. package/lib/cjs/tile/LayerTileTreeReferenceHandler.d.ts.map +1 -0
  139. package/lib/cjs/tile/LayerTileTreeReferenceHandler.js +150 -0
  140. package/lib/cjs/tile/LayerTileTreeReferenceHandler.js.map +1 -0
  141. package/lib/cjs/tile/Tile.d.ts +2 -0
  142. package/lib/cjs/tile/Tile.d.ts.map +1 -1
  143. package/lib/cjs/tile/Tile.js +7 -0
  144. package/lib/cjs/tile/Tile.js.map +1 -1
  145. package/lib/cjs/tile/TileTree.d.ts +3 -1
  146. package/lib/cjs/tile/TileTree.d.ts.map +1 -1
  147. package/lib/cjs/tile/TileTree.js +2 -0
  148. package/lib/cjs/tile/TileTree.js.map +1 -1
  149. package/lib/cjs/tile/internal.d.ts +2 -0
  150. package/lib/cjs/tile/internal.d.ts.map +1 -1
  151. package/lib/cjs/tile/internal.js +2 -0
  152. package/lib/cjs/tile/internal.js.map +1 -1
  153. package/lib/cjs/tile/map/MapTile.d.ts +8 -2
  154. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  155. package/lib/cjs/tile/map/MapTile.js +10 -16
  156. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  157. package/lib/cjs/tile/map/MapTileTree.d.ts +8 -36
  158. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  159. package/lib/cjs/tile/map/MapTileTree.js +47 -176
  160. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  161. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +9 -9
  162. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  163. package/lib/esm/ContextRealityModelState.d.ts.map +1 -1
  164. package/lib/esm/ContextRealityModelState.js +2 -0
  165. package/lib/esm/ContextRealityModelState.js.map +1 -1
  166. package/lib/esm/ModelState.d.ts.map +1 -1
  167. package/lib/esm/ModelState.js +4 -0
  168. package/lib/esm/ModelState.js.map +1 -1
  169. package/lib/esm/NoRenderApp.d.ts +1 -1
  170. package/lib/esm/NoRenderApp.d.ts.map +1 -1
  171. package/lib/esm/NoRenderApp.js +1 -1
  172. package/lib/esm/NoRenderApp.js.map +1 -1
  173. package/lib/esm/Viewport.d.ts +1 -0
  174. package/lib/esm/Viewport.d.ts.map +1 -1
  175. package/lib/esm/Viewport.js +4 -1
  176. package/lib/esm/Viewport.js.map +1 -1
  177. package/lib/esm/common/internal/render/MeshParams.d.ts +2 -0
  178. package/lib/esm/common/internal/render/MeshParams.d.ts.map +1 -1
  179. package/lib/esm/common/internal/render/MeshParams.js.map +1 -1
  180. package/lib/esm/internal/render/{RealityMeshGraphicParams.d.ts → MeshMapLayerGraphicParams.d.ts} +4 -4
  181. package/lib/esm/internal/render/MeshMapLayerGraphicParams.d.ts.map +1 -0
  182. package/lib/esm/internal/render/{RealityMeshGraphicParams.js → MeshMapLayerGraphicParams.js} +1 -1
  183. package/lib/esm/internal/render/MeshMapLayerGraphicParams.js.map +1 -0
  184. package/lib/esm/internal/render/webgl/BackgroundMapDrape.js +1 -1
  185. package/lib/esm/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
  186. package/lib/esm/internal/render/webgl/MapLayerParams.d.ts +54 -0
  187. package/lib/esm/internal/render/webgl/MapLayerParams.d.ts.map +1 -0
  188. package/lib/esm/internal/render/webgl/MapLayerParams.js +192 -0
  189. package/lib/esm/internal/render/webgl/MapLayerParams.js.map +1 -0
  190. package/lib/esm/internal/render/webgl/Mesh.js +1 -1
  191. package/lib/esm/internal/render/webgl/Mesh.js.map +1 -1
  192. package/lib/esm/internal/render/webgl/PlanarClassifier.d.ts.map +1 -1
  193. package/lib/esm/internal/render/webgl/PlanarClassifier.js.map +1 -1
  194. package/lib/esm/internal/render/webgl/RealityMesh.d.ts +6 -35
  195. package/lib/esm/internal/render/webgl/RealityMesh.d.ts.map +1 -1
  196. package/lib/esm/internal/render/webgl/RealityMesh.js +41 -153
  197. package/lib/esm/internal/render/webgl/RealityMesh.js.map +1 -1
  198. package/lib/esm/internal/render/webgl/RenderFlags.d.ts +7 -1
  199. package/lib/esm/internal/render/webgl/RenderFlags.d.ts.map +1 -1
  200. package/lib/esm/internal/render/webgl/RenderFlags.js +7 -0
  201. package/lib/esm/internal/render/webgl/RenderFlags.js.map +1 -1
  202. package/lib/esm/internal/render/webgl/ShaderBuilder.d.ts +12 -11
  203. package/lib/esm/internal/render/webgl/ShaderBuilder.d.ts.map +1 -1
  204. package/lib/esm/internal/render/webgl/ShaderBuilder.js +13 -8
  205. package/lib/esm/internal/render/webgl/ShaderBuilder.js.map +1 -1
  206. package/lib/esm/internal/render/webgl/SurfaceGeometry.d.ts +5 -2
  207. package/lib/esm/internal/render/webgl/SurfaceGeometry.d.ts.map +1 -1
  208. package/lib/esm/internal/render/webgl/SurfaceGeometry.js +50 -4
  209. package/lib/esm/internal/render/webgl/SurfaceGeometry.js.map +1 -1
  210. package/lib/esm/internal/render/webgl/System.d.ts +2 -2
  211. package/lib/esm/internal/render/webgl/System.d.ts.map +1 -1
  212. package/lib/esm/internal/render/webgl/System.js.map +1 -1
  213. package/lib/esm/internal/render/webgl/Target.d.ts +1 -1
  214. package/lib/esm/internal/render/webgl/Target.d.ts.map +1 -1
  215. package/lib/esm/internal/render/webgl/Target.js +11 -2
  216. package/lib/esm/internal/render/webgl/Target.js.map +1 -1
  217. package/lib/esm/internal/render/webgl/glsl/AmbientOcclusion.js +1 -1
  218. package/lib/esm/internal/render/webgl/glsl/Atmosphere.js +1 -1
  219. package/lib/esm/internal/render/webgl/glsl/Blur.js +1 -1
  220. package/lib/esm/internal/render/webgl/glsl/ClearPickAndColor.js +1 -1
  221. package/lib/esm/internal/render/webgl/glsl/ClearTranslucent.js +1 -1
  222. package/lib/esm/internal/render/webgl/glsl/Clipping.js +1 -1
  223. package/lib/esm/internal/render/webgl/glsl/Combine3Textures.js +1 -1
  224. package/lib/esm/internal/render/webgl/glsl/CombineTextures.js +1 -1
  225. package/lib/esm/internal/render/webgl/glsl/Composite.js +1 -1
  226. package/lib/esm/internal/render/webgl/glsl/CopyColor.js +1 -1
  227. package/lib/esm/internal/render/webgl/glsl/CopyPickBuffers.js +1 -1
  228. package/lib/esm/internal/render/webgl/glsl/CopyStencil.js +5 -5
  229. package/lib/esm/internal/render/webgl/glsl/EDL.js +4 -4
  230. package/lib/esm/internal/render/webgl/glsl/EVSMFromDepth.js +1 -1
  231. package/lib/esm/internal/render/webgl/glsl/Edge.js +1 -1
  232. package/lib/esm/internal/render/webgl/glsl/FeatureSymbology.js +2 -2
  233. package/lib/esm/internal/render/webgl/glsl/Fragment.js +9 -9
  234. package/lib/esm/internal/render/webgl/glsl/LogarithmicDepthBuffer.js +1 -1
  235. package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.d.ts +12 -0
  236. package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.d.ts.map +1 -0
  237. package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.js +111 -0
  238. package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.js.map +1 -0
  239. package/lib/esm/internal/render/webgl/glsl/PlanarClassification.js +3 -3
  240. package/lib/esm/internal/render/webgl/glsl/PointCloud.js +2 -2
  241. package/lib/esm/internal/render/webgl/glsl/PointCloud.js.map +1 -1
  242. package/lib/esm/internal/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  243. package/lib/esm/internal/render/webgl/glsl/RealityMesh.js +5 -90
  244. package/lib/esm/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
  245. package/lib/esm/internal/render/webgl/glsl/ScreenSpaceEffect.js +1 -1
  246. package/lib/esm/internal/render/webgl/glsl/SkyBox.js +1 -1
  247. package/lib/esm/internal/render/webgl/glsl/SkySphere.js +1 -1
  248. package/lib/esm/internal/render/webgl/glsl/SolarShadowMapping.js +1 -1
  249. package/lib/esm/internal/render/webgl/glsl/Surface.d.ts +1 -1
  250. package/lib/esm/internal/render/webgl/glsl/Surface.d.ts.map +1 -1
  251. package/lib/esm/internal/render/webgl/glsl/Surface.js +73 -7
  252. package/lib/esm/internal/render/webgl/glsl/Surface.js.map +1 -1
  253. package/lib/esm/internal/render/webgl/glsl/Translucency.js +1 -1
  254. package/lib/esm/internal/render/webgl/glsl/Wiremesh.js +1 -1
  255. package/lib/esm/internal/tile/B3dmReader.d.ts +2 -1
  256. package/lib/esm/internal/tile/B3dmReader.d.ts.map +1 -1
  257. package/lib/esm/internal/tile/B3dmReader.js +5 -5
  258. package/lib/esm/internal/tile/B3dmReader.js.map +1 -1
  259. package/lib/esm/internal/tile/I3dmReader.d.ts +2 -1
  260. package/lib/esm/internal/tile/I3dmReader.d.ts.map +1 -1
  261. package/lib/esm/internal/tile/I3dmReader.js +4 -4
  262. package/lib/esm/internal/tile/I3dmReader.js.map +1 -1
  263. package/lib/esm/internal/tile/IModelTileTree.d.ts.map +1 -1
  264. package/lib/esm/internal/tile/IModelTileTree.js +2 -2
  265. package/lib/esm/internal/tile/IModelTileTree.js.map +1 -1
  266. package/lib/esm/internal/tile/ImdlGraphicsCreator.d.ts +2 -0
  267. package/lib/esm/internal/tile/ImdlGraphicsCreator.d.ts.map +1 -1
  268. package/lib/esm/internal/tile/ImdlGraphicsCreator.js +1 -0
  269. package/lib/esm/internal/tile/ImdlGraphicsCreator.js.map +1 -1
  270. package/lib/esm/internal/tile/PrimaryTileTree.js.map +1 -1
  271. package/lib/esm/internal/tile/RealityModelTileTree.d.ts +14 -3
  272. package/lib/esm/internal/tile/RealityModelTileTree.d.ts.map +1 -1
  273. package/lib/esm/internal/tile/RealityModelTileTree.js +53 -13
  274. package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -1
  275. package/lib/esm/internal/tile/RealityTileLoader.d.ts.map +1 -1
  276. package/lib/esm/internal/tile/RealityTileLoader.js +8 -2
  277. package/lib/esm/internal/tile/RealityTileLoader.js.map +1 -1
  278. package/lib/esm/render/RealityMeshParams.d.ts +3 -0
  279. package/lib/esm/render/RealityMeshParams.d.ts.map +1 -1
  280. package/lib/esm/render/RealityMeshParams.js.map +1 -1
  281. package/lib/esm/render/RenderSystem.d.ts +4 -3
  282. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  283. package/lib/esm/render/RenderSystem.js +2 -1
  284. package/lib/esm/render/RenderSystem.js.map +1 -1
  285. package/lib/esm/render/RenderTarget.d.ts +1 -1
  286. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  287. package/lib/esm/render/RenderTarget.js +1 -1
  288. package/lib/esm/render/RenderTarget.js.map +1 -1
  289. package/lib/esm/tile/GltfReader.d.ts +8 -2
  290. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  291. package/lib/esm/tile/GltfReader.js +11 -2
  292. package/lib/esm/tile/GltfReader.js.map +1 -1
  293. package/lib/esm/tile/ImdlReader.d.ts +2 -1
  294. package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
  295. package/lib/esm/tile/ImdlReader.js.map +1 -1
  296. package/lib/esm/tile/LayerTileTreeHandler.d.ts +47 -0
  297. package/lib/esm/tile/LayerTileTreeHandler.d.ts.map +1 -0
  298. package/lib/esm/tile/LayerTileTreeHandler.js +50 -0
  299. package/lib/esm/tile/LayerTileTreeHandler.js.map +1 -0
  300. package/lib/esm/tile/LayerTileTreeReferenceHandler.d.ts +36 -0
  301. package/lib/esm/tile/LayerTileTreeReferenceHandler.d.ts.map +1 -0
  302. package/lib/esm/tile/LayerTileTreeReferenceHandler.js +146 -0
  303. package/lib/esm/tile/LayerTileTreeReferenceHandler.js.map +1 -0
  304. package/lib/esm/tile/Tile.d.ts +2 -0
  305. package/lib/esm/tile/Tile.d.ts.map +1 -1
  306. package/lib/esm/tile/Tile.js +7 -0
  307. package/lib/esm/tile/Tile.js.map +1 -1
  308. package/lib/esm/tile/TileTree.d.ts +3 -1
  309. package/lib/esm/tile/TileTree.d.ts.map +1 -1
  310. package/lib/esm/tile/TileTree.js +2 -0
  311. package/lib/esm/tile/TileTree.js.map +1 -1
  312. package/lib/esm/tile/internal.d.ts +2 -0
  313. package/lib/esm/tile/internal.d.ts.map +1 -1
  314. package/lib/esm/tile/internal.js +2 -0
  315. package/lib/esm/tile/internal.js.map +1 -1
  316. package/lib/esm/tile/map/MapTile.d.ts +8 -2
  317. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  318. package/lib/esm/tile/map/MapTile.js +9 -16
  319. package/lib/esm/tile/map/MapTile.js.map +1 -1
  320. package/lib/esm/tile/map/MapTileTree.d.ts +8 -36
  321. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  322. package/lib/esm/tile/map/MapTileTree.js +49 -178
  323. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  324. package/lib/esm/tile/map/MapTiledGraphicsProvider.js +9 -9
  325. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  326. package/package.json +16 -16
  327. package/lib/cjs/internal/render/RealityMeshGraphicParams.d.ts.map +0 -1
  328. package/lib/cjs/internal/render/RealityMeshGraphicParams.js.map +0 -1
  329. package/lib/esm/internal/render/RealityMeshGraphicParams.d.ts.map +0 -1
  330. package/lib/esm/internal/render/RealityMeshGraphicParams.js.map +0 -1
@@ -6,13 +6,13 @@
6
6
  * @module Tiles
7
7
  */
8
8
  import { assert, compareBooleans, compareBooleansOrUndefined, compareNumbers, compareStrings, compareStringsOrUndefined, CompressedId64Set } from "@itwin/core-bentley";
9
- import { Cartographic, FeatureAppearance, GeoCoordStatus, GlobeMode, MapLayerSettings, PlanarClipMaskPriority, TerrainHeightOriginMode, } from "@itwin/core-common";
9
+ import { Cartographic, FeatureAppearance, GeoCoordStatus, GlobeMode, ModelMapLayerDrapeTarget, ModelMapLayerSettings, PlanarClipMaskPriority, TerrainHeightOriginMode, } from "@itwin/core-common";
10
10
  import { Angle, AngleSweep, Constant, Ellipsoid, EllipsoidPatch, Point3d, Range1d, Range3d, Ray3d, Transform, Vector3d, } from "@itwin/core-geometry";
11
11
  import { ApproximateTerrainHeights } from "../../ApproximateTerrainHeights";
12
12
  import { IModelApp } from "../../IModelApp";
13
13
  import { PlanarClipMaskState } from "../../PlanarClipMaskState";
14
14
  import { FeatureSymbology } from "../../render/FeatureSymbology";
15
- import { BingElevationProvider, createDefaultViewFlagOverrides, createMapLayerTreeReference, EllipsoidTerrainProvider, GraphicsCollectorDrawArgs, ImageryMapLayerTreeReference, ImageryMapTileTree, ImageryTileTreeState, MapCartoRectangle, MapLayerTileTreeReference, MapTile, MapTileLoader, ModelMapLayerTileTreeReference, PlanarTilePatch, QuadId, RealityTileDrawArgs, RealityTileTree, TileTreeLoadStatus, TileTreeReference, UpsampledMapTile, WebMercatorTilingScheme, } from "../internal";
15
+ import { BingElevationProvider, createDefaultViewFlagOverrides, EllipsoidTerrainProvider, ImageryMapTileTree, LayerTileTreeHandler, LayerTileTreeReferenceHandler, MapCartoRectangle, MapLayerTileTreeReference, MapTile, MapTileLoader, PlanarTilePatch, QuadId, RealityTileDrawArgs, RealityTileTree, TileTreeReference, UpsampledMapTile, WebMercatorTilingScheme, } from "../internal";
16
16
  const scratchPoint = Point3d.create();
17
17
  const scratchCorners = [Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero(), Point3d.createZero()];
18
18
  const scratchCorner = Point3d.createZero();
@@ -78,11 +78,9 @@ export class MapTileTree extends RealityTileTree {
78
78
  produceGeometry;
79
79
  /** @internal */
80
80
  layerImageryTrees = [];
81
- _layerSettings = new Map();
82
- _imageryTreeState = new Map();
83
- _modelIdToIndex = new Map();
81
+ _layerHandler;
84
82
  /** @internal */
85
- layerClassifiers = new Map();
83
+ get layerHandler() { return this._layerHandler; }
86
84
  /** @internal */
87
85
  constructor(params, ecefToDb, bimElevationBias, geodeticOffset, sourceTilingScheme, id, applyTerrain) {
88
86
  super(params);
@@ -124,6 +122,7 @@ export class MapTileTree extends RealityTileTree {
124
122
  range = Range3d.createArray(MapTile.computeRangeCorners(corners, Vector3d.create(0, 0, 1), 0, scratchCorners, globalHeightRange));
125
123
  }
126
124
  this._rootTile = this.createGlobeChild({ contentId: quadId.contentId, maximumSize: 0, range }, quadId, range.corners(), globalRectangle, rootPatch, undefined);
125
+ this._layerHandler = new LayerTileTreeHandler(this);
127
126
  }
128
127
  /** @internal */
129
128
  get parentsAndChildrenExclusive() {
@@ -135,14 +134,14 @@ export class MapTileTree extends RealityTileTree {
135
134
  * @internal
136
135
  */
137
136
  getImageryTreeState(imageryTreeId) {
138
- return this._imageryTreeState.get(imageryTreeId);
137
+ return this._layerHandler.imageryTreeState.get(imageryTreeId);
139
138
  }
140
139
  /** Return a cloned dictionary of the imagery tile tree states
141
140
  * @internal
142
141
  */
143
142
  cloneImageryTreeState() {
144
143
  const clone = new Map();
145
- for (const [treeId, state] of this._imageryTreeState) {
144
+ for (const [treeId, state] of this._layerHandler.imageryTreeState) {
146
145
  clone.set(treeId, state.clone());
147
146
  }
148
147
  return clone;
@@ -151,36 +150,16 @@ export class MapTileTree extends RealityTileTree {
151
150
  tileFromQuadId(quadId) {
152
151
  return this._rootTile.tileFromQuadId(quadId);
153
152
  }
154
- /** Add a new imagery tile tree / map-layer settings pair and initialize the imagery tile tree state.
155
- * @internal
156
- */
157
- addImageryLayer(tree, settings, index, baseImageryLayer) {
158
- this.layerImageryTrees.push({ tree, settings, baseImageryLayer });
159
- this._layerSettings.set(tree.modelId, settings);
160
- if (!this._imageryTreeState.has(tree.modelId))
161
- this._imageryTreeState.set(tree.modelId, new ImageryTileTreeState());
162
- this._modelIdToIndex.set(tree.modelId, index);
163
- }
164
- /** @internal */
165
- addModelLayer(layerTreeRef, context) {
166
- const classifier = context.addPlanarClassifier(`MapLayer ${this.modelId}-${layerTreeRef.layerIndex}`, layerTreeRef);
167
- if (classifier)
168
- this.layerClassifiers.set(layerTreeRef.layerIndex, classifier);
169
- }
170
- /** @internal */
171
153
  collectClassifierGraphics(args, selectedTiles) {
172
154
  super.collectClassifierGraphics(args, selectedTiles);
173
- this.layerClassifiers.forEach((layerClassifier) => {
174
- if (!(args instanceof GraphicsCollectorDrawArgs))
175
- layerClassifier.collectGraphics(args.context, { modelId: this.modelId, tiles: selectedTiles, location: args.location, isPointCloud: this.isPointCloud });
176
- });
155
+ this._layerHandler.collectClassifierGraphics(args, selectedTiles);
177
156
  }
178
157
  /** @internal */
179
158
  clearImageryTreesAndClassifiers() {
180
- this.layerImageryTrees.length = 0;
181
- this._layerSettings.clear();
182
- this._modelIdToIndex.clear();
183
- this.layerClassifiers.clear();
159
+ this._layerHandler.layerImageryTrees.length = 0;
160
+ this._layerHandler.layerSettings.clear();
161
+ this._layerHandler.modelIdToIndex.clear();
162
+ this._layerHandler.layerClassifiers.clear();
184
163
  }
185
164
  /** @internal */
186
165
  get isTransparent() {
@@ -189,6 +168,7 @@ export class MapTileTree extends RealityTileTree {
189
168
  /** @internal */
190
169
  get maxDepth() {
191
170
  let maxDepth = this.loader.maxDepth;
171
+ /** NB: need to use local layerImageTrees because of the order super() is called (before layerHandler exists on this class)! */
192
172
  this.layerImageryTrees?.forEach((layerImageryTree) => maxDepth = Math.max(maxDepth, layerImageryTree.tree.maxDepth));
193
173
  return maxDepth;
194
174
  }
@@ -216,10 +196,6 @@ export class MapTileTree extends RealityTileTree {
216
196
  getChildHeightRange(quadId, rectangle, parent) {
217
197
  return this.mapLoader.getChildHeightRange(quadId, rectangle, parent);
218
198
  }
219
- /** @internal */
220
- clearLayers() {
221
- this._rootTile.clearLayers();
222
- }
223
199
  /** Reprojection does not work with very large tiles so just do linear transform.
224
200
  * @internal
225
201
  */
@@ -472,12 +448,12 @@ export class MapTileTree extends RealityTileTree {
472
448
  }
473
449
  /** @internal */
474
450
  getLayerIndex(imageryTreeId) {
475
- const index = this._modelIdToIndex.get(imageryTreeId);
451
+ const index = this._layerHandler.modelIdToIndex.get(imageryTreeId);
476
452
  return index === undefined ? -1 : index;
477
453
  }
478
454
  /** @internal */
479
455
  getLayerTransparency(imageryTreeId) {
480
- const layerSettings = this._layerSettings.get(imageryTreeId);
456
+ const layerSettings = this._layerHandler.layerSettings.get(imageryTreeId);
481
457
  assert(undefined !== layerSettings);
482
458
  return undefined === layerSettings || !layerSettings.transparency ? 0.0 : layerSettings.transparency;
483
459
  }
@@ -616,64 +592,47 @@ const mapTreeSupplier = new MapTreeSupplier();
616
592
  * @internal
617
593
  */
618
594
  export class MapTileTreeReference extends TileTreeReference {
619
- _baseLayerSettings;
620
- _layerSettings;
621
- isOverlay;
622
595
  _isDrape;
623
596
  _overrideTerrainDisplay;
624
597
  _tileUserId;
625
598
  _settings;
626
- _iModel;
627
- _baseImageryLayerIncluded = false;
628
- _baseColor;
629
- _layerTrees = new Array();
630
- _baseTransparent = false;
631
599
  _symbologyOverrides;
632
600
  _planarClipMask;
633
- constructor(settings, _baseLayerSettings, _layerSettings, iModel, tileUserId, isOverlay, _isDrape, _overrideTerrainDisplay) {
601
+ _layerRefHandler;
602
+ iModel;
603
+ get layerRefHandler() { return this._layerRefHandler; }
604
+ shouldDrapeLayer(layerTreeRef) {
605
+ const mapLayerSettings = layerTreeRef?.layerSettings;
606
+ if (mapLayerSettings && mapLayerSettings instanceof ModelMapLayerSettings)
607
+ return ModelMapLayerDrapeTarget.Globe === mapLayerSettings.drapeTarget;
608
+ return true; // catch-all for other cases (skip reality models, though).
609
+ }
610
+ constructor(settings, baseLayerSettings, layerSettings, iModel, tileUserId, isOverlay, _isDrape, _overrideTerrainDisplay) {
634
611
  super();
635
- this._baseLayerSettings = _baseLayerSettings;
636
- this._layerSettings = _layerSettings;
637
- this.isOverlay = isOverlay;
638
612
  this._isDrape = _isDrape;
639
613
  this._overrideTerrainDisplay = _overrideTerrainDisplay;
614
+ this.iModel = iModel;
640
615
  this._tileUserId = tileUserId;
641
616
  this._settings = settings;
642
- this._iModel = iModel;
643
- let tree;
644
- if (!isOverlay && this._baseLayerSettings !== undefined) {
645
- if (this._baseLayerSettings instanceof MapLayerSettings) {
646
- tree = createMapLayerTreeReference(this._baseLayerSettings, 0, iModel);
647
- this._baseTransparent = this._baseLayerSettings.transparency > 0;
648
- }
649
- else {
650
- this._baseColor = this._baseLayerSettings;
651
- this._baseTransparent = this._baseColor?.getTransparency() > 0;
652
- }
653
- }
654
- if (this._baseImageryLayerIncluded = (undefined !== tree))
655
- this._layerTrees.push(tree);
656
- for (let i = 0; i < this._layerSettings.length; i++)
657
- if (undefined !== (tree = createMapLayerTreeReference(this._layerSettings[i], i + 1, iModel)))
658
- this._layerTrees.push(tree);
659
617
  if (this._settings.planarClipMask && this._settings.planarClipMask.isValid)
660
618
  this._planarClipMask = PlanarClipMaskState.create(this._settings.planarClipMask);
661
619
  if (this._overrideTerrainDisplay && this._overrideTerrainDisplay()?.produceGeometry)
662
620
  this.collectTileGeometry = (collector) => this._collectTileGeometry(collector);
621
+ this._layerRefHandler = new LayerTileTreeReferenceHandler(this, isOverlay, baseLayerSettings, layerSettings);
663
622
  }
664
623
  forEachLayerTileTreeRef(func) {
665
- for (const layerTree of this._layerTrees) {
624
+ for (const layerTree of this._layerRefHandler.layerTrees) {
666
625
  assert(layerTree instanceof MapLayerTileTreeReference);
667
626
  func(layerTree);
668
627
  }
669
628
  }
670
629
  get isGlobal() { return true; }
671
- get baseColor() { return this._baseColor; }
630
+ get baseColor() { return this.baseColor; }
672
631
  get planarClipMaskPriority() { return PlanarClipMaskPriority.BackgroundMap; }
673
632
  _createGeometryTreeReference() {
674
633
  if (!this._settings.applyTerrain || this._isDrape)
675
634
  return undefined; // Don't bother generating non-terrain (flat) geometry.
676
- const ref = new MapTileTreeReference(this._settings, undefined, [], this._iModel, this._tileUserId, false, false, () => {
635
+ const ref = new MapTileTreeReference(this._settings, undefined, [], this.iModel, this._tileUserId, false, false, () => {
677
636
  return { produceGeometry: true };
678
637
  });
679
638
  assert(undefined !== ref.collectTileGeometry);
@@ -686,66 +645,24 @@ export class MapTileTreeReference extends TileTreeReference {
686
645
  this._settings = settings;
687
646
  this._planarClipMask = settings.planarClipMask ? PlanarClipMaskState.create(settings.planarClipMask) : undefined;
688
647
  }
689
- setBaseLayerSettings(baseLayerSettings) {
690
- assert(!this.isOverlay);
691
- let tree;
692
- this._baseLayerSettings = baseLayerSettings;
693
- if (baseLayerSettings instanceof MapLayerSettings) {
694
- tree = createMapLayerTreeReference(baseLayerSettings, 0, this._iModel);
695
- this._baseColor = undefined;
696
- this._baseTransparent = baseLayerSettings.transparency > 0;
697
- }
698
- else {
699
- this._baseColor = baseLayerSettings;
700
- this._baseTransparent = this._baseColor.getTransparency() > 0;
701
- }
702
- if (tree) {
703
- if (this._baseImageryLayerIncluded)
704
- this._layerTrees[0] = tree;
705
- else
706
- this._layerTrees.splice(0, 0, tree);
707
- }
708
- else {
709
- if (this._baseImageryLayerIncluded)
710
- this._layerTrees.shift();
711
- }
712
- this._baseImageryLayerIncluded = tree !== undefined;
713
- this.clearLayers();
714
- }
715
648
  get layerSettings() {
716
- return this._layerSettings;
717
- }
718
- setLayerSettings(layerSettings) {
719
- this._layerSettings = layerSettings;
720
- const baseLayerIndex = this._baseImageryLayerIncluded ? 1 : 0;
721
- this._layerTrees.length = Math.min(layerSettings.length + baseLayerIndex, this._layerTrees.length); // Truncate if number of layers reduced.
722
- for (let i = 0; i < layerSettings.length; i++) {
723
- const treeIndex = i + baseLayerIndex;
724
- if (treeIndex >= this._layerTrees.length || !this._layerTrees[treeIndex]?.layerSettings.displayMatches(layerSettings[i]))
725
- this._layerTrees[treeIndex] = createMapLayerTreeReference(layerSettings[i], treeIndex, this._iModel);
726
- }
727
- this.clearLayers();
728
- }
729
- clearLayers() {
730
- const tree = this.treeOwner.tileTree;
731
- if (undefined !== tree)
732
- tree.clearLayers();
649
+ return this.layerRefHandler.layerSettings;
733
650
  }
734
651
  get castsShadows() {
735
652
  return false;
736
653
  }
737
654
  get _isLoadingComplete() {
738
655
  // Wait until drape tree is fully loaded too.
739
- for (const drapeTree of this._layerTrees)
656
+ for (const drapeTree of this._layerRefHandler.layerTrees)
740
657
  if (drapeTree && !drapeTree.isLoadingComplete)
741
658
  return false;
742
659
  return super._isLoadingComplete;
743
660
  }
744
661
  get useDepthBuffer() {
745
- return !this.isOverlay && (this.settings.applyTerrain || this.settings.useDepthBuffer);
662
+ return !this._layerRefHandler.isOverlay && (this.settings.applyTerrain || this.settings.useDepthBuffer);
746
663
  }
747
664
  get treeOwner() {
748
- let wantSkirts = (this.settings.applyTerrain || this.useDepthBuffer) && !this.settings.transparency && !this._baseTransparent;
665
+ let wantSkirts = (this.settings.applyTerrain || this.useDepthBuffer) && !this.settings.transparency && !this._layerRefHandler.baseTransparent;
749
666
  if (wantSkirts) {
750
667
  const maskTrans = this._planarClipMask?.settings.transparency;
751
668
  wantSkirts = (undefined === maskTrans || maskTrans <= 0);
@@ -763,10 +680,10 @@ export class MapTileTreeReference extends TileTreeReference {
763
680
  // Can set to this.settings.terrainSettings.applyLighting if we want to ever apply lighting to terrain again so that normals are retrieved when lighting is on.
764
681
  wantNormals: false,
765
682
  globeMode: this._isDrape ? GlobeMode.Plane : this.settings.globeMode,
766
- isOverlay: this.isOverlay,
683
+ isOverlay: this._layerRefHandler.isOverlay,
767
684
  useDepthBuffer: this.useDepthBuffer,
768
- baseColor: this._baseColor,
769
- baseTransparent: this._baseTransparent,
685
+ baseColor: this._layerRefHandler.baseColor,
686
+ baseTransparent: this._layerRefHandler.baseTransparent,
770
687
  mapTransparent: Number(this.settings.transparency) > 0,
771
688
  maskModelIds: this._planarClipMask?.settings.compressedModelIds,
772
689
  produceGeometry: false,
@@ -779,12 +696,12 @@ export class MapTileTreeReference extends TileTreeReference {
779
696
  id.produceGeometry = ovr.produceGeometry === true;
780
697
  }
781
698
  }
782
- return this._iModel.tiles.getTileTreeOwner(id, mapTreeSupplier);
699
+ return this.iModel.tiles.getTileTreeOwner(id, mapTreeSupplier);
783
700
  }
784
701
  getLayerImageryTreeRef(index) {
785
- const baseLayerIndex = this._baseImageryLayerIncluded ? 1 : 0;
702
+ const baseLayerIndex = this._layerRefHandler.baseImageryLayerIncluded ? 1 : 0;
786
703
  const treeIndex = index + baseLayerIndex;
787
- return index < 0 || treeIndex >= this._layerTrees.length ? undefined : this._layerTrees[treeIndex];
704
+ return index < 0 || treeIndex >= this._layerRefHandler.layerTrees.length ? undefined : this._layerRefHandler.layerTrees[treeIndex];
788
705
  }
789
706
  /** Return the map-layer scale range visibility for the provided map-layer index.
790
707
  * @internal
@@ -802,58 +719,12 @@ export class MapTileTreeReference extends TileTreeReference {
802
719
  }
803
720
  return MapTileTreeScaleRangeVisibility.Unknown;
804
721
  }
805
- initializeLayers(context) {
806
- let hasLoadedTileTree = false;
807
- const tree = this.treeOwner.load();
808
- if (undefined === tree) {
809
- return hasLoadedTileTree; // Not loaded yet.
810
- }
811
- tree.layerImageryTrees.length = 0;
812
- if (0 === this._layerTrees.length) {
813
- return !this.isOverlay;
814
- }
815
- let treeIndex = this._layerTrees.length - 1;
816
- // Start displaying at the highest completely opaque layer...
817
- for (; treeIndex >= 1; treeIndex--) {
818
- const layerTreeRef = this._layerTrees[treeIndex];
819
- if (layerTreeRef?.isOpaque)
820
- break; // This layer is completely opaque and will obscure all others so ignore lower ones.
821
- }
822
- for (; treeIndex < this._layerTrees.length; treeIndex++) {
823
- const layerTreeRef = this._layerTrees[treeIndex];
824
- const hasValidTileTree = layerTreeRef && TileTreeLoadStatus.NotFound !== layerTreeRef.treeOwner.loadStatus;
825
- const isImageryMapLayer = layerTreeRef instanceof ImageryMapLayerTreeReference;
826
- const isLayerVisible = (isImageryMapLayer || (!isImageryMapLayer && layerTreeRef?.layerSettings.visible));
827
- // Load tile tree for each configured layer.
828
- // Note: Non-visible imagery layer are always added to allow proper tile tree scale range visibility reporting.
829
- if (hasValidTileTree
830
- && isLayerVisible
831
- && !layerTreeRef.layerSettings.allSubLayersInvisible) {
832
- const layerTree = layerTreeRef.treeOwner.load();
833
- if (layerTree !== undefined) {
834
- hasLoadedTileTree = true;
835
- }
836
- else {
837
- // Let's continue, there might be loaded tile tree in the list
838
- continue;
839
- }
840
- // Add loaded TileTree
841
- const baseImageryLayer = this._baseImageryLayerIncluded && (treeIndex === 0);
842
- if (layerTree instanceof ImageryMapTileTree) {
843
- tree.addImageryLayer(layerTree, layerTreeRef.layerSettings, treeIndex, baseImageryLayer);
844
- }
845
- else if (layerTreeRef instanceof ModelMapLayerTileTreeReference)
846
- tree.addModelLayer(layerTreeRef, context);
847
- }
848
- }
849
- return hasLoadedTileTree;
850
- }
851
722
  /** Adds this reference's graphics to the scene. By default this invokes [[TileTree.drawScene]] on the referenced TileTree, if it is loaded. */
852
723
  addToScene(context) {
853
724
  if (!context.viewFlags.backgroundMap)
854
725
  return;
855
726
  const tree = this.treeOwner.load();
856
- if (undefined === tree || !this.initializeLayers(context))
727
+ if (undefined === tree || !this._layerRefHandler.initializeLayers(context))
857
728
  return; // Not loaded yet.
858
729
  if (this._planarClipMask && this._planarClipMask.settings.isValid)
859
730
  context.addPlanarClassifier(tree.modelId, undefined, this._planarClipMask);
@@ -876,7 +747,7 @@ export class MapTileTreeReference extends TileTreeReference {
876
747
  if (undefined === args)
877
748
  return undefined;
878
749
  const tree = this.treeOwner.load();
879
- return new RealityTileDrawArgs(args, args.worldToViewMap, args.frustumPlanes, undefined, tree?.layerClassifiers);
750
+ return new RealityTileDrawArgs(args, args.worldToViewMap, args.frustumPlanes, undefined, tree?.layerHandler.layerClassifiers);
880
751
  }
881
752
  getViewFlagOverrides(_tree) {
882
753
  return createViewFlagOverrides(false, this._settings.applyTerrain ? undefined : false);
@@ -886,7 +757,7 @@ export class MapTileTreeReference extends TileTreeReference {
886
757
  }
887
758
  discloseTileTrees(trees) {
888
759
  super.discloseTileTrees(trees);
889
- for (const imageryTree of this._layerTrees)
760
+ for (const imageryTree of this._layerRefHandler.layerTrees)
890
761
  if (imageryTree)
891
762
  trees.disclose(imageryTree);
892
763
  if (this._planarClipMask)
@@ -897,7 +768,7 @@ export class MapTileTreeReference extends TileTreeReference {
897
768
  const tree = this.treeOwner.tileTree;
898
769
  if (undefined === tree || tree.modelId !== mapTreeModelId)
899
770
  return imageryTrees;
900
- for (const imageryTree of this._layerTrees)
771
+ for (const imageryTree of this._layerRefHandler.layerTrees)
901
772
  if (imageryTree && imageryTree.treeOwner.tileTree && imageryTree.treeOwner.tileTree.modelId === layerTreeModelId)
902
773
  imageryTrees.push(imageryTree);
903
774
  return imageryTrees;
@@ -905,10 +776,10 @@ export class MapTileTreeReference extends TileTreeReference {
905
776
  layerFromTreeModelIds(mapTreeModelId, layerTreeModelId) {
906
777
  const imageryTree = this.imageryTreeFromTreeModelIds(mapTreeModelId, layerTreeModelId);
907
778
  return imageryTree.map((tree) => {
908
- const isBaseLayer = (this._baseImageryLayerIncluded && tree.layerIndex === 0);
779
+ const isBaseLayer = (this._layerRefHandler.baseImageryLayerIncluded && tree.layerIndex === 0);
909
780
  return {
910
781
  isBaseLayer,
911
- index: isBaseLayer ? undefined : { isOverlay: this.isOverlay, index: this._baseImageryLayerIncluded ? tree.layerIndex - 1 : tree.layerIndex },
782
+ index: isBaseLayer ? undefined : { isOverlay: this._layerRefHandler.isOverlay, index: this._layerRefHandler.baseImageryLayerIncluded ? tree.layerIndex - 1 : tree.layerIndex },
912
783
  settings: tree.layerSettings, provider: tree.imageryProvider,
913
784
  };
914
785
  });
@@ -1022,7 +893,7 @@ export class MapTileTreeReference extends TileTreeReference {
1022
893
  if (tree) {
1023
894
  // eslint-disable-next-line @typescript-eslint/no-deprecated
1024
895
  tree.mapLoader.terrainProvider.addLogoCards(cards, vp);
1025
- for (const imageryTreeRef of this._layerTrees) {
896
+ for (const imageryTreeRef of this._layerRefHandler.layerTrees) {
1026
897
  if (imageryTreeRef?.layerSettings.visible) {
1027
898
  const imageryTree = imageryTreeRef.treeOwner.tileTree;
1028
899
  if (imageryTree instanceof ImageryMapTileTree)
@@ -1037,7 +908,7 @@ export class MapTileTreeReference extends TileTreeReference {
1037
908
  const tree = this.treeOwner.tileTree;
1038
909
  if (tree) {
1039
910
  const promises = [tree.mapLoader.terrainProvider.addAttributions(cards, vp)];
1040
- for (const imageryTreeRef of this._layerTrees) {
911
+ for (const imageryTreeRef of this._layerRefHandler.layerTrees) {
1041
912
  if (imageryTreeRef?.layerSettings.visible) {
1042
913
  const imageryTree = imageryTreeRef.treeOwner.tileTree;
1043
914
  if (imageryTree instanceof ImageryMapTileTree)
@@ -1048,7 +919,7 @@ export class MapTileTreeReference extends TileTreeReference {
1048
919
  }
1049
920
  }
1050
921
  decorate(context) {
1051
- for (const layerTree of this._layerTrees) {
922
+ for (const layerTree of this._layerRefHandler.layerTrees) {
1052
923
  if (layerTree)
1053
924
  layerTree.decorate(context);
1054
925
  }