@itwin/core-frontend 3.4.0-dev.50 → 3.4.0-dev.55

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 (669) hide show
  1. package/lib/cjs/AccuDraw.d.ts.map +1 -1
  2. package/lib/cjs/AccuDraw.js +60 -13
  3. package/lib/cjs/AccuDraw.js.map +1 -1
  4. package/lib/cjs/AccuSnap.d.ts.map +1 -1
  5. package/lib/cjs/AccuSnap.js +36 -12
  6. package/lib/cjs/AccuSnap.js.map +1 -1
  7. package/lib/cjs/AuxCoordSys.d.ts.map +1 -1
  8. package/lib/cjs/AuxCoordSys.js +2 -3
  9. package/lib/cjs/AuxCoordSys.js.map +1 -1
  10. package/lib/cjs/BackgroundMapGeometry.d.ts.map +1 -1
  11. package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
  12. package/lib/cjs/CategorySelectorState.d.ts.map +1 -1
  13. package/lib/cjs/CategorySelectorState.js +6 -4
  14. package/lib/cjs/CategorySelectorState.js.map +1 -1
  15. package/lib/cjs/DevTools.d.ts.map +1 -1
  16. package/lib/cjs/DevTools.js.map +1 -1
  17. package/lib/cjs/DisplayStyleState.js +1 -1
  18. package/lib/cjs/DisplayStyleState.js.map +1 -1
  19. package/lib/cjs/ElementLocateManager.d.ts.map +1 -1
  20. package/lib/cjs/ElementLocateManager.js +4 -2
  21. package/lib/cjs/ElementLocateManager.js.map +1 -1
  22. package/lib/cjs/FrustumAnimator.d.ts.map +1 -1
  23. package/lib/cjs/FrustumAnimator.js +5 -1
  24. package/lib/cjs/FrustumAnimator.js.map +1 -1
  25. package/lib/cjs/FuzzySearch.d.ts.map +1 -1
  26. package/lib/cjs/FuzzySearch.js +9 -3
  27. package/lib/cjs/FuzzySearch.js.map +1 -1
  28. package/lib/cjs/HitDetail.d.ts.map +1 -1
  29. package/lib/cjs/HitDetail.js +13 -3
  30. package/lib/cjs/HitDetail.js.map +1 -1
  31. package/lib/cjs/IModelApp.d.ts +7 -2
  32. package/lib/cjs/IModelApp.d.ts.map +1 -1
  33. package/lib/cjs/IModelApp.js +10 -2
  34. package/lib/cjs/IModelApp.js.map +1 -1
  35. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  36. package/lib/cjs/IModelConnection.js +3 -1
  37. package/lib/cjs/IModelConnection.js.map +1 -1
  38. package/lib/cjs/ImageUtil.d.ts +6 -0
  39. package/lib/cjs/ImageUtil.d.ts.map +1 -1
  40. package/lib/cjs/ImageUtil.js +14 -1
  41. package/lib/cjs/ImageUtil.js.map +1 -1
  42. package/lib/cjs/Marker.d.ts.map +1 -1
  43. package/lib/cjs/Marker.js +5 -1
  44. package/lib/cjs/Marker.js.map +1 -1
  45. package/lib/cjs/NativeAppLogger.d.ts.map +1 -1
  46. package/lib/cjs/NativeAppLogger.js +1 -1
  47. package/lib/cjs/NativeAppLogger.js.map +1 -1
  48. package/lib/cjs/TentativePoint.d.ts.map +1 -1
  49. package/lib/cjs/TentativePoint.js.map +1 -1
  50. package/lib/cjs/ViewManager.d.ts.map +1 -1
  51. package/lib/cjs/ViewManager.js +2 -2
  52. package/lib/cjs/ViewManager.js.map +1 -1
  53. package/lib/cjs/ViewRect.d.ts.map +1 -1
  54. package/lib/cjs/ViewRect.js +5 -1
  55. package/lib/cjs/ViewRect.js.map +1 -1
  56. package/lib/cjs/ViewState.d.ts.map +1 -1
  57. package/lib/cjs/ViewState.js +4 -1
  58. package/lib/cjs/ViewState.js.map +1 -1
  59. package/lib/cjs/ViewingSpace.d.ts.map +1 -1
  60. package/lib/cjs/ViewingSpace.js +12 -5
  61. package/lib/cjs/ViewingSpace.js.map +1 -1
  62. package/lib/cjs/Viewport.d.ts.map +1 -1
  63. package/lib/cjs/Viewport.js +4 -1
  64. package/lib/cjs/Viewport.js.map +1 -1
  65. package/lib/cjs/core-frontend.d.ts +6 -0
  66. package/lib/cjs/core-frontend.d.ts.map +1 -1
  67. package/lib/cjs/core-frontend.js +6 -0
  68. package/lib/cjs/core-frontend.js.map +1 -1
  69. package/lib/cjs/extension/ExtensionAdmin.d.ts.map +1 -1
  70. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  71. package/lib/cjs/extension/ExtensionImpl.d.ts.map +1 -1
  72. package/lib/cjs/extension/ExtensionImpl.js +3 -1
  73. package/lib/cjs/extension/ExtensionImpl.js.map +1 -1
  74. package/lib/cjs/public/scripts/checkbrowser.js +24 -0
  75. package/lib/cjs/render/Decorations.d.ts.map +1 -1
  76. package/lib/cjs/render/Decorations.js +24 -6
  77. package/lib/cjs/render/Decorations.js.map +1 -1
  78. package/lib/cjs/render/RealityMeshGraphicParams.d.ts +19 -0
  79. package/lib/cjs/render/RealityMeshGraphicParams.d.ts.map +1 -0
  80. package/lib/cjs/render/RealityMeshGraphicParams.js +10 -0
  81. package/lib/cjs/render/RealityMeshGraphicParams.js.map +1 -0
  82. package/lib/cjs/render/RealityMeshParams.d.ts +130 -0
  83. package/lib/cjs/render/RealityMeshParams.d.ts.map +1 -0
  84. package/lib/cjs/render/RealityMeshParams.js +176 -0
  85. package/lib/cjs/render/RealityMeshParams.js.map +1 -0
  86. package/lib/cjs/render/RenderSystem.d.ts +6 -4
  87. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  88. package/lib/cjs/render/RenderSystem.js +5 -1
  89. package/lib/cjs/render/RenderSystem.js.map +1 -1
  90. package/lib/cjs/render/RenderTexture.d.ts +1 -1
  91. package/lib/cjs/render/RenderTexture.d.ts.map +1 -1
  92. package/lib/cjs/render/RenderTexture.js.map +1 -1
  93. package/lib/cjs/render/UpsampleRealityMeshParams.d.ts +11 -0
  94. package/lib/cjs/render/UpsampleRealityMeshParams.d.ts.map +1 -0
  95. package/lib/cjs/render/UpsampleRealityMeshParams.js +205 -0
  96. package/lib/cjs/render/UpsampleRealityMeshParams.js.map +1 -0
  97. package/lib/cjs/render/primitives/DisplayParams.d.ts.map +1 -1
  98. package/lib/cjs/render/primitives/DisplayParams.js.map +1 -1
  99. package/lib/cjs/render/primitives/Polyface.d.ts.map +1 -1
  100. package/lib/cjs/render/primitives/Polyface.js +3 -1
  101. package/lib/cjs/render/primitives/Polyface.js.map +1 -1
  102. package/lib/cjs/render/primitives/Primitives.d.ts.map +1 -1
  103. package/lib/cjs/render/primitives/Primitives.js.map +1 -1
  104. package/lib/cjs/render/primitives/Strokes.d.ts.map +1 -1
  105. package/lib/cjs/render/primitives/Strokes.js +6 -2
  106. package/lib/cjs/render/primitives/Strokes.js.map +1 -1
  107. package/lib/cjs/render/primitives/VertexTableSplitter.d.ts.map +1 -1
  108. package/lib/cjs/render/primitives/VertexTableSplitter.js +7 -85
  109. package/lib/cjs/render/primitives/VertexTableSplitter.js.map +1 -1
  110. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  111. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js +4 -1
  112. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  113. package/lib/cjs/render/primitives/mesh/MeshBuilder.d.ts.map +1 -1
  114. package/lib/cjs/render/primitives/mesh/MeshBuilder.js.map +1 -1
  115. package/lib/cjs/render/webgl/BackgroundMapDrape.d.ts.map +1 -1
  116. package/lib/cjs/render/webgl/BackgroundMapDrape.js.map +1 -1
  117. package/lib/cjs/render/webgl/ColorInfo.d.ts.map +1 -1
  118. package/lib/cjs/render/webgl/ColorInfo.js +4 -1
  119. package/lib/cjs/render/webgl/ColorInfo.js.map +1 -1
  120. package/lib/cjs/render/webgl/DrawCommand.d.ts.map +1 -1
  121. package/lib/cjs/render/webgl/DrawCommand.js +12 -3
  122. package/lib/cjs/render/webgl/DrawCommand.js.map +1 -1
  123. package/lib/cjs/render/webgl/FrameBuffer.d.ts.map +1 -1
  124. package/lib/cjs/render/webgl/FrameBuffer.js +4 -1
  125. package/lib/cjs/render/webgl/FrameBuffer.js.map +1 -1
  126. package/lib/cjs/render/webgl/FrustumUniforms.js.map +1 -1
  127. package/lib/cjs/render/webgl/Graphic.d.ts.map +1 -1
  128. package/lib/cjs/render/webgl/Graphic.js +5 -2
  129. package/lib/cjs/render/webgl/Graphic.js.map +1 -1
  130. package/lib/cjs/render/webgl/Matrix.d.ts.map +1 -1
  131. package/lib/cjs/render/webgl/Matrix.js +16 -4
  132. package/lib/cjs/render/webgl/Matrix.js.map +1 -1
  133. package/lib/cjs/render/webgl/PerformanceMetrics.js +2 -2
  134. package/lib/cjs/render/webgl/PerformanceMetrics.js.map +1 -1
  135. package/lib/cjs/render/webgl/PlanarClassifier.d.ts.map +1 -1
  136. package/lib/cjs/render/webgl/PlanarClassifier.js +3 -1
  137. package/lib/cjs/render/webgl/PlanarClassifier.js.map +1 -1
  138. package/lib/cjs/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  139. package/lib/cjs/render/webgl/PlanarTextureProjection.js.map +1 -1
  140. package/lib/cjs/render/webgl/Primitive.d.ts.map +1 -1
  141. package/lib/cjs/render/webgl/Primitive.js.map +1 -1
  142. package/lib/cjs/render/webgl/RealityMesh.d.ts +5 -5
  143. package/lib/cjs/render/webgl/RealityMesh.d.ts.map +1 -1
  144. package/lib/cjs/render/webgl/RealityMesh.js +20 -10
  145. package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
  146. package/lib/cjs/render/webgl/RenderCommands.d.ts.map +1 -1
  147. package/lib/cjs/render/webgl/RenderCommands.js +3 -2
  148. package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
  149. package/lib/cjs/render/webgl/RenderFlags.d.ts.map +1 -1
  150. package/lib/cjs/render/webgl/RenderFlags.js +3 -1
  151. package/lib/cjs/render/webgl/RenderFlags.js.map +1 -1
  152. package/lib/cjs/render/webgl/ShaderBuilder.d.ts.map +1 -1
  153. package/lib/cjs/render/webgl/ShaderBuilder.js +4 -1
  154. package/lib/cjs/render/webgl/ShaderBuilder.js.map +1 -1
  155. package/lib/cjs/render/webgl/System.d.ts +5 -4
  156. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  157. package/lib/cjs/render/webgl/System.js +8 -3
  158. package/lib/cjs/render/webgl/System.js.map +1 -1
  159. package/lib/cjs/render/webgl/Technique.d.ts.map +1 -1
  160. package/lib/cjs/render/webgl/Technique.js +3 -1
  161. package/lib/cjs/render/webgl/Technique.js.map +1 -1
  162. package/lib/cjs/render/webgl/TechniqueFlags.d.ts.map +1 -1
  163. package/lib/cjs/render/webgl/TechniqueFlags.js.map +1 -1
  164. package/lib/cjs/render/webgl/Texture.d.ts.map +1 -1
  165. package/lib/cjs/render/webgl/Texture.js +21 -12
  166. package/lib/cjs/render/webgl/Texture.js.map +1 -1
  167. package/lib/cjs/render/webgl/ThematicSensors.d.ts.map +1 -1
  168. package/lib/cjs/render/webgl/ThematicSensors.js +8 -2
  169. package/lib/cjs/render/webgl/ThematicSensors.js.map +1 -1
  170. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.d.ts.map +1 -1
  171. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js +3 -1
  172. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  173. package/lib/cjs/render/webgl/glsl/Common.js +1 -1
  174. package/lib/cjs/render/webgl/glsl/Common.js.map +1 -1
  175. package/lib/cjs/render/webgl/glsl/SkyBox.d.ts.map +1 -1
  176. package/lib/cjs/render/webgl/glsl/SkyBox.js.map +1 -1
  177. package/lib/cjs/tile/GltfReader.d.ts +3 -2
  178. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  179. package/lib/cjs/tile/GltfReader.js +7 -3
  180. package/lib/cjs/tile/GltfReader.js.map +1 -1
  181. package/lib/cjs/tile/ImdlReader.d.ts +1 -1
  182. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  183. package/lib/cjs/tile/OPCFormatInterpreter.d.ts.map +1 -1
  184. package/lib/cjs/tile/OPCFormatInterpreter.js +3 -1
  185. package/lib/cjs/tile/OPCFormatInterpreter.js.map +1 -1
  186. package/lib/cjs/tile/OrbitGtTileTree.d.ts.map +1 -1
  187. package/lib/cjs/tile/OrbitGtTileTree.js.map +1 -1
  188. package/lib/cjs/tile/RealityTile.d.ts +57 -3
  189. package/lib/cjs/tile/RealityTile.d.ts.map +1 -1
  190. package/lib/cjs/tile/RealityTile.js +49 -5
  191. package/lib/cjs/tile/RealityTile.js.map +1 -1
  192. package/lib/cjs/tile/RealityTileLoader.d.ts.map +1 -1
  193. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  194. package/lib/cjs/tile/RealityTileTree.d.ts +37 -2
  195. package/lib/cjs/tile/RealityTileTree.d.ts.map +1 -1
  196. package/lib/cjs/tile/RealityTileTree.js +29 -2
  197. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  198. package/lib/cjs/tile/ThreeDTileFormatInterpreter.d.ts.map +1 -1
  199. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js +6 -2
  200. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  201. package/lib/cjs/tile/TileAdmin.d.ts +11 -0
  202. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  203. package/lib/cjs/tile/TileAdmin.js +47 -4
  204. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  205. package/lib/cjs/tile/TileRequest.d.ts +5 -1
  206. package/lib/cjs/tile/TileRequest.d.ts.map +1 -1
  207. package/lib/cjs/tile/TileRequest.js +6 -2
  208. package/lib/cjs/tile/TileRequest.js.map +1 -1
  209. package/lib/cjs/tile/TileStorage.d.ts +13 -0
  210. package/lib/cjs/tile/TileStorage.d.ts.map +1 -0
  211. package/lib/cjs/tile/TileStorage.js +50 -0
  212. package/lib/cjs/tile/TileStorage.js.map +1 -0
  213. package/lib/cjs/tile/internal.d.ts +2 -0
  214. package/lib/cjs/tile/internal.d.ts.map +1 -1
  215. package/lib/cjs/tile/internal.js +2 -0
  216. package/lib/cjs/tile/internal.js.map +1 -1
  217. package/lib/cjs/tile/map/ArcGISTileMap.js +1 -1
  218. package/lib/cjs/tile/map/ArcGISTileMap.js.map +1 -1
  219. package/lib/cjs/tile/map/ArcGisUtilities.d.ts.map +1 -1
  220. package/lib/cjs/tile/map/ArcGisUtilities.js +1 -1
  221. package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
  222. package/lib/cjs/tile/map/BingElevation.d.ts +8 -3
  223. package/lib/cjs/tile/map/BingElevation.d.ts.map +1 -1
  224. package/lib/cjs/tile/map/BingElevation.js +36 -14
  225. package/lib/cjs/tile/map/BingElevation.js.map +1 -1
  226. package/lib/cjs/tile/map/CesiumTerrainProvider.d.ts +2 -7
  227. package/lib/cjs/tile/map/CesiumTerrainProvider.d.ts.map +1 -1
  228. package/lib/cjs/tile/map/CesiumTerrainProvider.js +100 -90
  229. package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
  230. package/lib/cjs/tile/map/EllipsoidTerrainProvider.d.ts +9 -12
  231. package/lib/cjs/tile/map/EllipsoidTerrainProvider.d.ts.map +1 -1
  232. package/lib/cjs/tile/map/EllipsoidTerrainProvider.js +70 -67
  233. package/lib/cjs/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  234. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  235. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +6 -4
  236. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  237. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
  238. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js +1 -1
  239. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  240. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts.map +1 -1
  241. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  242. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  243. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +8 -6
  244. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  245. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +3 -3
  246. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  247. package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
  248. package/lib/cjs/tile/map/ImageryTileTree.js +21 -6
  249. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  250. package/lib/cjs/tile/map/MapCartoRectangle.d.ts +62 -6
  251. package/lib/cjs/tile/map/MapCartoRectangle.d.ts.map +1 -1
  252. package/lib/cjs/tile/map/MapCartoRectangle.js +103 -17
  253. package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
  254. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  255. package/lib/cjs/tile/map/MapLayerImageryFormats.js +4 -2
  256. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  257. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  258. package/lib/cjs/tile/map/MapLayerImageryProvider.js +1 -1
  259. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  260. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  261. package/lib/cjs/tile/map/MapLayerSources.js +11 -7
  262. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  263. package/lib/cjs/tile/map/MapTile.d.ts +68 -15
  264. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  265. package/lib/cjs/tile/map/MapTile.js +88 -30
  266. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  267. package/lib/cjs/tile/map/MapTileAvailability.d.ts.map +1 -1
  268. package/lib/cjs/tile/map/MapTileAvailability.js +1 -1
  269. package/lib/cjs/tile/map/MapTileAvailability.js.map +1 -1
  270. package/lib/cjs/tile/map/MapTileLoader.d.ts +2 -2
  271. package/lib/cjs/tile/map/MapTileLoader.d.ts.map +1 -1
  272. package/lib/cjs/tile/map/MapTileLoader.js +11 -20
  273. package/lib/cjs/tile/map/MapTileLoader.js.map +1 -1
  274. package/lib/cjs/tile/map/MapTileTree.d.ts +72 -7
  275. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  276. package/lib/cjs/tile/map/MapTileTree.js +72 -16
  277. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  278. package/lib/cjs/tile/map/MapTilingScheme.d.ts +67 -55
  279. package/lib/cjs/tile/map/MapTilingScheme.d.ts.map +1 -1
  280. package/lib/cjs/tile/map/MapTilingScheme.js +71 -67
  281. package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
  282. package/lib/cjs/tile/map/QuadId.d.ts +24 -2
  283. package/lib/cjs/tile/map/QuadId.d.ts.map +1 -1
  284. package/lib/cjs/tile/map/QuadId.js +49 -20
  285. package/lib/cjs/tile/map/QuadId.js.map +1 -1
  286. package/lib/cjs/tile/map/TerrainMeshProvider.d.ts +79 -19
  287. package/lib/cjs/tile/map/TerrainMeshProvider.d.ts.map +1 -1
  288. package/lib/cjs/tile/map/TerrainMeshProvider.js +28 -13
  289. package/lib/cjs/tile/map/TerrainMeshProvider.js.map +1 -1
  290. package/lib/cjs/tile/map/TerrainProvider.d.ts +34 -0
  291. package/lib/cjs/tile/map/TerrainProvider.d.ts.map +1 -0
  292. package/lib/cjs/tile/map/TerrainProvider.js +41 -0
  293. package/lib/cjs/tile/map/TerrainProvider.js.map +1 -0
  294. package/lib/cjs/tile/map/WmsCapabilities.js +1 -1
  295. package/lib/cjs/tile/map/WmsCapabilities.js.map +1 -1
  296. package/lib/cjs/tile/map/WmtsCapabilities.d.ts.map +1 -1
  297. package/lib/cjs/tile/map/WmtsCapabilities.js +7 -3
  298. package/lib/cjs/tile/map/WmtsCapabilities.js.map +1 -1
  299. package/lib/cjs/tile/object-storage-azure.js +5 -0
  300. package/lib/cjs/tools/AccuDrawTool.d.ts.map +1 -1
  301. package/lib/cjs/tools/AccuDrawTool.js +87 -26
  302. package/lib/cjs/tools/AccuDrawTool.js.map +1 -1
  303. package/lib/cjs/tools/ClipViewTool.d.ts.map +1 -1
  304. package/lib/cjs/tools/ClipViewTool.js +23 -14
  305. package/lib/cjs/tools/ClipViewTool.js.map +1 -1
  306. package/lib/cjs/tools/ElementSetTool.d.ts.map +1 -1
  307. package/lib/cjs/tools/ElementSetTool.js +26 -10
  308. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  309. package/lib/cjs/tools/MeasureTool.d.ts.map +1 -1
  310. package/lib/cjs/tools/MeasureTool.js +46 -17
  311. package/lib/cjs/tools/MeasureTool.js.map +1 -1
  312. package/lib/cjs/tools/PrimitiveTool.d.ts.map +1 -1
  313. package/lib/cjs/tools/PrimitiveTool.js +9 -4
  314. package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
  315. package/lib/cjs/tools/SelectTool.d.ts.map +1 -1
  316. package/lib/cjs/tools/SelectTool.js +20 -9
  317. package/lib/cjs/tools/SelectTool.js.map +1 -1
  318. package/lib/cjs/tools/Tool.d.ts.map +1 -1
  319. package/lib/cjs/tools/Tool.js +13 -5
  320. package/lib/cjs/tools/Tool.js.map +1 -1
  321. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  322. package/lib/cjs/tools/ToolAdmin.js +27 -9
  323. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  324. package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
  325. package/lib/cjs/tools/ViewTool.js +110 -39
  326. package/lib/cjs/tools/ViewTool.js.map +1 -1
  327. package/lib/esm/AccuDraw.d.ts.map +1 -1
  328. package/lib/esm/AccuDraw.js +60 -13
  329. package/lib/esm/AccuDraw.js.map +1 -1
  330. package/lib/esm/AccuSnap.d.ts.map +1 -1
  331. package/lib/esm/AccuSnap.js +36 -12
  332. package/lib/esm/AccuSnap.js.map +1 -1
  333. package/lib/esm/AuxCoordSys.d.ts.map +1 -1
  334. package/lib/esm/AuxCoordSys.js +2 -3
  335. package/lib/esm/AuxCoordSys.js.map +1 -1
  336. package/lib/esm/BackgroundMapGeometry.d.ts.map +1 -1
  337. package/lib/esm/BackgroundMapGeometry.js.map +1 -1
  338. package/lib/esm/CategorySelectorState.d.ts.map +1 -1
  339. package/lib/esm/CategorySelectorState.js +6 -4
  340. package/lib/esm/CategorySelectorState.js.map +1 -1
  341. package/lib/esm/DevTools.d.ts.map +1 -1
  342. package/lib/esm/DevTools.js.map +1 -1
  343. package/lib/esm/DisplayStyleState.js +1 -1
  344. package/lib/esm/DisplayStyleState.js.map +1 -1
  345. package/lib/esm/ElementLocateManager.d.ts.map +1 -1
  346. package/lib/esm/ElementLocateManager.js +4 -2
  347. package/lib/esm/ElementLocateManager.js.map +1 -1
  348. package/lib/esm/FrustumAnimator.d.ts.map +1 -1
  349. package/lib/esm/FrustumAnimator.js +5 -1
  350. package/lib/esm/FrustumAnimator.js.map +1 -1
  351. package/lib/esm/FuzzySearch.d.ts.map +1 -1
  352. package/lib/esm/FuzzySearch.js +9 -3
  353. package/lib/esm/FuzzySearch.js.map +1 -1
  354. package/lib/esm/HitDetail.d.ts.map +1 -1
  355. package/lib/esm/HitDetail.js +13 -3
  356. package/lib/esm/HitDetail.js.map +1 -1
  357. package/lib/esm/IModelApp.d.ts +7 -2
  358. package/lib/esm/IModelApp.d.ts.map +1 -1
  359. package/lib/esm/IModelApp.js +11 -3
  360. package/lib/esm/IModelApp.js.map +1 -1
  361. package/lib/esm/IModelConnection.d.ts.map +1 -1
  362. package/lib/esm/IModelConnection.js +3 -1
  363. package/lib/esm/IModelConnection.js.map +1 -1
  364. package/lib/esm/ImageUtil.d.ts +6 -0
  365. package/lib/esm/ImageUtil.d.ts.map +1 -1
  366. package/lib/esm/ImageUtil.js +12 -0
  367. package/lib/esm/ImageUtil.js.map +1 -1
  368. package/lib/esm/Marker.d.ts.map +1 -1
  369. package/lib/esm/Marker.js +5 -1
  370. package/lib/esm/Marker.js.map +1 -1
  371. package/lib/esm/NativeAppLogger.d.ts.map +1 -1
  372. package/lib/esm/NativeAppLogger.js +1 -1
  373. package/lib/esm/NativeAppLogger.js.map +1 -1
  374. package/lib/esm/TentativePoint.d.ts.map +1 -1
  375. package/lib/esm/TentativePoint.js.map +1 -1
  376. package/lib/esm/ViewManager.d.ts.map +1 -1
  377. package/lib/esm/ViewManager.js +2 -2
  378. package/lib/esm/ViewManager.js.map +1 -1
  379. package/lib/esm/ViewRect.d.ts.map +1 -1
  380. package/lib/esm/ViewRect.js +5 -1
  381. package/lib/esm/ViewRect.js.map +1 -1
  382. package/lib/esm/ViewState.d.ts.map +1 -1
  383. package/lib/esm/ViewState.js +4 -1
  384. package/lib/esm/ViewState.js.map +1 -1
  385. package/lib/esm/ViewingSpace.d.ts.map +1 -1
  386. package/lib/esm/ViewingSpace.js +12 -5
  387. package/lib/esm/ViewingSpace.js.map +1 -1
  388. package/lib/esm/Viewport.d.ts.map +1 -1
  389. package/lib/esm/Viewport.js +4 -1
  390. package/lib/esm/Viewport.js.map +1 -1
  391. package/lib/esm/core-frontend.d.ts +6 -0
  392. package/lib/esm/core-frontend.d.ts.map +1 -1
  393. package/lib/esm/core-frontend.js +6 -0
  394. package/lib/esm/core-frontend.js.map +1 -1
  395. package/lib/esm/extension/ExtensionAdmin.d.ts.map +1 -1
  396. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  397. package/lib/esm/extension/ExtensionImpl.d.ts.map +1 -1
  398. package/lib/esm/extension/ExtensionImpl.js +3 -1
  399. package/lib/esm/extension/ExtensionImpl.js.map +1 -1
  400. package/lib/esm/public/scripts/checkbrowser.js +24 -0
  401. package/lib/esm/render/Decorations.d.ts.map +1 -1
  402. package/lib/esm/render/Decorations.js +24 -6
  403. package/lib/esm/render/Decorations.js.map +1 -1
  404. package/lib/esm/render/RealityMeshGraphicParams.d.ts +19 -0
  405. package/lib/esm/render/RealityMeshGraphicParams.d.ts.map +1 -0
  406. package/lib/esm/render/RealityMeshGraphicParams.js +9 -0
  407. package/lib/esm/render/RealityMeshGraphicParams.js.map +1 -0
  408. package/lib/esm/render/RealityMeshParams.d.ts +130 -0
  409. package/lib/esm/render/RealityMeshParams.d.ts.map +1 -0
  410. package/lib/esm/render/RealityMeshParams.js +172 -0
  411. package/lib/esm/render/RealityMeshParams.js.map +1 -0
  412. package/lib/esm/render/RenderSystem.d.ts +6 -4
  413. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  414. package/lib/esm/render/RenderSystem.js +5 -1
  415. package/lib/esm/render/RenderSystem.js.map +1 -1
  416. package/lib/esm/render/RenderTexture.d.ts +1 -1
  417. package/lib/esm/render/RenderTexture.d.ts.map +1 -1
  418. package/lib/esm/render/RenderTexture.js.map +1 -1
  419. package/lib/esm/render/UpsampleRealityMeshParams.d.ts +11 -0
  420. package/lib/esm/render/UpsampleRealityMeshParams.d.ts.map +1 -0
  421. package/lib/esm/render/UpsampleRealityMeshParams.js +201 -0
  422. package/lib/esm/render/UpsampleRealityMeshParams.js.map +1 -0
  423. package/lib/esm/render/primitives/DisplayParams.d.ts.map +1 -1
  424. package/lib/esm/render/primitives/DisplayParams.js.map +1 -1
  425. package/lib/esm/render/primitives/Polyface.d.ts.map +1 -1
  426. package/lib/esm/render/primitives/Polyface.js +3 -1
  427. package/lib/esm/render/primitives/Polyface.js.map +1 -1
  428. package/lib/esm/render/primitives/Primitives.d.ts.map +1 -1
  429. package/lib/esm/render/primitives/Primitives.js.map +1 -1
  430. package/lib/esm/render/primitives/Strokes.d.ts.map +1 -1
  431. package/lib/esm/render/primitives/Strokes.js +6 -2
  432. package/lib/esm/render/primitives/Strokes.js.map +1 -1
  433. package/lib/esm/render/primitives/VertexTableSplitter.d.ts.map +1 -1
  434. package/lib/esm/render/primitives/VertexTableSplitter.js +1 -79
  435. package/lib/esm/render/primitives/VertexTableSplitter.js.map +1 -1
  436. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  437. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js +4 -1
  438. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  439. package/lib/esm/render/primitives/mesh/MeshBuilder.d.ts.map +1 -1
  440. package/lib/esm/render/primitives/mesh/MeshBuilder.js.map +1 -1
  441. package/lib/esm/render/webgl/BackgroundMapDrape.d.ts.map +1 -1
  442. package/lib/esm/render/webgl/BackgroundMapDrape.js.map +1 -1
  443. package/lib/esm/render/webgl/ColorInfo.d.ts.map +1 -1
  444. package/lib/esm/render/webgl/ColorInfo.js +4 -1
  445. package/lib/esm/render/webgl/ColorInfo.js.map +1 -1
  446. package/lib/esm/render/webgl/DrawCommand.d.ts.map +1 -1
  447. package/lib/esm/render/webgl/DrawCommand.js +12 -3
  448. package/lib/esm/render/webgl/DrawCommand.js.map +1 -1
  449. package/lib/esm/render/webgl/FrameBuffer.d.ts.map +1 -1
  450. package/lib/esm/render/webgl/FrameBuffer.js +4 -1
  451. package/lib/esm/render/webgl/FrameBuffer.js.map +1 -1
  452. package/lib/esm/render/webgl/FrustumUniforms.js.map +1 -1
  453. package/lib/esm/render/webgl/Graphic.d.ts.map +1 -1
  454. package/lib/esm/render/webgl/Graphic.js +5 -2
  455. package/lib/esm/render/webgl/Graphic.js.map +1 -1
  456. package/lib/esm/render/webgl/Matrix.d.ts.map +1 -1
  457. package/lib/esm/render/webgl/Matrix.js +16 -4
  458. package/lib/esm/render/webgl/Matrix.js.map +1 -1
  459. package/lib/esm/render/webgl/PerformanceMetrics.js +2 -2
  460. package/lib/esm/render/webgl/PerformanceMetrics.js.map +1 -1
  461. package/lib/esm/render/webgl/PlanarClassifier.d.ts.map +1 -1
  462. package/lib/esm/render/webgl/PlanarClassifier.js +3 -1
  463. package/lib/esm/render/webgl/PlanarClassifier.js.map +1 -1
  464. package/lib/esm/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  465. package/lib/esm/render/webgl/PlanarTextureProjection.js.map +1 -1
  466. package/lib/esm/render/webgl/Primitive.d.ts.map +1 -1
  467. package/lib/esm/render/webgl/Primitive.js.map +1 -1
  468. package/lib/esm/render/webgl/RealityMesh.d.ts +5 -5
  469. package/lib/esm/render/webgl/RealityMesh.d.ts.map +1 -1
  470. package/lib/esm/render/webgl/RealityMesh.js +20 -10
  471. package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
  472. package/lib/esm/render/webgl/RenderCommands.d.ts.map +1 -1
  473. package/lib/esm/render/webgl/RenderCommands.js +3 -2
  474. package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
  475. package/lib/esm/render/webgl/RenderFlags.d.ts.map +1 -1
  476. package/lib/esm/render/webgl/RenderFlags.js +3 -1
  477. package/lib/esm/render/webgl/RenderFlags.js.map +1 -1
  478. package/lib/esm/render/webgl/ShaderBuilder.d.ts.map +1 -1
  479. package/lib/esm/render/webgl/ShaderBuilder.js +4 -1
  480. package/lib/esm/render/webgl/ShaderBuilder.js.map +1 -1
  481. package/lib/esm/render/webgl/System.d.ts +5 -4
  482. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  483. package/lib/esm/render/webgl/System.js +8 -3
  484. package/lib/esm/render/webgl/System.js.map +1 -1
  485. package/lib/esm/render/webgl/Technique.d.ts.map +1 -1
  486. package/lib/esm/render/webgl/Technique.js +3 -1
  487. package/lib/esm/render/webgl/Technique.js.map +1 -1
  488. package/lib/esm/render/webgl/TechniqueFlags.d.ts.map +1 -1
  489. package/lib/esm/render/webgl/TechniqueFlags.js.map +1 -1
  490. package/lib/esm/render/webgl/Texture.d.ts.map +1 -1
  491. package/lib/esm/render/webgl/Texture.js +21 -12
  492. package/lib/esm/render/webgl/Texture.js.map +1 -1
  493. package/lib/esm/render/webgl/ThematicSensors.d.ts.map +1 -1
  494. package/lib/esm/render/webgl/ThematicSensors.js +8 -2
  495. package/lib/esm/render/webgl/ThematicSensors.js.map +1 -1
  496. package/lib/esm/render/webgl/glsl/AmbientOcclusion.d.ts.map +1 -1
  497. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js +3 -1
  498. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  499. package/lib/esm/render/webgl/glsl/Common.js +1 -1
  500. package/lib/esm/render/webgl/glsl/Common.js.map +1 -1
  501. package/lib/esm/render/webgl/glsl/SkyBox.d.ts.map +1 -1
  502. package/lib/esm/render/webgl/glsl/SkyBox.js.map +1 -1
  503. package/lib/esm/tile/GltfReader.d.ts +3 -2
  504. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  505. package/lib/esm/tile/GltfReader.js +8 -4
  506. package/lib/esm/tile/GltfReader.js.map +1 -1
  507. package/lib/esm/tile/ImdlReader.d.ts +1 -1
  508. package/lib/esm/tile/ImdlReader.js.map +1 -1
  509. package/lib/esm/tile/OPCFormatInterpreter.d.ts.map +1 -1
  510. package/lib/esm/tile/OPCFormatInterpreter.js +3 -1
  511. package/lib/esm/tile/OPCFormatInterpreter.js.map +1 -1
  512. package/lib/esm/tile/OrbitGtTileTree.d.ts.map +1 -1
  513. package/lib/esm/tile/OrbitGtTileTree.js.map +1 -1
  514. package/lib/esm/tile/RealityTile.d.ts +57 -3
  515. package/lib/esm/tile/RealityTile.d.ts.map +1 -1
  516. package/lib/esm/tile/RealityTile.js +49 -5
  517. package/lib/esm/tile/RealityTile.js.map +1 -1
  518. package/lib/esm/tile/RealityTileLoader.d.ts.map +1 -1
  519. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  520. package/lib/esm/tile/RealityTileTree.d.ts +37 -2
  521. package/lib/esm/tile/RealityTileTree.d.ts.map +1 -1
  522. package/lib/esm/tile/RealityTileTree.js +29 -2
  523. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  524. package/lib/esm/tile/ThreeDTileFormatInterpreter.d.ts.map +1 -1
  525. package/lib/esm/tile/ThreeDTileFormatInterpreter.js +6 -2
  526. package/lib/esm/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  527. package/lib/esm/tile/TileAdmin.d.ts +11 -0
  528. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  529. package/lib/esm/tile/TileAdmin.js +28 -4
  530. package/lib/esm/tile/TileAdmin.js.map +1 -1
  531. package/lib/esm/tile/TileRequest.d.ts +5 -1
  532. package/lib/esm/tile/TileRequest.d.ts.map +1 -1
  533. package/lib/esm/tile/TileRequest.js +6 -2
  534. package/lib/esm/tile/TileRequest.js.map +1 -1
  535. package/lib/esm/tile/TileStorage.d.ts +13 -0
  536. package/lib/esm/tile/TileStorage.d.ts.map +1 -0
  537. package/lib/esm/tile/TileStorage.js +46 -0
  538. package/lib/esm/tile/TileStorage.js.map +1 -0
  539. package/lib/esm/tile/internal.d.ts +2 -0
  540. package/lib/esm/tile/internal.d.ts.map +1 -1
  541. package/lib/esm/tile/internal.js +2 -0
  542. package/lib/esm/tile/internal.js.map +1 -1
  543. package/lib/esm/tile/map/ArcGISTileMap.js +1 -1
  544. package/lib/esm/tile/map/ArcGISTileMap.js.map +1 -1
  545. package/lib/esm/tile/map/ArcGisUtilities.d.ts.map +1 -1
  546. package/lib/esm/tile/map/ArcGisUtilities.js +1 -1
  547. package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
  548. package/lib/esm/tile/map/BingElevation.d.ts +8 -3
  549. package/lib/esm/tile/map/BingElevation.d.ts.map +1 -1
  550. package/lib/esm/tile/map/BingElevation.js +36 -14
  551. package/lib/esm/tile/map/BingElevation.js.map +1 -1
  552. package/lib/esm/tile/map/CesiumTerrainProvider.d.ts +2 -7
  553. package/lib/esm/tile/map/CesiumTerrainProvider.d.ts.map +1 -1
  554. package/lib/esm/tile/map/CesiumTerrainProvider.js +101 -91
  555. package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
  556. package/lib/esm/tile/map/EllipsoidTerrainProvider.d.ts +9 -12
  557. package/lib/esm/tile/map/EllipsoidTerrainProvider.d.ts.map +1 -1
  558. package/lib/esm/tile/map/EllipsoidTerrainProvider.js +71 -68
  559. package/lib/esm/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  560. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  561. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +6 -4
  562. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  563. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
  564. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js +1 -1
  565. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  566. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts.map +1 -1
  567. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  568. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  569. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +8 -6
  570. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  571. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +3 -3
  572. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  573. package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
  574. package/lib/esm/tile/map/ImageryTileTree.js +21 -6
  575. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  576. package/lib/esm/tile/map/MapCartoRectangle.d.ts +62 -6
  577. package/lib/esm/tile/map/MapCartoRectangle.d.ts.map +1 -1
  578. package/lib/esm/tile/map/MapCartoRectangle.js +103 -17
  579. package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
  580. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  581. package/lib/esm/tile/map/MapLayerImageryFormats.js +4 -2
  582. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  583. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  584. package/lib/esm/tile/map/MapLayerImageryProvider.js +1 -1
  585. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  586. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  587. package/lib/esm/tile/map/MapLayerSources.js +11 -7
  588. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  589. package/lib/esm/tile/map/MapTile.d.ts +68 -15
  590. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  591. package/lib/esm/tile/map/MapTile.js +88 -30
  592. package/lib/esm/tile/map/MapTile.js.map +1 -1
  593. package/lib/esm/tile/map/MapTileAvailability.d.ts.map +1 -1
  594. package/lib/esm/tile/map/MapTileAvailability.js +1 -1
  595. package/lib/esm/tile/map/MapTileAvailability.js.map +1 -1
  596. package/lib/esm/tile/map/MapTileLoader.d.ts +2 -2
  597. package/lib/esm/tile/map/MapTileLoader.d.ts.map +1 -1
  598. package/lib/esm/tile/map/MapTileLoader.js +12 -21
  599. package/lib/esm/tile/map/MapTileLoader.js.map +1 -1
  600. package/lib/esm/tile/map/MapTileTree.d.ts +72 -7
  601. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  602. package/lib/esm/tile/map/MapTileTree.js +73 -17
  603. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  604. package/lib/esm/tile/map/MapTilingScheme.d.ts +67 -55
  605. package/lib/esm/tile/map/MapTilingScheme.d.ts.map +1 -1
  606. package/lib/esm/tile/map/MapTilingScheme.js +72 -68
  607. package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
  608. package/lib/esm/tile/map/QuadId.d.ts +24 -2
  609. package/lib/esm/tile/map/QuadId.d.ts.map +1 -1
  610. package/lib/esm/tile/map/QuadId.js +49 -20
  611. package/lib/esm/tile/map/QuadId.js.map +1 -1
  612. package/lib/esm/tile/map/TerrainMeshProvider.d.ts +79 -19
  613. package/lib/esm/tile/map/TerrainMeshProvider.d.ts.map +1 -1
  614. package/lib/esm/tile/map/TerrainMeshProvider.js +28 -13
  615. package/lib/esm/tile/map/TerrainMeshProvider.js.map +1 -1
  616. package/lib/esm/tile/map/TerrainProvider.d.ts +34 -0
  617. package/lib/esm/tile/map/TerrainProvider.d.ts.map +1 -0
  618. package/lib/esm/tile/map/TerrainProvider.js +37 -0
  619. package/lib/esm/tile/map/TerrainProvider.js.map +1 -0
  620. package/lib/esm/tile/map/WmsCapabilities.js +1 -1
  621. package/lib/esm/tile/map/WmsCapabilities.js.map +1 -1
  622. package/lib/esm/tile/map/WmtsCapabilities.d.ts.map +1 -1
  623. package/lib/esm/tile/map/WmtsCapabilities.js +7 -3
  624. package/lib/esm/tile/map/WmtsCapabilities.js.map +1 -1
  625. package/lib/esm/tile/object-storage-azure.js +5 -0
  626. package/lib/esm/tools/AccuDrawTool.d.ts.map +1 -1
  627. package/lib/esm/tools/AccuDrawTool.js +87 -26
  628. package/lib/esm/tools/AccuDrawTool.js.map +1 -1
  629. package/lib/esm/tools/ClipViewTool.d.ts.map +1 -1
  630. package/lib/esm/tools/ClipViewTool.js +23 -14
  631. package/lib/esm/tools/ClipViewTool.js.map +1 -1
  632. package/lib/esm/tools/ElementSetTool.d.ts.map +1 -1
  633. package/lib/esm/tools/ElementSetTool.js +26 -10
  634. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  635. package/lib/esm/tools/MeasureTool.d.ts.map +1 -1
  636. package/lib/esm/tools/MeasureTool.js +46 -17
  637. package/lib/esm/tools/MeasureTool.js.map +1 -1
  638. package/lib/esm/tools/PrimitiveTool.d.ts.map +1 -1
  639. package/lib/esm/tools/PrimitiveTool.js +9 -4
  640. package/lib/esm/tools/PrimitiveTool.js.map +1 -1
  641. package/lib/esm/tools/SelectTool.d.ts.map +1 -1
  642. package/lib/esm/tools/SelectTool.js +20 -9
  643. package/lib/esm/tools/SelectTool.js.map +1 -1
  644. package/lib/esm/tools/Tool.d.ts.map +1 -1
  645. package/lib/esm/tools/Tool.js +13 -5
  646. package/lib/esm/tools/Tool.js.map +1 -1
  647. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  648. package/lib/esm/tools/ToolAdmin.js +27 -9
  649. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  650. package/lib/esm/tools/ViewTool.d.ts.map +1 -1
  651. package/lib/esm/tools/ViewTool.js +110 -39
  652. package/lib/esm/tools/ViewTool.js.map +1 -1
  653. package/package.json +29 -23
  654. package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.d.ts +0 -47
  655. package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.d.ts.map +0 -1
  656. package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.js +0 -75
  657. package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.js.map +0 -1
  658. package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.d.ts +0 -56
  659. package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.d.ts.map +0 -1
  660. package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.js +0 -270
  661. package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.js.map +0 -1
  662. package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.d.ts +0 -47
  663. package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.d.ts.map +0 -1
  664. package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.js +0 -71
  665. package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.js.map +0 -1
  666. package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.d.ts +0 -56
  667. package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.d.ts.map +0 -1
  668. package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.js +0 -266
  669. package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"OrbitGtTileTree.js","sourceRoot":"","sources":["../../../src/tile/OrbitGtTileTree.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 TileTreeSupplier\r\n */\r\n\r\nimport { BeTimePoint, compareStringsOrUndefined, Id64String } from \"@itwin/core-bentley\";\r\nimport {\r\n BatchType, Cartographic, ColorDef, Feature, FeatureTable, Frustum, FrustumPlanes, GeoCoordStatus, OrbitGtBlobProps, PackedFeatureTable, QParams3d,\r\n Quantization, RealityDataFormat, RealityDataProvider, RealityDataSourceKey, ViewFlagOverrides,\r\n} from \"@itwin/core-common\";\r\nimport { Point3d, Range3d, Transform, Vector3d } from \"@itwin/core-geometry\";\r\nimport {\r\n ALong, CRSManager, Downloader, DownloaderXhr, OnlineEngine, OPCReader, OrbitGtAList, OrbitGtBlockIndex, OrbitGtBounds, OrbitGtCoordinate,\r\n OrbitGtDataManager, OrbitGtFrameData, OrbitGtIProjectToViewForSort, OrbitGtIViewRequest, OrbitGtLevel, OrbitGtTileIndex, OrbitGtTileLoadSorter,\r\n OrbitGtTransform, PageCachedFile, PointDataRaw, UrlFS,\r\n} from \"@itwin/core-orbitgt\";\r\nimport { calculateEcefToDbTransformAtLocation } from \"../BackgroundMapGeometry\";\r\nimport { HitDetail } from \"../HitDetail\";\r\nimport { IModelApp } from \"../IModelApp\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { RealityDataSource } from \"../RealityDataSource\";\r\nimport { Mesh } from \"../render/primitives/mesh/MeshPrimitives\";\r\nimport { PointCloudArgs } from \"../render/primitives/PointCloudPrimitive\";\r\nimport { RenderGraphic } from \"../render/RenderGraphic\";\r\nimport { RenderMemory } from \"../render/RenderMemory\";\r\nimport { RenderSystem } from \"../render/RenderSystem\";\r\nimport { ViewingSpace } from \"../ViewingSpace\";\r\nimport { Viewport } from \"../Viewport\";\r\nimport {\r\n RealityModelTileTree, Tile, TileContent, TileDrawArgs, TileLoadPriority, TileParams, TileRequest, TileTree, TileTreeOwner,\r\n TileTreeParams, TileTreeSupplier, TileUsageMarker,\r\n} from \"./internal\";\r\n\r\nconst scratchRange = Range3d.create();\r\nconst scratchWorldFrustum = new Frustum();\r\n\r\ninterface OrbitGtTreeId {\r\n rdSourceKey: RealityDataSourceKey;\r\n modelId: Id64String;\r\n}\r\n\r\nclass OrbitGtTreeSupplier implements TileTreeSupplier {\r\n public getOwner(treeId: OrbitGtTreeId, iModel: IModelConnection): TileTreeOwner {\r\n return iModel.tiles.getTileTreeOwner(treeId, this);\r\n }\r\n\r\n public async createTileTree(treeId: OrbitGtTreeId, iModel: IModelConnection): Promise<TileTree | undefined> {\r\n return OrbitGtTileTree.createOrbitGtTileTree(treeId.rdSourceKey, iModel, treeId.modelId);\r\n }\r\n\r\n public compareTileTreeIds(lhs: OrbitGtTreeId, rhs: OrbitGtTreeId): number {\r\n let cmp = compareStringsOrUndefined(lhs.rdSourceKey.id, rhs.rdSourceKey.id);\r\n if (0 === cmp)\r\n cmp = compareStringsOrUndefined(lhs.rdSourceKey.format, rhs.rdSourceKey.format);\r\n if (0 === cmp)\r\n cmp = compareStringsOrUndefined(lhs.rdSourceKey.iTwinId, rhs.rdSourceKey.iTwinId);\r\n if (0 === cmp)\r\n cmp = compareStringsOrUndefined(lhs.modelId, rhs.modelId);\r\n\r\n return cmp;\r\n }\r\n}\r\n\r\nconst orbitGtTreeSupplier = new OrbitGtTreeSupplier();\r\n\r\nfunction transformFromOrbitGt(ogtTransform: OrbitGtTransform, result?: Transform): Transform {\r\n if (undefined === result)\r\n result = Transform.createIdentity();\r\n\r\n result.matrix.setRowValues(\r\n ogtTransform.getElement(0, 0), ogtTransform.getElement(0, 1), ogtTransform.getElement(0, 2),\r\n ogtTransform.getElement(1, 0), ogtTransform.getElement(1, 1), ogtTransform.getElement(1, 2),\r\n ogtTransform.getElement(2, 0), ogtTransform.getElement(2, 1), ogtTransform.getElement(2, 2));\r\n\r\n result.origin.x = ogtTransform.getElement(0, 3);\r\n result.origin.y = ogtTransform.getElement(1, 3);\r\n result.origin.z = ogtTransform.getElement(2, 3);\r\n return result;\r\n}\r\n\r\nfunction pointFromOrbitGt(ogtCoordinate: OrbitGtCoordinate, result?: Point3d): Point3d {\r\n if (undefined === result)\r\n result = Point3d.create();\r\n\r\n result.x = ogtCoordinate.x;\r\n result.y = ogtCoordinate.y;\r\n result.z = ogtCoordinate.z;\r\n\r\n return result;\r\n}\r\n\r\nfunction rangeFromOrbitGt(ogtBounds: OrbitGtBounds, result?: Range3d) {\r\n if (undefined === result)\r\n result = Range3d.create();\r\n\r\n pointFromOrbitGt(ogtBounds.min, result.low);\r\n pointFromOrbitGt(ogtBounds.max, result.high);\r\n return result;\r\n}\r\n\r\n/** @internal */\r\nexport function createOrbitGtTileTreeReference(props: OrbitGtTileTree.ReferenceProps): RealityModelTileTree.Reference {\r\n return new OrbitGtTreeReference(props);\r\n}\r\n\r\nclass OrbitGtTileTreeParams implements TileTreeParams {\r\n public id: string;\r\n public modelId: string;\r\n public iModel: IModelConnection;\r\n public get priority(): TileLoadPriority { return TileLoadPriority.Context; }\r\n\r\n public constructor(rdSourceKey: RealityDataSourceKey, iModel: IModelConnection, modelId: Id64String, public location: Transform) {\r\n const key = rdSourceKey;\r\n this.id = `${key.provider}:${key.format}:${key.id}:${key.iTwinId}`;\r\n this.modelId = modelId;\r\n this.iModel = iModel;\r\n }\r\n}\r\n\r\nclass OrbitGtRootTile extends Tile {\r\n protected _loadChildren(_resolve: (children: Tile[] | undefined) => void, _reject: (error: Error) => void): void { }\r\n public async requestContent(_isCanceled: () => boolean): Promise<TileRequest.Response> { return undefined; }\r\n public get channel() { return IModelApp.tileAdmin.channels.getForHttp(\"itwinjs-orbitgit\"); }\r\n public async readContent(_data: TileRequest.ResponseData, _system: RenderSystem, _isCanceled?: () => boolean): Promise<TileContent> { return {}; }\r\n public override freeMemory(): void { }\r\n\r\n constructor(params: TileParams, tree: TileTree) { super(params, tree); }\r\n}\r\n\r\nclass OrbitGtViewRequest extends OrbitGtIViewRequest {\r\n private _tileToIModelTransform: Transform;\r\n constructor(private _tileDrawArgs: TileDrawArgs, private _centerOffset: Vector3d) {\r\n super();\r\n this._tileToIModelTransform = _tileDrawArgs.location.multiplyTransformTransform(Transform.createTranslation(_centerOffset));\r\n }\r\n\r\n public isVisibleBox(bounds: OrbitGtBounds): boolean {\r\n const box = Frustum.fromRange(rangeFromOrbitGt(bounds, scratchRange));\r\n const worldBox = box.transformBy(this._tileToIModelTransform, scratchWorldFrustum);\r\n return FrustumPlanes.Containment.Outside !== this._tileDrawArgs.frustumPlanes.computeFrustumContainment(worldBox, undefined);\r\n }\r\n public getFrameTime(): number {\r\n return this._tileDrawArgs.now.milliseconds;\r\n }\r\n\r\n public shouldSplit(level: OrbitGtLevel, tile: OrbitGtTileIndex) {\r\n // get the world size of the tile voxels\r\n const tileCenter: OrbitGtCoordinate = level.getTileGrid().getCellCenter(tile.gridIndex);\r\n tileCenter.x += this._centerOffset.x;\r\n tileCenter.y += this._centerOffset.y;\r\n tileCenter.z += this._centerOffset.z;\r\n const worldCenter: Point3d = this._tileDrawArgs.location.multiplyXYZ(tileCenter.x, tileCenter.y, tileCenter.z);\r\n const worldCenter2: Point3d = this._tileDrawArgs.location.multiplyXYZ(tileCenter.x, tileCenter.y, tileCenter.z + level.getTileGrid().size.z);\r\n const voxelSize: number = worldCenter2.distance(worldCenter) / 64;\r\n // get the world size of a screen pixel at the tile center\r\n const viewPt: Point3d = this._tileDrawArgs.worldToViewMap.transform0.multiplyPoint3dQuietNormalize(worldCenter);\r\n const viewPt2: Point3d = new Point3d(viewPt.x + 1.0, viewPt.y, viewPt.z);\r\n const pixelSizeAtCenter: number = this._tileDrawArgs.worldToViewMap.transform1.multiplyPoint3dQuietNormalize(viewPt).distance(this._tileDrawArgs.worldToViewMap.transform1.multiplyPoint3dQuietNormalize(viewPt2));\r\n // stop splitting if the voxel size of the children becomes too small to improve quality\r\n const split: boolean = (0.5 * voxelSize > 2.0 * pixelSizeAtCenter);\r\n return split;\r\n }\r\n}\r\n\r\nclass TileSortProjector implements OrbitGtIProjectToViewForSort {\r\n private _sortTransform: Transform;\r\n constructor(iModelTransform: Transform, viewingSpace: ViewingSpace, centerOffset: Vector3d) {\r\n const rotation = viewingSpace.rotation;\r\n let origin: Vector3d;\r\n if (undefined === viewingSpace.eyePoint) {\r\n origin = Vector3d.createFrom(viewingSpace.viewOrigin);\r\n const viewDelta = viewingSpace.viewDelta;\r\n const eyeDelta = Vector3d.createFrom({ x: viewDelta.x / 2, y: viewDelta.y / 2, z: viewDelta.z * 10 });\r\n rotation.multiplyVector(eyeDelta, eyeDelta);\r\n origin.addInPlace(eyeDelta);\r\n } else {\r\n origin = Vector3d.createFrom(viewingSpace.eyePoint);\r\n }\r\n\r\n rotation.multiplyVector(origin);\r\n origin.scaleInPlace(-1);\r\n const toViewTransform = Transform.createOriginAndMatrix(origin, rotation);\r\n const tileToIModelTransform = iModelTransform.multiplyTransformTransform(Transform.createTranslation(centerOffset));\r\n this._sortTransform = toViewTransform.multiplyTransformTransform(tileToIModelTransform);\r\n }\r\n public projectToViewForSort(coordinate: OrbitGtCoordinate) {\r\n const point = pointFromOrbitGt(coordinate);\r\n this._sortTransform.multiplyPoint3d(point, point);\r\n coordinate.x = point.x;\r\n coordinate.y = point.y;\r\n coordinate.z = point.z;\r\n }\r\n}\r\n\r\nclass OrbitGtTileGraphic extends TileUsageMarker {\r\n public readonly graphic: RenderGraphic;\r\n\r\n public constructor(graphic: RenderGraphic, viewport: Viewport, time: BeTimePoint) {\r\n super();\r\n this.graphic = graphic;\r\n this.mark(viewport, time);\r\n }\r\n\r\n public dispose(): void {\r\n this.graphic.dispose();\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class OrbitGtTileTree extends TileTree {\r\n private _tileParams: TileParams;\r\n public rootTile: OrbitGtRootTile;\r\n public viewFlagOverrides: ViewFlagOverrides = {};\r\n private _tileGraphics = new Map<string, OrbitGtTileGraphic>();\r\n\r\n public constructor(treeParams: TileTreeParams, private _dataManager: OrbitGtDataManager, cloudRange: Range3d, private _centerOffset: Vector3d, private _ecefTransform: Transform) {\r\n super(treeParams);\r\n\r\n const worldContentRange = this.iModelTransform.multiplyRange(cloudRange);\r\n this.iModel.expandDisplayedExtents(worldContentRange);\r\n this._tileParams = { contentId: \"0\", range: cloudRange, maximumSize: 256 };\r\n this.rootTile = new OrbitGtRootTile(this._tileParams, this);\r\n }\r\n\r\n public override async getEcefTransform(): Promise<Transform | undefined> {\r\n return this._ecefTransform;\r\n }\r\n\r\n public override dispose(): void {\r\n if (this.isDisposed)\r\n return;\r\n\r\n for (const graphic of this._tileGraphics.values())\r\n graphic.dispose();\r\n\r\n this._tileGraphics.clear();\r\n super.dispose();\r\n }\r\n\r\n protected _selectTiles(_args: TileDrawArgs): Tile[] { return []; }\r\n public get is3d(): boolean { return true; }\r\n public override get isContentUnbounded(): boolean { return false; }\r\n public get maxDepth(): number | undefined { return undefined; }\r\n\r\n private _doPrune(olderThan: BeTimePoint) {\r\n for (const [key, graphic] of this._tileGraphics)\r\n if (graphic.isExpired(olderThan)) {\r\n graphic.dispose();\r\n this._tileGraphics.delete(key);\r\n }\r\n }\r\n\r\n public prune() {\r\n const olderThan = BeTimePoint.now().minus(this.expirationTime);\r\n this._doPrune(olderThan);\r\n }\r\n\r\n public override collectStatistics(stats: RenderMemory.Statistics): void {\r\n for (const tileGraphic of this._tileGraphics)\r\n tileGraphic[1].graphic.collectStatistics(stats);\r\n }\r\n\r\n public draw(args: TileDrawArgs) {\r\n const debugControl = args.context.target.debugControl;\r\n const debugBuilder = (debugControl && debugControl.displayRealityTileRanges) ? args.context.createSceneGraphicBuilder() : undefined;\r\n const doLogging = (debugControl && debugControl.logRealityTiles);\r\n const viewRequest = new OrbitGtViewRequest(args, this._centerOffset);\r\n const levelsInView = new OrbitGtAList<OrbitGtLevel>();\r\n const blocksInView = new OrbitGtAList<OrbitGtBlockIndex>();\r\n const tilesInView = new OrbitGtAList<OrbitGtTileIndex>();\r\n const frameData = new OrbitGtFrameData();\r\n\r\n this._dataManager.getViewTree().renderView3D(viewRequest, levelsInView, blocksInView, tilesInView, frameData.tilesToRender);\r\n this._dataManager.filterLoadList(levelsInView, blocksInView, tilesInView, frameData.levelsToLoad, frameData.blocksToLoad, frameData.tilesToLoad);\r\n tilesInView.sort(new OrbitGtTileLoadSorter(this._dataManager.getViewTree(), new TileSortProjector(this.iModelTransform, args.context.viewingSpace, this._centerOffset)));\r\n\r\n let totalPointCount = 0;\r\n const tileCount = frameData.tilesToRender.size();\r\n\r\n // Inform TileAdmin about tiles we are handling ourselves...\r\n IModelApp.tileAdmin.addExternalTilesForUser(args.context.viewport, { requested: frameData.tilesToLoad.size(), selected: tileCount, ready: tileCount });\r\n\r\n if (debugBuilder)\r\n debugBuilder.setSymbology(ColorDef.red, ColorDef.red, 1);\r\n\r\n let minLevel = 100, maxLevel = -100;\r\n for (let t: number = 0; t < tileCount; t++) {\r\n const tile: PointDataRaw = frameData.tilesToRender.get(t) as PointDataRaw;\r\n minLevel = Math.min(minLevel, tile.tileIndex.level);\r\n maxLevel = Math.max(maxLevel, tile.tileIndex.level);\r\n totalPointCount += tile.tileIndex.pointCount;\r\n const key = tile.tileIndex.key;\r\n const cachedGraphic = this._tileGraphics.get(key);\r\n if (undefined !== cachedGraphic) {\r\n cachedGraphic.mark(args.context.viewport, args.now);\r\n args.graphics.add(cachedGraphic.graphic);\r\n } else {\r\n const range = rangeFromOrbitGt(tile.bounds);\r\n range.low.addInPlace(this._centerOffset);\r\n range.high.addInPlace(this._centerOffset);\r\n const qParams = QParams3d.fromRange(range, undefined, (tile.points8 != null) ? Quantization.rangeScale8 : Quantization.rangeScale16);\r\n const featureTable = new FeatureTable(1, this.modelId, BatchType.Primary);\r\n const features = new Mesh.Features(featureTable);\r\n const system = IModelApp.renderSystem;\r\n const voxelSize = (range.high.x - range.low.x) / 64;\r\n\r\n features.add(new Feature(this.modelId), 1);\r\n const tilePoints = (tile.points8 != null) ? tile.points8.toNativeBuffer() : tile.points16.toNativeBuffer();\r\n let renderGraphic = system.createPointCloud(new PointCloudArgs(tilePoints, qParams, tile.colors.toNativeBuffer(), features, voxelSize, true), this.iModel);\r\n renderGraphic = system.createBatch(renderGraphic!, PackedFeatureTable.pack(featureTable), range);\r\n args.graphics.add(renderGraphic);\r\n this._tileGraphics.set(key, new OrbitGtTileGraphic(renderGraphic, args.context.viewport, args.now));\r\n }\r\n\r\n if (debugBuilder)\r\n debugBuilder.addRangeBox(rangeFromOrbitGt(tile.bounds));\r\n }\r\n\r\n if (debugBuilder)\r\n args.graphics.add(debugBuilder.finish());\r\n\r\n if (doLogging) {\r\n // eslint-disable-next-line no-console\r\n console.log(`Total OrbitGtTiles: ${tileCount} MinLevel: ${minLevel} MaxLevel: ${maxLevel} Total Points: ${totalPointCount}`);\r\n }\r\n\r\n args.drawGraphics();\r\n if (frameData.hasMissingData()) {\r\n this._dataManager.loadData(frameData).then(() => IModelApp.tileAdmin.onTileLoad.raiseEvent(this.rootTile)).catch((_err: any) => undefined);\r\n }\r\n }\r\n}\r\n\r\n/** @internal */\r\n// eslint-disable-next-line no-redeclare\r\nexport namespace OrbitGtTileTree {\r\n export interface ReferenceProps extends RealityModelTileTree.ReferenceBaseProps {\r\n orbitGtBlob?: OrbitGtBlobProps;\r\n modelId?: Id64String;\r\n }\r\n function isValidSASToken(downloadUrl: string): boolean {\r\n\r\n // Create fake URL for and parameter parsing and SAS token URI parsing\r\n if(!downloadUrl.startsWith(\"http\"))\r\n downloadUrl = `http://x.com/x?${downloadUrl}`;\r\n\r\n const sasUrl = new URL(downloadUrl);\r\n\r\n const se = sasUrl.searchParams.get(\"se\");\r\n if (se) {\r\n const expiryUTC = new Date(se);\r\n const now = new Date();\r\n const currentUTC = new Date(now?.toUTCString());\r\n\r\n return expiryUTC >= currentUTC;\r\n }\r\n\r\n return false;\r\n }\r\n function isValidOrbitGtBlobProps(props: OrbitGtBlobProps): boolean {\r\n\r\n // Check main OrbitGtBlobProps fields are defined\r\n if(!props.accountName || !props.containerName || !props.blobFileName || !props.sasToken)\r\n return false;\r\n\r\n // Check SAS token is valid\r\n return isValidSASToken(props.sasToken);\r\n }\r\n\r\n export async function createOrbitGtTileTree(rdSourceKey: RealityDataSourceKey, iModel: IModelConnection, modelId: Id64String): Promise<TileTree | undefined> {\r\n const rdSource = await RealityDataSource.fromKey(rdSourceKey, iModel.iTwinId);\r\n const isContextShare = rdSourceKey.provider === RealityDataProvider.ContextShare;\r\n const isTilestUrl = rdSourceKey.provider === RealityDataProvider.TilesetUrl;\r\n\r\n let blobStringUrl: string;\r\n if (isContextShare) {\r\n const realityData = rdSource ? rdSource.realityData : undefined;\r\n if (rdSource === undefined || realityData === undefined )\r\n return undefined;\r\n const docRootName = realityData.rootDocument;\r\n if (!docRootName)\r\n return undefined;\r\n const token = await IModelApp.getAccessToken();\r\n const blobUrl = await realityData.getBlobUrl(token, docRootName);\r\n blobStringUrl = blobUrl.toString();\r\n } else if (isTilestUrl) {\r\n blobStringUrl = rdSourceKey.id;\r\n } else {\r\n const orbitGtBlobProps = RealityDataSource.createOrbitGtBlobPropsFromKey(rdSourceKey);\r\n if (orbitGtBlobProps === undefined)\r\n return undefined;\r\n if(!isValidOrbitGtBlobProps(orbitGtBlobProps))\r\n return undefined;\r\n const { accountName, containerName, blobFileName, sasToken } = orbitGtBlobProps;\r\n blobStringUrl = blobFileName;\r\n if (accountName.length > 0)\r\n blobStringUrl = UrlFS.getAzureBlobSasUrl(accountName, containerName, blobFileName, sasToken);\r\n }\r\n\r\n if (Downloader.INSTANCE == null) Downloader.INSTANCE = new DownloaderXhr();\r\n if (CRSManager.ENGINE == null) CRSManager.ENGINE = await OnlineEngine.create();\r\n // wrap a caching layer (16 MB) around the blob file\r\n const urlFS: UrlFS = new UrlFS();\r\n const blobFileSize: ALong = await urlFS.getFileLength(blobStringUrl);\r\n const cacheKilobytes = 128;\r\n const cachedBlobFile = new PageCachedFile(urlFS, blobStringUrl, blobFileSize, cacheKilobytes * 1024 /* pageSize*/, 128/* maxPageCount*/);\r\n const pointCloudReader = await OPCReader.openFile(cachedBlobFile, blobStringUrl, true/* lazyLoading*/);\r\n let pointCloudCRS = pointCloudReader.getFileCRS();\r\n if (pointCloudCRS == null)\r\n pointCloudCRS = \"\";\r\n const dataManager = new OrbitGtDataManager(pointCloudReader, pointCloudCRS, PointDataRaw.TYPE);\r\n const pointCloudBounds = dataManager.getPointCloudBounds();\r\n const pointCloudRange = rangeFromOrbitGt(pointCloudBounds);\r\n const pointCloudCenter = pointCloudRange.localXYZToWorld(.5, .5, .5)!;\r\n const addCloudCenter = Transform.createTranslation(pointCloudCenter);\r\n const ecefTransform = Transform.createIdentity();\r\n let pointCloudCenterToDb = addCloudCenter;\r\n if (pointCloudCRS.length > 0) {\r\n await CRSManager.ENGINE.prepareForArea(pointCloudCRS, pointCloudBounds);\r\n const wgs84CRS = \"4978\";\r\n await CRSManager.ENGINE.prepareForArea(wgs84CRS, new OrbitGtBounds());\r\n const pointCloudToEcef = transformFromOrbitGt(CRSManager.createTransform(pointCloudCRS, new OrbitGtCoordinate(pointCloudCenter.x, pointCloudCenter.y, pointCloudCenter.z), wgs84CRS));\r\n const pointCloudCenterToEcef = pointCloudToEcef.multiplyTransformTransform(addCloudCenter);\r\n ecefTransform.setFrom(pointCloudCenterToEcef);\r\n\r\n let ecefToDb = iModel.getMapEcefToDb(0);\r\n // In initial publishing version the iModel ecef Transform was used to locate the reality model.\r\n // This would work well only for tilesets published from that iModel but for iModels the ecef transform is calculated\r\n // at the center of the project extents and the reality model location may differ greatly, and the curvature of the earth\r\n // could introduce significant errors.\r\n // The publishing was modified to calculate the ecef transform at the reality model range center and at the same time the \"iModelPublishVersion\"\r\n // member was added to the root object.\r\n const ecefOrigin = pointCloudCenterToEcef.getOrigin();\r\n const dbOrigin = ecefToDb.multiplyPoint3d(ecefOrigin);\r\n const realityOriginToProjectDistance = iModel.projectExtents.distanceToPoint(dbOrigin);\r\n const maxProjectDistance = 1E5; // Only use the project GCS projection if within 100KM of the project. Don't attempt to use GCS if global reality model or in another locale - Results will be unreliable.\r\n if (realityOriginToProjectDistance < maxProjectDistance) {\r\n const cartographicOrigin = Cartographic.fromEcef(ecefOrigin);\r\n const geoConverter = iModel.noGcsDefined ? undefined : iModel.geoServices.getConverter(\"WGS84\");\r\n if (cartographicOrigin !== undefined && geoConverter !== undefined) {\r\n const geoOrigin = Point3d.create(cartographicOrigin.longitudeDegrees, cartographicOrigin.latitudeDegrees, cartographicOrigin.height);\r\n const response = await geoConverter.getIModelCoordinatesFromGeoCoordinates([geoOrigin]);\r\n if (response.iModelCoords[0].s === GeoCoordStatus.Success) {\r\n const ecefToDbOrigin = await calculateEcefToDbTransformAtLocation(Point3d.fromJSON(response.iModelCoords[0].p), iModel);\r\n if (ecefToDbOrigin)\r\n ecefToDb = ecefToDbOrigin;\r\n }\r\n }\r\n }\r\n\r\n pointCloudCenterToDb = ecefToDb.multiplyTransformTransform(pointCloudCenterToEcef);\r\n }\r\n const params = new OrbitGtTileTreeParams(rdSourceKey, iModel, modelId, pointCloudCenterToDb);\r\n\r\n // We use a RTC transform to avoid jitter from large cloud coordinates.\r\n const centerOffset = Vector3d.create(-pointCloudCenter.x, -pointCloudCenter.y, -pointCloudCenter.z);\r\n pointCloudRange.low.addInPlace(centerOffset);\r\n pointCloudRange.high.addInPlace(centerOffset);\r\n return new OrbitGtTileTree(params, dataManager, pointCloudRange, centerOffset, ecefTransform);\r\n }\r\n}\r\n\r\n/** Supplies a reality data [[TileTree]] from a URL. May be associated with a persistent [[GeometricModelState]], or attached at run-time via a [[ContextOrbitGtState]].\r\n * @internal\r\n */\r\nclass OrbitGtTreeReference extends RealityModelTileTree.Reference {\r\n public readonly treeOwner: TileTreeOwner;\r\n protected _rdSourceKey: RealityDataSourceKey;\r\n public override get castsShadows() { return false; }\r\n\r\n public constructor(props: OrbitGtTileTree.ReferenceProps) {\r\n super(props);\r\n // Create rdSourceKey if not provided\r\n if (props.rdSourceKey) {\r\n this._rdSourceKey = props.rdSourceKey;\r\n } else if (props.orbitGtBlob) {\r\n this._rdSourceKey = RealityDataSource.createKeyFromOrbitGtBlobProps(props.orbitGtBlob);\r\n } else {\r\n // TODO: Maybe we should throw an exception\r\n this._rdSourceKey = RealityDataSource.createKeyFromBlobUrl(\"\", RealityDataProvider.OrbitGtBlob, RealityDataFormat.OPC);\r\n }\r\n\r\n const ogtTreeId: OrbitGtTreeId = { rdSourceKey: this._rdSourceKey, modelId: this.modelId };\r\n this.treeOwner = orbitGtTreeSupplier.getOwner(ogtTreeId, props.iModel);\r\n }\r\n\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)\r\n return undefined;\r\n\r\n const strings = [];\r\n strings.push(IModelApp.localization.getLocalizedString(\"iModelJs:RealityModelTypes.OrbitGTPointCloud\"));\r\n\r\n if (this._name)\r\n strings.push(`${IModelApp.localization.getLocalizedString(\"iModelJs:TooltipInfo.Name\")} ${this._name}`);\r\n\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":"OrbitGtTileTree.js","sourceRoot":"","sources":["../../../src/tile/OrbitGtTileTree.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 TileTreeSupplier\r\n */\r\n\r\nimport { BeTimePoint, compareStringsOrUndefined, Id64String } from \"@itwin/core-bentley\";\r\nimport {\r\n BatchType, Cartographic, ColorDef, Feature, FeatureTable, Frustum, FrustumPlanes, GeoCoordStatus, OrbitGtBlobProps, PackedFeatureTable, QParams3d,\r\n Quantization, RealityDataFormat, RealityDataProvider, RealityDataSourceKey, ViewFlagOverrides,\r\n} from \"@itwin/core-common\";\r\nimport { Point3d, Range3d, Transform, Vector3d } from \"@itwin/core-geometry\";\r\nimport {\r\n ALong, CRSManager, Downloader, DownloaderXhr, OnlineEngine, OPCReader, OrbitGtAList, OrbitGtBlockIndex, OrbitGtBounds, OrbitGtCoordinate,\r\n OrbitGtDataManager, OrbitGtFrameData, OrbitGtIProjectToViewForSort, OrbitGtIViewRequest, OrbitGtLevel, OrbitGtTileIndex, OrbitGtTileLoadSorter,\r\n OrbitGtTransform, PageCachedFile, PointDataRaw, UrlFS,\r\n} from \"@itwin/core-orbitgt\";\r\nimport { calculateEcefToDbTransformAtLocation } from \"../BackgroundMapGeometry\";\r\nimport { HitDetail } from \"../HitDetail\";\r\nimport { IModelApp } from \"../IModelApp\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { RealityDataSource } from \"../RealityDataSource\";\r\nimport { Mesh } from \"../render/primitives/mesh/MeshPrimitives\";\r\nimport { PointCloudArgs } from \"../render/primitives/PointCloudPrimitive\";\r\nimport { RenderGraphic } from \"../render/RenderGraphic\";\r\nimport { RenderMemory } from \"../render/RenderMemory\";\r\nimport { RenderSystem } from \"../render/RenderSystem\";\r\nimport { ViewingSpace } from \"../ViewingSpace\";\r\nimport { Viewport } from \"../Viewport\";\r\nimport {\r\n RealityModelTileTree, Tile, TileContent, TileDrawArgs, TileLoadPriority, TileParams, TileRequest, TileTree, TileTreeOwner,\r\n TileTreeParams, TileTreeSupplier, TileUsageMarker,\r\n} from \"./internal\";\r\n\r\nconst scratchRange = Range3d.create();\r\nconst scratchWorldFrustum = new Frustum();\r\n\r\ninterface OrbitGtTreeId {\r\n rdSourceKey: RealityDataSourceKey;\r\n modelId: Id64String;\r\n}\r\n\r\nclass OrbitGtTreeSupplier implements TileTreeSupplier {\r\n public getOwner(treeId: OrbitGtTreeId, iModel: IModelConnection): TileTreeOwner {\r\n return iModel.tiles.getTileTreeOwner(treeId, this);\r\n }\r\n\r\n public async createTileTree(treeId: OrbitGtTreeId, iModel: IModelConnection): Promise<TileTree | undefined> {\r\n return OrbitGtTileTree.createOrbitGtTileTree(treeId.rdSourceKey, iModel, treeId.modelId);\r\n }\r\n\r\n public compareTileTreeIds(lhs: OrbitGtTreeId, rhs: OrbitGtTreeId): number {\r\n let cmp = compareStringsOrUndefined(lhs.rdSourceKey.id, rhs.rdSourceKey.id);\r\n if (0 === cmp)\r\n cmp = compareStringsOrUndefined(lhs.rdSourceKey.format, rhs.rdSourceKey.format);\r\n if (0 === cmp)\r\n cmp = compareStringsOrUndefined(lhs.rdSourceKey.iTwinId, rhs.rdSourceKey.iTwinId);\r\n if (0 === cmp)\r\n cmp = compareStringsOrUndefined(lhs.modelId, rhs.modelId);\r\n\r\n return cmp;\r\n }\r\n}\r\n\r\nconst orbitGtTreeSupplier = new OrbitGtTreeSupplier();\r\n\r\nfunction transformFromOrbitGt(ogtTransform: OrbitGtTransform, result?: Transform): Transform {\r\n if (undefined === result)\r\n result = Transform.createIdentity();\r\n\r\n result.matrix.setRowValues(\r\n ogtTransform.getElement(0, 0), ogtTransform.getElement(0, 1), ogtTransform.getElement(0, 2),\r\n ogtTransform.getElement(1, 0), ogtTransform.getElement(1, 1), ogtTransform.getElement(1, 2),\r\n ogtTransform.getElement(2, 0), ogtTransform.getElement(2, 1), ogtTransform.getElement(2, 2));\r\n\r\n result.origin.x = ogtTransform.getElement(0, 3);\r\n result.origin.y = ogtTransform.getElement(1, 3);\r\n result.origin.z = ogtTransform.getElement(2, 3);\r\n return result;\r\n}\r\n\r\nfunction pointFromOrbitGt(ogtCoordinate: OrbitGtCoordinate, result?: Point3d): Point3d {\r\n if (undefined === result)\r\n result = Point3d.create();\r\n\r\n result.x = ogtCoordinate.x;\r\n result.y = ogtCoordinate.y;\r\n result.z = ogtCoordinate.z;\r\n\r\n return result;\r\n}\r\n\r\nfunction rangeFromOrbitGt(ogtBounds: OrbitGtBounds, result?: Range3d) {\r\n if (undefined === result)\r\n result = Range3d.create();\r\n\r\n pointFromOrbitGt(ogtBounds.min, result.low);\r\n pointFromOrbitGt(ogtBounds.max, result.high);\r\n return result;\r\n}\r\n\r\n/** @internal */\r\nexport function createOrbitGtTileTreeReference(props: OrbitGtTileTree.ReferenceProps): RealityModelTileTree.Reference {\r\n return new OrbitGtTreeReference(props);\r\n}\r\n\r\nclass OrbitGtTileTreeParams implements TileTreeParams {\r\n public id: string;\r\n public modelId: string;\r\n public iModel: IModelConnection;\r\n public get priority(): TileLoadPriority { return TileLoadPriority.Context; }\r\n\r\n public constructor(rdSourceKey: RealityDataSourceKey, iModel: IModelConnection, modelId: Id64String, public location: Transform) {\r\n const key = rdSourceKey;\r\n this.id = `${key.provider}:${key.format}:${key.id}:${key.iTwinId}`;\r\n this.modelId = modelId;\r\n this.iModel = iModel;\r\n }\r\n}\r\n\r\nclass OrbitGtRootTile extends Tile {\r\n protected _loadChildren(_resolve: (children: Tile[] | undefined) => void, _reject: (error: Error) => void): void { }\r\n public async requestContent(_isCanceled: () => boolean): Promise<TileRequest.Response> { return undefined; }\r\n public get channel() { return IModelApp.tileAdmin.channels.getForHttp(\"itwinjs-orbitgit\"); }\r\n public async readContent(_data: TileRequest.ResponseData, _system: RenderSystem, _isCanceled?: () => boolean): Promise<TileContent> { return {}; }\r\n public override freeMemory(): void { }\r\n\r\n constructor(params: TileParams, tree: TileTree) { super(params, tree); }\r\n}\r\n\r\nclass OrbitGtViewRequest extends OrbitGtIViewRequest {\r\n private _tileToIModelTransform: Transform;\r\n constructor(private _tileDrawArgs: TileDrawArgs, private _centerOffset: Vector3d) {\r\n super();\r\n this._tileToIModelTransform = _tileDrawArgs.location.multiplyTransformTransform(Transform.createTranslation(_centerOffset));\r\n }\r\n\r\n public isVisibleBox(bounds: OrbitGtBounds): boolean {\r\n const box = Frustum.fromRange(rangeFromOrbitGt(bounds, scratchRange));\r\n const worldBox = box.transformBy(this._tileToIModelTransform, scratchWorldFrustum);\r\n return FrustumPlanes.Containment.Outside !== this._tileDrawArgs.frustumPlanes.computeFrustumContainment(worldBox, undefined);\r\n }\r\n public getFrameTime(): number {\r\n return this._tileDrawArgs.now.milliseconds;\r\n }\r\n\r\n public shouldSplit(level: OrbitGtLevel, tile: OrbitGtTileIndex) {\r\n // get the world size of the tile voxels\r\n const tileCenter: OrbitGtCoordinate = level.getTileGrid().getCellCenter(tile.gridIndex);\r\n tileCenter.x += this._centerOffset.x;\r\n tileCenter.y += this._centerOffset.y;\r\n tileCenter.z += this._centerOffset.z;\r\n const worldCenter: Point3d = this._tileDrawArgs.location.multiplyXYZ(tileCenter.x, tileCenter.y, tileCenter.z);\r\n const worldCenter2: Point3d = this._tileDrawArgs.location.multiplyXYZ(tileCenter.x, tileCenter.y, tileCenter.z + level.getTileGrid().size.z);\r\n const voxelSize: number = worldCenter2.distance(worldCenter) / 64;\r\n // get the world size of a screen pixel at the tile center\r\n const viewPt: Point3d = this._tileDrawArgs.worldToViewMap.transform0.multiplyPoint3dQuietNormalize(worldCenter);\r\n const viewPt2: Point3d = new Point3d(viewPt.x + 1.0, viewPt.y, viewPt.z);\r\n const pixelSizeAtCenter: number = this._tileDrawArgs.worldToViewMap.transform1.multiplyPoint3dQuietNormalize(viewPt).distance(this._tileDrawArgs.worldToViewMap.transform1.multiplyPoint3dQuietNormalize(viewPt2));\r\n // stop splitting if the voxel size of the children becomes too small to improve quality\r\n const split: boolean = (0.5 * voxelSize > 2.0 * pixelSizeAtCenter);\r\n return split;\r\n }\r\n}\r\n\r\nclass TileSortProjector implements OrbitGtIProjectToViewForSort {\r\n private _sortTransform: Transform;\r\n constructor(iModelTransform: Transform, viewingSpace: ViewingSpace, centerOffset: Vector3d) {\r\n const rotation = viewingSpace.rotation;\r\n let origin: Vector3d;\r\n if (undefined === viewingSpace.eyePoint) {\r\n origin = Vector3d.createFrom(viewingSpace.viewOrigin);\r\n const viewDelta = viewingSpace.viewDelta;\r\n const eyeDelta = Vector3d.createFrom({ x: viewDelta.x / 2, y: viewDelta.y / 2, z: viewDelta.z * 10 });\r\n rotation.multiplyVector(eyeDelta, eyeDelta);\r\n origin.addInPlace(eyeDelta);\r\n } else {\r\n origin = Vector3d.createFrom(viewingSpace.eyePoint);\r\n }\r\n\r\n rotation.multiplyVector(origin);\r\n origin.scaleInPlace(-1);\r\n const toViewTransform = Transform.createOriginAndMatrix(origin, rotation);\r\n const tileToIModelTransform = iModelTransform.multiplyTransformTransform(Transform.createTranslation(centerOffset));\r\n this._sortTransform = toViewTransform.multiplyTransformTransform(tileToIModelTransform);\r\n }\r\n public projectToViewForSort(coordinate: OrbitGtCoordinate) {\r\n const point = pointFromOrbitGt(coordinate);\r\n this._sortTransform.multiplyPoint3d(point, point);\r\n coordinate.x = point.x;\r\n coordinate.y = point.y;\r\n coordinate.z = point.z;\r\n }\r\n}\r\n\r\nclass OrbitGtTileGraphic extends TileUsageMarker {\r\n public readonly graphic: RenderGraphic;\r\n\r\n public constructor(graphic: RenderGraphic, viewport: Viewport, time: BeTimePoint) {\r\n super();\r\n this.graphic = graphic;\r\n this.mark(viewport, time);\r\n }\r\n\r\n public dispose(): void {\r\n this.graphic.dispose();\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class OrbitGtTileTree extends TileTree {\r\n private _tileParams: TileParams;\r\n public rootTile: OrbitGtRootTile;\r\n public viewFlagOverrides: ViewFlagOverrides = {};\r\n private _tileGraphics = new Map<string, OrbitGtTileGraphic>();\r\n\r\n public constructor(treeParams: TileTreeParams, private _dataManager: OrbitGtDataManager, cloudRange: Range3d, private _centerOffset: Vector3d, private _ecefTransform: Transform) {\r\n super(treeParams);\r\n\r\n const worldContentRange = this.iModelTransform.multiplyRange(cloudRange);\r\n this.iModel.expandDisplayedExtents(worldContentRange);\r\n this._tileParams = { contentId: \"0\", range: cloudRange, maximumSize: 256 };\r\n this.rootTile = new OrbitGtRootTile(this._tileParams, this);\r\n }\r\n\r\n public override async getEcefTransform(): Promise<Transform | undefined> {\r\n return this._ecefTransform;\r\n }\r\n\r\n public override dispose(): void {\r\n if (this.isDisposed)\r\n return;\r\n\r\n for (const graphic of this._tileGraphics.values())\r\n graphic.dispose();\r\n\r\n this._tileGraphics.clear();\r\n super.dispose();\r\n }\r\n\r\n protected _selectTiles(_args: TileDrawArgs): Tile[] { return []; }\r\n public get is3d(): boolean { return true; }\r\n public override get isContentUnbounded(): boolean { return false; }\r\n public get maxDepth(): number | undefined { return undefined; }\r\n\r\n private _doPrune(olderThan: BeTimePoint) {\r\n for (const [key, graphic] of this._tileGraphics)\r\n if (graphic.isExpired(olderThan)) {\r\n graphic.dispose();\r\n this._tileGraphics.delete(key);\r\n }\r\n }\r\n\r\n public prune() {\r\n const olderThan = BeTimePoint.now().minus(this.expirationTime);\r\n this._doPrune(olderThan);\r\n }\r\n\r\n public override collectStatistics(stats: RenderMemory.Statistics): void {\r\n for (const tileGraphic of this._tileGraphics)\r\n tileGraphic[1].graphic.collectStatistics(stats);\r\n }\r\n\r\n public draw(args: TileDrawArgs) {\r\n const debugControl = args.context.target.debugControl;\r\n const debugBuilder = (debugControl && debugControl.displayRealityTileRanges) ? args.context.createSceneGraphicBuilder() : undefined;\r\n const doLogging = (debugControl && debugControl.logRealityTiles);\r\n const viewRequest = new OrbitGtViewRequest(args, this._centerOffset);\r\n const levelsInView = new OrbitGtAList<OrbitGtLevel>();\r\n const blocksInView = new OrbitGtAList<OrbitGtBlockIndex>();\r\n const tilesInView = new OrbitGtAList<OrbitGtTileIndex>();\r\n const frameData = new OrbitGtFrameData();\r\n\r\n this._dataManager.getViewTree().renderView3D(viewRequest, levelsInView, blocksInView, tilesInView, frameData.tilesToRender);\r\n this._dataManager.filterLoadList(levelsInView, blocksInView, tilesInView, frameData.levelsToLoad, frameData.blocksToLoad, frameData.tilesToLoad);\r\n tilesInView.sort(new OrbitGtTileLoadSorter(this._dataManager.getViewTree(), new TileSortProjector(this.iModelTransform, args.context.viewingSpace, this._centerOffset)));\r\n\r\n let totalPointCount = 0;\r\n const tileCount = frameData.tilesToRender.size();\r\n\r\n // Inform TileAdmin about tiles we are handling ourselves...\r\n IModelApp.tileAdmin.addExternalTilesForUser(args.context.viewport, { requested: frameData.tilesToLoad.size(), selected: tileCount, ready: tileCount });\r\n\r\n if (debugBuilder)\r\n debugBuilder.setSymbology(ColorDef.red, ColorDef.red, 1);\r\n\r\n let minLevel = 100, maxLevel = -100;\r\n for (let t: number = 0; t < tileCount; t++) {\r\n const tile: PointDataRaw = frameData.tilesToRender.get(t) as PointDataRaw;\r\n minLevel = Math.min(minLevel, tile.tileIndex.level);\r\n maxLevel = Math.max(maxLevel, tile.tileIndex.level);\r\n totalPointCount += tile.tileIndex.pointCount;\r\n const key = tile.tileIndex.key;\r\n const cachedGraphic = this._tileGraphics.get(key);\r\n if (undefined !== cachedGraphic) {\r\n cachedGraphic.mark(args.context.viewport, args.now);\r\n args.graphics.add(cachedGraphic.graphic);\r\n } else {\r\n const range = rangeFromOrbitGt(tile.bounds);\r\n range.low.addInPlace(this._centerOffset);\r\n range.high.addInPlace(this._centerOffset);\r\n const qParams = QParams3d.fromRange(range, undefined, (tile.points8 != null) ? Quantization.rangeScale8 : Quantization.rangeScale16);\r\n const featureTable = new FeatureTable(1, this.modelId, BatchType.Primary);\r\n const features = new Mesh.Features(featureTable);\r\n const system = IModelApp.renderSystem;\r\n const voxelSize = (range.high.x - range.low.x) / 64;\r\n\r\n features.add(new Feature(this.modelId), 1);\r\n const tilePoints = (tile.points8 != null) ? tile.points8.toNativeBuffer() : tile.points16.toNativeBuffer();\r\n let renderGraphic = system.createPointCloud(new PointCloudArgs(tilePoints, qParams, tile.colors.toNativeBuffer(), features, voxelSize, true), this.iModel);\r\n renderGraphic = system.createBatch(renderGraphic!, PackedFeatureTable.pack(featureTable), range);\r\n args.graphics.add(renderGraphic);\r\n this._tileGraphics.set(key, new OrbitGtTileGraphic(renderGraphic, args.context.viewport, args.now));\r\n }\r\n\r\n if (debugBuilder)\r\n debugBuilder.addRangeBox(rangeFromOrbitGt(tile.bounds));\r\n }\r\n\r\n if (debugBuilder)\r\n args.graphics.add(debugBuilder.finish());\r\n\r\n if (doLogging) {\r\n // eslint-disable-next-line no-console\r\n console.log(`Total OrbitGtTiles: ${tileCount} MinLevel: ${minLevel} MaxLevel: ${maxLevel} Total Points: ${totalPointCount}`);\r\n }\r\n\r\n args.drawGraphics();\r\n if (frameData.hasMissingData()) {\r\n this._dataManager.loadData(frameData).then(() => IModelApp.tileAdmin.onTileLoad.raiseEvent(this.rootTile)).catch((_err: any) => undefined);\r\n }\r\n }\r\n}\r\n\r\n/** @internal */\r\n// eslint-disable-next-line no-redeclare\r\nexport namespace OrbitGtTileTree {\r\n export interface ReferenceProps extends RealityModelTileTree.ReferenceBaseProps {\r\n orbitGtBlob?: OrbitGtBlobProps;\r\n modelId?: Id64String;\r\n }\r\n function isValidSASToken(downloadUrl: string): boolean {\r\n\r\n // Create fake URL for and parameter parsing and SAS token URI parsing\r\n if(!downloadUrl.startsWith(\"http\"))\r\n downloadUrl = `http://x.com/x?${downloadUrl}`;\r\n\r\n const sasUrl = new URL(downloadUrl);\r\n\r\n const se = sasUrl.searchParams.get(\"se\");\r\n if (se) {\r\n const expiryUTC = new Date(se);\r\n const now = new Date();\r\n const currentUTC = new Date(now?.toUTCString());\r\n\r\n return expiryUTC >= currentUTC;\r\n }\r\n\r\n return false;\r\n }\r\n function isValidOrbitGtBlobProps(props: OrbitGtBlobProps): boolean {\r\n\r\n // Check main OrbitGtBlobProps fields are defined\r\n if(!props.accountName || !props.containerName || !props.blobFileName || !props.sasToken)\r\n return false;\r\n\r\n // Check SAS token is valid\r\n return isValidSASToken(props.sasToken);\r\n }\r\n\r\n export async function createOrbitGtTileTree(rdSourceKey: RealityDataSourceKey, iModel: IModelConnection, modelId: Id64String): Promise<TileTree | undefined> {\r\n const rdSource = await RealityDataSource.fromKey(rdSourceKey, iModel.iTwinId);\r\n const isContextShare = rdSourceKey.provider === RealityDataProvider.ContextShare;\r\n const isTilestUrl = rdSourceKey.provider === RealityDataProvider.TilesetUrl;\r\n\r\n let blobStringUrl: string;\r\n if (isContextShare) {\r\n const realityData = rdSource ? rdSource.realityData : undefined;\r\n if (rdSource === undefined || realityData === undefined )\r\n return undefined;\r\n const docRootName = realityData.rootDocument;\r\n if (!docRootName)\r\n return undefined;\r\n const token = await IModelApp.getAccessToken();\r\n const blobUrl = await realityData.getBlobUrl(token, docRootName);\r\n blobStringUrl = blobUrl.toString();\r\n } else if (isTilestUrl) {\r\n blobStringUrl = rdSourceKey.id;\r\n } else {\r\n const orbitGtBlobProps = RealityDataSource.createOrbitGtBlobPropsFromKey(rdSourceKey);\r\n if (orbitGtBlobProps === undefined)\r\n return undefined;\r\n if(!isValidOrbitGtBlobProps(orbitGtBlobProps))\r\n return undefined;\r\n const { accountName, containerName, blobFileName, sasToken } = orbitGtBlobProps;\r\n blobStringUrl = blobFileName;\r\n if (accountName.length > 0)\r\n blobStringUrl = UrlFS.getAzureBlobSasUrl(accountName, containerName, blobFileName, sasToken);\r\n }\r\n\r\n if (Downloader.INSTANCE == null)\r\n Downloader.INSTANCE = new DownloaderXhr();\r\n\r\n if (CRSManager.ENGINE == null)\r\n CRSManager.ENGINE = await OnlineEngine.create();\r\n\r\n // wrap a caching layer (16 MB) around the blob file\r\n const urlFS: UrlFS = new UrlFS();\r\n const blobFileSize: ALong = await urlFS.getFileLength(blobStringUrl);\r\n const cacheKilobytes = 128;\r\n const cachedBlobFile = new PageCachedFile(urlFS, blobStringUrl, blobFileSize, cacheKilobytes * 1024 /* pageSize*/, 128/* maxPageCount*/);\r\n const pointCloudReader = await OPCReader.openFile(cachedBlobFile, blobStringUrl, true/* lazyLoading*/);\r\n let pointCloudCRS = pointCloudReader.getFileCRS();\r\n if (pointCloudCRS == null)\r\n pointCloudCRS = \"\";\r\n const dataManager = new OrbitGtDataManager(pointCloudReader, pointCloudCRS, PointDataRaw.TYPE);\r\n const pointCloudBounds = dataManager.getPointCloudBounds();\r\n const pointCloudRange = rangeFromOrbitGt(pointCloudBounds);\r\n const pointCloudCenter = pointCloudRange.localXYZToWorld(.5, .5, .5)!;\r\n const addCloudCenter = Transform.createTranslation(pointCloudCenter);\r\n const ecefTransform = Transform.createIdentity();\r\n let pointCloudCenterToDb = addCloudCenter;\r\n if (pointCloudCRS.length > 0) {\r\n await CRSManager.ENGINE.prepareForArea(pointCloudCRS, pointCloudBounds);\r\n const wgs84CRS = \"4978\";\r\n await CRSManager.ENGINE.prepareForArea(wgs84CRS, new OrbitGtBounds());\r\n const pointCloudToEcef = transformFromOrbitGt(CRSManager.createTransform(pointCloudCRS, new OrbitGtCoordinate(pointCloudCenter.x, pointCloudCenter.y, pointCloudCenter.z), wgs84CRS));\r\n const pointCloudCenterToEcef = pointCloudToEcef.multiplyTransformTransform(addCloudCenter);\r\n ecefTransform.setFrom(pointCloudCenterToEcef);\r\n\r\n let ecefToDb = iModel.getMapEcefToDb(0);\r\n // In initial publishing version the iModel ecef Transform was used to locate the reality model.\r\n // This would work well only for tilesets published from that iModel but for iModels the ecef transform is calculated\r\n // at the center of the project extents and the reality model location may differ greatly, and the curvature of the earth\r\n // could introduce significant errors.\r\n // The publishing was modified to calculate the ecef transform at the reality model range center and at the same time the \"iModelPublishVersion\"\r\n // member was added to the root object.\r\n const ecefOrigin = pointCloudCenterToEcef.getOrigin();\r\n const dbOrigin = ecefToDb.multiplyPoint3d(ecefOrigin);\r\n const realityOriginToProjectDistance = iModel.projectExtents.distanceToPoint(dbOrigin);\r\n const maxProjectDistance = 1E5; // Only use the project GCS projection if within 100KM of the project. Don't attempt to use GCS if global reality model or in another locale - Results will be unreliable.\r\n if (realityOriginToProjectDistance < maxProjectDistance) {\r\n const cartographicOrigin = Cartographic.fromEcef(ecefOrigin);\r\n const geoConverter = iModel.noGcsDefined ? undefined : iModel.geoServices.getConverter(\"WGS84\");\r\n if (cartographicOrigin !== undefined && geoConverter !== undefined) {\r\n const geoOrigin = Point3d.create(cartographicOrigin.longitudeDegrees, cartographicOrigin.latitudeDegrees, cartographicOrigin.height);\r\n const response = await geoConverter.getIModelCoordinatesFromGeoCoordinates([geoOrigin]);\r\n if (response.iModelCoords[0].s === GeoCoordStatus.Success) {\r\n const ecefToDbOrigin = await calculateEcefToDbTransformAtLocation(Point3d.fromJSON(response.iModelCoords[0].p), iModel);\r\n if (ecefToDbOrigin)\r\n ecefToDb = ecefToDbOrigin;\r\n }\r\n }\r\n }\r\n\r\n pointCloudCenterToDb = ecefToDb.multiplyTransformTransform(pointCloudCenterToEcef);\r\n }\r\n const params = new OrbitGtTileTreeParams(rdSourceKey, iModel, modelId, pointCloudCenterToDb);\r\n\r\n // We use a RTC transform to avoid jitter from large cloud coordinates.\r\n const centerOffset = Vector3d.create(-pointCloudCenter.x, -pointCloudCenter.y, -pointCloudCenter.z);\r\n pointCloudRange.low.addInPlace(centerOffset);\r\n pointCloudRange.high.addInPlace(centerOffset);\r\n return new OrbitGtTileTree(params, dataManager, pointCloudRange, centerOffset, ecefTransform);\r\n }\r\n}\r\n\r\n/** Supplies a reality data [[TileTree]] from a URL. May be associated with a persistent [[GeometricModelState]], or attached at run-time via a [[ContextOrbitGtState]].\r\n * @internal\r\n */\r\nclass OrbitGtTreeReference extends RealityModelTileTree.Reference {\r\n public readonly treeOwner: TileTreeOwner;\r\n protected _rdSourceKey: RealityDataSourceKey;\r\n public override get castsShadows() { return false; }\r\n\r\n public constructor(props: OrbitGtTileTree.ReferenceProps) {\r\n super(props);\r\n // Create rdSourceKey if not provided\r\n if (props.rdSourceKey) {\r\n this._rdSourceKey = props.rdSourceKey;\r\n } else if (props.orbitGtBlob) {\r\n this._rdSourceKey = RealityDataSource.createKeyFromOrbitGtBlobProps(props.orbitGtBlob);\r\n } else {\r\n // TODO: Maybe we should throw an exception\r\n this._rdSourceKey = RealityDataSource.createKeyFromBlobUrl(\"\", RealityDataProvider.OrbitGtBlob, RealityDataFormat.OPC);\r\n }\r\n\r\n const ogtTreeId: OrbitGtTreeId = { rdSourceKey: this._rdSourceKey, modelId: this.modelId };\r\n this.treeOwner = orbitGtTreeSupplier.getOwner(ogtTreeId, props.iModel);\r\n }\r\n\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)\r\n return undefined;\r\n\r\n const strings = [];\r\n strings.push(IModelApp.localization.getLocalizedString(\"iModelJs:RealityModelTypes.OrbitGTPointCloud\"));\r\n\r\n if (this._name)\r\n strings.push(`${IModelApp.localization.getLocalizedString(\"iModelJs:TooltipInfo.Name\")} ${this._name}`);\r\n\r\n const div = document.createElement(\"div\");\r\n div.innerHTML = strings.join(\"<br>\");\r\n return div;\r\n }\r\n}\r\n"]}
