@itwin/core-frontend 3.1.0-dev.6 → 3.2.0-dev.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 (737) hide show
  1. package/CHANGELOG.md +163 -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/BriefcaseConnection.d.ts.map +1 -1
  13. package/lib/cjs/BriefcaseConnection.js +6 -5
  14. package/lib/cjs/BriefcaseConnection.js.map +1 -1
  15. package/lib/cjs/CategorySelectorState.js +1 -1
  16. package/lib/cjs/CategorySelectorState.js.map +1 -1
  17. package/lib/cjs/DisplayStyleState.d.ts +4 -3
  18. package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
  19. package/lib/cjs/DisplayStyleState.js +32 -8
  20. package/lib/cjs/DisplayStyleState.js.map +1 -1
  21. package/lib/cjs/DrawingViewState.d.ts.map +1 -1
  22. package/lib/cjs/DrawingViewState.js +9 -8
  23. package/lib/cjs/DrawingViewState.js.map +1 -1
  24. package/lib/cjs/FrontendLoggerCategory.d.ts +3 -1
  25. package/lib/cjs/FrontendLoggerCategory.d.ts.map +1 -1
  26. package/lib/cjs/FrontendLoggerCategory.js +2 -0
  27. package/lib/cjs/FrontendLoggerCategory.js.map +1 -1
  28. package/lib/cjs/IModelApp.d.ts +8 -4
  29. package/lib/cjs/IModelApp.d.ts.map +1 -1
  30. package/lib/cjs/IModelApp.js +20 -10
  31. package/lib/cjs/IModelApp.js.map +1 -1
  32. package/lib/cjs/IModelConnection.d.ts +3 -5
  33. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  34. package/lib/cjs/IModelConnection.js +4 -10
  35. package/lib/cjs/IModelConnection.js.map +1 -1
  36. package/lib/cjs/ImageUtil.d.ts.map +1 -1
  37. package/lib/cjs/ImageUtil.js +8 -14
  38. package/lib/cjs/ImageUtil.js.map +1 -1
  39. package/lib/cjs/LocalhostIpcApp.d.ts +2 -0
  40. package/lib/cjs/LocalhostIpcApp.d.ts.map +1 -1
  41. package/lib/cjs/LocalhostIpcApp.js +10 -4
  42. package/lib/cjs/LocalhostIpcApp.js.map +1 -1
  43. package/lib/cjs/RealityDataSource.d.ts +60 -14
  44. package/lib/cjs/RealityDataSource.d.ts.map +1 -1
  45. package/lib/cjs/RealityDataSource.js +36 -235
  46. package/lib/cjs/RealityDataSource.js.map +1 -1
  47. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.d.ts +67 -0
  48. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.d.ts.map +1 -0
  49. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js +166 -0
  50. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js.map +1 -0
  51. package/lib/cjs/RealityDataSourceContextShareImpl.d.ts +83 -0
  52. package/lib/cjs/RealityDataSourceContextShareImpl.d.ts.map +1 -0
  53. package/lib/cjs/RealityDataSourceContextShareImpl.js +234 -0
  54. package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -0
  55. package/lib/cjs/RealityDataSourceTilesetUrlImpl.d.ts +65 -0
  56. package/lib/cjs/RealityDataSourceTilesetUrlImpl.d.ts.map +1 -0
  57. package/lib/cjs/RealityDataSourceTilesetUrlImpl.js +135 -0
  58. package/lib/cjs/RealityDataSourceTilesetUrlImpl.js.map +1 -0
  59. package/lib/cjs/SheetViewState.js +7 -3
  60. package/lib/cjs/SheetViewState.js.map +1 -1
  61. package/lib/cjs/ViewState.d.ts +8 -0
  62. package/lib/cjs/ViewState.d.ts.map +1 -1
  63. package/lib/cjs/ViewState.js +1 -1
  64. package/lib/cjs/ViewState.js.map +1 -1
  65. package/lib/cjs/Viewport.d.ts +35 -14
  66. package/lib/cjs/Viewport.d.ts.map +1 -1
  67. package/lib/cjs/Viewport.js +59 -10
  68. package/lib/cjs/Viewport.js.map +1 -1
  69. package/lib/cjs/core-frontend.d.ts +6 -4
  70. package/lib/cjs/core-frontend.d.ts.map +1 -1
  71. package/lib/cjs/core-frontend.js +6 -4
  72. package/lib/cjs/core-frontend.js.map +1 -1
  73. package/lib/cjs/extension/Extension.d.ts +48 -0
  74. package/lib/cjs/extension/Extension.d.ts.map +1 -0
  75. package/lib/cjs/extension/Extension.js +18 -0
  76. package/lib/cjs/extension/Extension.js.map +1 -0
  77. package/lib/cjs/extension/ExtensionAdmin.d.ts +64 -0
  78. package/lib/cjs/extension/ExtensionAdmin.d.ts.map +1 -0
  79. package/lib/cjs/extension/ExtensionAdmin.js +106 -0
  80. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -0
  81. package/lib/cjs/extension/ExtensionHost.d.ts +23 -0
  82. package/lib/cjs/extension/ExtensionHost.d.ts.map +1 -0
  83. package/lib/cjs/extension/ExtensionHost.js +26 -0
  84. package/lib/cjs/extension/ExtensionHost.js.map +1 -0
  85. package/lib/cjs/extension/ExtensionImpl.d.ts +21 -0
  86. package/lib/cjs/extension/ExtensionImpl.d.ts.map +1 -0
  87. package/lib/cjs/extension/ExtensionImpl.js +45 -0
  88. package/lib/cjs/extension/ExtensionImpl.js.map +1 -0
  89. package/lib/cjs/extension/ExtensionLoader.d.ts +26 -0
  90. package/lib/cjs/extension/ExtensionLoader.d.ts.map +1 -0
  91. package/lib/cjs/extension/ExtensionLoader.js +10 -0
  92. package/lib/cjs/extension/ExtensionLoader.js.map +1 -0
  93. package/lib/cjs/extension/ExtensionRuntime.d.ts +5 -0
  94. package/lib/cjs/extension/ExtensionRuntime.d.ts.map +1 -0
  95. package/lib/cjs/extension/ExtensionRuntime.js +86 -0
  96. package/lib/cjs/extension/ExtensionRuntime.js.map +1 -0
  97. package/lib/cjs/extension/extensions.d.ts +19 -0
  98. package/lib/cjs/extension/extensions.d.ts.map +1 -0
  99. package/lib/cjs/extension/extensions.js +36 -0
  100. package/lib/cjs/extension/extensions.js.map +1 -0
  101. package/lib/cjs/quantity-formatting/BasicUnitsProvider.d.ts +2 -2
  102. package/lib/cjs/quantity-formatting/BasicUnitsProvider.d.ts.map +1 -1
  103. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js +48 -44
  104. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  105. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts +90 -80
  106. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  107. package/lib/cjs/quantity-formatting/QuantityFormatter.js +85 -45
  108. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  109. package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.d.ts +54 -0
  110. package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.d.ts.map +1 -0
  111. package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.js +32 -0
  112. package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -0
  113. package/lib/cjs/quantity-formatting/UnitsData.d.ts +11 -0
  114. package/lib/cjs/quantity-formatting/UnitsData.d.ts.map +1 -0
  115. package/lib/cjs/quantity-formatting/UnitsData.js +59 -0
  116. package/lib/cjs/quantity-formatting/UnitsData.js.map +1 -0
  117. package/lib/cjs/render/GraphicBranch.d.ts +2 -0
  118. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  119. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  120. package/lib/cjs/render/RenderPlanarClassifier.d.ts +1 -1
  121. package/lib/cjs/render/RenderPlanarClassifier.d.ts.map +1 -1
  122. package/lib/cjs/render/RenderPlanarClassifier.js.map +1 -1
  123. package/lib/cjs/render/RenderSystem.d.ts +12 -7
  124. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  125. package/lib/cjs/render/RenderSystem.js +8 -5
  126. package/lib/cjs/render/RenderSystem.js.map +1 -1
  127. package/lib/cjs/render/RenderTarget.d.ts +4 -4
  128. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  129. package/lib/cjs/render/RenderTarget.js.map +1 -1
  130. package/lib/cjs/render/Scene.d.ts.map +1 -1
  131. package/lib/cjs/render/Scene.js.map +1 -1
  132. package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.d.ts +17 -2
  133. package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.d.ts.map +1 -1
  134. package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.js +39 -2
  135. package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.js.map +1 -1
  136. package/lib/cjs/render/webgl/BackgroundMapDrape.js +1 -1
  137. package/lib/cjs/render/webgl/BackgroundMapDrape.js.map +1 -1
  138. package/lib/cjs/render/webgl/BranchState.d.ts +2 -0
  139. package/lib/cjs/render/webgl/BranchState.d.ts.map +1 -1
  140. package/lib/cjs/render/webgl/BranchState.js +5 -3
  141. package/lib/cjs/render/webgl/BranchState.js.map +1 -1
  142. package/lib/cjs/render/webgl/DrawCommand.js +1 -1
  143. package/lib/cjs/render/webgl/DrawCommand.js.map +1 -1
  144. package/lib/cjs/render/webgl/Graphic.d.ts +5 -3
  145. package/lib/cjs/render/webgl/Graphic.d.ts.map +1 -1
  146. package/lib/cjs/render/webgl/Graphic.js +7 -2
  147. package/lib/cjs/render/webgl/Graphic.js.map +1 -1
  148. package/lib/cjs/render/webgl/PlanarClassifier.d.ts +4 -1
  149. package/lib/cjs/render/webgl/PlanarClassifier.d.ts.map +1 -1
  150. package/lib/cjs/render/webgl/PlanarClassifier.js +22 -9
  151. package/lib/cjs/render/webgl/PlanarClassifier.js.map +1 -1
  152. package/lib/cjs/render/webgl/PlanarTextureProjection.d.ts +2 -2
  153. package/lib/cjs/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  154. package/lib/cjs/render/webgl/PlanarTextureProjection.js +5 -3
  155. package/lib/cjs/render/webgl/PlanarTextureProjection.js.map +1 -1
  156. package/lib/cjs/render/webgl/RealityMesh.d.ts +31 -11
  157. package/lib/cjs/render/webgl/RealityMesh.d.ts.map +1 -1
  158. package/lib/cjs/render/webgl/RealityMesh.js +155 -52
  159. package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
  160. package/lib/cjs/render/webgl/RenderCommands.d.ts.map +1 -1
  161. package/lib/cjs/render/webgl/RenderCommands.js +4 -0
  162. package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
  163. package/lib/cjs/render/webgl/SceneCompositor.d.ts +3 -0
  164. package/lib/cjs/render/webgl/SceneCompositor.d.ts.map +1 -1
  165. package/lib/cjs/render/webgl/SceneCompositor.js +45 -19
  166. package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
  167. package/lib/cjs/render/webgl/ShaderProgram.d.ts +1 -0
  168. package/lib/cjs/render/webgl/ShaderProgram.d.ts.map +1 -1
  169. package/lib/cjs/render/webgl/ShaderProgram.js +1 -0
  170. package/lib/cjs/render/webgl/ShaderProgram.js.map +1 -1
  171. package/lib/cjs/render/webgl/System.d.ts +9 -9
  172. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  173. package/lib/cjs/render/webgl/System.js +5 -5
  174. package/lib/cjs/render/webgl/System.js.map +1 -1
  175. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  176. package/lib/cjs/render/webgl/Target.js.map +1 -1
  177. package/lib/cjs/render/webgl/Texture.d.ts.map +1 -1
  178. package/lib/cjs/render/webgl/Texture.js +2 -2
  179. package/lib/cjs/render/webgl/Texture.js.map +1 -1
  180. package/lib/cjs/render/webgl/glsl/PlanarClassification.js +1 -1
  181. package/lib/cjs/render/webgl/glsl/PlanarClassification.js.map +1 -1
  182. package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  183. package/lib/cjs/render/webgl/glsl/RealityMesh.js +102 -27
  184. package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
  185. package/lib/cjs/tile/ClassifierTileTree.d.ts +4 -2
  186. package/lib/cjs/tile/ClassifierTileTree.d.ts.map +1 -1
  187. package/lib/cjs/tile/ClassifierTileTree.js +31 -16
  188. package/lib/cjs/tile/ClassifierTileTree.js.map +1 -1
  189. package/lib/cjs/tile/DynamicIModelTile.d.ts.map +1 -1
  190. package/lib/cjs/tile/DynamicIModelTile.js +1 -1
  191. package/lib/cjs/tile/DynamicIModelTile.js.map +1 -1
  192. package/lib/cjs/tile/GltfReader.d.ts +22 -3
  193. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  194. package/lib/cjs/tile/GltfReader.js +224 -40
  195. package/lib/cjs/tile/GltfReader.js.map +1 -1
  196. package/lib/cjs/tile/LRUTileList.d.ts +29 -29
  197. package/lib/cjs/tile/LRUTileList.d.ts.map +1 -1
  198. package/lib/cjs/tile/LRUTileList.js +50 -50
  199. package/lib/cjs/tile/LRUTileList.js.map +1 -1
  200. package/lib/cjs/tile/OPCFormatInterpreter.d.ts +22 -0
  201. package/lib/cjs/tile/OPCFormatInterpreter.d.ts.map +1 -0
  202. package/lib/cjs/tile/OPCFormatInterpreter.js +92 -0
  203. package/lib/cjs/tile/OPCFormatInterpreter.js.map +1 -0
  204. package/lib/cjs/tile/OrbitGtTileTree.js +1 -1
  205. package/lib/cjs/tile/OrbitGtTileTree.js.map +1 -1
  206. package/lib/cjs/tile/PntsReader.d.ts +1 -1
  207. package/lib/cjs/tile/PntsReader.d.ts.map +1 -1
  208. package/lib/cjs/tile/PntsReader.js +170 -36
  209. package/lib/cjs/tile/PntsReader.js.map +1 -1
  210. package/lib/cjs/tile/PrimaryTileTree.d.ts +18 -2
  211. package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
  212. package/lib/cjs/tile/PrimaryTileTree.js +53 -2
  213. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  214. package/lib/cjs/tile/RealityModelTileTree.d.ts +24 -3
  215. package/lib/cjs/tile/RealityModelTileTree.d.ts.map +1 -1
  216. package/lib/cjs/tile/RealityModelTileTree.js +37 -12
  217. package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
  218. package/lib/cjs/tile/RealityTile.d.ts +17 -3
  219. package/lib/cjs/tile/RealityTile.d.ts.map +1 -1
  220. package/lib/cjs/tile/RealityTile.js +34 -2
  221. package/lib/cjs/tile/RealityTile.js.map +1 -1
  222. package/lib/cjs/tile/RealityTileDrawArgs.d.ts +4 -1
  223. package/lib/cjs/tile/RealityTileDrawArgs.d.ts.map +1 -1
  224. package/lib/cjs/tile/RealityTileDrawArgs.js +3 -1
  225. package/lib/cjs/tile/RealityTileDrawArgs.js.map +1 -1
  226. package/lib/cjs/tile/RealityTileLoader.d.ts +8 -5
  227. package/lib/cjs/tile/RealityTileLoader.d.ts.map +1 -1
  228. package/lib/cjs/tile/RealityTileLoader.js +20 -6
  229. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  230. package/lib/cjs/tile/RealityTileTree.d.ts +4 -1
  231. package/lib/cjs/tile/RealityTileTree.d.ts.map +1 -1
  232. package/lib/cjs/tile/RealityTileTree.js +12 -4
  233. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  234. package/lib/cjs/tile/ThreeDTileFormatInterpreter.d.ts +52 -0
  235. package/lib/cjs/tile/ThreeDTileFormatInterpreter.d.ts.map +1 -0
  236. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js +179 -0
  237. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js.map +1 -0
  238. package/lib/cjs/tile/Tile.d.ts +5 -4
  239. package/lib/cjs/tile/Tile.d.ts.map +1 -1
  240. package/lib/cjs/tile/Tile.js +3 -2
  241. package/lib/cjs/tile/Tile.js.map +1 -1
  242. package/lib/cjs/tile/TileAdmin.d.ts +43 -45
  243. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  244. package/lib/cjs/tile/TileAdmin.js +104 -99
  245. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  246. package/lib/cjs/tile/TileDrawArgs.d.ts +2 -0
  247. package/lib/cjs/tile/TileDrawArgs.d.ts.map +1 -1
  248. package/lib/cjs/tile/TileDrawArgs.js +5 -0
  249. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  250. package/lib/cjs/tile/TileGeometryCollector.d.ts +80 -0
  251. package/lib/cjs/tile/TileGeometryCollector.d.ts.map +1 -0
  252. package/lib/cjs/tile/TileGeometryCollector.js +71 -0
  253. package/lib/cjs/tile/TileGeometryCollector.js.map +1 -0
  254. package/lib/cjs/tile/TileRequest.d.ts +12 -9
  255. package/lib/cjs/tile/TileRequest.d.ts.map +1 -1
  256. package/lib/cjs/tile/TileRequest.js +19 -11
  257. package/lib/cjs/tile/TileRequest.js.map +1 -1
  258. package/lib/cjs/tile/TileRequestChannel.js +3 -3
  259. package/lib/cjs/tile/TileRequestChannel.js.map +1 -1
  260. package/lib/cjs/tile/TileTree.d.ts +7 -1
  261. package/lib/cjs/tile/TileTree.d.ts.map +1 -1
  262. package/lib/cjs/tile/TileTree.js +8 -1
  263. package/lib/cjs/tile/TileTree.js.map +1 -1
  264. package/lib/cjs/tile/TileTreeReference.d.ts +27 -2
  265. package/lib/cjs/tile/TileTreeReference.d.ts.map +1 -1
  266. package/lib/cjs/tile/TileTreeReference.js +41 -1
  267. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  268. package/lib/cjs/tile/TileUsageMarker.d.ts +9 -9
  269. package/lib/cjs/tile/TileUsageMarker.d.ts.map +1 -1
  270. package/lib/cjs/tile/TileUsageMarker.js +9 -9
  271. package/lib/cjs/tile/TileUsageMarker.js.map +1 -1
  272. package/lib/cjs/tile/TileUser.d.ts +33 -0
  273. package/lib/cjs/tile/TileUser.d.ts.map +1 -0
  274. package/lib/cjs/tile/TileUser.js +28 -0
  275. package/lib/cjs/tile/TileUser.js.map +1 -0
  276. package/lib/cjs/tile/TileUserSet.d.ts +28 -0
  277. package/lib/cjs/tile/TileUserSet.d.ts.map +1 -0
  278. package/lib/cjs/tile/TileUserSet.js +123 -0
  279. package/lib/cjs/tile/TileUserSet.js.map +1 -0
  280. package/lib/cjs/tile/internal.d.ts +6 -0
  281. package/lib/cjs/tile/internal.d.ts.map +1 -1
  282. package/lib/cjs/tile/internal.js +6 -0
  283. package/lib/cjs/tile/internal.js.map +1 -1
  284. package/lib/cjs/tile/map/CesiumTerrainProvider.js +2 -2
  285. package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
  286. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +6 -5
  287. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  288. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +46 -13
  289. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  290. package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts +3 -4
  291. package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts.map +1 -1
  292. package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js +1 -1
  293. package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  294. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.d.ts +2 -2
  295. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
  296. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js +1 -1
  297. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  298. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts +3 -4
  299. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts.map +1 -1
  300. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js +5 -4
  301. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  302. package/lib/cjs/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts +2 -2
  303. package/lib/cjs/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts.map +1 -1
  304. package/lib/cjs/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
  305. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +2 -2
  306. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  307. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +1 -1
  308. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  309. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +2 -2
  310. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
  311. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  312. package/lib/cjs/tile/map/ImageryTileTree.d.ts +4 -5
  313. package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
  314. package/lib/cjs/tile/map/ImageryTileTree.js +5 -4
  315. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  316. package/lib/cjs/tile/map/MapFeatureInfo.d.ts +26 -0
  317. package/lib/cjs/tile/map/MapFeatureInfo.d.ts.map +1 -0
  318. package/lib/cjs/tile/map/MapFeatureInfo.js +19 -0
  319. package/lib/cjs/tile/map/MapFeatureInfo.js.map +1 -0
  320. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts +4 -4
  321. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  322. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  323. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts +3 -3
  324. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  325. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  326. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +5 -4
  327. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  328. package/lib/cjs/tile/map/MapLayerImageryProvider.js +5 -1
  329. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  330. package/lib/cjs/tile/map/MapLayerSources.d.ts +2 -2
  331. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  332. package/lib/cjs/tile/map/MapLayerSources.js +6 -4
  333. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  334. package/lib/cjs/tile/map/MapLayerTileTreeReference.d.ts +10 -2
  335. package/lib/cjs/tile/map/MapLayerTileTreeReference.d.ts.map +1 -1
  336. package/lib/cjs/tile/map/MapLayerTileTreeReference.js +26 -3
  337. package/lib/cjs/tile/map/MapLayerTileTreeReference.js.map +1 -1
  338. package/lib/cjs/tile/map/MapTile.d.ts +12 -10
  339. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  340. package/lib/cjs/tile/map/MapTile.js +60 -39
  341. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  342. package/lib/cjs/tile/map/MapTileLoader.d.ts +2 -1
  343. package/lib/cjs/tile/map/MapTileLoader.d.ts.map +1 -1
  344. package/lib/cjs/tile/map/MapTileLoader.js +4 -1
  345. package/lib/cjs/tile/map/MapTileLoader.js.map +1 -1
  346. package/lib/cjs/tile/map/MapTileTree.d.ts +21 -11
  347. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  348. package/lib/cjs/tile/map/MapTileTree.js +152 -65
  349. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  350. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  351. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +1 -1
  352. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  353. package/lib/cjs/tools/ToolAdmin.d.ts +2 -3
  354. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  355. package/lib/cjs/tools/ToolAdmin.js +7 -2
  356. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  357. package/lib/cjs/tools/ViewTool.d.ts +4 -4
  358. package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
  359. package/lib/cjs/tools/ViewTool.js +1 -1
  360. package/lib/cjs/tools/ViewTool.js.map +1 -1
  361. package/lib/esm/AccuSnap.js +2 -2
  362. package/lib/esm/AccuSnap.js.map +1 -1
  363. package/lib/esm/ApproximateTerrainHeights.d.ts +1 -1
  364. package/lib/esm/ApproximateTerrainHeights.d.ts.map +1 -1
  365. package/lib/esm/ApproximateTerrainHeights.js +2 -9
  366. package/lib/esm/ApproximateTerrainHeights.js.map +1 -1
  367. package/lib/esm/ApproximateTerrainHeightsProps.d.ts +12 -0
  368. package/lib/esm/ApproximateTerrainHeightsProps.d.ts.map +1 -0
  369. package/lib/esm/ApproximateTerrainHeightsProps.js +10 -0
  370. package/lib/esm/ApproximateTerrainHeightsProps.js.map +1 -0
  371. package/lib/esm/BriefcaseConnection.d.ts.map +1 -1
  372. package/lib/esm/BriefcaseConnection.js +6 -5
  373. package/lib/esm/BriefcaseConnection.js.map +1 -1
  374. package/lib/esm/CategorySelectorState.js +1 -1
  375. package/lib/esm/CategorySelectorState.js.map +1 -1
  376. package/lib/esm/DisplayStyleState.d.ts +4 -3
  377. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  378. package/lib/esm/DisplayStyleState.js +34 -10
  379. package/lib/esm/DisplayStyleState.js.map +1 -1
  380. package/lib/esm/DrawingViewState.d.ts.map +1 -1
  381. package/lib/esm/DrawingViewState.js +9 -8
  382. package/lib/esm/DrawingViewState.js.map +1 -1
  383. package/lib/esm/FrontendLoggerCategory.d.ts +3 -1
  384. package/lib/esm/FrontendLoggerCategory.d.ts.map +1 -1
  385. package/lib/esm/FrontendLoggerCategory.js +2 -0
  386. package/lib/esm/FrontendLoggerCategory.js.map +1 -1
  387. package/lib/esm/IModelApp.d.ts +8 -4
  388. package/lib/esm/IModelApp.d.ts.map +1 -1
  389. package/lib/esm/IModelApp.js +20 -10
  390. package/lib/esm/IModelApp.js.map +1 -1
  391. package/lib/esm/IModelConnection.d.ts +3 -5
  392. package/lib/esm/IModelConnection.d.ts.map +1 -1
  393. package/lib/esm/IModelConnection.js +5 -11
  394. package/lib/esm/IModelConnection.js.map +1 -1
  395. package/lib/esm/ImageUtil.d.ts.map +1 -1
  396. package/lib/esm/ImageUtil.js +8 -14
  397. package/lib/esm/ImageUtil.js.map +1 -1
  398. package/lib/esm/LocalhostIpcApp.d.ts +2 -0
  399. package/lib/esm/LocalhostIpcApp.d.ts.map +1 -1
  400. package/lib/esm/LocalhostIpcApp.js +10 -4
  401. package/lib/esm/LocalhostIpcApp.js.map +1 -1
  402. package/lib/esm/RealityDataSource.d.ts +60 -14
  403. package/lib/esm/RealityDataSource.d.ts.map +1 -1
  404. package/lib/esm/RealityDataSource.js +37 -237
  405. package/lib/esm/RealityDataSource.js.map +1 -1
  406. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.d.ts +67 -0
  407. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.d.ts.map +1 -0
  408. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js +162 -0
  409. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js.map +1 -0
  410. package/lib/esm/RealityDataSourceContextShareImpl.d.ts +83 -0
  411. package/lib/esm/RealityDataSourceContextShareImpl.d.ts.map +1 -0
  412. package/lib/esm/RealityDataSourceContextShareImpl.js +230 -0
  413. package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -0
  414. package/lib/esm/RealityDataSourceTilesetUrlImpl.d.ts +65 -0
  415. package/lib/esm/RealityDataSourceTilesetUrlImpl.d.ts.map +1 -0
  416. package/lib/esm/RealityDataSourceTilesetUrlImpl.js +131 -0
  417. package/lib/esm/RealityDataSourceTilesetUrlImpl.js.map +1 -0
  418. package/lib/esm/SheetViewState.js +7 -3
  419. package/lib/esm/SheetViewState.js.map +1 -1
  420. package/lib/esm/ViewState.d.ts +8 -0
  421. package/lib/esm/ViewState.d.ts.map +1 -1
  422. package/lib/esm/ViewState.js +1 -1
  423. package/lib/esm/ViewState.js.map +1 -1
  424. package/lib/esm/Viewport.d.ts +35 -14
  425. package/lib/esm/Viewport.d.ts.map +1 -1
  426. package/lib/esm/Viewport.js +60 -11
  427. package/lib/esm/Viewport.js.map +1 -1
  428. package/lib/esm/core-frontend.d.ts +6 -4
  429. package/lib/esm/core-frontend.d.ts.map +1 -1
  430. package/lib/esm/core-frontend.js +6 -4
  431. package/lib/esm/core-frontend.js.map +1 -1
  432. package/lib/esm/extension/Extension.d.ts +48 -0
  433. package/lib/esm/extension/Extension.d.ts.map +1 -0
  434. package/lib/esm/extension/Extension.js +15 -0
  435. package/lib/esm/extension/Extension.js.map +1 -0
  436. package/lib/esm/extension/ExtensionAdmin.d.ts +64 -0
  437. package/lib/esm/extension/ExtensionAdmin.d.ts.map +1 -0
  438. package/lib/esm/extension/ExtensionAdmin.js +102 -0
  439. package/lib/esm/extension/ExtensionAdmin.js.map +1 -0
  440. package/lib/esm/extension/ExtensionHost.d.ts +23 -0
  441. package/lib/esm/extension/ExtensionHost.d.ts.map +1 -0
  442. package/lib/esm/extension/ExtensionHost.js +22 -0
  443. package/lib/esm/extension/ExtensionHost.js.map +1 -0
  444. package/lib/esm/extension/ExtensionImpl.d.ts +21 -0
  445. package/lib/esm/extension/ExtensionImpl.d.ts.map +1 -0
  446. package/lib/esm/extension/ExtensionImpl.js +40 -0
  447. package/lib/esm/extension/ExtensionImpl.js.map +1 -0
  448. package/lib/esm/extension/ExtensionLoader.d.ts +26 -0
  449. package/lib/esm/extension/ExtensionLoader.d.ts.map +1 -0
  450. package/lib/esm/extension/ExtensionLoader.js +9 -0
  451. package/lib/esm/extension/ExtensionLoader.js.map +1 -0
  452. package/lib/esm/extension/ExtensionRuntime.d.ts +5 -0
  453. package/lib/esm/extension/ExtensionRuntime.d.ts.map +1 -0
  454. package/lib/esm/extension/ExtensionRuntime.js +84 -0
  455. package/lib/esm/extension/ExtensionRuntime.js.map +1 -0
  456. package/lib/esm/extension/extensions.d.ts +19 -0
  457. package/lib/esm/extension/extensions.d.ts.map +1 -0
  458. package/lib/esm/extension/extensions.js +24 -0
  459. package/lib/esm/extension/extensions.js.map +1 -0
  460. package/lib/esm/quantity-formatting/BasicUnitsProvider.d.ts +2 -2
  461. package/lib/esm/quantity-formatting/BasicUnitsProvider.d.ts.map +1 -1
  462. package/lib/esm/quantity-formatting/BasicUnitsProvider.js +48 -44
  463. package/lib/esm/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  464. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts +90 -80
  465. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  466. package/lib/esm/quantity-formatting/QuantityFormatter.js +85 -42
  467. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  468. package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.d.ts +54 -0
  469. package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.d.ts.map +1 -0
  470. package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.js +26 -0
  471. package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -0
  472. package/lib/esm/quantity-formatting/UnitsData.d.ts +11 -0
  473. package/lib/esm/quantity-formatting/UnitsData.d.ts.map +1 -0
  474. package/lib/esm/quantity-formatting/UnitsData.js +56 -0
  475. package/lib/esm/quantity-formatting/UnitsData.js.map +1 -0
  476. package/lib/esm/render/GraphicBranch.d.ts +2 -0
  477. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  478. package/lib/esm/render/GraphicBranch.js.map +1 -1
  479. package/lib/esm/render/RenderPlanarClassifier.d.ts +1 -1
  480. package/lib/esm/render/RenderPlanarClassifier.d.ts.map +1 -1
  481. package/lib/esm/render/RenderPlanarClassifier.js.map +1 -1
  482. package/lib/esm/render/RenderSystem.d.ts +12 -7
  483. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  484. package/lib/esm/render/RenderSystem.js +6 -3
  485. package/lib/esm/render/RenderSystem.js.map +1 -1
  486. package/lib/esm/render/RenderTarget.d.ts +4 -4
  487. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  488. package/lib/esm/render/RenderTarget.js.map +1 -1
  489. package/lib/esm/render/Scene.d.ts.map +1 -1
  490. package/lib/esm/render/Scene.js.map +1 -1
  491. package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.d.ts +17 -2
  492. package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.d.ts.map +1 -1
  493. package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.js +39 -2
  494. package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.js.map +1 -1
  495. package/lib/esm/render/webgl/BackgroundMapDrape.js +1 -1
  496. package/lib/esm/render/webgl/BackgroundMapDrape.js.map +1 -1
  497. package/lib/esm/render/webgl/BranchState.d.ts +2 -0
  498. package/lib/esm/render/webgl/BranchState.d.ts.map +1 -1
  499. package/lib/esm/render/webgl/BranchState.js +5 -3
  500. package/lib/esm/render/webgl/BranchState.js.map +1 -1
  501. package/lib/esm/render/webgl/DrawCommand.js +1 -1
  502. package/lib/esm/render/webgl/DrawCommand.js.map +1 -1
  503. package/lib/esm/render/webgl/Graphic.d.ts +5 -3
  504. package/lib/esm/render/webgl/Graphic.d.ts.map +1 -1
  505. package/lib/esm/render/webgl/Graphic.js +7 -2
  506. package/lib/esm/render/webgl/Graphic.js.map +1 -1
  507. package/lib/esm/render/webgl/PlanarClassifier.d.ts +4 -1
  508. package/lib/esm/render/webgl/PlanarClassifier.d.ts.map +1 -1
  509. package/lib/esm/render/webgl/PlanarClassifier.js +22 -9
  510. package/lib/esm/render/webgl/PlanarClassifier.js.map +1 -1
  511. package/lib/esm/render/webgl/PlanarTextureProjection.d.ts +2 -2
  512. package/lib/esm/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  513. package/lib/esm/render/webgl/PlanarTextureProjection.js +5 -3
  514. package/lib/esm/render/webgl/PlanarTextureProjection.js.map +1 -1
  515. package/lib/esm/render/webgl/RealityMesh.d.ts +31 -11
  516. package/lib/esm/render/webgl/RealityMesh.d.ts.map +1 -1
  517. package/lib/esm/render/webgl/RealityMesh.js +155 -52
  518. package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
  519. package/lib/esm/render/webgl/RenderCommands.d.ts.map +1 -1
  520. package/lib/esm/render/webgl/RenderCommands.js +4 -0
  521. package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
  522. package/lib/esm/render/webgl/SceneCompositor.d.ts +3 -0
  523. package/lib/esm/render/webgl/SceneCompositor.d.ts.map +1 -1
  524. package/lib/esm/render/webgl/SceneCompositor.js +45 -19
  525. package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
  526. package/lib/esm/render/webgl/ShaderProgram.d.ts +1 -0
  527. package/lib/esm/render/webgl/ShaderProgram.d.ts.map +1 -1
  528. package/lib/esm/render/webgl/ShaderProgram.js +1 -0
  529. package/lib/esm/render/webgl/ShaderProgram.js.map +1 -1
  530. package/lib/esm/render/webgl/System.d.ts +9 -9
  531. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  532. package/lib/esm/render/webgl/System.js +6 -6
  533. package/lib/esm/render/webgl/System.js.map +1 -1
  534. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  535. package/lib/esm/render/webgl/Target.js.map +1 -1
  536. package/lib/esm/render/webgl/Texture.d.ts.map +1 -1
  537. package/lib/esm/render/webgl/Texture.js +2 -2
  538. package/lib/esm/render/webgl/Texture.js.map +1 -1
  539. package/lib/esm/render/webgl/glsl/PlanarClassification.js +1 -1
  540. package/lib/esm/render/webgl/glsl/PlanarClassification.js.map +1 -1
  541. package/lib/esm/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  542. package/lib/esm/render/webgl/glsl/RealityMesh.js +103 -28
  543. package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
  544. package/lib/esm/tile/ClassifierTileTree.d.ts +4 -2
  545. package/lib/esm/tile/ClassifierTileTree.d.ts.map +1 -1
  546. package/lib/esm/tile/ClassifierTileTree.js +32 -17
  547. package/lib/esm/tile/ClassifierTileTree.js.map +1 -1
  548. package/lib/esm/tile/DynamicIModelTile.d.ts.map +1 -1
  549. package/lib/esm/tile/DynamicIModelTile.js +1 -1
  550. package/lib/esm/tile/DynamicIModelTile.js.map +1 -1
  551. package/lib/esm/tile/GltfReader.d.ts +22 -3
  552. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  553. package/lib/esm/tile/GltfReader.js +207 -42
  554. package/lib/esm/tile/GltfReader.js.map +1 -1
  555. package/lib/esm/tile/LRUTileList.d.ts +29 -29
  556. package/lib/esm/tile/LRUTileList.d.ts.map +1 -1
  557. package/lib/esm/tile/LRUTileList.js +47 -47
  558. package/lib/esm/tile/LRUTileList.js.map +1 -1
  559. package/lib/esm/tile/OPCFormatInterpreter.d.ts +22 -0
  560. package/lib/esm/tile/OPCFormatInterpreter.d.ts.map +1 -0
  561. package/lib/esm/tile/OPCFormatInterpreter.js +88 -0
  562. package/lib/esm/tile/OPCFormatInterpreter.js.map +1 -0
  563. package/lib/esm/tile/OrbitGtTileTree.js +1 -1
  564. package/lib/esm/tile/OrbitGtTileTree.js.map +1 -1
  565. package/lib/esm/tile/PntsReader.d.ts +1 -1
  566. package/lib/esm/tile/PntsReader.d.ts.map +1 -1
  567. package/lib/esm/tile/PntsReader.js +154 -39
  568. package/lib/esm/tile/PntsReader.js.map +1 -1
  569. package/lib/esm/tile/PrimaryTileTree.d.ts +18 -2
  570. package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
  571. package/lib/esm/tile/PrimaryTileTree.js +51 -2
  572. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  573. package/lib/esm/tile/RealityModelTileTree.d.ts +24 -3
  574. package/lib/esm/tile/RealityModelTileTree.d.ts.map +1 -1
  575. package/lib/esm/tile/RealityModelTileTree.js +37 -13
  576. package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
  577. package/lib/esm/tile/RealityTile.d.ts +17 -3
  578. package/lib/esm/tile/RealityTile.d.ts.map +1 -1
  579. package/lib/esm/tile/RealityTile.js +34 -2
  580. package/lib/esm/tile/RealityTile.js.map +1 -1
  581. package/lib/esm/tile/RealityTileDrawArgs.d.ts +4 -1
  582. package/lib/esm/tile/RealityTileDrawArgs.d.ts.map +1 -1
  583. package/lib/esm/tile/RealityTileDrawArgs.js +3 -1
  584. package/lib/esm/tile/RealityTileDrawArgs.js.map +1 -1
  585. package/lib/esm/tile/RealityTileLoader.d.ts +8 -5
  586. package/lib/esm/tile/RealityTileLoader.d.ts.map +1 -1
  587. package/lib/esm/tile/RealityTileLoader.js +20 -6
  588. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  589. package/lib/esm/tile/RealityTileTree.d.ts +4 -1
  590. package/lib/esm/tile/RealityTileTree.d.ts.map +1 -1
  591. package/lib/esm/tile/RealityTileTree.js +14 -6
  592. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  593. package/lib/esm/tile/ThreeDTileFormatInterpreter.d.ts +52 -0
  594. package/lib/esm/tile/ThreeDTileFormatInterpreter.d.ts.map +1 -0
  595. package/lib/esm/tile/ThreeDTileFormatInterpreter.js +175 -0
  596. package/lib/esm/tile/ThreeDTileFormatInterpreter.js.map +1 -0
  597. package/lib/esm/tile/Tile.d.ts +5 -4
  598. package/lib/esm/tile/Tile.d.ts.map +1 -1
  599. package/lib/esm/tile/Tile.js +3 -2
  600. package/lib/esm/tile/Tile.js.map +1 -1
  601. package/lib/esm/tile/TileAdmin.d.ts +43 -45
  602. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  603. package/lib/esm/tile/TileAdmin.js +105 -100
  604. package/lib/esm/tile/TileAdmin.js.map +1 -1
  605. package/lib/esm/tile/TileDrawArgs.d.ts +2 -0
  606. package/lib/esm/tile/TileDrawArgs.d.ts.map +1 -1
  607. package/lib/esm/tile/TileDrawArgs.js +5 -0
  608. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  609. package/lib/esm/tile/TileGeometryCollector.d.ts +80 -0
  610. package/lib/esm/tile/TileGeometryCollector.d.ts.map +1 -0
  611. package/lib/esm/tile/TileGeometryCollector.js +67 -0
  612. package/lib/esm/tile/TileGeometryCollector.js.map +1 -0
  613. package/lib/esm/tile/TileRequest.d.ts +12 -9
  614. package/lib/esm/tile/TileRequest.d.ts.map +1 -1
  615. package/lib/esm/tile/TileRequest.js +19 -11
  616. package/lib/esm/tile/TileRequest.js.map +1 -1
  617. package/lib/esm/tile/TileRequestChannel.js +3 -3
  618. package/lib/esm/tile/TileRequestChannel.js.map +1 -1
  619. package/lib/esm/tile/TileTree.d.ts +7 -1
  620. package/lib/esm/tile/TileTree.d.ts.map +1 -1
  621. package/lib/esm/tile/TileTree.js +8 -1
  622. package/lib/esm/tile/TileTree.js.map +1 -1
  623. package/lib/esm/tile/TileTreeReference.d.ts +27 -2
  624. package/lib/esm/tile/TileTreeReference.d.ts.map +1 -1
  625. package/lib/esm/tile/TileTreeReference.js +43 -3
  626. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  627. package/lib/esm/tile/TileUsageMarker.d.ts +9 -9
  628. package/lib/esm/tile/TileUsageMarker.d.ts.map +1 -1
  629. package/lib/esm/tile/TileUsageMarker.js +9 -9
  630. package/lib/esm/tile/TileUsageMarker.js.map +1 -1
  631. package/lib/esm/tile/TileUser.d.ts +33 -0
  632. package/lib/esm/tile/TileUser.d.ts.map +1 -0
  633. package/lib/esm/tile/TileUser.js +25 -0
  634. package/lib/esm/tile/TileUser.js.map +1 -0
  635. package/lib/esm/tile/TileUserSet.d.ts +28 -0
  636. package/lib/esm/tile/TileUserSet.d.ts.map +1 -0
  637. package/lib/esm/tile/TileUserSet.js +118 -0
  638. package/lib/esm/tile/TileUserSet.js.map +1 -0
  639. package/lib/esm/tile/internal.d.ts +6 -0
  640. package/lib/esm/tile/internal.d.ts.map +1 -1
  641. package/lib/esm/tile/internal.js +6 -0
  642. package/lib/esm/tile/internal.js.map +1 -1
  643. package/lib/esm/tile/map/CesiumTerrainProvider.js +2 -2
  644. package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
  645. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +6 -5
  646. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  647. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +47 -14
  648. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  649. package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts +3 -4
  650. package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts.map +1 -1
  651. package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js +1 -1
  652. package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  653. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.d.ts +2 -2
  654. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
  655. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js +1 -1
  656. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  657. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts +3 -4
  658. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts.map +1 -1
  659. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js +5 -4
  660. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  661. package/lib/esm/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts +2 -2
  662. package/lib/esm/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts.map +1 -1
  663. package/lib/esm/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
  664. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +2 -2
  665. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  666. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +1 -1
  667. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  668. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +2 -2
  669. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
  670. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  671. package/lib/esm/tile/map/ImageryTileTree.d.ts +4 -5
  672. package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
  673. package/lib/esm/tile/map/ImageryTileTree.js +5 -4
  674. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  675. package/lib/esm/tile/map/MapFeatureInfo.d.ts +26 -0
  676. package/lib/esm/tile/map/MapFeatureInfo.d.ts.map +1 -0
  677. package/lib/esm/tile/map/MapFeatureInfo.js +15 -0
  678. package/lib/esm/tile/map/MapFeatureInfo.js.map +1 -0
  679. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts +4 -4
  680. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  681. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  682. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts +3 -3
  683. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  684. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  685. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +5 -4
  686. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  687. package/lib/esm/tile/map/MapLayerImageryProvider.js +5 -1
  688. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  689. package/lib/esm/tile/map/MapLayerSources.d.ts +2 -2
  690. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  691. package/lib/esm/tile/map/MapLayerSources.js +6 -4
  692. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  693. package/lib/esm/tile/map/MapLayerTileTreeReference.d.ts +10 -2
  694. package/lib/esm/tile/map/MapLayerTileTreeReference.d.ts.map +1 -1
  695. package/lib/esm/tile/map/MapLayerTileTreeReference.js +25 -3
  696. package/lib/esm/tile/map/MapLayerTileTreeReference.js.map +1 -1
  697. package/lib/esm/tile/map/MapTile.d.ts +12 -10
  698. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  699. package/lib/esm/tile/map/MapTile.js +60 -39
  700. package/lib/esm/tile/map/MapTile.js.map +1 -1
  701. package/lib/esm/tile/map/MapTileLoader.d.ts +2 -1
  702. package/lib/esm/tile/map/MapTileLoader.d.ts.map +1 -1
  703. package/lib/esm/tile/map/MapTileLoader.js +4 -1
  704. package/lib/esm/tile/map/MapTileLoader.js.map +1 -1
  705. package/lib/esm/tile/map/MapTileTree.d.ts +21 -11
  706. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  707. package/lib/esm/tile/map/MapTileTree.js +154 -67
  708. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  709. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  710. package/lib/esm/tile/map/MapTiledGraphicsProvider.js +2 -2
  711. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  712. package/lib/esm/tools/ToolAdmin.d.ts +2 -3
  713. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  714. package/lib/esm/tools/ToolAdmin.js +8 -3
  715. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  716. package/lib/esm/tools/ViewTool.d.ts +4 -4
  717. package/lib/esm/tools/ViewTool.d.ts.map +1 -1
  718. package/lib/esm/tools/ViewTool.js +1 -1
  719. package/lib/esm/tools/ViewTool.js.map +1 -1
  720. package/package.json +22 -20
  721. package/lib/cjs/ViewportSet.d.ts +0 -28
  722. package/lib/cjs/ViewportSet.d.ts.map +0 -1
  723. package/lib/cjs/ViewportSet.js +0 -126
  724. package/lib/cjs/ViewportSet.js.map +0 -1
  725. package/lib/cjs/tile/DracoDecoder.d.ts +0 -20
  726. package/lib/cjs/tile/DracoDecoder.d.ts.map +0 -1
  727. package/lib/cjs/tile/DracoDecoder.js +0 -169
  728. package/lib/cjs/tile/DracoDecoder.js.map +0 -1
  729. package/lib/esm/ViewportSet.d.ts +0 -28
  730. package/lib/esm/ViewportSet.d.ts.map +0 -1
  731. package/lib/esm/ViewportSet.js +0 -121
  732. package/lib/esm/ViewportSet.js.map +0 -1
  733. package/lib/esm/tile/DracoDecoder.d.ts +0 -20
  734. package/lib/esm/tile/DracoDecoder.d.ts.map +0 -1
  735. package/lib/esm/tile/DracoDecoder.js +0 -165
  736. package/lib/esm/tile/DracoDecoder.js.map +0 -1
  737. package/lib/public/assets/approximateTerrainHeights.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BriefcaseConnection.d.ts","sourceRoot":"","sources":["../../src/BriefcaseConnection.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAU,OAAO,EAA2B,UAAU,EAA4B,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/H,OAAO,EACL,cAAc,EACd,mBAAmB,EAAE,qBAAqB,EAAe,kBAAkB,EAAE,qBAAqB,EACnG,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAmItD;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,gBAAgB;IACvD,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IAEpD,+FAA+F;IAC/F,SAAgB,IAAI,EAAE,aAAa,CAAC;IAEpC,gBAAgB;IACA,qBAAqB,IAAI,IAAI,IAAI,mBAAmB;IAEpE,gEAAgE;IAChE,IAAoB,OAAO,IAAI,UAAU,CAA2B;IAEpE,4CAA4C;IAC5C,IAAoB,QAAQ,IAAI,UAAU,CAA4B;IAEtE,SAAS,aAAa,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,QAAQ;IAOtE,+DAA+D;WAC3C,QAAQ,CAAC,cAAc,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAO9F;;OAEG;WACiB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,QAA6B,EAAE,IAAI,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAOzJ,2DAA2D;IAC3D,IAAW,QAAQ,IAAI,OAAO,CAAoC;IAElE;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAanC,OAAO,CAAC,eAAe;IAKvB,2FAA2F;IAC9E,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/C;;OAEG;IACU,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D;;;OAGG;IACU,WAAW,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjE;;;;OAIG;IACU,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAK3E;;OAEG;IACH,IAAW,YAAY,IAAI,qBAAqB,GAAG,SAAS,CAE3D;IAED;;;OAGG;IACU,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIzD;;;;;OAKG;IACU,iBAAiB,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAIhE;;OAEG;IACH,SAAgB,sBAAsB,4BAAiC,IAAI,MAAM,CAAC,KAAK,IAAI,EAAI;CAChG"}
