@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
@@ -6,10 +6,10 @@
6
6
  * @module MapLayers
7
7
  */
8
8
  import { compareStrings } from "@itwin/core-bentley";
9
+ import { BackgroundMapProvider, BackgroundMapType, BaseMapLayerSettings, ImageMapLayerSettings, } from "@itwin/core-common";
9
10
  import { Point2d } from "@itwin/core-geometry";
10
- import { BackgroundMapProvider, BackgroundMapType, BaseMapLayerSettings, MapLayerSettings, } from "@itwin/core-common";
11
- import { getJson } from "../../request/Request";
12
11
  import { IModelApp } from "../../IModelApp";
12
+ import { getJson } from "../../request/Request";
13
13
  import { ArcGisUtilities, MapCartoRectangle } from "../internal";
14
14
  /** @internal */
15
15
  export var MapLayerSourceStatus;
@@ -60,8 +60,10 @@ export class MapLayerSource {
60
60
  }
61
61
  toLayerSettings(subLayers) {
62
62
  // When MapLayerSetting is created from a MapLayerSource, sub-layers and credentials need to be set separately.
63
- const layerSettings = MapLayerSettings.fromJSON({ ...this, subLayers });
64
- layerSettings === null || layerSettings === void 0 ? void 0 : layerSettings.setCredentials(this.userName, this.password);
63
+ const layerSettings = ImageMapLayerSettings.fromJSON({ ...this, subLayers });
64
+ if (this.userName !== undefined || this.password !== undefined) {
65
+ layerSettings === null || layerSettings === void 0 ? void 0 : layerSettings.setCredentials(this.userName, this.password);
66
+ }
65
67
  return layerSettings;
66
68
  }