@@ -28,61 +28,115 @@ export interface RealityTileGeometry {
28
28
  export interface RealityTileContent extends TileContent {
29
29
  geometry?: RealityTileGeometry;
30
30
  }
31
- /**
32
- * A specialization of tiles that represent reality tiles. 3D Tilesets and maps use this class and have their own optimized traversal and lifetime management.
33
- * @internal
31
+ /** A [[Tile]] within a [[RealityTileTree]], representing part of a reality model (e.g., a point cloud or photogrammetry mesh) or 3d terrain with map imagery.
32
+ * @beta
34
33
  */
35
34
  export declare class RealityTile extends Tile {
35
+ /** @internal */
36
36
  readonly transformToRoot?: Transform;
37
+ /** @internal */
37
38
  readonly additiveRefinement?: boolean;
39
+ /** @internal */
38
40
  readonly noContentButTerminateOnSelection?: boolean;
41
+ /** @internal */
39
42
  readonly rangeCorners?: Point3d[];
43
+ /** @internal */
40
44
  readonly region?: RealityTileRegion;
45
+ /** @internal */
41
46
  protected _geometry?: RealityTileGeometry;
47
+ /** @internal */
42
48
  private _everDisplayed;
49
+ /** @internal */
43
50
  protected _reprojectionTransform?: Transform;
51
+ /** @internal */
44
52
  private _reprojectedGraphic?;
53
+ /** @internal */
45
54
  constructor(props: RealityTileParams, tree: RealityTileTree);
55
+ /** @internal */
46
56
  setContent(content: RealityTileContent): void;
57
+ /** @internal */
47
58
  get realityChildren(): RealityTile[] | undefined;
59
+ /** @internal */
48
60
  get realityParent(): RealityTile;
61
+ /** @internal */
49
62
  get realityRoot(): RealityTileTree;
63
+ /** @internal */
50
64
  get graphicType(): TileGraphicType | undefined;
65
+ /** @internal */
51
66
  get maxDepth(): number;
67
+ /** @internal */
52
68
  get isPointCloud(): boolean;
69
+ /** @internal */
53
70
  get isLoaded(): boolean;
71
+ /** @internal */
54
72
  get geometry(): RealityTileGeometry | undefined;
73
+ /** @internal */
55
74
  get isDisplayable(): boolean;
75
+ /** @internal */
56
76
  markUsed(args: TileDrawArgs): void;
77
+ /** @internal */
57
78
  markDisplayed(): void;
79
+ /** @internal */
58
80
  isOccluded(_viewingSpace: ViewingSpace): boolean;
81
+ /** @internal */
59
82
  get channel(): TileRequestChannel;
83
+ /** @internal */
60
84
  requestContent(isCanceled: () => boolean): Promise<TileRequest.Response>;
85
+ /** @internal */
61
86
  private useAdditiveRefinementStepchildren;
87
+ /** @internal */
62
88
  protected _loadChildren(resolve: (children: Tile[] | undefined) => void, reject: (error: Error) => void): void;
89
+ /** @internal */
63
90
  readContent(data: TileRequest.ResponseData, system: RenderSystem, isCanceled?: () => boolean): Promise<TileContent>;
91
+ /** @internal */
64
92
  computeLoadPriority(viewports: Iterable<Viewport>, users: Iterable<TileUser>): number;
93
+ /** @internal */
65
94
  getContentClip(): ClipVector | undefined;
95
+ /** Allow tile to select additional tiles (Terrain Imagery...)
96
+ * @internal
97
+ */
66
98
  selectSecondaryTiles(_args: TileDrawArgs, _context: TraversalSelectionContext): void;
99
+ /** An upsampled tile is not loadable - will override to return loadable parent.
100
+ * @internal
101
+ */
67
102
  get loadableTile(): RealityTile;
103
+ /** @internal */
68
104
  preloadRealityTilesAtDepth(depth: number, context: TraversalSelectionContext, args: TileDrawArgs): void;
105
+ /** @internal */
69
106
  protected selectRealityChildren(context: TraversalSelectionContext, args: TileDrawArgs, traversalDetails: TraversalDetails): void;
107
+ /** @internal */
70
108
  addBoundingGraphic(builder: GraphicBuilder, color: ColorDef): void;
109
+ /** @internal */
71
110
  reproject(rootReprojection: Transform): void;
111
+ /** @internal */
72
112
  allChildrenIncluded(tiles: Tile[]): boolean;
113
+ /** @internal */
73
114
  protected getLoadedRealityChildren(args: TileDrawArgs): boolean;
115
+ /** @internal */
74
116
  forceSelectRealityTile(): boolean;
117
+ /** @internal */
75
118
  selectRealityTiles(context: TraversalSelectionContext, args: TileDrawArgs, traversalDetails: TraversalDetails): void;
119
+ /** @internal */
76
120
  purgeContents(olderThan: BeTimePoint): void;
121
+ /** @internal */
77
122
  computeVisibilityFactor(args: TileDrawArgs): number;
123
+ /** @internal */
78
124
  preloadTilesInFrustum(args: TileDrawArgs, context: TraversalSelectionContext, preloadSizeModifier: number): void;
125
+ /** @internal */
79
126
  protected get _anyChildNotFound(): boolean;
127
+ /** @internal */
80
128
  getSizeProjectionCorners(): Point3d[] | undefined;
129
+ /** @internal */
81
130
  get isStepChild(): boolean;
131
+ /** @internal */
82
132
  protected loadAdditiveRefinementChildren(resolve: (children: Tile[]) => void): void;
133
+ /** @internal */
83
134
  produceGraphics(): RenderGraphic | undefined;
135
+ /** @internal */
84
136
  get unprojectedGraphic(): RenderGraphic | undefined;
137
+ /** @internal */
85
138
  disposeContents(): void;
139
+ /** @internal */
86
140
  collectTileGeometry(collector: TileGeometryCollector): void;
87
141
  }
88
142
  //# sourceMappingURL=RealityTile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RealityTile.d.ts","sourceRoot":"","sources":["../../../src/tile/RealityTile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RealityTile.d.ts","sourceRoot":"","sources":["../../../src/tile/RealityTile.ts"],"names":[],"mappings":"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"}
@@ -19,14 +19,15 @@ const scratchCorners = [core_geometry_1.Point3d.createZero(), core_geometry_1.Po
19
19
  const additiveRefinementThreshold = 10000; // Additive tiles (Cesium OSM tileset) are subdivided until their range diagonal falls below this threshold to ensure accurate reprojection.
20
20
  const additiveRefinementDepthLimit = 20;
21
21
  const scratchFrustum = new core_common_1.Frustum();
22
- /**
23
- * A specialization of tiles that represent reality tiles. 3D Tilesets and maps use this class and have their own optimized traversal and lifetime management.
24
- * @internal
22
+ /** A [[Tile]] within a [[RealityTileTree]], representing part of a reality model (e.g., a point cloud or photogrammetry mesh) or 3d terrain with map imagery.
23
+ * @beta
25
24
  */
26
25
  class RealityTile extends internal_1.Tile {
26
+ /** @internal */
27
27
  constructor(props, tree) {
28
28
  var _a;
29
29
  super(props, tree);
30
+ /** @internal */
30
31
  this._everDisplayed = false;
31
32
  this.transformToRoot = props.transformToRoot;
32
33
  this.additiveRefinement = (undefined === props.additiveRefinement) ? (_a = this.realityParent) === null || _a === void 0 ? void 0 : _a.additiveRefinement : props.additiveRefinement;
@@ -43,45 +44,62 @@ class RealityTile extends internal_1.Tile {
43
44
  if (undefined !== this._contentRange)
44
45
  this.transformToRoot.multiplyRange(this._contentRange, this._contentRange);
45
46
  }
47
+ /** @internal */
46
48
  setContent(content) {
47
49
  super.setContent(content);
48
50
  this._geometry = content.geometry;
49
51
  }
52
+ /** @internal */
50
53
  get realityChildren() { return this.children; }
54
+ /** @internal */
51
55
  get realityParent() { return this.parent; }
56
+ /** @internal */
52
57
  get realityRoot() { return this.tree; }
58
+ /** @internal */
53
59
  get graphicType() { return undefined; } // If undefined, use tree type.
60
+ /** @internal */
54
61
  get maxDepth() { return this.realityRoot.loader.maxDepth; }
62
+ /** @internal */
55
63
  get isPointCloud() { return this.realityRoot.loader.containsPointClouds; }
64
+ /** @internal */
56
65
  get isLoaded() { return this.loadStatus === internal_1.TileLoadStatus.Ready; } // Reality tiles may depend on secondary tiles (maps) so can ge loaded but not ready.
66
+ /** @internal */
57
67
  get geometry() { return this._geometry; }
68
+ /** @internal */
58
69
  get isDisplayable() {
59
70
  if (this.noContentButTerminateOnSelection)
60
71
  return false;
61
72
  else
62
73
  return super.isDisplayable;
63
74
  }
75
+ /** @internal */
64
76
  markUsed(args) {
65
77
  args.markUsed(this);
66
78
  }
79
+ /** @internal */
67
80
  markDisplayed() {
68
81
  this._everDisplayed = true;
69
82
  }
83
+ /** @internal */
70
84
  isOccluded(_viewingSpace) {
71
85
  return false;
72
86
  }
87
+ /** @internal */
73
88
  get channel() {
74
89
  return this.realityRoot.loader.getRequestChannel(this);
75
90
  }
91
+ /** @internal */
76
92
  async requestContent(isCanceled) {
77
93
  return this.realityRoot.loader.requestTileContent(this, isCanceled);
78
94
  }
95
+ /** @internal */
79
96
  useAdditiveRefinementStepchildren() {
80
97
  // Create additive stepchildren only if we are this tile is additive and we are repojecting and the radius exceeds the additiveRefinementThreshold.
81
98
  // This criteria is currently only met by the Cesium OSM tileset.
82
99
  const rangeDiagonal = this.rangeCorners ? this.rangeCorners[0].distance(this.rangeCorners[3]) : 0;
83
100
  return this.additiveRefinement && this.isDisplayable && rangeDiagonal > additiveRefinementThreshold && this.depth < additiveRefinementDepthLimit && this.realityRoot.doReprojectChildren(this);
84
101
  }
102
+ /** @internal */
85
103
  _loadChildren(resolve, reject) {
86
104
  this.realityRoot.loader.loadChildren(this).then((children) => {
87
105
  /* If this is a large tile is to be included additively, but we are reprojecting (Cesium OSM) then we must add step-children to display the geometry as an overly large
@@ -94,19 +112,27 @@ class RealityTile extends internal_1.Tile {
94
112
  reject(err);
95
113
  });
96
114
  }
115
+ /** @internal */
97
116
  async readContent(data, system, isCanceled) {
98
117
  return this.realityRoot.loader.loadTileContent(this, data, system, isCanceled);
99
118
  }
119
+ /** @internal */
100
120
  computeLoadPriority(viewports, users) {
101
121
  return this.realityRoot.loader.computeTilePriority(this, viewports, users);
102
122
  }
123
+ /** @internal */
103
124
  getContentClip() {
104
125
  return core_geometry_1.ClipVector.createCapture([core_geometry_1.ClipShape.createBlock(this.contentRange, core_geometry_1.ClipMaskXYZRangePlanes.All)]);
105
126
  }
106
- // Allow tile to select additional tiles (Terrain Imagery...)
127
+ /** Allow tile to select additional tiles (Terrain Imagery...)
128
+ * @internal
129
+ */
107
130
  selectSecondaryTiles(_args, _context) { }
108
- // An upsampled tile is not loadable - will override to return loadable parent.
131
+ /** An upsampled tile is not loadable - will override to return loadable parent.
132
+ * @internal
133
+ */
109
134
  get loadableTile() { return this; }
135
+ /** @internal */
110
136
  preloadRealityTilesAtDepth(depth, context, args) {
111
137
  if (this.depth === depth) {
112
138
  context.preload(this, args);
@@ -118,6 +144,7 @@ class RealityTile extends internal_1.Tile {
118
144
  child.preloadRealityTilesAtDepth(depth, context, args);
119
145
  }
120
146
  }
147
+ /** @internal */
121
148
  selectRealityChildren(context, args, traversalDetails) {
122
149
  const childrenLoadStatus = this.loadChildren(); // NB: asynchronous
123
150
  if (internal_1.TileTreeLoadStatus.Loading === childrenLoadStatus) {
@@ -133,6 +160,7 @@ class RealityTile extends internal_1.Tile {
133
160
  traversalChildren.combine(traversalDetails);
134
161
  }
135
162
  }
163
+ /** @internal */
136
164
  addBoundingGraphic(builder, color) {
137
165
  builder.setSymbology(color, color, 3);
138
166
  let corners = this.rangeCorners ? this.rangeCorners : this.range.corners();
@@ -140,6 +168,7 @@ class RealityTile extends internal_1.Tile {
140
168
  corners = this._reprojectionTransform.multiplyPoint3dArray(corners);
141
169
  builder.addRangeBoxFromCorners(corners);
142
170
  }
171
+ /** @internal */
143
172
  reproject(rootReprojection) {
144
173
  this._reprojectionTransform = rootReprojection;
145
174
  rootReprojection.multiplyRange(this.range, this.range);
@@ -149,6 +178,7 @@ class RealityTile extends internal_1.Tile {
149
178
  if (this.rangeCorners)
150
179
  rootReprojection.multiplyPoint3dArrayInPlace(this.rangeCorners);
151
180
  }
181
+ /** @internal */
152
182
  allChildrenIncluded(tiles) {
153
183
  if (this.children === undefined || tiles.length !== this.children.length)
154
184
  return false;
@@ -157,6 +187,7 @@ class RealityTile extends internal_1.Tile {
157
187
  return false;
158
188
  return true;
159
189
  }
190
+ /** @internal */
160
191
  getLoadedRealityChildren(args) {
161
192
  if (this._childrenLoadStatus !== internal_1.TileTreeLoadStatus.Loaded || this.realityChildren === undefined)
162
193
  return false;
@@ -169,7 +200,9 @@ class RealityTile extends internal_1.Tile {
169
200
  }
170
201
  return true;
171
202
  }
203
+ /** @internal */
172
204
  forceSelectRealityTile() { return false; }
205
+ /** @internal */
173
206
  selectRealityTiles(context, args, traversalDetails) {
174
207
  const visibility = this.computeVisibilityFactor(args);
175
208
  if (visibility < 0)
@@ -201,6 +234,7 @@ class RealityTile extends internal_1.Tile {
201
234
  }
202
235
  }
203
236
  }
237
+ /** @internal */
204
238
  purgeContents(olderThan) {
205
239
  // Discard contents of tiles that have not been "used" recently, where "used" may mean: selected/preloaded for display or content requested.
206
240
  // Note we do not discard the child Tile objects themselves.
@@ -211,6 +245,7 @@ class RealityTile extends internal_1.Tile {
211
245
  for (const child of children)
212
246
  child.purgeContents(olderThan);
213
247
  }
248
+ /** @internal */
214
249
  computeVisibilityFactor(args) {
215
250
  if (this.isEmpty)
216
251
  return -1;
@@ -227,6 +262,7 @@ class RealityTile extends internal_1.Tile {
227
262
  return this.hasContentRange && this.isContentCulled(args) ? -1 : 1;
228
263
  return this.maximumSize / args.getPixelSize(this);
229
264
  }
265
+ /** @internal */
230
266
  preloadTilesInFrustum(args, context, preloadSizeModifier) {
231
267
  const visibility = this.computeVisibilityFactor(args);
232
268
  if (visibility < 0)
@@ -246,6 +282,7 @@ class RealityTile extends internal_1.Tile {
246
282
  }
247
283
  }
248
284
  }
285
+ /** @internal */
249
286
  get _anyChildNotFound() {
250
287
  if (undefined !== this.children)
251
288
  for (const child of this.children)
@@ -253,6 +290,7 @@ class RealityTile extends internal_1.Tile {
253
290
  return true;
254
291
  return this._childrenLoadStatus === internal_1.TileTreeLoadStatus.NotFound;
255
292
  }
293
+ /** @internal */
256
294
  getSizeProjectionCorners() {
257
295
  if (!this.tree.isContentUnbounded)
258
296
  return undefined; // For a non-global tree use the standard size algorithm.
@@ -261,7 +299,9 @@ class RealityTile extends internal_1.Tile {
261
299
  return this.range.corners(scratchCorners);
262
300
  return this.region ? this.rangeCorners.slice(4) : this.rangeCorners;
263
301
  }
302
+ /** @internal */
264
303
  get isStepChild() { return false; }
304
+ /** @internal */
265
305
  loadAdditiveRefinementChildren(resolve) {
266
306
  const region = this.region;
267
307
  const corners = this.rangeCorners;
@@ -286,6 +326,7 @@ class RealityTile extends internal_1.Tile {
286
326
  }
287
327
  resolve(stepChildren);
288
328
  }
329
+ /** @internal */
289
330
  produceGraphics() {
290
331
  if (undefined === this._reprojectionTransform)
291
332
  return super.produceGraphics();
@@ -296,13 +337,16 @@ class RealityTile extends internal_1.Tile {
296
337
  }
297
338
  return this._reprojectedGraphic;
298
339
  }
340
+ /** @internal */
299
341
  get unprojectedGraphic() {
300
342
  return this._graphic;
301
343
  }
344
+ /** @internal */
302
345
  disposeContents() {
303
346
  super.disposeContents();
304
347
  this._reprojectedGraphic = (0, core_bentley_1.dispose)(this._reprojectedGraphic);
305
348
  }
349
+ /** @internal */
306
350
  collectTileGeometry(collector) {
307
351
  var _a;
308
352
  const status = collector.collectTile(this);