1
+ {"version":3,"file":"BriefcaseConnection.d.ts","sourceRoot":"","sources":["../../src/BriefcaseConnection.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAU,OAAO,EAA2B,UAAU,EAA4B,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/H,OAAO,EACL,cAAc,EACd,mBAAmB,EAAE,qBAAqB,EAAe,kBAAkB,EAAE,qBAAqB,EACnG,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAoItD;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,gBAAgB;IACvD,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IAEpD,+FAA+F;IAC/F,SAAgB,IAAI,EAAE,aAAa,CAAC;IAEpC,gBAAgB;IACA,qBAAqB,IAAI,IAAI,IAAI,mBAAmB;IAEpE,gEAAgE;IAChE,IAAoB,OAAO,IAAI,UAAU,CAA2B;IAEpE,4CAA4C;IAC5C,IAAoB,QAAQ,IAAI,UAAU,CAA4B;IAEtE,SAAS,aAAa,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,QAAQ;IAOtE,+DAA+D;WAC3C,QAAQ,CAAC,cAAc,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAO9F;;OAEG;WACiB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,QAA6B,EAAE,IAAI,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAOzJ,2DAA2D;IAC3D,IAAW,QAAQ,IAAI,OAAO,CAAoC;IAElE;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAanC,OAAO,CAAC,eAAe;IAKvB,2FAA2F;IAC9E,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/C;;OAEG;IACU,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D;;;OAGG;IACU,WAAW,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjE;;;;OAIG;IACU,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAK3E;;OAEG;IACH,IAAW,YAAY,IAAI,qBAAqB,GAAG,SAAS,CAE3D;IAED;;;OAGG;IACU,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIzD;;;;;OAKG;IACU,iBAAiB,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAIhE;;OAEG;IACH,SAAgB,sBAAsB,4BAAiC,IAAI,MAAM,CAAC,KAAK,IAAI,EAAI;CAChG"}
@@ -13,6 +13,7 @@ import { IModelApp } from "./IModelApp";
13
13
  import { IModelConnection } from "./IModelConnection";
14
14
  import { IpcApp } from "./IpcApp";
15
15
  import { disposeTileTreesForGeometricModels } from "./tile/internal";
16
+ import { Viewport } from "./Viewport";
16
17
  /** Keeps track of changes to models, buffering them until synchronization points.
17
18
  * While a GraphicalEditingScope is open, the changes are buffered until the scope exits, at which point they are processed.
18
19
  * Otherwise, the buffered changes are processed after undo/redo, commit, or pull+merge changes.
@@ -102,12 +103,12 @@ class ModelChangeMonitor {
102
103
  this._deletedModels.clear();
103
104
  }
104
105
  invalidateScenes(changedModels) {
105
- for (const vp of IModelApp.tileAdmin.viewports) {
106
- if (vp.iModel === this._briefcase) {
106
+ for (const user of IModelApp.tileAdmin.tileUsers) {
107
+ if (user instanceof Viewport && user.iModel === this._briefcase) {
107
108
  for (const modelId of changedModels) {
108
- if (vp.view.viewsModel(modelId)) {
109
- vp.invalidateScene();
110
- vp.setFeatureOverrideProviderChanged();
109
+ if (user.view.viewsModel(modelId)) {
110
+ user.invalidateScene();
111
+ user.setFeatureOverrideProviderChanged();
111
112
  break;
112
113
  }
113
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BriefcaseConnection.js","sourceRoot":"","sources":["../../src/BriefcaseConnection.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 IModelConnection\r\n */\r\n\r\nimport { assert, BeEvent, CompressedId64Set, Guid, GuidString, Id64String, IModelStatus, OpenMode } from \"@itwin/core-bentley\";\r\nimport {\r\n ChangesetIndex,\r\n ChangesetIndexAndId, IModelConnectionProps, IModelError, OpenBriefcaseProps, StandaloneOpenOptions,\r\n} from \"@itwin/core-common\";\r\nimport { BriefcaseTxns } from \"./BriefcaseTxns\";\r\nimport { GraphicalEditingScope } from \"./GraphicalEditingScope\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { IpcApp } from \"./IpcApp\";\r\nimport { disposeTileTreesForGeometricModels } from \"./tile/internal\";\r\n\r\n/** Keeps track of changes to models, buffering them until synchronization points.\r\n * While a GraphicalEditingScope is open, the changes are buffered until the scope exits, at which point they are processed.\r\n * Otherwise, the buffered changes are processed after undo/redo, commit, or pull+merge changes.\r\n */\r\nclass ModelChangeMonitor {\r\n private _editingScope?: GraphicalEditingScope;\r\n private readonly _briefcase: BriefcaseConnection;\r\n private readonly _deletedModels = new Set<string>();\r\n private readonly _modelIdToGuid = new Map<string, string>();\r\n private readonly _removals: VoidFunction[] = [];\r\n\r\n public constructor(briefcase: BriefcaseConnection) {\r\n this._briefcase = briefcase;\r\n\r\n // Buffer updated geometry guids.\r\n this._removals.push(briefcase.txns.onModelGeometryChanged.addListener((changes) => {\r\n for (const change of changes) {\r\n this._deletedModels.delete(change.id);\r\n this._modelIdToGuid.set(change.id, change.guid);\r\n }\r\n }));\r\n\r\n // Buffer deletions of models.\r\n this._removals.push(briefcase.txns.onModelsChanged.addListener((changes) => {\r\n if (changes.deleted) {\r\n for (const id of CompressedId64Set.iterable(changes.deleted)) {\r\n this._modelIdToGuid.delete(id);\r\n this._deletedModels.add(id);\r\n }\r\n }\r\n }));\r\n\r\n // Outside of an editing scope, we want to update viewport contents after commit, undo/redo, or merging changes.\r\n const maybeProcess = async () => {\r\n if (this.editingScope)\r\n return;\r\n\r\n const modelIds = Array.from(this._modelIdToGuid.keys());\r\n if (modelIds.length > 0)\r\n await IModelApp.tileAdmin.purgeTileTrees(this._briefcase, modelIds);\r\n\r\n this.processBuffered();\r\n };\r\n\r\n this._removals.push(briefcase.txns.onCommitted.addListener(maybeProcess));\r\n this._removals.push(briefcase.txns.onAfterUndoRedo.addListener(maybeProcess));\r\n this._removals.push(briefcase.txns.onChangesPulled.addListener(maybeProcess));\r\n }\r\n\r\n public async close(): Promise<void> {\r\n for (const removal of this._removals)\r\n removal();\r\n\r\n this._removals.length = 0;\r\n\r\n if (this._editingScope) {\r\n await this._editingScope.exit();\r\n this._editingScope = undefined;\r\n }\r\n }\r\n\r\n public get editingScope(): GraphicalEditingScope | undefined {\r\n return this._editingScope;\r\n }\r\n\r\n public async enterEditingScope(): Promise<GraphicalEditingScope> {\r\n if (this._editingScope)\r\n throw new Error(\"Cannot create an editing scope for an iModel that already has one\");\r\n\r\n this._editingScope = await GraphicalEditingScope.enter(this._briefcase);\r\n\r\n const removeGeomListener = this._editingScope.onGeometryChanges.addListener((changes) => {\r\n const modelIds = [];\r\n for (const change of changes)\r\n modelIds.push(change.id);\r\n\r\n this.invalidateScenes(modelIds);\r\n });\r\n\r\n this._editingScope.onExited.addOnce((scope) => {\r\n assert(scope === this._editingScope);\r\n this._editingScope = undefined;\r\n removeGeomListener();\r\n this.processBuffered();\r\n });\r\n\r\n return this._editingScope;\r\n }\r\n\r\n private processBuffered(): void {\r\n const models = this._briefcase.models;\r\n for (const [id, guid] of this._modelIdToGuid) {\r\n const model = models.getLoaded(id)?.asGeometricModel;\r\n if (model)\r\n model.geometryGuid = guid;\r\n }\r\n\r\n const modelIds = new Set<string>(this._modelIdToGuid.keys());\r\n for (const deleted of this._deletedModels) {\r\n modelIds.add(deleted);\r\n models.unload(deleted);\r\n }\r\n\r\n this.invalidateScenes(modelIds);\r\n disposeTileTreesForGeometricModels(modelIds, this._briefcase);\r\n\r\n this._briefcase.onBufferedModelChanges.raiseEvent(modelIds);\r\n\r\n this._modelIdToGuid.clear();\r\n this._deletedModels.clear();\r\n }\r\n\r\n private invalidateScenes(changedModels: Iterable<Id64String>): void {\r\n for (const vp of IModelApp.tileAdmin.viewports) {\r\n if (vp.iModel === this._briefcase) {\r\n for (const modelId of changedModels) {\r\n if (vp.view.viewsModel(modelId)) {\r\n vp.invalidateScene();\r\n vp.setFeatureOverrideProviderChanged();\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n/** A connection to an editable briefcase on the backend. This class uses [Ipc]($docs/learning/IpcInterface.md) to communicate\r\n * to the backend and may only be used by [[IpcApp]]s.\r\n * @public\r\n */\r\nexport class BriefcaseConnection extends IModelConnection {\r\n protected _isClosed?: boolean;\r\n private readonly _modelsMonitor: ModelChangeMonitor;\r\n\r\n /** Manages local changes to the briefcase via [Txns]($docs/learning/InteractiveEditing.md). */\r\n public readonly txns: BriefcaseTxns;\r\n\r\n /** @internal */\r\n public override isBriefcaseConnection(): this is BriefcaseConnection { return true; }\r\n\r\n /** The Guid that identifies the iTwin that owns this iModel. */\r\n public override get iTwinId(): GuidString { return super.iTwinId!; } // GuidString | undefined for IModelConnection, but required for BriefcaseConnection\r\n\r\n /** The Guid that identifies this iModel. */\r\n public override get iModelId(): GuidString { return super.iModelId!; } // GuidString | undefined for IModelConnection, but required for BriefcaseConnection\r\n\r\n protected constructor(props: IModelConnectionProps, openMode: OpenMode) {\r\n super(props);\r\n this._openMode = openMode;\r\n this.txns = new BriefcaseTxns(this);\r\n this._modelsMonitor = new ModelChangeMonitor(this);\r\n }\r\n\r\n /** Open a BriefcaseConnection to a [BriefcaseDb]($backend). */\r\n public static async openFile(briefcaseProps: OpenBriefcaseProps): Promise<BriefcaseConnection> {\r\n const iModelProps = await IpcApp.callIpcHost(\"openBriefcase\", briefcaseProps);\r\n const connection = new this({ ...briefcaseProps, ...iModelProps }, briefcaseProps.readonly ? OpenMode.Readonly : OpenMode.ReadWrite);\r\n IModelConnection.onOpen.raiseEvent(connection);\r\n return connection;\r\n }\r\n\r\n /** Open a BriefcaseConnection to a [StandaloneDb]($backend)\r\n * @note StandaloneDbs, by definition, may not push or pull changes. Attempting to do so will throw exceptions.\r\n */\r\n public static async openStandalone(filePath: string, openMode: OpenMode = OpenMode.ReadWrite, opts?: StandaloneOpenOptions): Promise<BriefcaseConnection> {\r\n const openResponse = await IpcApp.callIpcHost(\"openStandalone\", filePath, openMode, opts);\r\n const connection = new this(openResponse, openMode);\r\n IModelConnection.onOpen.raiseEvent(connection);\r\n return connection;\r\n }\r\n\r\n /** Returns `true` if [[close]] has already been called. */\r\n public get isClosed(): boolean { return this._isClosed === true; }\r\n\r\n /**\r\n * Close this BriefcaseConnection.\r\n * @note make sure to call [[saveChanges]] before calling this method. Unsaved local changes are abandoned.\r\n */\r\n public async close(): Promise<void> {\r\n if (this.isClosed)\r\n return;\r\n\r\n await this._modelsMonitor.close();\r\n\r\n this.beforeClose();\r\n this.txns.dispose();\r\n\r\n this._isClosed = true;\r\n await IpcApp.callIpcHost(\"closeIModel\", this._fileKey);\r\n }\r\n\r\n private requireTimeline() {\r\n if (this.iTwinId === Guid.empty)\r\n throw new IModelError(IModelStatus.WrongIModel, \"iModel has no timeline\");\r\n }\r\n\r\n /** Query if there are any pending Txns in this briefcase that are waiting to be pushed. */\r\n public async hasPendingTxns(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\r\n return this.txns.hasPendingTxns();\r\n }\r\n\r\n /** Commit pending changes to this briefcase.\r\n * @param description Optional description of the changes.\r\n */\r\n public async saveChanges(description?: string): Promise<void> {\r\n await IpcApp.callIpcHost(\"saveChanges\", this.key, description);\r\n }\r\n\r\n /** Pull (and potentially merge if there are local changes) up to a specified changeset from iModelHub into this briefcase\r\n * @param toIndex The changeset index to pull changes to. If `undefined`, pull all changes.\r\n * @see [[BriefcaseTxns.onChangesPulled]] for the event dispatched after changes are pulled.\r\n */\r\n public async pullChanges(toIndex?: ChangesetIndex): Promise<void> {\r\n this.requireTimeline();\r\n this.changeset = await IpcApp.callIpcHost(\"pullChanges\", this.key, toIndex);\r\n }\r\n\r\n /** Create a changeset from local Txns and push to iModelHub. On success, clear Txn table.\r\n * @param description The description for the changeset\r\n * @returns the changesetId of the pushed changes\r\n * @see [[BriefcaseTxns.onChangesPushed]] for the event dispatched after changes are pushed.\r\n */\r\n public async pushChanges(description: string): Promise<ChangesetIndexAndId> {\r\n this.requireTimeline();\r\n return IpcApp.callIpcHost(\"pushChanges\", this.key, description);\r\n }\r\n\r\n /** The current graphical editing scope, if one is in progress.\r\n * @see [[enterEditingScope]] to begin graphical editing.\r\n */\r\n public get editingScope(): GraphicalEditingScope | undefined {\r\n return this._modelsMonitor.editingScope;\r\n }\r\n\r\n /** Return whether graphical editing is supported for this briefcase. It is not supported if the briefcase is read-only, or the briefcase contains a version of\r\n * the BisCore ECSchema older than v0.1.11.\r\n * @see [[enterEditingScope]] to enable graphical editing.\r\n */\r\n public async supportsGraphicalEditing(): Promise<boolean> {\r\n return IpcApp.callIpcHost(\"isGraphicalEditingSupported\", this.key);\r\n }\r\n\r\n /** Begin a new graphical editing scope.\r\n * @throws Error if an editing scope already exists or one could not be created.\r\n * @see [[GraphicalEditingScope.exit]] to exit the scope.\r\n * @see [[supportsGraphicalEditing]] to determine whether this method should be expected to succeed.\r\n * @see [[editingScope]] to obtain the current editing scope, if one is in progress.\r\n */\r\n public async enterEditingScope(): Promise<GraphicalEditingScope> {\r\n return this._modelsMonitor.enterEditingScope();\r\n }\r\n\r\n /** Strictly for tests - dispatched from ModelChangeMonitor.processBuffered.\r\n * @internal\r\n */\r\n public readonly onBufferedModelChanges = new BeEvent<(changedModelIds: Set<string>) => void>();\r\n}\r\n"]}
1
+ {"version":3,"file":"BriefcaseConnection.js","sourceRoot":"","sources":["../../src/BriefcaseConnection.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 IModelConnection\r\n */\r\n\r\nimport { assert, BeEvent, CompressedId64Set, Guid, GuidString, Id64String, IModelStatus, OpenMode } from \"@itwin/core-bentley\";\r\nimport {\r\n ChangesetIndex,\r\n ChangesetIndexAndId, IModelConnectionProps, IModelError, OpenBriefcaseProps, StandaloneOpenOptions,\r\n} from \"@itwin/core-common\";\r\nimport { BriefcaseTxns } from \"./BriefcaseTxns\";\r\nimport { GraphicalEditingScope } from \"./GraphicalEditingScope\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { IpcApp } from \"./IpcApp\";\r\nimport { disposeTileTreesForGeometricModels } from \"./tile/internal\";\r\nimport { Viewport } from \"./Viewport\";\r\n\r\n/** Keeps track of changes to models, buffering them until synchronization points.\r\n * While a GraphicalEditingScope is open, the changes are buffered until the scope exits, at which point they are processed.\r\n * Otherwise, the buffered changes are processed after undo/redo, commit, or pull+merge changes.\r\n */\r\nclass ModelChangeMonitor {\r\n private _editingScope?: GraphicalEditingScope;\r\n private readonly _briefcase: BriefcaseConnection;\r\n private readonly _deletedModels = new Set<string>();\r\n private readonly _modelIdToGuid = new Map<string, string>();\r\n private readonly _removals: VoidFunction[] = [];\r\n\r\n public constructor(briefcase: BriefcaseConnection) {\r\n this._briefcase = briefcase;\r\n\r\n // Buffer updated geometry guids.\r\n this._removals.push(briefcase.txns.onModelGeometryChanged.addListener((changes) => {\r\n for (const change of changes) {\r\n this._deletedModels.delete(change.id);\r\n this._modelIdToGuid.set(change.id, change.guid);\r\n }\r\n }));\r\n\r\n // Buffer deletions of models.\r\n this._removals.push(briefcase.txns.onModelsChanged.addListener((changes) => {\r\n if (changes.deleted) {\r\n for (const id of CompressedId64Set.iterable(changes.deleted)) {\r\n this._modelIdToGuid.delete(id);\r\n this._deletedModels.add(id);\r\n }\r\n }\r\n }));\r\n\r\n // Outside of an editing scope, we want to update viewport contents after commit, undo/redo, or merging changes.\r\n const maybeProcess = async () => {\r\n if (this.editingScope)\r\n return;\r\n\r\n const modelIds = Array.from(this._modelIdToGuid.keys());\r\n if (modelIds.length > 0)\r\n await IModelApp.tileAdmin.purgeTileTrees(this._briefcase, modelIds);\r\n\r\n this.processBuffered();\r\n };\r\n\r\n this._removals.push(briefcase.txns.onCommitted.addListener(maybeProcess));\r\n this._removals.push(briefcase.txns.onAfterUndoRedo.addListener(maybeProcess));\r\n this._removals.push(briefcase.txns.onChangesPulled.addListener(maybeProcess));\r\n }\r\n\r\n public async close(): Promise<void> {\r\n for (const removal of this._removals)\r\n removal();\r\n\r\n this._removals.length = 0;\r\n\r\n if (this._editingScope) {\r\n await this._editingScope.exit();\r\n this._editingScope = undefined;\r\n }\r\n }\r\n\r\n public get editingScope(): GraphicalEditingScope | undefined {\r\n return this._editingScope;\r\n }\r\n\r\n public async enterEditingScope(): Promise<GraphicalEditingScope> {\r\n if (this._editingScope)\r\n throw new Error(\"Cannot create an editing scope for an iModel that already has one\");\r\n\r\n this._editingScope = await GraphicalEditingScope.enter(this._briefcase);\r\n\r\n const removeGeomListener = this._editingScope.onGeometryChanges.addListener((changes) => {\r\n const modelIds = [];\r\n for (const change of changes)\r\n modelIds.push(change.id);\r\n\r\n this.invalidateScenes(modelIds);\r\n });\r\n\r\n this._editingScope.onExited.addOnce((scope) => {\r\n assert(scope === this._editingScope);\r\n this._editingScope = undefined;\r\n removeGeomListener();\r\n this.processBuffered();\r\n });\r\n\r\n return this._editingScope;\r\n }\r\n\r\n private processBuffered(): void {\r\n const models = this._briefcase.models;\r\n for (const [id, guid] of this._modelIdToGuid) {\r\n const model = models.getLoaded(id)?.asGeometricModel;\r\n if (model)\r\n model.geometryGuid = guid;\r\n }\r\n\r\n const modelIds = new Set<string>(this._modelIdToGuid.keys());\r\n for (const deleted of this._deletedModels) {\r\n modelIds.add(deleted);\r\n models.unload(deleted);\r\n }\r\n\r\n this.invalidateScenes(modelIds);\r\n disposeTileTreesForGeometricModels(modelIds, this._briefcase);\r\n\r\n this._briefcase.onBufferedModelChanges.raiseEvent(modelIds);\r\n\r\n this._modelIdToGuid.clear();\r\n this._deletedModels.clear();\r\n }\r\n\r\n private invalidateScenes(changedModels: Iterable<Id64String>): void {\r\n for (const user of IModelApp.tileAdmin.tileUsers) {\r\n if (user instanceof Viewport && user.iModel === this._briefcase) {\r\n for (const modelId of changedModels) {\r\n if (user.view.viewsModel(modelId)) {\r\n user.invalidateScene();\r\n user.setFeatureOverrideProviderChanged();\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n/** A connection to an editable briefcase on the backend. This class uses [Ipc]($docs/learning/IpcInterface.md) to communicate\r\n * to the backend and may only be used by [[IpcApp]]s.\r\n * @public\r\n */\r\nexport class BriefcaseConnection extends IModelConnection {\r\n protected _isClosed?: boolean;\r\n private readonly _modelsMonitor: ModelChangeMonitor;\r\n\r\n /** Manages local changes to the briefcase via [Txns]($docs/learning/InteractiveEditing.md). */\r\n public readonly txns: BriefcaseTxns;\r\n\r\n /** @internal */\r\n public override isBriefcaseConnection(): this is BriefcaseConnection { return true; }\r\n\r\n /** The Guid that identifies the iTwin that owns this iModel. */\r\n public override get iTwinId(): GuidString { return super.iTwinId!; } // GuidString | undefined for IModelConnection, but required for BriefcaseConnection\r\n\r\n /** The Guid that identifies this iModel. */\r\n public override get iModelId(): GuidString { return super.iModelId!; } // GuidString | undefined for IModelConnection, but required for BriefcaseConnection\r\n\r\n protected constructor(props: IModelConnectionProps, openMode: OpenMode) {\r\n super(props);\r\n this._openMode = openMode;\r\n this.txns = new BriefcaseTxns(this);\r\n this._modelsMonitor = new ModelChangeMonitor(this);\r\n }\r\n\r\n /** Open a BriefcaseConnection to a [BriefcaseDb]($backend). */\r\n public static async openFile(briefcaseProps: OpenBriefcaseProps): Promise<BriefcaseConnection> {\r\n const iModelProps = await IpcApp.callIpcHost(\"openBriefcase\", briefcaseProps);\r\n const connection = new this({ ...briefcaseProps, ...iModelProps }, briefcaseProps.readonly ? OpenMode.Readonly : OpenMode.ReadWrite);\r\n IModelConnection.onOpen.raiseEvent(connection);\r\n return connection;\r\n }\r\n\r\n /** Open a BriefcaseConnection to a [StandaloneDb]($backend)\r\n * @note StandaloneDbs, by definition, may not push or pull changes. Attempting to do so will throw exceptions.\r\n */\r\n public static async openStandalone(filePath: string, openMode: OpenMode = OpenMode.ReadWrite, opts?: StandaloneOpenOptions): Promise<BriefcaseConnection> {\r\n const openResponse = await IpcApp.callIpcHost(\"openStandalone\", filePath, openMode, opts);\r\n const connection = new this(openResponse, openMode);\r\n IModelConnection.onOpen.raiseEvent(connection);\r\n return connection;\r\n }\r\n\r\n /** Returns `true` if [[close]] has already been called. */\r\n public get isClosed(): boolean { return this._isClosed === true; }\r\n\r\n /**\r\n * Close this BriefcaseConnection.\r\n * @note make sure to call [[saveChanges]] before calling this method. Unsaved local changes are abandoned.\r\n */\r\n public async close(): Promise<void> {\r\n if (this.isClosed)\r\n return;\r\n\r\n await this._modelsMonitor.close();\r\n\r\n this.beforeClose();\r\n this.txns.dispose();\r\n\r\n this._isClosed = true;\r\n await IpcApp.callIpcHost(\"closeIModel\", this._fileKey);\r\n }\r\n\r\n private requireTimeline() {\r\n if (this.iTwinId === Guid.empty)\r\n throw new IModelError(IModelStatus.WrongIModel, \"iModel has no timeline\");\r\n }\r\n\r\n /** Query if there are any pending Txns in this briefcase that are waiting to be pushed. */\r\n public async hasPendingTxns(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\r\n return this.txns.hasPendingTxns();\r\n }\r\n\r\n /** Commit pending changes to this briefcase.\r\n * @param description Optional description of the changes.\r\n */\r\n public async saveChanges(description?: string): Promise<void> {\r\n await IpcApp.callIpcHost(\"saveChanges\", this.key, description);\r\n }\r\n\r\n /** Pull (and potentially merge if there are local changes) up to a specified changeset from iModelHub into this briefcase\r\n * @param toIndex The changeset index to pull changes to. If `undefined`, pull all changes.\r\n * @see [[BriefcaseTxns.onChangesPulled]] for the event dispatched after changes are pulled.\r\n */\r\n public async pullChanges(toIndex?: ChangesetIndex): Promise<void> {\r\n this.requireTimeline();\r\n this.changeset = await IpcApp.callIpcHost(\"pullChanges\", this.key, toIndex);\r\n }\r\n\r\n /** Create a changeset from local Txns and push to iModelHub. On success, clear Txn table.\r\n * @param description The description for the changeset\r\n * @returns the changesetId of the pushed changes\r\n * @see [[BriefcaseTxns.onChangesPushed]] for the event dispatched after changes are pushed.\r\n */\r\n public async pushChanges(description: string): Promise<ChangesetIndexAndId> {\r\n this.requireTimeline();\r\n return IpcApp.callIpcHost(\"pushChanges\", this.key, description);\r\n }\r\n\r\n /** The current graphical editing scope, if one is in progress.\r\n * @see [[enterEditingScope]] to begin graphical editing.\r\n */\r\n public get editingScope(): GraphicalEditingScope | undefined {\r\n return this._modelsMonitor.editingScope;\r\n }\r\n\r\n /** Return whether graphical editing is supported for this briefcase. It is not supported if the briefcase is read-only, or the briefcase contains a version of\r\n * the BisCore ECSchema older than v0.1.11.\r\n * @see [[enterEditingScope]] to enable graphical editing.\r\n */\r\n public async supportsGraphicalEditing(): Promise<boolean> {\r\n return IpcApp.callIpcHost(\"isGraphicalEditingSupported\", this.key);\r\n }\r\n\r\n /** Begin a new graphical editing scope.\r\n * @throws Error if an editing scope already exists or one could not be created.\r\n * @see [[GraphicalEditingScope.exit]] to exit the scope.\r\n * @see [[supportsGraphicalEditing]] to determine whether this method should be expected to succeed.\r\n * @see [[editingScope]] to obtain the current editing scope, if one is in progress.\r\n */\r\n public async enterEditingScope(): Promise<GraphicalEditingScope> {\r\n return this._modelsMonitor.enterEditingScope();\r\n }\r\n\r\n /** Strictly for tests - dispatched from ModelChangeMonitor.processBuffered.\r\n * @internal\r\n */\r\n public readonly onBufferedModelChanges = new BeEvent<(changedModelIds: Set<string>) => void>();\r\n}\r\n"]}
@@ -57,7 +57,7 @@ export class CategorySelectorState extends ElementState {
57
57
  /** The name of this CategorySelector */
58
58
  get name() { return this.code.value; }
59
59
  /** Determine whether this CategorySelector includes the specified categoryId string */
60
- has(id) { return this.categories.has(id.toString()); }
60
+ has(id) { return this.categories.has(id); }
61
61
  /** Determine whether this CategorySelector includes the specified category */
62
62
  isCategoryViewed(categoryId) { return this.has(categoryId); }
63
63
  /** Add one or more categories to this CategorySelector */
@@ -1 +1 @@
1
- {"version":3,"file":"CategorySelectorState.js","sourceRoot":"","sources":["../../src/CategorySelectorState.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 Views\r\n */\r\nimport { Id64, Id64Arg, Id64String, ObservableSet } from \"@itwin/core-bentley\";\r\nimport { CategorySelectorProps } from \"@itwin/core-common\";\r\nimport { ElementState } from \"./EntityState\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\n\r\n/** A set of Categories to be displayed in a [[ViewState]].\r\n * Elements belonging to categories not specified in the category selector will not be drawn in the view.\r\n * By default, geometry belonging to any [[SubCategory]] of a visible Category is also visible in the view,\r\n * unless the [[SubCategoryAppearance]] or [[SubCategoryOverride]] specifies that it should be invisible.\r\n * @note To change the set of categories visible in a [[ViewState]] currently associated with a [[Viewport]],\r\n * use [[ViewState.changeCategoryDisplay]] to ensure the view updates appropriately on screen.\r\n * @see [[Category]]\r\n * @public\r\n */\r\nexport class CategorySelectorState extends ElementState {\r\n /** @internal */\r\n public static override get className() { return \"CategorySelector\"; }\r\n\r\n private readonly _categories = new ObservableSet<string>();\r\n\r\n constructor(props: CategorySelectorProps, iModel: IModelConnection) {\r\n super(props, iModel);\r\n if (props.categories)\r\n props.categories.forEach((cat) => this.categories.add(cat));\r\n }\r\n\r\n public get categories(): Set<string> {\r\n return this._categories;\r\n }\r\n\r\n public set categories(categories: Set<string>) {\r\n this._categories.clear();\r\n for (const category of categories)\r\n this._categories.add(category);\r\n }\r\n\r\n /** @internal */\r\n public get observableCategories(): ObservableSet<string> {\r\n return this._categories;\r\n }\r\n\r\n public override toJSON(): CategorySelectorProps {\r\n const val = super.toJSON() as CategorySelectorProps;\r\n val.categories = [];\r\n this.categories.forEach((cat) => val.categories.push(cat));\r\n return val;\r\n }\r\n\r\n /** Returns true if this category selector is logically equivalent to the specified category selector.\r\n * Two category selectors are logically equivalent if they have the same name and Id and contain the same set of category Ids.\r\n */\r\n public equalState(other: CategorySelectorState): boolean {\r\n if (this.categories.size !== other.categories.size || this.name !== other.name || this.id !== other.id)\r\n return false;\r\n\r\n for (const cat of this.categories)\r\n if (!other.categories.has(cat))\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n /** The name of this CategorySelector */\r\n public get name(): string { return this.code.value; }\r\n\r\n /** Determine whether this CategorySelector includes the specified categoryId string */\r\n public has(id: Id64String): boolean { return this.categories.has(id.toString()); }\r\n\r\n /** Determine whether this CategorySelector includes the specified category */\r\n public isCategoryViewed(categoryId: Id64String): boolean { return this.has(categoryId); }\r\n\r\n /** Add one or more categories to this CategorySelector */\r\n public addCategories(arg: Id64Arg): void {\r\n for (const id of Id64.iterable(arg))\r\n this.categories.add(id);\r\n }\r\n\r\n /** Remove one or more categories from this CategorySelector */\r\n public dropCategories(arg: Id64Arg) {\r\n for (const id of Id64.iterable(arg))\r\n this.categories.delete(id);\r\n }\r\n\r\n /** Add or remove categories from this CategorySelector.\r\n * @param arg The categories to add or remove\r\n * @param add If true, categories will be added; otherwise they will be removed.\r\n */\r\n public changeCategoryDisplay(arg: Id64Arg, add: boolean): void { if (add) this.addCategories(arg); else this.dropCategories(arg); }\r\n}\r\n"]}
1
+ {"version":3,"file":"CategorySelectorState.js","sourceRoot":"","sources":["../../src/CategorySelectorState.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 Views\r\n */\r\nimport { Id64, Id64Arg, Id64String, ObservableSet } from \"@itwin/core-bentley\";\r\nimport { CategorySelectorProps } from \"@itwin/core-common\";\r\nimport { ElementState } from \"./EntityState\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\n\r\n/** A set of Categories to be displayed in a [[ViewState]].\r\n * Elements belonging to categories not specified in the category selector will not be drawn in the view.\r\n * By default, geometry belonging to any [[SubCategory]] of a visible Category is also visible in the view,\r\n * unless the [[SubCategoryAppearance]] or [[SubCategoryOverride]] specifies that it should be invisible.\r\n * @note To change the set of categories visible in a [[ViewState]] currently associated with a [[Viewport]],\r\n * use [[ViewState.changeCategoryDisplay]] to ensure the view updates appropriately on screen.\r\n * @see [[Category]]\r\n * @public\r\n */\r\nexport class CategorySelectorState extends ElementState {\r\n /** @internal */\r\n public static override get className() { return \"CategorySelector\"; }\r\n\r\n private readonly _categories = new ObservableSet<string>();\r\n\r\n constructor(props: CategorySelectorProps, iModel: IModelConnection) {\r\n super(props, iModel);\r\n if (props.categories)\r\n props.categories.forEach((cat) => this.categories.add(cat));\r\n }\r\n\r\n public get categories(): Set<string> {\r\n return this._categories;\r\n }\r\n\r\n public set categories(categories: Set<string>) {\r\n this._categories.clear();\r\n for (const category of categories)\r\n this._categories.add(category);\r\n }\r\n\r\n /** @internal */\r\n public get observableCategories(): ObservableSet<string> {\r\n return this._categories;\r\n }\r\n\r\n public override toJSON(): CategorySelectorProps {\r\n const val = super.toJSON() as CategorySelectorProps;\r\n val.categories = [];\r\n this.categories.forEach((cat) => val.categories.push(cat));\r\n return val;\r\n }\r\n\r\n /** Returns true if this category selector is logically equivalent to the specified category selector.\r\n * Two category selectors are logically equivalent if they have the same name and Id and contain the same set of category Ids.\r\n */\r\n public equalState(other: CategorySelectorState): boolean {\r\n if (this.categories.size !== other.categories.size || this.name !== other.name || this.id !== other.id)\r\n return false;\r\n\r\n for (const cat of this.categories)\r\n if (!other.categories.has(cat))\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n /** The name of this CategorySelector */\r\n public get name(): string { return this.code.value; }\r\n\r\n /** Determine whether this CategorySelector includes the specified categoryId string */\r\n public has(id: Id64String): boolean { return this.categories.has(id); }\r\n\r\n /** Determine whether this CategorySelector includes the specified category */\r\n public isCategoryViewed(categoryId: Id64String): boolean { return this.has(categoryId); }\r\n\r\n /** Add one or more categories to this CategorySelector */\r\n public addCategories(arg: Id64Arg): void {\r\n for (const id of Id64.iterable(arg))\r\n this.categories.add(id);\r\n }\r\n\r\n /** Remove one or more categories from this CategorySelector */\r\n public dropCategories(arg: Id64Arg) {\r\n for (const id of Id64.iterable(arg))\r\n this.categories.delete(id);\r\n }\r\n\r\n /** Add or remove categories from this CategorySelector.\r\n * @param arg The categories to add or remove\r\n * @param add If true, categories will be added; otherwise they will be removed.\r\n */\r\n public changeCategoryDisplay(arg: Id64Arg, add: boolean): void { if (add) this.addCategories(arg); else this.dropCategories(arg); }\r\n}\r\n"]}
@@ -16,6 +16,7 @@ import { ScreenViewport } from "./Viewport";
16
16
  export declare class TerrainDisplayOverrides {
17
17
  wantSkirts?: boolean;
18
18
  wantNormals?: boolean;
19
+ produceGeometry?: boolean;
19
20
  }
20
21
  /** Options controlling display of [OpenStreetMap Buildings](https://cesium.com/platform/cesium-ion/content/cesium-osm-buildings/).
21
22
  * @see [[DisplayStyleState.setOSMBuildingDisplay]].
@@ -159,15 +160,15 @@ export declare abstract class DisplayStyleState extends ElementState implements
159
160
  /** @internal */
160
161
  attachMapLayer(props: MapLayerProps, isOverlay: boolean, insertIndex?: number): void;
161
162
  /** @internal */
162
- hasAttachedMapLayer(name: string, url: string, isOverlay: boolean): boolean;
163
+ hasAttachedMapLayer(name: string, source: string, isOverlay: boolean): boolean;
163
164
  /** @internal */
164
- detachMapLayerByNameAndUrl(name: string, url: string, isOverlay: boolean): void;
165
+ detachMapLayerByNameAndSource(name: string, source: string, isOverlay: boolean): void;
165
166
  /** Detach map layer at index (-1 to remove all layers)
166
167
  * @internal
167
168
  */
168
169
  detachMapLayerByIndex(index: number, isOverlay: boolean): void;
169
170
  /** @internal */
170
- findMapLayerIndexByNameAndUrl(name: string, url: string, isOverlay: boolean): number;
171
+ findMapLayerIndexByNameAndSource(name: string, source: string, isOverlay: boolean): number;
171
172
  /** @internal */
172
173
  mapLayerAtIndex(index: number, isOverlay: boolean): MapLayerSettings | undefined;
173
174
  /** Return map base transparency as a number between 0 and 1.
@@ -1 +1 @@
1
- {"version":3,"file":"DisplayStyleState.d.ts","sourceRoot":"","sources":["../../src/DisplayStyleState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DisplayStyleState.d.ts","sourceRoot":"","sources":["../../src/DisplayStyleState.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import { assert, BeEvent, Id64 } from "@itwin/core-bentley";
9
9
  import { Angle, Range1d } from "@itwin/core-geometry";
10
- import { BackgroundMapProvider, BaseMapLayerSettings, ColorDef, DisplayStyle3dSettings, DisplayStyleSettings, GlobeMode, MapLayerSettings, RenderSchedule, TerrainHeightOriginMode, ThematicDisplay, ThematicDisplayMode, ThematicGradientMode, } from "@itwin/core-common";
10
+ import { BackgroundMapProvider, BaseMapLayerSettings, CartographicRange, ColorDef, DisplayStyle3dSettings, DisplayStyleSettings, GlobeMode, ImageMapLayerSettings, MapLayerSettings, ModelMapLayerSettings, RenderSchedule, TerrainHeightOriginMode, ThematicDisplay, ThematicDisplayMode, ThematicGradientMode, } from "@itwin/core-common";
11
11
  import { ApproximateTerrainHeights } from "./ApproximateTerrainHeights";
12
12
  import { BackgroundMapGeometry } from "./BackgroundMapGeometry";
13
13
  import { ContextRealityModelState } from "./ContextRealityModelState";
@@ -15,8 +15,9 @@ import { ElementState } from "./EntityState";
15
15
  import { IModelApp } from "./IModelApp";
16
16
  import { PlanarClipMaskState } from "./PlanarClipMaskState";
17
17
  import { RenderScheduleState } from "./RenderScheduleState";
18
- import { getCesiumOSMBuildingsUrl } from "./tile/internal";
18
+ import { getCesiumOSMBuildingsUrl, MapCartoRectangle } from "./tile/internal";
19
19
  import { viewGlobalLocation, ViewGlobalLocationConstants } from "./ViewGlobalLocation";
20
+ import { GeometricModelState } from "./ModelState";
20
21
  /** @internal */
21
22
  export class TerrainDisplayOverrides {
22
23
  }
@@ -329,12 +330,12 @@ export class DisplayStyleState extends ElementState {
329
330
  this.attachMapLayerSettings(layerSettings, isOverlay, insertIndex);
330
331
  }
331
332
  /** @internal */
332
- hasAttachedMapLayer(name, url, isOverlay) {
333
- return -1 !== this.findMapLayerIndexByNameAndUrl(name, url, isOverlay);
333
+ hasAttachedMapLayer(name, source, isOverlay) {
334
+ return -1 !== this.findMapLayerIndexByNameAndSource(name, source, isOverlay);
334
335
  }
335
336
  /** @internal */
336
- detachMapLayerByNameAndUrl(name, url, isOverlay) {
337
- const index = this.findMapLayerIndexByNameAndUrl(name, url, isOverlay);
337
+ detachMapLayerByNameAndSource(name, source, isOverlay) {
338
+ const index = this.findMapLayerIndexByNameAndSource(name, source, isOverlay);
338
339
  if (-1 !== index)
339
340
  this.detachMapLayerByIndex(index, isOverlay);
340
341
  }
@@ -350,8 +351,8 @@ export class DisplayStyleState extends ElementState {
350
351
  this._synchBackgroundMapImagery();
351
352
  }
352
353
  /** @internal */
353
- findMapLayerIndexByNameAndUrl(name, url, isOverlay) {
354
- return this.getMapLayers(isOverlay).findIndex((x) => x.matchesNameAndUrl(name, url));
354
+ findMapLayerIndexByNameAndSource(name, source, isOverlay) {
355
+ return this.getMapLayers(isOverlay).findIndex((layer) => layer.matchesNameAndSource(name, source));
355
356
  }
356
357
  /** @internal */
357
358
  mapLayerAtIndex(index, isOverlay) {
@@ -386,13 +387,20 @@ export class DisplayStyleState extends ElementState {
386
387
  const layers = this.getMapLayers(isOverlay);
387
388
  if (index < 0 || index >= layers.length)
388
389
  return;
389
- layers[index].setCredentials(userName, password);
390
- this._synchBackgroundMapImagery();
390
+ const layer = layers[index];
391
+ if (layer instanceof ImageMapLayerSettings) {
392
+ layer.setCredentials(userName, password);
393
+ this._synchBackgroundMapImagery();
394
+ }
391
395
  }
392
396
  changeMapSubLayerProps(props, subLayerId, layerIndex, isOverlay) {
393
397
  const mapLayerSettings = this.mapLayerAtIndex(layerIndex, isOverlay);
394
398
  if (undefined === mapLayerSettings)
395
399
  return;
400
+ if (!(mapLayerSettings instanceof ImageMapLayerSettings)) {
401
+ assert(false);
402
+ return;
403
+ }
396
404
  const subLayers = new Array();
397
405
  for (const subLayer of mapLayerSettings.subLayers) {
398
406
  subLayers.push((subLayerId === -1 || subLayer.id === subLayerId) ? subLayer.clone(props).toJSON() : subLayer.toJSON());
@@ -401,9 +409,25 @@ export class DisplayStyleState extends ElementState {
401
409
  }
402
410
  /** @internal */
403
411
  async getMapLayerRange(layerIndex, isOverlay) {
412
+ var _a;
404
413
  const mapLayerSettings = this.mapLayerAtIndex(layerIndex, isOverlay);
405
414
  if (undefined === mapLayerSettings)
406
415
  return undefined;
416
+ if (mapLayerSettings instanceof ModelMapLayerSettings) {
417
+ const ecefTransform = (_a = this.iModel.ecefLocation) === null || _a === void 0 ? void 0 : _a.getTransform();
418
+ if (!ecefTransform)
419
+ return undefined;
420
+ const model = this.iModel.models.getLoaded(mapLayerSettings.modelId);
421
+ if (!model || !(model instanceof GeometricModelState))
422
+ return undefined;
423
+ const modelRange = await model.queryModelRange();
424
+ const cartoRange = new CartographicRange(modelRange, ecefTransform).getLongitudeLatitudeBoundingBox();
425
+ return MapCartoRectangle.create(cartoRange.low.x, cartoRange.low.y, cartoRange.high.x, cartoRange.high.y);
426
+ }
427
+ if (!(mapLayerSettings instanceof ImageMapLayerSettings)) {
428
+ assert(false);
429
+ return undefined;
430
+ }
407
431
  const imageryProvider = IModelApp.mapLayerFormatRegistry.createImageryProvider(mapLayerSettings);
408
432
  if (undefined === imageryProvider)
409
433
  return undefined;