67
69
  getCredentials() {
@@ -1 +1 @@
1
- {"version":3,"file":"MapLayerSources.js","sourceRoot":"","sources":["../../../../src/tile/map/MapLayerSources.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module MapLayers\r\n */\r\n\r\nimport { compareStrings } from \"@itwin/core-bentley\";\r\nimport { Point2d } from \"@itwin/core-geometry\";\r\nimport {\r\n BackgroundMapProvider, BackgroundMapType, BaseMapLayerSettings, DeprecatedBackgroundMapProps, MapLayerSettings, MapSubLayerProps,\r\n} from \"@itwin/core-common\";\r\nimport { getJson, RequestBasicCredentials } from \"../../request/Request\";\r\nimport { IModelApp } from \"../../IModelApp\";\r\nimport { IModelConnection } from \"../../IModelConnection\";\r\n\r\nimport { ArcGisUtilities, MapCartoRectangle, MapLayerSourceValidation } from \"../internal\";\r\n\r\n/** @internal */\r\nexport enum MapLayerSourceStatus {\r\n Valid,\r\n InvalidCredentials,\r\n InvalidFormat,\r\n InvalidTileTree,\r\n InvalidUrl,\r\n RequireAuth,\r\n}\r\n\r\n/** JSON representation of a map layer source.\r\n * @internal\r\n */\r\ninterface MapLayerSourceProps {\r\n /** Identifies the map layers source. Defaults to 'WMS'. */\r\n formatId?: string;\r\n /** Name */\r\n name: string;\r\n /** URL */\r\n url: string;\r\n /** True to indicate background is transparent. Defaults to 'true'. */\r\n transparentBackground?: boolean;\r\n /** Is a base layer. Defaults to 'false'. */\r\n isBase?: boolean;\r\n /** Indicate if this source definition should be used as a base map. Defaults to false. */\r\n baseMap?: boolean;\r\n /** UserName */\r\n userName?: string;\r\n /** Password */\r\n password?: string;\r\n}\r\n\r\n/** A source for map layers. These may be catalogued for convenient use by users or applications.\r\n * @internal\r\n */\r\nexport class MapLayerSource {\r\n public formatId: string;\r\n public name: string;\r\n public url: string;\r\n public baseMap = false;\r\n public transparentBackground?: boolean;\r\n public userName?: string;\r\n public password?: string;\r\n\r\n private constructor(formatId = \"WMS\", name: string, url: string, baseMap = false, transparentBackground = true, userName?: string, password?: string) {\r\n this.formatId = formatId;\r\n this.name = name;\r\n this.url = url;\r\n this.baseMap = baseMap;\r\n this.transparentBackground = transparentBackground;\r\n this.userName = userName;\r\n this.password = password;\r\n }\r\n\r\n public static fromJSON(json: MapLayerSourceProps): MapLayerSource | undefined {\r\n if (json === undefined)\r\n return undefined;\r\n\r\n return new MapLayerSource(json.formatId, json.name, json.url, json.baseMap, json.transparentBackground, json.userName, json.password);\r\n }\r\n\r\n public async validateSource(ignoreCache?: boolean): Promise<MapLayerSourceValidation> {\r\n return IModelApp.mapLayerFormatRegistry.validateSource(this.formatId, this.url, this.getCredentials(), ignoreCache);\r\n }\r\n public static fromBackgroundMapProps(props: DeprecatedBackgroundMapProps) {\r\n const provider = BackgroundMapProvider.fromBackgroundMapProps(props);\r\n const layerSettings = BaseMapLayerSettings.fromProvider(provider);\r\n if (undefined !== layerSettings) {\r\n const source = MapLayerSource.fromJSON(layerSettings);\r\n if (source) {\r\n source.baseMap = true;\r\n return source;\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n public toJSON() {\r\n return { url: this.url, name: this.name, formatId: this.formatId, transparentBackground: this.transparentBackground };\r\n }\r\n\r\n public toLayerSettings(subLayers?: MapSubLayerProps[]): MapLayerSettings | undefined {\r\n // When MapLayerSetting is created from a MapLayerSource, sub-layers and credentials need to be set separately.\r\n const layerSettings = MapLayerSettings.fromJSON({ ...this, subLayers });\r\n layerSettings?.setCredentials(this.userName, this.password);\r\n return layerSettings;\r\n }\r\n\r\n private getCredentials(): RequestBasicCredentials | undefined {\r\n return this.userName && this.password ? { user: this.userName, password: this.password } : undefined;\r\n }\r\n}\r\n\r\n/** A collection of [[MapLayerSource]] objects.\r\n * @internal\r\n */\r\nexport class MapLayerSources {\r\n private static _instance?: MapLayerSources;\r\n private constructor(private _sources: MapLayerSource[]) { }\r\n\r\n public static getInstance() { return MapLayerSources._instance; }\r\n\r\n public findByName(name: string, baseMap: boolean = false): MapLayerSource | undefined {\r\n const nameTest = name.toLowerCase();\r\n for (const source of this._sources)\r\n if (source.baseMap === baseMap && source.name.toLowerCase().indexOf(nameTest) !== -1)\r\n return source;\r\n\r\n return undefined;\r\n }\r\n public get layers(): MapLayerSource[] {\r\n const layers = new Array<MapLayerSource>();\r\n this._sources.forEach((source) => { if (!source.baseMap) layers.push(source); });\r\n return layers;\r\n }\r\n public get allSource() { return this._sources; }\r\n public get bases(): MapLayerSource[] {\r\n const layers = new Array<MapLayerSource>();\r\n this._sources.forEach((source) => { if (source.baseMap) layers.push(source); });\r\n return layers;\r\n }\r\n\r\n private static getBingMapLayerSource(): MapLayerSource[] {\r\n const mapLayerSources: MapLayerSource[] = [];\r\n mapLayerSources.push(MapLayerSource.fromBackgroundMapProps({ providerName: \"BingProvider\", providerData: { mapType: BackgroundMapType.Street } })!);\r\n mapLayerSources.push(MapLayerSource.fromBackgroundMapProps({ providerName: \"BingProvider\", providerData: { mapType: BackgroundMapType.Aerial } })!);\r\n mapLayerSources.push(MapLayerSource.fromBackgroundMapProps({ providerName: \"BingProvider\", providerData: { mapType: BackgroundMapType.Hybrid } })!);\r\n return mapLayerSources;\r\n }\r\n\r\n private static getMapBoxLayerSource(): MapLayerSource[] {\r\n const mapLayerSources: MapLayerSource[] = [];\r\n mapLayerSources.push(MapLayerSource.fromBackgroundMapProps({ providerName: \"MapBoxProvider\", providerData: { mapType: BackgroundMapType.Street } })!);\r\n mapLayerSources.push(MapLayerSource.fromBackgroundMapProps({ providerName: \"MapBoxProvider\", providerData: { mapType: BackgroundMapType.Aerial } })!);\r\n mapLayerSources.push(MapLayerSource.fromBackgroundMapProps({ providerName: \"MapBoxProvider\", providerData: { mapType: BackgroundMapType.Hybrid } })!);\r\n return mapLayerSources;\r\n }\r\n\r\n public static async create(iModel?: IModelConnection, queryForPublicSources = false, addMapBoxSources = false): Promise<MapLayerSources> {\r\n if (!queryForPublicSources && MapLayerSources._instance)\r\n return MapLayerSources._instance;\r\n\r\n if (!iModel)\r\n iModel = IModelApp.viewManager.selectedView ? IModelApp.viewManager.selectedView.iModel : undefined;\r\n\r\n let sourceRange = MapCartoRectangle.create();\r\n if (iModel) {\r\n const projectCenter = iModel.projectExtents.localXYZToWorld(.5, .5, .5)!;\r\n const cartoCenter = iModel.spatialToCartographicFromEcef(projectCenter);\r\n const globeRange = MapCartoRectangle.create();\r\n const nearDelta = Point2d.create(globeRange.xLength() / 100, globeRange.yLength() / 100);\r\n sourceRange = MapCartoRectangle.create(cartoCenter.longitude - nearDelta.x, cartoCenter.latitude - nearDelta.y, cartoCenter.longitude + nearDelta.x, cartoCenter.latitude + nearDelta.y);\r\n }\r\n\r\n const sources = new Array<MapLayerSource>();\r\n const urlSet = new Set<string>();\r\n const addSource = ((source: MapLayerSource) => {\r\n if (!urlSet.has(source.url)) {\r\n sources.push(source);\r\n urlSet.add(source.url);\r\n }\r\n });\r\n\r\n this.getBingMapLayerSource().forEach((source) => {\r\n addSource(source);\r\n });\r\n\r\n if (addMapBoxSources) {\r\n this.getMapBoxLayerSource().forEach((source) => {\r\n addSource(source);\r\n });\r\n }\r\n\r\n if (queryForPublicSources) {\r\n const sourcesJson = await getJson(`${IModelApp.publicPath}assets/MapLayerSources.json`);\r\n\r\n for (const sourceJson of sourcesJson) {\r\n const source = MapLayerSource.fromJSON(sourceJson);\r\n if (source)\r\n addSource(source);\r\n }\r\n\r\n (await ArcGisUtilities.getSourcesFromQuery(sourceRange)).forEach((queriedSource) => addSource(queriedSource));\r\n }\r\n\r\n sources.sort((a: MapLayerSource, b: MapLayerSource) => compareStrings(a.name.toLowerCase(), b.name.toLowerCase()));\r\n\r\n const mapLayerSources = new MapLayerSources(sources);\r\n MapLayerSources._instance = mapLayerSources;\r\n\r\n return mapLayerSources;\r\n }\r\n public static async addSourceToMapLayerSources(mapLayerSource?: MapLayerSource): Promise<MapLayerSources | undefined> {\r\n if (!MapLayerSources._instance || !mapLayerSource) {\r\n return undefined;\r\n }\r\n MapLayerSources._instance._sources = MapLayerSources._instance._sources.filter((source) => {\r\n return !(source.name === mapLayerSource.name || source.url === mapLayerSource.url);\r\n });\r\n\r\n MapLayerSources._instance._sources.push(mapLayerSource);\r\n MapLayerSources._instance._sources.sort((a: MapLayerSource, b: MapLayerSource) => compareStrings(a.name.toLowerCase(), b.name.toLowerCase()));\r\n return MapLayerSources._instance;\r\n }\r\n\r\n public static removeLayerByName(name: string): boolean {\r\n if (!MapLayerSources._instance) {\r\n return false;\r\n }\r\n\r\n // For now we only rely on the name\r\n const lengthBeforeRemove = MapLayerSources._instance._sources.length;\r\n MapLayerSources._instance._sources = MapLayerSources._instance._sources.filter((source) => {\r\n return (source.name !== name);\r\n });\r\n return (lengthBeforeRemove !== MapLayerSources._instance._sources.length);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"MapLayerSources.js","sourceRoot":"","sources":["../../../../src/tile/map/MapLayerSources.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module MapLayers\r\n */\r\n\r\nimport { compareStrings } from \"@itwin/core-bentley\";\r\nimport {\r\n BackgroundMapProvider, BackgroundMapType, BaseMapLayerSettings, DeprecatedBackgroundMapProps, ImageMapLayerSettings, MapSubLayerProps,\r\n} from \"@itwin/core-common\";\r\nimport { Point2d } from \"@itwin/core-geometry\";\r\nimport { IModelApp } from \"../../IModelApp\";\r\nimport { IModelConnection } from \"../../IModelConnection\";\r\nimport { getJson, RequestBasicCredentials } from \"../../request/Request\";\r\nimport { ArcGisUtilities, MapCartoRectangle, MapLayerSourceValidation } from \"../internal\";\r\n\r\n/** @internal */\r\nexport enum MapLayerSourceStatus {\r\n Valid,\r\n InvalidCredentials,\r\n InvalidFormat,\r\n InvalidTileTree,\r\n InvalidUrl,\r\n RequireAuth,\r\n}\r\n\r\n/** JSON representation of a map layer source.\r\n * @internal\r\n */\r\ninterface MapLayerSourceProps {\r\n /** Identifies the map layers source. Defaults to 'WMS'. */\r\n formatId?: string;\r\n /** Name */\r\n name: string;\r\n /** URL */\r\n url: string;\r\n /** True to indicate background is transparent. Defaults to 'true'. */\r\n transparentBackground?: boolean;\r\n /** Is a base layer. Defaults to 'false'. */\r\n isBase?: boolean;\r\n /** Indicate if this source definition should be used as a base map. Defaults to false. */\r\n baseMap?: boolean;\r\n /** UserName */\r\n userName?: string;\r\n /** Password */\r\n password?: string;\r\n}\r\n\r\n/** A source for map layers. These may be catalogued for convenient use by users or applications.\r\n * @internal\r\n */\r\nexport class MapLayerSource {\r\n public formatId: string;\r\n public name: string;\r\n public url: string;\r\n public baseMap = false;\r\n public transparentBackground?: boolean;\r\n public userName?: string;\r\n public password?: string;\r\n\r\n private constructor(formatId = \"WMS\", name: string, url: string, baseMap = false, transparentBackground = true, userName?: string, password?: string) {\r\n this.formatId = formatId;\r\n this.name = name;\r\n this.url = url;\r\n this.baseMap = baseMap;\r\n this.transparentBackground = transparentBackground;\r\n this.userName = userName;\r\n this.password = password;\r\n }\r\n\r\n public static fromJSON(json: MapLayerSourceProps): MapLayerSource | undefined {\r\n if (json === undefined)\r\n return undefined;\r\n\r\n return new MapLayerSource(json.formatId, json.name, json.url, json.baseMap, json.transparentBackground, json.userName, json.password);\r\n }\r\n\r\n public async validateSource(ignoreCache?: boolean): Promise<MapLayerSourceValidation> {\r\n return IModelApp.mapLayerFormatRegistry.validateSource(this.formatId, this.url, this.getCredentials(), ignoreCache);\r\n }\r\n public static fromBackgroundMapProps(props: DeprecatedBackgroundMapProps) {\r\n const provider = BackgroundMapProvider.fromBackgroundMapProps(props);\r\n const layerSettings = BaseMapLayerSettings.fromProvider(provider);\r\n if (undefined !== layerSettings) {\r\n const source = MapLayerSource.fromJSON(layerSettings);\r\n if (source) {\r\n source.baseMap = true;\r\n return source;\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n public toJSON() {\r\n return { url: this.url, name: this.name, formatId: this.formatId, transparentBackground: this.transparentBackground };\r\n }\r\n\r\n public toLayerSettings(subLayers?: MapSubLayerProps[]): ImageMapLayerSettings | undefined {\r\n // When MapLayerSetting is created from a MapLayerSource, sub-layers and credentials need to be set separately.\r\n const layerSettings = ImageMapLayerSettings.fromJSON({ ...this, subLayers });\r\n if (this.userName !== undefined || this.password !== undefined) {\r\n layerSettings?.setCredentials(this.userName, this.password);\r\n }\r\n\r\n return layerSettings;\r\n }\r\n\r\n private getCredentials(): RequestBasicCredentials | undefined {\r\n return this.userName && this.password ? { user: this.userName, password: this.password } : undefined;\r\n }\r\n}\r\n\r\n/** A collection of [[MapLayerSource]] objects.\r\n * @internal\r\n */\r\nexport class MapLayerSources {\r\n private static _instance?: MapLayerSources;\r\n private constructor(private _sources: MapLayerSource[]) { }\r\n\r\n public static getInstance() { return MapLayerSources._instance; }\r\n\r\n public findByName(name: string, baseMap: boolean = false): MapLayerSource | undefined {\r\n const nameTest = name.toLowerCase();\r\n for (const source of this._sources)\r\n if (source.baseMap === baseMap && source.name.toLowerCase().indexOf(nameTest) !== -1)\r\n return source;\r\n\r\n return undefined;\r\n }\r\n public get layers(): MapLayerSource[] {\r\n const layers = new Array<MapLayerSource>();\r\n this._sources.forEach((source) => { if (!source.baseMap) layers.push(source); });\r\n return layers;\r\n }\r\n public get allSource() { return this._sources; }\r\n public get bases(): MapLayerSource[] {\r\n const layers = new Array<MapLayerSource>();\r\n this._sources.forEach((source) => { if (source.baseMap) layers.push(source); });\r\n return layers;\r\n }\r\n\r\n private static getBingMapLayerSource(): MapLayerSource[] {\r\n const mapLayerSources: MapLayerSource[] = [];\r\n mapLayerSources.push(MapLayerSource.fromBackgroundMapProps({ providerName: \"BingProvider\", providerData: { mapType: BackgroundMapType.Street } })!);\r\n mapLayerSources.push(MapLayerSource.fromBackgroundMapProps({ providerName: \"BingProvider\", providerData: { mapType: BackgroundMapType.Aerial } })!);\r\n mapLayerSources.push(MapLayerSource.fromBackgroundMapProps({ providerName: \"BingProvider\", providerData: { mapType: BackgroundMapType.Hybrid } })!);\r\n return mapLayerSources;\r\n }\r\n\r\n private static getMapBoxLayerSource(): MapLayerSource[] {\r\n const mapLayerSources: MapLayerSource[] = [];\r\n mapLayerSources.push(MapLayerSource.fromBackgroundMapProps({ providerName: \"MapBoxProvider\", providerData: { mapType: BackgroundMapType.Street } })!);\r\n mapLayerSources.push(MapLayerSource.fromBackgroundMapProps({ providerName: \"MapBoxProvider\", providerData: { mapType: BackgroundMapType.Aerial } })!);\r\n mapLayerSources.push(MapLayerSource.fromBackgroundMapProps({ providerName: \"MapBoxProvider\", providerData: { mapType: BackgroundMapType.Hybrid } })!);\r\n return mapLayerSources;\r\n }\r\n\r\n public static async create(iModel?: IModelConnection, queryForPublicSources = false, addMapBoxSources = false): Promise<MapLayerSources> {\r\n if (!queryForPublicSources && MapLayerSources._instance)\r\n return MapLayerSources._instance;\r\n\r\n if (!iModel)\r\n iModel = IModelApp.viewManager.selectedView ? IModelApp.viewManager.selectedView.iModel : undefined;\r\n\r\n let sourceRange = MapCartoRectangle.create();\r\n if (iModel) {\r\n const projectCenter = iModel.projectExtents.localXYZToWorld(.5, .5, .5)!;\r\n const cartoCenter = iModel.spatialToCartographicFromEcef(projectCenter);\r\n const globeRange = MapCartoRectangle.create();\r\n const nearDelta = Point2d.create(globeRange.xLength() / 100, globeRange.yLength() / 100);\r\n sourceRange = MapCartoRectangle.create(cartoCenter.longitude - nearDelta.x, cartoCenter.latitude - nearDelta.y, cartoCenter.longitude + nearDelta.x, cartoCenter.latitude + nearDelta.y);\r\n }\r\n\r\n const sources = new Array<MapLayerSource>();\r\n const urlSet = new Set<string>();\r\n const addSource = ((source: MapLayerSource) => {\r\n if (!urlSet.has(source.url)) {\r\n sources.push(source);\r\n urlSet.add(source.url);\r\n }\r\n });\r\n\r\n this.getBingMapLayerSource().forEach((source) => {\r\n addSource(source);\r\n });\r\n\r\n if (addMapBoxSources) {\r\n this.getMapBoxLayerSource().forEach((source) => {\r\n addSource(source);\r\n });\r\n }\r\n\r\n if (queryForPublicSources) {\r\n const sourcesJson = await getJson(`${IModelApp.publicPath}assets/MapLayerSources.json`);\r\n\r\n for (const sourceJson of sourcesJson) {\r\n const source = MapLayerSource.fromJSON(sourceJson);\r\n if (source)\r\n addSource(source);\r\n }\r\n\r\n (await ArcGisUtilities.getSourcesFromQuery(sourceRange)).forEach((queriedSource) => addSource(queriedSource));\r\n }\r\n\r\n sources.sort((a: MapLayerSource, b: MapLayerSource) => compareStrings(a.name.toLowerCase(), b.name.toLowerCase()));\r\n\r\n const mapLayerSources = new MapLayerSources(sources);\r\n MapLayerSources._instance = mapLayerSources;\r\n\r\n return mapLayerSources;\r\n }\r\n public static async addSourceToMapLayerSources(mapLayerSource?: MapLayerSource): Promise<MapLayerSources | undefined> {\r\n if (!MapLayerSources._instance || !mapLayerSource) {\r\n return undefined;\r\n }\r\n MapLayerSources._instance._sources = MapLayerSources._instance._sources.filter((source) => {\r\n return !(source.name === mapLayerSource.name || source.url === mapLayerSource.url);\r\n });\r\n\r\n MapLayerSources._instance._sources.push(mapLayerSource);\r\n MapLayerSources._instance._sources.sort((a: MapLayerSource, b: MapLayerSource) => compareStrings(a.name.toLowerCase(), b.name.toLowerCase()));\r\n return MapLayerSources._instance;\r\n }\r\n\r\n public static removeLayerByName(name: string): boolean {\r\n if (!MapLayerSources._instance) {\r\n return false;\r\n }\r\n\r\n // For now we only rely on the name\r\n const lengthBeforeRemove = MapLayerSources._instance._sources.length;\r\n MapLayerSources._instance._sources = MapLayerSources._instance._sources.filter((source) => {\r\n return (source.name !== name);\r\n });\r\n return (lengthBeforeRemove !== MapLayerSources._instance._sources.length);\r\n }\r\n}\r\n"]}
@@ -3,16 +3,24 @@
3
3
  */
4
4
  import { MapLayerSettings } from "@itwin/core-common";
5
5
  import { HitDetail } from "../../HitDetail";
6
+ import { IModelConnection } from "../../IModelConnection";
6
7
  import { MapLayerImageryProvider, TileTreeReference } from "../internal";
7
8
  /** @internal */
8
9
  export declare abstract class MapLayerTileTreeReference extends TileTreeReference {
9
10
  protected _layerSettings: MapLayerSettings;
10
11
  protected _layerIndex: number;
11
- constructor(_layerSettings: MapLayerSettings, _layerIndex: number);
12
+ iModel: IModelConnection;
13
+ constructor(_layerSettings: MapLayerSettings, _layerIndex: number, iModel: IModelConnection);
12
14
  protected get _transparency(): number | undefined;
13
- protected get _imageryProvider(): MapLayerImageryProvider | undefined;
15
+ get isOpaque(): boolean;
16
+ get layerName(): string;
17
+ get imageryProvider(): MapLayerImageryProvider | undefined;
14
18
  set layerSettings(layerSettings: MapLayerSettings);
15
19
  get layerSettings(): MapLayerSettings;
20
+ get layerIndex(): number;
21
+ get transparency(): number | undefined;
16
22
  getToolTip(hit: HitDetail): Promise<HTMLElement | string | undefined>;
17
23
  }
24
+ /** @internal */
25
+ export declare function createMapLayerTreeReference(layerSettings: MapLayerSettings, layerIndex: number, iModel: IModelConnection): MapLayerTileTreeReference | undefined;
18
26
  //# sourceMappingURL=MapLayerTileTreeReference.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MapLayerTileTreeReference.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/MapLayerTileTreeReference.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEzE,iBAAiB;AACjB,8BAAsB,yBAA0B,SAAQ,iBAAiB;IAC3D,SAAS,CAAC,cAAc,EAAE,gBAAgB;IAAE,SAAS,CAAC,WAAW,EAAE,MAAM;gBAA/D,cAAc,EAAE,gBAAgB,EAAY,WAAW,EAAE,MAAM;IAGrF,SAAS,KAAK,aAAa,uBAA8F;IACzH,SAAS,KAAK,gBAAgB,IAAI,uBAAuB,GAAG,SAAS,CAAsB;IAC3F,IAAW,aAAa,CAAC,aAAa,EAAE,gBAAgB,EAA0C;IAClG,IAAW,aAAa,IAAI,gBAAgB,CAAgC;IACtD,UAAU,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;CAW5F"}
1
+ {"version":3,"file":"MapLayerTileTreeReference.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/MapLayerTileTreeReference.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAyB,gBAAgB,EAAyB,MAAM,oBAAoB,CAAC;AACpG,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAwC,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE/G,iBAAiB;AACjB,8BAAsB,yBAA0B,SAAQ,iBAAiB;IAC3D,SAAS,CAAC,cAAc,EAAE,gBAAgB;IAAE,SAAS,CAAC,WAAW,EAAE,MAAM;IAAS,MAAM,EAAE,gBAAgB;gBAAhG,cAAc,EAAE,gBAAgB,EAAY,WAAW,EAAE,MAAM,EAAS,MAAM,EAAE,gBAAgB;IAGtH,SAAS,KAAK,aAAa,uBAA8F;IAEzH,IAAW,QAAQ,YAElB;IACD,IAAW,SAAS,WAAuC;IAC3D,IAAW,eAAe,IAAI,uBAAuB,GAAG,SAAS,CAAsB;IACvF,IAAW,aAAa,CAAC,aAAa,EAAE,gBAAgB,EAA0C;IAClG,IAAW,aAAa,IAAI,gBAAgB,CAAgC;IAC5E,IAAW,UAAU,IAAI,MAAM,CAA6B;IAC5D,IAAW,YAAY,uBAAiC;IAClC,UAAU,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;CAW5F;AAED,iBAAiB;AACjB,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,yBAAyB,GAAG,SAAS,CAShK"}
@@ -5,18 +5,28 @@
5
5
  /** @packageDocumentation
6
6
  * @module Tiles
7
7
  */
8
- import { TileTreeReference } from "../internal";
8
+ import { assert } from "@itwin/core-bentley";
9
+ import { ImageMapLayerSettings, ModelMapLayerSettings } from "@itwin/core-common";
10
+ import { IModelApp } from "../../IModelApp";
11
+ import { createModelMapLayerTileTreeReference, TileTreeReference } from "../internal";
9
12
  /** @internal */
10
13
  export class MapLayerTileTreeReference extends TileTreeReference {
11
- constructor(_layerSettings, _layerIndex) {
14
+ constructor(_layerSettings, _layerIndex, iModel) {
12
15
  super();
13
16
  this._layerSettings = _layerSettings;
14
17
  this._layerIndex = _layerIndex;
18
+ this.iModel = iModel;
15
19
  }
16
20
  get _transparency() { return this._layerSettings.transparency ? this._layerSettings.transparency : undefined; }
17
- get _imageryProvider() { return undefined; } // We don't use MapTileTreeReference TreeSupplier...
21
+ get isOpaque() {
22
+ return this._layerSettings.visible && (!this._layerSettings.allSubLayersInvisible) && !this._layerSettings.transparentBackground && 0 === this._layerSettings.transparency;
23
+ }
24
+ get layerName() { return this._layerSettings.name; }
25
+ get imageryProvider() { return undefined; }
18
26
  set layerSettings(layerSettings) { this._layerSettings = layerSettings; }
19
27
  get layerSettings() { return this._layerSettings; }
28
+ get layerIndex() { return this._layerIndex; }
29
+ get transparency() { return this._transparency; }
20
30
  async getToolTip(hit) {
21
31
  const tree = this.treeOwner.tileTree;
22
32
  if (undefined === tree || hit.iModel !== tree.iModel || tree.modelId !== hit.sourceId)
@@ -28,4 +38,16 @@ export class MapLayerTileTreeReference extends TileTreeReference {
28
38
  return div;
29
39
  }
30
40
  }
41
+ /** @internal */
42
+ export function createMapLayerTreeReference(layerSettings, layerIndex, iModel) {
43
+ if (layerSettings instanceof ModelMapLayerSettings) {
44
+ return createModelMapLayerTileTreeReference(layerSettings, layerIndex, iModel);
45
+ }
46
+ else if (layerSettings instanceof ImageMapLayerSettings)
47
+ return IModelApp.mapLayerFormatRegistry.createImageryMapLayerTree(layerSettings, layerIndex, iModel);
48
+ else {
49
+ assert(false);
50
+ return undefined;
51
+ }
52
+ }
31
53
  //# sourceMappingURL=MapLayerTileTreeReference.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MapLayerTileTreeReference.js","sourceRoot":"","sources":["../../../../src/tile/map/MapLayerTileTreeReference.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAIH,OAAO,EAA2B,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEzE,iBAAiB;AACjB,MAAM,OAAgB,yBAA0B,SAAQ,iBAAiB;IACvE,YAAsB,cAAgC,EAAY,WAAmB;QACnF,KAAK,EAAE,CAAC;QADY,mBAAc,GAAd,cAAc,CAAkB;QAAY,gBAAW,GAAX,WAAW,CAAQ;IAErF,CAAC;IACD,IAAc,aAAa,KAAK,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACzH,IAAc,gBAAgB,KAA0C,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,oDAAoD;IAChJ,IAAW,aAAa,CAAC,aAA+B,IAAI,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC;IAClG,IAAW,aAAa,KAAuB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAC5D,KAAK,CAAC,UAAU,CAAC,GAAc;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;QACrC,IAAI,SAAS,KAAK,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,QAAQ;YACnF,OAAO,SAAS,CAAC;QAEnB,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,OAAO,GAAG,CAAC;IACb,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { MapLayerSettings } from \"@itwin/core-common\";\r\nimport { HitDetail } from \"../../HitDetail\";\r\nimport { MapLayerImageryProvider, TileTreeReference } from \"../internal\";\r\n\r\n/** @internal */\r\nexport abstract class MapLayerTileTreeReference extends TileTreeReference {\r\n constructor(protected _layerSettings: MapLayerSettings, protected _layerIndex: number) {\r\n super();\r\n }\r\n protected get _transparency() { return this._layerSettings.transparency ? this._layerSettings.transparency : undefined; }\r\n protected get _imageryProvider(): MapLayerImageryProvider | undefined { return undefined; } // We don't use MapTileTreeReference TreeSupplier...\r\n public set layerSettings(layerSettings: MapLayerSettings) { this._layerSettings = layerSettings; }\r\n public get layerSettings(): MapLayerSettings { return this._layerSettings; }\r\n public override async getToolTip(hit: HitDetail): Promise<HTMLElement | string | undefined> {\r\n const tree = this.treeOwner.tileTree;\r\n if (undefined === tree || hit.iModel !== tree.iModel || tree.modelId !== hit.sourceId)\r\n return undefined;\r\n\r\n const strings = [];\r\n strings.push(`Map Layer: ${this._layerSettings.name}`);\r\n const div = document.createElement(\"div\");\r\n div.innerHTML = strings.join(\"<br>\");\r\n return div;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"MapLayerTileTreeReference.js","sourceRoot":"","sources":["../../../../src/tile/map/MapLayerTileTreeReference.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAoB,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEpG,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,oCAAoC,EAA2B,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE/G,iBAAiB;AACjB,MAAM,OAAgB,yBAA0B,SAAQ,iBAAiB;IACvE,YAAsB,cAAgC,EAAY,WAAmB,EAAS,MAAwB;QACpH,KAAK,EAAE,CAAC;QADY,mBAAc,GAAd,cAAc,CAAkB;QAAY,gBAAW,GAAX,WAAW,CAAQ;QAAS,WAAM,GAAN,MAAM,CAAkB;IAEtH,CAAC;IACD,IAAc,aAAa,KAAK,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAEzH,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,qBAAqB,IAAI,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;IAC7K,CAAC;IACD,IAAW,SAAS,KAAK,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,IAAW,eAAe,KAA0C,OAAO,SAAS,CAAC,CAAC,CAAC;IACvF,IAAW,aAAa,CAAC,aAA+B,IAAI,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC;IAClG,IAAW,aAAa,KAAuB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAC5E,IAAW,UAAU,KAAa,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5D,IAAW,YAAY,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACxC,KAAK,CAAC,UAAU,CAAC,GAAc;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;QACrC,IAAI,SAAS,KAAK,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,QAAQ;YACnF,OAAO,SAAS,CAAC;QAEnB,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,iBAAiB;AACjB,MAAM,UAAU,2BAA2B,CAAC,aAA+B,EAAE,UAAkB,EAAE,MAAwB;IACvH,IAAI,aAAa,YAAY,qBAAqB,EAAE;QAClD,OAAO,oCAAoC,CAAC,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;KAChF;SAAM,IAAI,aAAa,YAAY,qBAAqB;QACvD,OAAO,SAAS,CAAC,sBAAsB,CAAC,yBAAyB,CAAC,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;SAClG;QACH,MAAM,CAAE,KAAK,CAAC,CAAC;QACf,OAAO,SAAS,CAAC;KAClB;AACH,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport { ImageMapLayerSettings, MapLayerSettings, ModelMapLayerSettings } from \"@itwin/core-common\";\r\nimport { HitDetail } from \"../../HitDetail\";\r\nimport { IModelApp } from \"../../IModelApp\";\r\nimport { IModelConnection } from \"../../IModelConnection\";\r\nimport { createModelMapLayerTileTreeReference, MapLayerImageryProvider, TileTreeReference } from \"../internal\";\r\n\r\n/** @internal */\r\nexport abstract class MapLayerTileTreeReference extends TileTreeReference {\r\n constructor(protected _layerSettings: MapLayerSettings, protected _layerIndex: number, public iModel: IModelConnection) {\r\n super();\r\n }\r\n protected get _transparency() { return this._layerSettings.transparency ? this._layerSettings.transparency : undefined; }\r\n\r\n public get isOpaque() {\r\n return this._layerSettings.visible && (!this._layerSettings.allSubLayersInvisible) && !this._layerSettings.transparentBackground && 0 === this._layerSettings.transparency;\r\n }\r\n public get layerName() { return this._layerSettings.name; }\r\n public get imageryProvider(): MapLayerImageryProvider | undefined { return undefined; }\r\n public set layerSettings(layerSettings: MapLayerSettings) { this._layerSettings = layerSettings; }\r\n public get layerSettings(): MapLayerSettings { return this._layerSettings; }\r\n public get layerIndex(): number { return this._layerIndex; }\r\n public get transparency() { return this._transparency; }\r\n public override async getToolTip(hit: HitDetail): Promise<HTMLElement | string | undefined> {\r\n const tree = this.treeOwner.tileTree;\r\n if (undefined === tree || hit.iModel !== tree.iModel || tree.modelId !== hit.sourceId)\r\n return undefined;\r\n\r\n const strings = [];\r\n strings.push(`Map Layer: ${this._layerSettings.name}`);\r\n const div = document.createElement(\"div\");\r\n div.innerHTML = strings.join(\"<br>\");\r\n return div;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport function createMapLayerTreeReference(layerSettings: MapLayerSettings, layerIndex: number, iModel: IModelConnection): MapLayerTileTreeReference | undefined {\r\n if (layerSettings instanceof ModelMapLayerSettings) {\r\n return createModelMapLayerTileTreeReference(layerSettings, layerIndex, iModel);\r\n } else if (layerSettings instanceof ImageMapLayerSettings)\r\n return IModelApp.mapLayerFormatRegistry.createImageryMapLayerTree(layerSettings, layerIndex, iModel);\r\n else {\r\n assert (false);\r\n return undefined;\r\n }\r\n}\r\n"]}
@@ -1,15 +1,15 @@
1
1
  /** @packageDocumentation
2
2
  * @module Tiles
3
3
  */
4
- import { ClipVector, EllipsoidPatch, Point3d, Range1d, Range3d, Ray3d, Transform, Vector3d } from "@itwin/core-geometry";
5
4
  import { ColorDef, RenderTexture } from "@itwin/core-common";
5
+ import { ClipVector, EllipsoidPatch, Point3d, Range1d, Range3d, Ray3d, Transform, Vector3d } from "@itwin/core-geometry";
6
6
  import { GraphicBuilder } from "../../render/GraphicBuilder";
7
7
  import { TerrainMeshPrimitive } from "../../render/primitives/mesh/TerrainMeshPrimitive";
8
8
  import { RenderGraphic } from "../../render/RenderGraphic";
9
9
  import { RenderMemory } from "../../render/RenderMemory";
10
- import { RenderRealityMeshGeometry, RenderSystem, TerrainTexture } from "../../render/RenderSystem";
10
+ import { RenderSystem, RenderTerrainGeometry, TerrainTexture } from "../../render/RenderSystem";
11
11
  import { ViewingSpace } from "../../ViewingSpace";
12
- import { ImageryMapTile, MapCartoRectangle, MapTileLoader, MapTileTree, QuadId, RealityTile, Tile, TileContent, TileDrawArgs, TileGraphicType, TileParams, TraversalSelectionContext } from "../internal";
12
+ import { ImageryMapTile, MapCartoRectangle, MapTileLoader, MapTileTree, QuadId, RealityTile, RealityTileParams, Tile, TileContent, TileDrawArgs, TileGraphicType, TraversalSelectionContext } from "../internal";
13
13
  /** @internal */
14
14
  export declare class PlanarTilePatch {
15
15
  corners: Point3d[];
@@ -27,11 +27,12 @@ export declare abstract class MapTileProjection {
27
27
  abstract get transformFromLocal(): Transform;
28
28
  abstract getPoint(u: number, v: number, height: number, result?: Point3d): Point3d;
29
29
  get ellipsoidPatch(): EllipsoidPatch | undefined;
30
+ getGlobalPoint(u: number, v: number, z: number, result?: Point3d): Point3d;
30
31
  }
31
32
  /** @internal */
32
33
  export interface TerrainTileContent extends TileContent {
33
34
  terrain?: {
34
- geometry?: RenderRealityMeshGeometry;
35
+ renderGeometry?: RenderTerrainGeometry;
35
36
  /** Used on leaves to support up-sampling. */
36
37
  mesh?: TerrainMeshPrimitive;
37
38
  };
@@ -51,17 +52,17 @@ export declare class MapTile extends RealityTile {
51
52
  private _imageryTiles?;
52
53
  everLoaded: boolean;
53
54
  protected _heightRange: Range1d | undefined;
54
- protected _geometry?: RenderRealityMeshGeometry;
55
+ protected _renderGeometry?: RenderTerrainGeometry;
55
56
  protected _mesh?: TerrainMeshPrimitive;
56
57
  get isReady(): boolean;
57
- get geometry(): RenderRealityMeshGeometry | undefined;
58
+ get hasGraphics(): boolean;
59
+ get renderGeometry(): RenderTerrainGeometry | undefined;
58
60
  get mesh(): TerrainMeshPrimitive | undefined;
59
61
  get loadableTerrainTile(): MapTile;
60
- get hasGraphics(): boolean;
61
62
  get isPlanar(): boolean;
62
63
  get imageryTiles(): ImageryMapTile[] | undefined;
63
64
  getRangeCorners(result: Point3d[]): Point3d[];
64
- constructor(params: TileParams, mapTree: MapTileTree, quadId: QuadId, _patch: TilePatch, rectangle: MapCartoRectangle, heightRange: Range1d | undefined, _cornerRays: Ray3d[] | undefined);
65
+ constructor(params: RealityTileParams, mapTree: MapTileTree, quadId: QuadId, _patch: TilePatch, rectangle: MapCartoRectangle, heightRange: Range1d | undefined, _cornerRays: Ray3d[] | undefined);
65
66
  getSizeProjectionCorners(): Point3d[] | undefined;
66
67
  markUsed(args: TileDrawArgs): void;
67
68
  get graphicType(): TileGraphicType;
@@ -80,7 +81,7 @@ export declare class MapTile extends RealityTile {
80
81
  isOccluded(viewingSpace: ViewingSpace): boolean;
81
82
  protected _loadChildren(resolve: (children: Tile[] | undefined) => void, _reject: (error: Error) => void): void;
82
83
  private createGlobeChildren;
83
- static computeRangeCorners(corners: Point3d[], normal: Vector3d, chordHeight: number, result: Point3d[], heightRange?: Range1d): Point3d[];
84
+ static computeRangeCorners(corners: Point3d[], normal: Vector3d, chordHeight: number, result?: Point3d[], heightRange?: Range1d): Point3d[];
84
85
  isRegionCulled(args: TileDrawArgs): boolean;
85
86
  isContentCulled(args: TileDrawArgs): boolean;
86
87
  clearLayers(): void;
@@ -125,7 +126,8 @@ export declare class UpsampledMapTile extends MapTile {
125
126
  get isUpsampled(): boolean;
126
127
  get isEmpty(): boolean;
127
128
  get loadableTile(): RealityTile;
128
- get geometry(): RenderRealityMeshGeometry | undefined;
129
+ private upsampleFromParent;
130
+ get renderGeometry(): RenderTerrainGeometry | undefined;
129
131
  get isLoading(): boolean;
130
132
  get isQueued(): boolean;
131
133
  get isNotFound(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"MapTile.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/MapTile.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAiE,UAAU,EAAgC,cAAc,EAAqC,OAAO,EAAc,OAAO,EAAW,OAAO,EAAE,KAAK,EAAE,SAAS,EAAY,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACxR,OAAO,EAAe,QAAQ,EAAgD,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExH,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EACpH,UAAU,EAAsB,yBAAyB,EAC1E,MAAM,aAAa,CAAC;AAErB,gBAAgB;AAChB,qBAAa,eAAe;IACP,OAAO,EAAE,OAAO,EAAE;IAAS,MAAM,EAAE,QAAQ;IAAE,OAAO,CAAC,YAAY;gBAAjE,OAAO,EAAE,OAAO,EAAE,EAAS,MAAM,EAAE,QAAQ,EAAU,YAAY,EAAE,MAAM;IAGrF,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;IAUnE,YAAY,IAAI,OAAO,EAAE;CAGjC;AAED,gBAAgB;AAChB,oBAAY,SAAS,GAAG,eAAe,GAAG,cAAc,CAAC;AAEzD,gBAAgB;AAChB,8BAAsB,iBAAiB;IACrC,QAAQ,KAAK,UAAU,IAAI,OAAO,CAAC;IACnC,QAAQ,KAAK,kBAAkB,IAAI,SAAS,CAAC;aAC7B,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IACzF,IAAW,cAAc,IAAI,cAAc,GAAG,SAAS,CAAsB;CAC9E;AA0CD,gBAAgB;AAChB,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,yBAAyB,CAAC;QACrC,6CAA6C;QAC7C,IAAI,CAAC,EAAE,oBAAoB,CAAC;KAC7B,CAAC;CACH;AAQD;;;GAGG;AAEH,gBAAgB;AAChB,qBAAa,OAAQ,SAAQ,WAAW;aAgBU,OAAO,EAAE,WAAW;IAAS,MAAM,EAAE,MAAM;IAAE,OAAO,CAAC,MAAM;aAA6B,SAAS,EAAE,iBAAiB;IAAoC,SAAS,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,SAAS;IAflP,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAK;IACzC,OAAO,CAAC,aAAa,CAAC,CAAmB;IAClC,UAAU,UAAS;IAC1B,SAAS,CAAC,YAAY,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5C,SAAS,CAAC,SAAS,CAAC,EAAE,yBAAyB,CAAC;IAChD,SAAS,CAAC,KAAK,CAAC,EAAE,oBAAoB,CAAC;IACvC,IAAoB,OAAO,IAAI,OAAO,CAAqD;IAC3F,IAAW,QAAQ,0CAA6B;IAChD,IAAW,IAAI,qCAAyB;IACxC,IAAW,mBAAmB,YAA2C;IACzE,IAAoB,WAAW,IAAI,OAAO,CAAwC;IAClF,IAAW,QAAQ,IAAI,OAAO,CAAmD;IACjF,IAAW,YAAY,IAAI,cAAc,EAAE,GAAG,SAAS,CAA+B;IAE/E,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;gBACxC,MAAM,EAAE,UAAU,EAAkB,OAAO,EAAE,WAAW,EAAS,MAAM,EAAE,MAAM,EAAU,MAAM,EAAE,SAAS,EAAkB,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,GAAG,SAAS,EAAY,WAAW,EAAE,KAAK,EAAE,GAAG,SAAS;IAIlO,wBAAwB,IAAI,OAAO,EAAE,GAAG,SAAS;IAMjD,QAAQ,CAAC,IAAI,EAAE,YAAY;IAO3C,IAAoB,WAAW,oBAE9B;IAED,IAAW,SAAS,kBAAuD;IAC3E,IAAW,WAAW,YAAoB;IAEnC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAqB1D,OAAO,KAAK,iBAAiB,GAE5B;IAEe,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ;IAiD3D,cAAc,IAAI,UAAU,GAAG,SAAS;IA6BxC,WAAW,IAAI,IAAI;IAQ5B,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,GAAG,aAAa,GAAG,SAAS;IAE5F;;OAEG;IACH,IAAoB,aAAa,YAEhC;IAEe,UAAU,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO;cAuB5C,aAAa,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,SAAS,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IAkDxH,OAAO,CAAC,mBAAmB;WAyBb,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,EAAE,OAAO;IAsBrH,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO;IAG3C,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO;IAGrD,WAAW;IAOlB,OAAO,CAAC,iBAAiB;IAOT,eAAe,IAAI,aAAa,GAAG,SAAS;IAmBrD,YAAY,IAAI,OAAO,EAAE;cAIb,kBAAkB,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,GAAG,IAAI;IAU3E;;;;OAIG;IACH,IAAW,WAAW,IAAI,OAAO,GAAG,SAAS,CAY5C;IAED,IAAW,eAAe,gDAEzB;IAEM,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAQlD,aAAa,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,iBAAiB;IAI9D,IAAW,kBAAkB,IAAI,OAAO,CASvC;IAED,IAAW,cAAc,IAAI,OAAO,CAKnC;IAED;;OAEG;IACa,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,yBAAyB;IAsB3F,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAA2B;IAC5D,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAA2B;IAE5D;;;;OAIG;IAEa,sBAAsB,IAAI,OAAO;IAUjD,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAqB;IACxD,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAqB;IAClD,gBAAgB,IAAI,cAAc,EAAE,GAAG,SAAS;IA0CvD,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAwB;IAC7D,OAAO,CAAC,mBAAmB;IAiBX,UAAU,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAY7C,UAAU,IAAI,IAAI;IAIlB,eAAe;CAMhC;AAED,gBAAgB;AAChB,qBAAa,gBAAiB,SAAQ,OAAO;IAC3C,IAAoB,WAAW,YAAmB;IAClD,IAAoB,OAAO,YAAoB;IAC/C,IAAoB,YAAY,IAAI,WAAW,CAK9C;IAED,IAAoB,QAAQ,0CAsB3B;IACD,IAAoB,SAAS,IAAI,OAAO,CAAwC;IAChF,IAAoB,QAAQ,IAAI,OAAO,CAAuC;IAC9E,IAAoB,UAAU,IAAI,OAAO,CAAyC;IAClF,IAAoB,OAAO,IAAI,OAAO,CAA+H;IACrJ,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;CAInD"}
1
+ {"version":3,"file":"MapTile.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/MapTile.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAe,QAAQ,EAAgD,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxH,OAAO,EAAiE,UAAU,EAAgC,cAAc,EAAqC,OAAO,EAAc,OAAO,EAAW,OAAO,EAAE,KAAK,EAAE,SAAS,EAAY,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAExR,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EACnH,yBAAyB,EAC9D,MAAM,aAAa,CAAC;AAErB,gBAAgB;AAChB,qBAAa,eAAe;IACP,OAAO,EAAE,OAAO,EAAE;IAAS,MAAM,EAAE,QAAQ;IAAE,OAAO,CAAC,YAAY;gBAAjE,OAAO,EAAE,OAAO,EAAE,EAAS,MAAM,EAAE,QAAQ,EAAU,YAAY,EAAE,MAAM;IAGrF,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;IAUnE,YAAY,IAAI,OAAO,EAAE;CAGjC;AAED,gBAAgB;AAChB,oBAAY,SAAS,GAAG,eAAe,GAAG,cAAc,CAAC;AAEzD,gBAAgB;AAChB,8BAAsB,iBAAiB;IACrC,QAAQ,KAAK,UAAU,IAAI,OAAO,CAAC;IACnC,QAAQ,KAAK,kBAAkB,IAAI,SAAS,CAAC;aAC7B,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IACzF,IAAW,cAAc,IAAI,cAAc,GAAG,SAAS,CAAsB;IACtE,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;CAIlF;AA0CD,gBAAgB;AAChB,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,OAAO,CAAC,EAAE;QACR,cAAc,CAAC,EAAE,qBAAqB,CAAC;QACvC,6CAA6C;QAC7C,IAAI,CAAC,EAAE,oBAAoB,CAAC;KAC7B,CAAC;CACH;AAQD;;;GAGG;AAEH,gBAAgB;AAChB,qBAAa,OAAQ,SAAQ,WAAW;aAgBiB,OAAO,EAAE,WAAW;IAAS,MAAM,EAAE,MAAM;IAAE,OAAO,CAAC,MAAM;aAA6B,SAAS,EAAE,iBAAiB;IAAoC,SAAS,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,SAAS;IAfzP,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAK;IACzC,OAAO,CAAC,aAAa,CAAC,CAAmB;IAClC,UAAU,UAAS;IAC1B,SAAS,CAAC,YAAY,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5C,SAAS,CAAC,eAAe,CAAC,EAAE,qBAAqB,CAAC;IAClD,SAAS,CAAC,KAAK,CAAC,EAAE,oBAAoB,CAAC;IACvC,IAAoB,OAAO,IAAI,OAAO,CAAqD;IAC3F,IAAoB,WAAW,IAAI,OAAO,CAA+C;IACzF,IAAW,cAAc,sCAAmC;IAC5D,IAAW,IAAI,qCAAyB;IACxC,IAAW,mBAAmB,YAA2C;IACzE,IAAW,QAAQ,IAAI,OAAO,CAAmD;IACjF,IAAW,YAAY,IAAI,cAAc,EAAE,GAAG,SAAS,CAA+B;IAE/E,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;gBACxC,MAAM,EAAE,iBAAiB,EAAkB,OAAO,EAAE,WAAW,EAAS,MAAM,EAAE,MAAM,EAAU,MAAM,EAAE,SAAS,EAAkB,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,GAAG,SAAS,EAAY,WAAW,EAAE,KAAK,EAAE,GAAG,SAAS;IAIzO,wBAAwB,IAAI,OAAO,EAAE,GAAG,SAAS;IAMjD,QAAQ,CAAC,IAAI,EAAE,YAAY;IAO3C,IAAoB,WAAW,oBAE9B;IAED,IAAW,SAAS,kBAAuD;IAC3E,IAAW,WAAW,YAAoB;IAEnC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAqB1D,OAAO,KAAK,iBAAiB,GAE5B;IAEe,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ;IAiD3D,cAAc,IAAI,UAAU,GAAG,SAAS;IA6BxC,WAAW,IAAI,IAAI;IAQ5B,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,GAAG,aAAa,GAAG,SAAS;IAE5F;;OAEG;IACH,IAAoB,aAAa,YAEhC;IAEe,UAAU,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO;cAuB5C,aAAa,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,SAAS,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IAoDxH,OAAO,CAAC,mBAAmB;WAyBb,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,EAAE,OAAO;IAsBtH,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO;IAG3C,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO;IAGrD,WAAW;IAOlB,OAAO,CAAC,iBAAiB;IAOT,eAAe,IAAI,aAAa,GAAG,SAAS;IAoBrD,YAAY,IAAI,OAAO,EAAE;cAIb,kBAAkB,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,GAAG,IAAI;IAO3E;;;;OAIG;IACH,IAAW,WAAW,IAAI,OAAO,GAAG,SAAS,CAY5C;IAED,IAAW,eAAe,gDAEzB;IAEM,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAUlD,aAAa,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,iBAAiB;IAI9D,IAAW,kBAAkB,IAAI,OAAO,CASvC;IAED,IAAW,cAAc,IAAI,OAAO,CAKnC;IAED;;OAEG;IACa,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,yBAAyB;IAsB3F,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAA2B;IAC5D,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAA2B;IAE5D;;;;OAIG;IAEa,sBAAsB,IAAI,OAAO;IAUjD,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAqB;IACxD,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAqB;IAClD,gBAAgB,IAAI,cAAc,EAAE,GAAG,SAAS;IA0CvD,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAwB;IAC7D,OAAO,CAAC,mBAAmB;IAiBX,UAAU,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAsB7C,UAAU,IAAI,IAAI;IAIlB,eAAe;CAMhC;AAED,gBAAgB;AAChB,qBAAa,gBAAiB,SAAQ,OAAO;IAC3C,IAAoB,WAAW,YAAmB;IAClD,IAAoB,OAAO,YAAoB;IAC/C,IAAoB,YAAY,IAAI,WAAW,CAK9C;IACD,OAAO,CAAC,kBAAkB;IAiB1B,IAAoB,cAAc,sCAQjC;IACD,IAAoB,SAAS,IAAI,OAAO,CAAwC;IAChF,IAAoB,QAAQ,IAAI,OAAO,CAAuC;IAC9E,IAAoB,UAAU,IAAI,OAAO,CAAyC;IAClF,IAAoB,OAAO,IAAI,OAAO,CAAqI;IAE3J,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;CAInD"}
@@ -6,8 +6,8 @@
6
6
  * @module Tiles
7
7
  */
8
8
  import { assert, dispose } from "@itwin/core-bentley";
9
- import { AxisOrder, BilinearPatch, ClipPlane, ClipPrimitive, ClipShape, ClipVector, Constant, ConvexClipPlaneSet, EllipsoidPatch, LongitudeLatitudeNumber, Matrix3d, Point3d, PolygonOps, Range1d, Range2d, Range3d, Ray3d, Transform, Vector2d, Vector3d } from "@itwin/core-geometry";
10
9
  import { ColorByName, ColorDef, FrustumPlanes, GlobeMode, PackedFeatureTable } from "@itwin/core-common";
10
+ import { AxisOrder, BilinearPatch, ClipPlane, ClipPrimitive, ClipShape, ClipVector, Constant, ConvexClipPlaneSet, EllipsoidPatch, LongitudeLatitudeNumber, Matrix3d, Point3d, PolygonOps, Range1d, Range2d, Range3d, Ray3d, Transform, Vector2d, Vector3d } from "@itwin/core-geometry";
11
11
  import { IModelApp } from "../../IModelApp";
12
12
  import { TerrainTexture } from "../../render/RenderSystem";
13
13
  import { MapCartoRectangle, MapTileTree, QuadId, RealityTile, TileGraphicType, TileLoadStatus, TileTreeLoadStatus, } from "../internal";
@@ -33,6 +33,10 @@ export class PlanarTilePatch {
33
33
  /** @internal */
34
34
  export class MapTileProjection {
35
35
  get ellipsoidPatch() { return undefined; }
36
+ getGlobalPoint(u, v, z, result) {
37
+ const point = this.getPoint(u, v, z, result);
38
+ return this.transformFromLocal.multiplyPoint3d(point, point);
39
+ }
36
40
  }
37
41
  /** @internal */
38
42
  class EllipsoidProjection extends MapTileProjection {
@@ -91,10 +95,10 @@ export class MapTile extends RealityTile {
91
95
  this._heightRange = heightRange ? heightRange.clone() : undefined;
92
96
  }
93
97
  get isReady() { return super.isReady && this.baseImageryIsReady; }
94
- get geometry() { return this._geometry; }
98
+ get hasGraphics() { return this._renderGeometry !== undefined; }
99
+ get renderGeometry() { return this._renderGeometry; }
95
100
  get mesh() { return this._mesh; }
96
101
  get loadableTerrainTile() { return this.loadableTile; }
97
- get hasGraphics() { return undefined !== this.geometry; }
98
102
  get isPlanar() { return this._patch instanceof PlanarTilePatch; }
99
103
  get imageryTiles() { return this._imageryTiles; }
100
104
  getRangeCorners(result) { return this._patch instanceof PlanarTilePatch ? this._patch.getRangeCorners(this.heightRange, result) : this.range.corners(result); }
@@ -276,8 +280,11 @@ export class MapTile extends RealityTile {
276
280
  const heightRange = this.mapTree.getChildHeightRange(quadId, rectangle, this);
277
281
  const diagonal = Math.max(corners[0].distance(corners[3]), corners[1].distance(corners[2])) / 2.0;
278
282
  const chordHeight = globeMode === GlobeMode.Ellipsoid ? Math.sqrt(diagonal * diagonal + Constant.earthRadiusWGS84.equator * Constant.earthRadiusWGS84.equator) - Constant.earthRadiusWGS84.equator : 0.0;
279
- const range = Range3d.createArray(MapTile.computeRangeCorners(corners, normal, chordHeight, scratchCorners, heightRange));
280
- children.push(this.mapTree.createPlanarChild({ contentId: quadId.contentId, maximumSize: 512, range, parent: this, isLeaf: childrenAreLeaves }, quadId, corners, normal, rectangle, chordHeight, heightRange));
283
+ const rangeCorners = MapTile.computeRangeCorners(corners, normal, chordHeight, undefined, heightRange);
284
+ const range = Range3d.createArray(rangeCorners);
285
+ const child = this.mapTree.createPlanarChild({ contentId: quadId.contentId, maximumSize: 512, range, parent: this, isLeaf: childrenAreLeaves }, quadId, corners, normal, rectangle, chordHeight, heightRange);
286
+ if (child)
287
+ children.push(child);
281
288
  }
282
289
  }
283
290
  resolveChildren(children);
@@ -344,14 +351,15 @@ export class MapTile extends RealityTile {
344
351
  produceGraphics() {
345
352
  if (undefined !== this._graphic && this.imageryIsReady)
346
353
  return this._graphic;
347
- const geometry = this.geometry;
354
+ const geometry = this.renderGeometry;
348
355
  assert(undefined !== geometry);
349
356
  if (undefined === geometry)
350
357
  return undefined;
351
358
  const textures = this.getDrapeTextures();
352
- const graphic = IModelApp.renderSystem.createRealityMeshGraphic(geometry, PackedFeatureTable.pack(this.mapLoader.featureTable), this.contentId, this.mapTree.baseColor, this.mapTree.baseTransparent, textures);
353
- // We no longer need the drape tiles.
354
- if (this.imageryIsReady)
359
+ const { baseColor, baseTransparent, layerClassifiers } = this.mapTree;
360
+ const graphic = IModelApp.renderSystem.createRealityMeshGraphic({ realityMesh: geometry, projection: this.getProjection(), tileRectangle: this.rectangle, featureTable: PackedFeatureTable.pack(this.mapLoader.featureTable), tileId: this.contentId, baseColor, baseTransparent, textures, layerClassifiers });
361
+ // If there are no layer classifiers then we can save this graphic for re-use. If layer classifiers exist they are regenerated based on view and we must collate them with the imagery.
362
+ if (this.imageryIsReady && 0 === this.mapTree.layerClassifiers.size)
355
363
  this._graphic = graphic;
356
364
  return graphic;
357
365
  }
@@ -359,11 +367,10 @@ export class MapTile extends RealityTile {
359
367
  return (this._patch instanceof PlanarTilePatch) ? this._patch.getClipShape() : [this._cornerRays[0].origin, this._cornerRays[1].origin, this._cornerRays[3].origin, this._cornerRays[2].origin];
360
368
  }
361
369
  _collectStatistics(stats) {
370
+ var _a, _b;
362
371
  super._collectStatistics(stats);
363
- if (undefined !== this._geometry)
364
- this._geometry.collectStatistics(stats);
365
- if (undefined !== this._mesh)
366
- this._mesh.collectStatistics(stats);
372
+ (_a = this._renderGeometry) === null || _a === void 0 ? void 0 : _a.collectStatistics(stats);
373
+ (_b = this._mesh) === null || _b === void 0 ? void 0 : _b.collectStatistics(stats);
367
374
  }
368
375
  /** Height range is along with the tile corners to detect if tile intersects view frustum.
369
376
  * Range will be single value fo ron-terrain tiles -- if terrain tile is not loaded it will
@@ -391,6 +398,8 @@ export class MapTile extends RealityTile {
391
398
  this._heightRange.low = Math.max(this.heightRange.low, minHeight);
392
399
  this._heightRange.high = Math.min(this.heightRange.high, maxHeight);
393
400
  }
401
+ if (this.rangeCorners && this._patch instanceof PlanarTilePatch)
402
+ this._patch.getRangeCorners(this.heightRange, this.rangeCorners);
394
403
  }
395
404
  getProjection(heightRange) {
396
405
  return this._patch instanceof PlanarTilePatch ? new PlanarProjection(this._patch, heightRange) : new EllipsoidProjection(this._patch, heightRange);
@@ -501,10 +510,19 @@ export class MapTile extends RealityTile {
501
510
  return new TerrainTexture(imageryTile.texture, featureIndex, scale, translate, drapeRectangle, this.mapTree.getLayerIndex(imageryModelId), this.mapTree.getLayerTransparency(imageryModelId), clipRect);
502
511
  }
503
512
  setContent(content) {
504
- var _a, _b;
505
- dispose(this._geometry); // This should never happen but paranoia.
506
- this._geometry = (_a = content.terrain) === null || _a === void 0 ? void 0 : _a.geometry;
507
- this._mesh = (_b = content.terrain) === null || _b === void 0 ? void 0 : _b.mesh;
513
+ var _a, _b, _c, _d, _e, _f;
514
+ this._mesh = (_a = content.terrain) === null || _a === void 0 ? void 0 : _a.mesh;
515
+ if (this.mapTree.produceGeometry) {
516
+ const iModelTransform = this.mapTree.iModelTransform;
517
+ const geometryTransform = (_c = (_b = content.terrain) === null || _b === void 0 ? void 0 : _b.renderGeometry) === null || _c === void 0 ? void 0 : _c.transform;
518
+ const transform = geometryTransform ? iModelTransform.multiplyTransformTransform(geometryTransform) : iModelTransform;
519
+ const polyface = (_e = (_d = content.terrain) === null || _d === void 0 ? void 0 : _d.mesh) === null || _e === void 0 ? void 0 : _e.createPolyface(transform);
520
+ this._geometry = polyface ? { polyfaces: [polyface] } : undefined;
521
+ }
522
+ else {
523
+ dispose(this._renderGeometry);
524
+ this._renderGeometry = (_f = content.terrain) === null || _f === void 0 ? void 0 : _f.renderGeometry;
525
+ }
508
526
  this.everLoaded = true;
509
527
  if (undefined !== content.contentRange)
510
528
  this._contentRange = content.contentRange;
@@ -515,7 +533,7 @@ export class MapTile extends RealityTile {
515
533
  }
516
534
  disposeContents() {
517
535
  super.disposeContents();
518
- this._geometry = dispose(this._geometry);
536
+ this._renderGeometry = dispose(this._renderGeometry);
519
537
  this.clearImageryTiles();
520
538
  // Note - don't dispose of mesh - these should only ever exist on terrain leaf tile and are required by children. Let garbage collector handle them.
521
539
  }
@@ -536,32 +554,35 @@ export class UpsampledMapTile extends MapTile {
536
554
  ;
537
555
  return parent;
538
556
  }
539
- get geometry() {
540
- if (undefined === this._geometry) {
541
- const parent = this.loadableTerrainTile;
542
- const parentMesh = parent.mesh;
543
- if (undefined === parentMesh) {
544
- return undefined;
545
- }
546
- const thisId = this.quadId, parentId = parent.quadId;
547
- const levelDelta = thisId.level - parentId.level;
548
- const thisColumn = thisId.column - (parentId.column << levelDelta);
549
- const thisRow = thisId.row - (parentId.row << levelDelta);
550
- const scale = 1.0 / (1 << levelDelta);
551
- const parentParameterRange = Range2d.createXYXY(scale * thisColumn, scale * thisRow, scale * (thisColumn + 1), scale * (thisRow + 1));
552
- const upsample = parentMesh.upsample(parentParameterRange);
553
- if (undefined === upsample)
554
- return undefined;
555
- this.adjustHeights(upsample.heightRange.low, upsample.heightRange.high);
556
- const projection = parent.getProjection(this.heightRange);
557
- this._geometry = IModelApp.renderSystem.createRealityMeshFromTerrain(upsample.mesh, projection.transformFromLocal);
557
+ upsampleFromParent() {
558
+ const parent = this.loadableTerrainTile;
559
+ const parentMesh = parent.mesh;
560
+ if (undefined === parentMesh) {
561
+ return undefined;
562
+ }
563
+ const thisId = this.quadId, parentId = parent.quadId;
564
+ const levelDelta = thisId.level - parentId.level;
565
+ const thisColumn = thisId.column - (parentId.column << levelDelta);
566
+ const thisRow = thisId.row - (parentId.row << levelDelta);
567
+ const scale = 1.0 / (1 << levelDelta);
568
+ const parentParameterRange = Range2d.createXYXY(scale * thisColumn, scale * thisRow, scale * (thisColumn + 1), scale * (thisRow + 1));
569
+ const upsample = parentMesh.upsample(parentParameterRange);
570
+ this.adjustHeights(upsample.heightRange.low, upsample.heightRange.high);
571
+ return upsample;
572
+ }
573
+ get renderGeometry() {
574
+ if (undefined === this._renderGeometry) {
575
+ const upsample = this.upsampleFromParent();
576
+ const projection = this.loadableTerrainTile.getProjection(this.heightRange);
577
+ if (upsample)
578
+ this._renderGeometry = IModelApp.renderSystem.createRealityMeshFromTerrain(upsample.mesh, projection.transformFromLocal);
558
579
  }
559
- return this._geometry;
580
+ return this._renderGeometry;
560
581
  }
561
582
  get isLoading() { return this.loadableTile.isLoading; }
562
583
  get isQueued() { return this.loadableTile.isQueued; }
563
584
  get isNotFound() { return this.loadableTile.isNotFound; }
564
- get isReady() { return (this._geometry !== undefined || this.loadableTile.loadStatus === TileLoadStatus.Ready) && this.baseImageryIsReady; }
585
+ get isReady() { return (this._renderGeometry !== undefined || this.loadableTile.loadStatus === TileLoadStatus.Ready) && this.baseImageryIsReady; }
565
586
  markUsed(args) {
566
587
  args.markUsed(this);
567
588
  args.markUsed(this.loadableTile);