@itwin/core-frontend 3.0.0-dev.98 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1224) hide show
  1. package/CHANGELOG.md +244 -35
  2. package/LICENSE.md +1 -1
  3. package/lib/cjs/AccuSnap.js +3 -3
  4. package/lib/cjs/AccuSnap.js.map +1 -1
  5. package/lib/cjs/ApproximateTerrainHeights.d.ts.map +1 -1
  6. package/lib/cjs/ApproximateTerrainHeights.js +10 -5
  7. package/lib/cjs/ApproximateTerrainHeights.js.map +1 -1
  8. package/lib/cjs/BackgroundMapGeometry.d.ts +1 -1
  9. package/lib/cjs/BackgroundMapGeometry.d.ts.map +1 -1
  10. package/lib/cjs/BackgroundMapGeometry.js +2 -2
  11. package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
  12. package/lib/cjs/BingLocation.js +2 -2
  13. package/lib/cjs/BingLocation.js.map +1 -1
  14. package/lib/cjs/CheckpointConnection.js +1 -1
  15. package/lib/cjs/CheckpointConnection.js.map +1 -1
  16. package/lib/cjs/ContextRealityModelState.js +1 -1
  17. package/lib/cjs/ContextRealityModelState.js.map +1 -1
  18. package/lib/cjs/DisplayStyleState.d.ts +10 -163
  19. package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
  20. package/lib/cjs/DisplayStyleState.js +69 -350
  21. package/lib/cjs/DisplayStyleState.js.map +1 -1
  22. package/lib/cjs/DrawingViewState.d.ts +2 -2
  23. package/lib/cjs/DrawingViewState.d.ts.map +1 -1
  24. package/lib/cjs/DrawingViewState.js +3 -3
  25. package/lib/cjs/DrawingViewState.js.map +1 -1
  26. package/lib/cjs/ElementLocateManager.d.ts +5 -0
  27. package/lib/cjs/ElementLocateManager.d.ts.map +1 -1
  28. package/lib/cjs/ElementLocateManager.js +12 -2
  29. package/lib/cjs/ElementLocateManager.js.map +1 -1
  30. package/lib/cjs/EmphasizeElements.d.ts.map +1 -1
  31. package/lib/cjs/EmphasizeElements.js +14 -4
  32. package/lib/cjs/EmphasizeElements.js.map +1 -1
  33. package/lib/cjs/EnvironmentDecorations.d.ts +39 -0
  34. package/lib/cjs/EnvironmentDecorations.d.ts.map +1 -0
  35. package/lib/cjs/EnvironmentDecorations.js +203 -0
  36. package/lib/cjs/EnvironmentDecorations.js.map +1 -0
  37. package/lib/cjs/FrontendHubAccess.d.ts +11 -7
  38. package/lib/cjs/FrontendHubAccess.d.ts.map +1 -1
  39. package/lib/cjs/FrontendHubAccess.js.map +1 -1
  40. package/lib/cjs/FrontendLoggerCategory.d.ts +2 -8
  41. package/lib/cjs/FrontendLoggerCategory.d.ts.map +1 -1
  42. package/lib/cjs/FrontendLoggerCategory.js +2 -8
  43. package/lib/cjs/FrontendLoggerCategory.js.map +1 -1
  44. package/lib/cjs/HitDetail.js +7 -7
  45. package/lib/cjs/HitDetail.js.map +1 -1
  46. package/lib/cjs/IModelApp.d.ts +30 -17
  47. package/lib/cjs/IModelApp.d.ts.map +1 -1
  48. package/lib/cjs/IModelApp.js +33 -26
  49. package/lib/cjs/IModelApp.js.map +1 -1
  50. package/lib/cjs/IModelConnection.d.ts +4 -6
  51. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  52. package/lib/cjs/IModelConnection.js +6 -11
  53. package/lib/cjs/IModelConnection.js.map +1 -1
  54. package/lib/cjs/IModeljs-css.d.ts.map +1 -1
  55. package/lib/cjs/IModeljs-css.js +8 -6
  56. package/lib/cjs/IModeljs-css.js.map +1 -1
  57. package/lib/cjs/ImageUtil.d.ts +3 -3
  58. package/lib/cjs/ImageUtil.d.ts.map +1 -1
  59. package/lib/cjs/ImageUtil.js +7 -4
  60. package/lib/cjs/ImageUtil.js.map +1 -1
  61. package/lib/cjs/LocalhostIpcApp.d.ts +2 -1
  62. package/lib/cjs/LocalhostIpcApp.d.ts.map +1 -1
  63. package/lib/cjs/LocalhostIpcApp.js +21 -7
  64. package/lib/cjs/LocalhostIpcApp.js.map +1 -1
  65. package/lib/cjs/Marker.d.ts +9 -2
  66. package/lib/cjs/Marker.d.ts.map +1 -1
  67. package/lib/cjs/Marker.js +33 -5
  68. package/lib/cjs/Marker.js.map +1 -1
  69. package/lib/cjs/ModelState.js +1 -1
  70. package/lib/cjs/ModelState.js.map +1 -1
  71. package/lib/cjs/NativeApp.d.ts +3 -38
  72. package/lib/cjs/NativeApp.d.ts.map +1 -1
  73. package/lib/cjs/NativeApp.js +4 -73
  74. package/lib/cjs/NativeApp.js.map +1 -1
  75. package/lib/cjs/NoRenderApp.d.ts +0 -1
  76. package/lib/cjs/NoRenderApp.d.ts.map +1 -1
  77. package/lib/cjs/NoRenderApp.js +0 -1
  78. package/lib/cjs/NoRenderApp.js.map +1 -1
  79. package/lib/cjs/NotificationManager.d.ts +3 -1
  80. package/lib/cjs/NotificationManager.d.ts.map +1 -1
  81. package/lib/cjs/NotificationManager.js +2 -0
  82. package/lib/cjs/NotificationManager.js.map +1 -1
  83. package/lib/cjs/RealityDataSource.d.ts +59 -29
  84. package/lib/cjs/RealityDataSource.d.ts.map +1 -1
  85. package/lib/cjs/RealityDataSource.js +247 -94
  86. package/lib/cjs/RealityDataSource.js.map +1 -1
  87. package/lib/cjs/RenderScheduleState.d.ts +2 -0
  88. package/lib/cjs/RenderScheduleState.d.ts.map +1 -1
  89. package/lib/cjs/RenderScheduleState.js +10 -5
  90. package/lib/cjs/RenderScheduleState.js.map +1 -1
  91. package/lib/cjs/SheetViewState.d.ts +2 -2
  92. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  93. package/lib/cjs/SheetViewState.js +7 -6
  94. package/lib/cjs/SheetViewState.js.map +1 -1
  95. package/lib/cjs/SpatialViewState.d.ts +10 -2
  96. package/lib/cjs/SpatialViewState.d.ts.map +1 -1
  97. package/lib/cjs/SpatialViewState.js +12 -2
  98. package/lib/cjs/SpatialViewState.js.map +1 -1
  99. package/lib/cjs/SubCategoriesCache.js +1 -1
  100. package/lib/cjs/SubCategoriesCache.js.map +1 -1
  101. package/lib/cjs/Tiles.d.ts +11 -1
  102. package/lib/cjs/Tiles.d.ts.map +1 -1
  103. package/lib/cjs/Tiles.js +7 -0
  104. package/lib/cjs/Tiles.js.map +1 -1
  105. package/lib/cjs/TwoWayViewportSync.d.ts +35 -6
  106. package/lib/cjs/TwoWayViewportSync.d.ts.map +1 -1
  107. package/lib/cjs/TwoWayViewportSync.js +51 -11
  108. package/lib/cjs/TwoWayViewportSync.js.map +1 -1
  109. package/lib/cjs/UserPreferences.d.ts +72 -0
  110. package/lib/cjs/UserPreferences.d.ts.map +1 -0
  111. package/lib/cjs/UserPreferences.js +7 -0
  112. package/lib/cjs/UserPreferences.js.map +1 -0
  113. package/lib/cjs/ViewContext.d.ts +3 -1
  114. package/lib/cjs/ViewContext.d.ts.map +1 -1
  115. package/lib/cjs/ViewContext.js +4 -0
  116. package/lib/cjs/ViewContext.js.map +1 -1
  117. package/lib/cjs/ViewCreator2d.js +3 -3
  118. package/lib/cjs/ViewCreator2d.js.map +1 -1
  119. package/lib/cjs/ViewCreator3d.d.ts +1 -1
  120. package/lib/cjs/ViewCreator3d.d.ts.map +1 -1
  121. package/lib/cjs/ViewCreator3d.js +4 -5
  122. package/lib/cjs/ViewCreator3d.js.map +1 -1
  123. package/lib/cjs/ViewManager.d.ts +6 -6
  124. package/lib/cjs/ViewManager.d.ts.map +1 -1
  125. package/lib/cjs/ViewManager.js +13 -13
  126. package/lib/cjs/ViewManager.js.map +1 -1
  127. package/lib/cjs/ViewState.d.ts +11 -5
  128. package/lib/cjs/ViewState.d.ts.map +1 -1
  129. package/lib/cjs/ViewState.js +18 -63
  130. package/lib/cjs/ViewState.js.map +1 -1
  131. package/lib/cjs/ViewingSpace.js +1 -1
  132. package/lib/cjs/ViewingSpace.js.map +1 -1
  133. package/lib/cjs/Viewport.d.ts +57 -11
  134. package/lib/cjs/Viewport.d.ts.map +1 -1
  135. package/lib/cjs/Viewport.js +55 -31
  136. package/lib/cjs/Viewport.js.map +1 -1
  137. package/lib/cjs/core-frontend.d.ts +10 -24
  138. package/lib/cjs/core-frontend.d.ts.map +1 -1
  139. package/lib/cjs/core-frontend.js +10 -24
  140. package/lib/cjs/core-frontend.js.map +1 -1
  141. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts +3 -2
  142. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts.map +1 -1
  143. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js +3 -2
  144. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  145. package/lib/cjs/quantity-formatting/BasicUnitsProvider.d.ts +5 -1
  146. package/lib/cjs/quantity-formatting/BasicUnitsProvider.d.ts.map +1 -1
  147. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js +20 -5
  148. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  149. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts +26 -3
  150. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  151. package/lib/cjs/quantity-formatting/QuantityFormatter.js +46 -7
  152. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  153. package/lib/cjs/render/FeatureSymbology.d.ts.map +1 -1
  154. package/lib/cjs/render/FeatureSymbology.js +3 -3
  155. package/lib/cjs/render/FeatureSymbology.js.map +1 -1
  156. package/lib/cjs/render/GraphicBranch.d.ts +18 -2
  157. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  158. package/lib/cjs/render/GraphicBranch.js +9 -1
  159. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  160. package/lib/cjs/render/GraphicBuilder.d.ts +7 -1
  161. package/lib/cjs/render/GraphicBuilder.d.ts.map +1 -1
  162. package/lib/cjs/render/GraphicBuilder.js.map +1 -1
  163. package/lib/cjs/render/MockRender.d.ts +3 -1
  164. package/lib/cjs/render/MockRender.d.ts.map +1 -1
  165. package/lib/cjs/render/MockRender.js.map +1 -1
  166. package/lib/cjs/render/RenderMemory.d.ts +21 -15
  167. package/lib/cjs/render/RenderMemory.d.ts.map +1 -1
  168. package/lib/cjs/render/RenderMemory.js +21 -15
  169. package/lib/cjs/render/RenderMemory.js.map +1 -1
  170. package/lib/cjs/render/RenderSystem.d.ts +38 -7
  171. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  172. package/lib/cjs/render/RenderSystem.js +24 -9
  173. package/lib/cjs/render/RenderSystem.js.map +1 -1
  174. package/lib/cjs/render/RenderTarget.d.ts +10 -2
  175. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  176. package/lib/cjs/render/RenderTarget.js +2 -1
  177. package/lib/cjs/render/RenderTarget.js.map +1 -1
  178. package/lib/cjs/render/RenderTexture.d.ts +2 -17
  179. package/lib/cjs/render/RenderTexture.d.ts.map +1 -1
  180. package/lib/cjs/render/RenderTexture.js +0 -17
  181. package/lib/cjs/render/RenderTexture.js.map +1 -1
  182. package/lib/cjs/render/primitives/EdgeParams.d.ts +84 -0
  183. package/lib/cjs/render/primitives/EdgeParams.d.ts.map +1 -0
  184. package/lib/cjs/render/primitives/EdgeParams.js +220 -0
  185. package/lib/cjs/render/primitives/EdgeParams.js.map +1 -0
  186. package/lib/cjs/render/primitives/PointStringParams.d.ts +16 -0
  187. package/lib/cjs/render/primitives/PointStringParams.d.ts.map +1 -0
  188. package/lib/cjs/render/primitives/PointStringParams.js +43 -0
  189. package/lib/cjs/render/primitives/PointStringParams.js.map +1 -0
  190. package/lib/cjs/render/primitives/PolylineParams.d.ts +44 -0
  191. package/lib/cjs/render/primitives/PolylineParams.d.ts.map +1 -0
  192. package/lib/cjs/render/primitives/PolylineParams.js +205 -0
  193. package/lib/cjs/render/primitives/PolylineParams.js.map +1 -0
  194. package/lib/cjs/render/primitives/Primitives.d.ts +1 -1
  195. package/lib/cjs/render/primitives/Primitives.d.ts.map +1 -1
  196. package/lib/cjs/render/primitives/Primitives.js.map +1 -1
  197. package/lib/cjs/render/primitives/SurfaceParams.d.ts +46 -0
  198. package/lib/cjs/render/primitives/SurfaceParams.d.ts.map +1 -0
  199. package/lib/cjs/render/primitives/SurfaceParams.js +42 -0
  200. package/lib/cjs/render/primitives/SurfaceParams.js.map +1 -0
  201. package/lib/cjs/render/primitives/VertexTable.d.ts +4 -123
  202. package/lib/cjs/render/primitives/VertexTable.d.ts.map +1 -1
  203. package/lib/cjs/render/primitives/VertexTable.js +16 -352
  204. package/lib/cjs/render/primitives/VertexTable.js.map +1 -1
  205. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts +2 -0
  206. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  207. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js +2 -1
  208. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  209. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  210. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js +1 -0
  211. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  212. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts +2 -2
  213. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  214. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js +3 -3
  215. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  216. package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.d.ts +1 -1
  217. package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.js +1 -1
  218. package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.js.map +1 -1
  219. package/lib/cjs/render/webgl/AttributeMap.js +5 -5
  220. package/lib/cjs/render/webgl/BackgroundMapDrape.js +1 -1
  221. package/lib/cjs/render/webgl/BackgroundMapDrape.js.map +1 -1
  222. package/lib/cjs/render/webgl/BranchUniforms.d.ts.map +1 -1
  223. package/lib/cjs/render/webgl/BranchUniforms.js +8 -5
  224. package/lib/cjs/render/webgl/BranchUniforms.js.map +1 -1
  225. package/lib/cjs/render/webgl/CachedGeometry.d.ts +16 -11
  226. package/lib/cjs/render/webgl/CachedGeometry.d.ts.map +1 -1
  227. package/lib/cjs/render/webgl/CachedGeometry.js +26 -23
  228. package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
  229. package/lib/cjs/render/webgl/DrawCommand.d.ts +2 -3
  230. package/lib/cjs/render/webgl/DrawCommand.d.ts.map +1 -1
  231. package/lib/cjs/render/webgl/DrawCommand.js +6 -4
  232. package/lib/cjs/render/webgl/DrawCommand.js.map +1 -1
  233. package/lib/cjs/render/webgl/EdgeGeometry.d.ts +73 -0
  234. package/lib/cjs/render/webgl/EdgeGeometry.d.ts.map +1 -0
  235. package/lib/cjs/render/webgl/EdgeGeometry.js +141 -0
  236. package/lib/cjs/render/webgl/EdgeGeometry.js.map +1 -0
  237. package/lib/cjs/render/webgl/FeatureOverrides.d.ts +2 -0
  238. package/lib/cjs/render/webgl/FeatureOverrides.d.ts.map +1 -1
  239. package/lib/cjs/render/webgl/FeatureOverrides.js +11 -3
  240. package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
  241. package/lib/cjs/render/webgl/FloatRGBA.d.ts.map +1 -1
  242. package/lib/cjs/render/webgl/FloatRGBA.js +13 -11
  243. package/lib/cjs/render/webgl/FloatRGBA.js.map +1 -1
  244. package/lib/cjs/render/webgl/Graphic.d.ts +13 -0
  245. package/lib/cjs/render/webgl/Graphic.d.ts.map +1 -1
  246. package/lib/cjs/render/webgl/Graphic.js +41 -3
  247. package/lib/cjs/render/webgl/Graphic.js.map +1 -1
  248. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts +51 -0
  249. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -0
  250. package/lib/cjs/render/webgl/IndexedEdgeGeometry.js +90 -0
  251. package/lib/cjs/render/webgl/IndexedEdgeGeometry.js.map +1 -0
  252. package/lib/cjs/render/webgl/InstancedGeometry.d.ts +6 -5
  253. package/lib/cjs/render/webgl/InstancedGeometry.d.ts.map +1 -1
  254. package/lib/cjs/render/webgl/InstancedGeometry.js +2 -1
  255. package/lib/cjs/render/webgl/InstancedGeometry.js.map +1 -1
  256. package/lib/cjs/render/webgl/Material.d.ts +1 -1
  257. package/lib/cjs/render/webgl/Material.d.ts.map +1 -1
  258. package/lib/cjs/render/webgl/Material.js.map +1 -1
  259. package/lib/cjs/render/webgl/Mesh.d.ts +8 -162
  260. package/lib/cjs/render/webgl/Mesh.d.ts.map +1 -1
  261. package/lib/cjs/render/webgl/Mesh.js +18 -458
  262. package/lib/cjs/render/webgl/Mesh.js.map +1 -1
  263. package/lib/cjs/render/webgl/MeshData.d.ts +38 -0
  264. package/lib/cjs/render/webgl/MeshData.d.ts.map +1 -0
  265. package/lib/cjs/render/webgl/MeshData.js +66 -0
  266. package/lib/cjs/render/webgl/MeshData.js.map +1 -0
  267. package/lib/cjs/render/webgl/MeshGeometry.d.ts +38 -0
  268. package/lib/cjs/render/webgl/MeshGeometry.d.ts.map +1 -0
  269. package/lib/cjs/render/webgl/MeshGeometry.js +59 -0
  270. package/lib/cjs/render/webgl/MeshGeometry.js.map +1 -0
  271. package/lib/cjs/render/webgl/PlanarClassifier.d.ts.map +1 -1
  272. package/lib/cjs/render/webgl/PlanarClassifier.js +8 -4
  273. package/lib/cjs/render/webgl/PlanarClassifier.js.map +1 -1
  274. package/lib/cjs/render/webgl/PlanarGrid.d.ts +2 -3
  275. package/lib/cjs/render/webgl/PlanarGrid.d.ts.map +1 -1
  276. package/lib/cjs/render/webgl/PlanarGrid.js +3 -3
  277. package/lib/cjs/render/webgl/PlanarGrid.js.map +1 -1
  278. package/lib/cjs/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  279. package/lib/cjs/render/webgl/PlanarTextureProjection.js +1 -0
  280. package/lib/cjs/render/webgl/PlanarTextureProjection.js.map +1 -1
  281. package/lib/cjs/render/webgl/PointCloud.d.ts +2 -2
  282. package/lib/cjs/render/webgl/PointCloud.d.ts.map +1 -1
  283. package/lib/cjs/render/webgl/PointCloud.js +2 -2
  284. package/lib/cjs/render/webgl/PointCloud.js.map +1 -1
  285. package/lib/cjs/render/webgl/PointString.d.ts +3 -3
  286. package/lib/cjs/render/webgl/PointString.d.ts.map +1 -1
  287. package/lib/cjs/render/webgl/PointString.js +1 -1
  288. package/lib/cjs/render/webgl/PointString.js.map +1 -1
  289. package/lib/cjs/render/webgl/Polyline.d.ts +3 -3
  290. package/lib/cjs/render/webgl/Polyline.d.ts.map +1 -1
  291. package/lib/cjs/render/webgl/Polyline.js +6 -6
  292. package/lib/cjs/render/webgl/Polyline.js.map +1 -1
  293. package/lib/cjs/render/webgl/Primitive.d.ts +2 -2
  294. package/lib/cjs/render/webgl/Primitive.d.ts.map +1 -1
  295. package/lib/cjs/render/webgl/Primitive.js +5 -5
  296. package/lib/cjs/render/webgl/Primitive.js.map +1 -1
  297. package/lib/cjs/render/webgl/RealityMesh.d.ts +2 -2
  298. package/lib/cjs/render/webgl/RealityMesh.d.ts.map +1 -1
  299. package/lib/cjs/render/webgl/RealityMesh.js +9 -9
  300. package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
  301. package/lib/cjs/render/webgl/RenderCommands.d.ts +6 -2
  302. package/lib/cjs/render/webgl/RenderCommands.d.ts.map +1 -1
  303. package/lib/cjs/render/webgl/RenderCommands.js +81 -48
  304. package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
  305. package/lib/cjs/render/webgl/RenderFlags.d.ts +48 -1
  306. package/lib/cjs/render/webgl/RenderFlags.d.ts.map +1 -1
  307. package/lib/cjs/render/webgl/RenderFlags.js +64 -2
  308. package/lib/cjs/render/webgl/RenderFlags.js.map +1 -1
  309. package/lib/cjs/render/webgl/SceneCompositor.js +10 -9
  310. package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
  311. package/lib/cjs/render/webgl/ScreenSpaceEffect.js +1 -1
  312. package/lib/cjs/render/webgl/ShaderBuilder.d.ts +23 -20
  313. package/lib/cjs/render/webgl/ShaderBuilder.d.ts.map +1 -1
  314. package/lib/cjs/render/webgl/ShaderBuilder.js +38 -32
  315. package/lib/cjs/render/webgl/ShaderBuilder.js.map +1 -1
  316. package/lib/cjs/render/webgl/ShaderProgram.d.ts +1 -1
  317. package/lib/cjs/render/webgl/ShaderProgram.d.ts.map +1 -1
  318. package/lib/cjs/render/webgl/ShaderProgram.js +4 -4
  319. package/lib/cjs/render/webgl/ShaderProgram.js.map +1 -1
  320. package/lib/cjs/render/webgl/SolarShadowMap.d.ts.map +1 -1
  321. package/lib/cjs/render/webgl/SolarShadowMap.js +4 -3
  322. package/lib/cjs/render/webgl/SolarShadowMap.js.map +1 -1
  323. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts +54 -0
  324. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts.map +1 -0
  325. package/lib/cjs/render/webgl/SurfaceGeometry.js +248 -0
  326. package/lib/cjs/render/webgl/SurfaceGeometry.js.map +1 -0
  327. package/lib/cjs/render/webgl/System.d.ts +11 -10
  328. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  329. package/lib/cjs/render/webgl/System.js +32 -21
  330. package/lib/cjs/render/webgl/System.js.map +1 -1
  331. package/lib/cjs/render/webgl/Target.d.ts +13 -1
  332. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  333. package/lib/cjs/render/webgl/Target.js +88 -2
  334. package/lib/cjs/render/webgl/Target.js.map +1 -1
  335. package/lib/cjs/render/webgl/Technique.d.ts.map +1 -1
  336. package/lib/cjs/render/webgl/Technique.js +112 -119
  337. package/lib/cjs/render/webgl/Technique.js.map +1 -1
  338. package/lib/cjs/render/webgl/TechniqueFlags.d.ts +7 -1
  339. package/lib/cjs/render/webgl/TechniqueFlags.d.ts.map +1 -1
  340. package/lib/cjs/render/webgl/TechniqueFlags.js +10 -1
  341. package/lib/cjs/render/webgl/TechniqueFlags.js.map +1 -1
  342. package/lib/cjs/render/webgl/TechniqueId.d.ts +29 -28
  343. package/lib/cjs/render/webgl/TechniqueId.d.ts.map +1 -1
  344. package/lib/cjs/render/webgl/TechniqueId.js +7 -7
  345. package/lib/cjs/render/webgl/TechniqueId.js.map +1 -1
  346. package/lib/cjs/render/webgl/Texture.d.ts +15 -12
  347. package/lib/cjs/render/webgl/Texture.d.ts.map +1 -1
  348. package/lib/cjs/render/webgl/Texture.js +26 -23
  349. package/lib/cjs/render/webgl/Texture.js.map +1 -1
  350. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.d.ts.map +1 -1
  351. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js +83 -18
  352. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  353. package/lib/cjs/render/webgl/glsl/Animation.js +1 -1
  354. package/lib/cjs/render/webgl/glsl/Blur.js +1 -1
  355. package/lib/cjs/render/webgl/glsl/ClearPickAndColor.js +2 -2
  356. package/lib/cjs/render/webgl/glsl/ClearTranslucent.js +2 -2
  357. package/lib/cjs/render/webgl/glsl/Color.js +1 -1
  358. package/lib/cjs/render/webgl/glsl/Combine3Textures.js +1 -1
  359. package/lib/cjs/render/webgl/glsl/CombineTextures.js +1 -1
  360. package/lib/cjs/render/webgl/glsl/Composite.js +1 -1
  361. package/lib/cjs/render/webgl/glsl/CopyColor.d.ts.map +1 -1
  362. package/lib/cjs/render/webgl/glsl/CopyColor.js +17 -2
  363. package/lib/cjs/render/webgl/glsl/CopyColor.js.map +1 -1
  364. package/lib/cjs/render/webgl/glsl/CopyPickBuffers.js +2 -2
  365. package/lib/cjs/render/webgl/glsl/CopyStencil.d.ts.map +1 -1
  366. package/lib/cjs/render/webgl/glsl/CopyStencil.js +10 -13
  367. package/lib/cjs/render/webgl/glsl/CopyStencil.js.map +1 -1
  368. package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js +2 -2
  369. package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  370. package/lib/cjs/render/webgl/glsl/Edge.d.ts +2 -1
  371. package/lib/cjs/render/webgl/glsl/Edge.d.ts.map +1 -1
  372. package/lib/cjs/render/webgl/glsl/Edge.js +132 -14
  373. package/lib/cjs/render/webgl/glsl/Edge.js.map +1 -1
  374. package/lib/cjs/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
  375. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js +43 -21
  376. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  377. package/lib/cjs/render/webgl/glsl/Fragment.d.ts.map +1 -1
  378. package/lib/cjs/render/webgl/glsl/Fragment.js +19 -11
  379. package/lib/cjs/render/webgl/glsl/Fragment.js.map +1 -1
  380. package/lib/cjs/render/webgl/glsl/LogarithmicDepthBuffer.js +1 -1
  381. package/lib/cjs/render/webgl/glsl/LookupTable.d.ts +4 -2
  382. package/lib/cjs/render/webgl/glsl/LookupTable.d.ts.map +1 -1
  383. package/lib/cjs/render/webgl/glsl/LookupTable.js +7 -3
  384. package/lib/cjs/render/webgl/glsl/LookupTable.js.map +1 -1
  385. package/lib/cjs/render/webgl/glsl/PlanarClassification.d.ts.map +1 -1
  386. package/lib/cjs/render/webgl/glsl/PlanarClassification.js +13 -4
  387. package/lib/cjs/render/webgl/glsl/PlanarClassification.js.map +1 -1
  388. package/lib/cjs/render/webgl/glsl/PlanarGrid.js +2 -2
  389. package/lib/cjs/render/webgl/glsl/PlanarGrid.js.map +1 -1
  390. package/lib/cjs/render/webgl/glsl/PointCloud.js +2 -2
  391. package/lib/cjs/render/webgl/glsl/PointCloud.js.map +1 -1
  392. package/lib/cjs/render/webgl/glsl/PointString.js +1 -1
  393. package/lib/cjs/render/webgl/glsl/PointString.js.map +1 -1
  394. package/lib/cjs/render/webgl/glsl/Polyline.js +1 -1
  395. package/lib/cjs/render/webgl/glsl/Polyline.js.map +1 -1
  396. package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  397. package/lib/cjs/render/webgl/glsl/RealityMesh.js +9 -6
  398. package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
  399. package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js +2 -2
  400. package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
  401. package/lib/cjs/render/webgl/glsl/SkyBox.js +2 -2
  402. package/lib/cjs/render/webgl/glsl/SkyBox.js.map +1 -1
  403. package/lib/cjs/render/webgl/glsl/SkySphere.js +2 -2
  404. package/lib/cjs/render/webgl/glsl/Surface.d.ts.map +1 -1
  405. package/lib/cjs/render/webgl/glsl/Surface.js +41 -16
  406. package/lib/cjs/render/webgl/glsl/Surface.js.map +1 -1
  407. package/lib/cjs/render/webgl/glsl/Translucency.js +2 -2
  408. package/lib/cjs/render/webgl/glsl/Vertex.js +2 -2
  409. package/lib/cjs/render/webgl/glsl/Vertex.js.map +1 -1
  410. package/lib/cjs/render/webgl/glsl/ViewportQuad.js +1 -1
  411. package/lib/cjs/render/webgl/glsl/ViewportQuad.js.map +1 -1
  412. package/lib/cjs/render/webgl/glsl/Wiremesh.d.ts +9 -0
  413. package/lib/cjs/render/webgl/glsl/Wiremesh.d.ts.map +1 -0
  414. package/lib/cjs/render/webgl/glsl/Wiremesh.js +40 -0
  415. package/lib/cjs/render/webgl/glsl/Wiremesh.js.map +1 -0
  416. package/lib/cjs/render-primitives.d.ts +5 -1
  417. package/lib/cjs/render-primitives.d.ts.map +1 -1
  418. package/lib/cjs/render-primitives.js +5 -1
  419. package/lib/cjs/render-primitives.js.map +1 -1
  420. package/lib/cjs/request/Request.d.ts +167 -0
  421. package/lib/cjs/request/Request.d.ts.map +1 -0
  422. package/lib/cjs/request/Request.js +315 -0
  423. package/lib/cjs/request/Request.js.map +1 -0
  424. package/lib/cjs/tile/B3dmReader.d.ts +2 -1
  425. package/lib/cjs/tile/B3dmReader.d.ts.map +1 -1
  426. package/lib/cjs/tile/B3dmReader.js +11 -7
  427. package/lib/cjs/tile/B3dmReader.js.map +1 -1
  428. package/lib/cjs/tile/CesiumAssetProvider.d.ts +14 -0
  429. package/lib/cjs/tile/CesiumAssetProvider.d.ts.map +1 -0
  430. package/lib/cjs/tile/CesiumAssetProvider.js +35 -0
  431. package/lib/cjs/tile/CesiumAssetProvider.js.map +1 -0
  432. package/lib/cjs/tile/ContextShareProvider.d.ts +22 -0
  433. package/lib/cjs/tile/ContextShareProvider.d.ts.map +1 -0
  434. package/lib/cjs/tile/ContextShareProvider.js +129 -0
  435. package/lib/cjs/tile/ContextShareProvider.js.map +1 -0
  436. package/lib/cjs/tile/DynamicIModelTile.js +9 -3
  437. package/lib/cjs/tile/DynamicIModelTile.js.map +1 -1
  438. package/lib/cjs/tile/GltfReader.d.ts +594 -55
  439. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  440. package/lib/cjs/tile/GltfReader.js +703 -264
  441. package/lib/cjs/tile/GltfReader.js.map +1 -1
  442. package/lib/cjs/tile/I3dmReader.d.ts +2 -1
  443. package/lib/cjs/tile/I3dmReader.d.ts.map +1 -1
  444. package/lib/cjs/tile/I3dmReader.js +10 -6
  445. package/lib/cjs/tile/I3dmReader.js.map +1 -1
  446. package/lib/cjs/tile/IModelTile.d.ts.map +1 -1
  447. package/lib/cjs/tile/IModelTile.js +14 -7
  448. package/lib/cjs/tile/IModelTile.js.map +1 -1
  449. package/lib/cjs/tile/IModelTileTree.d.ts +8 -0
  450. package/lib/cjs/tile/IModelTileTree.d.ts.map +1 -1
  451. package/lib/cjs/tile/IModelTileTree.js +36 -1
  452. package/lib/cjs/tile/IModelTileTree.js.map +1 -1
  453. package/lib/cjs/tile/ImdlReader.d.ts +365 -10
  454. package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
  455. package/lib/cjs/tile/ImdlReader.js +201 -69
  456. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  457. package/lib/cjs/tile/OrbitGtTileTree.d.ts +0 -9
  458. package/lib/cjs/tile/OrbitGtTileTree.d.ts.map +1 -1
  459. package/lib/cjs/tile/OrbitGtTileTree.js +10 -20
  460. package/lib/cjs/tile/OrbitGtTileTree.js.map +1 -1
  461. package/lib/cjs/tile/PrimaryTileTree.d.ts +14 -5
  462. package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
  463. package/lib/cjs/tile/PrimaryTileTree.js +69 -14
  464. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  465. package/lib/cjs/tile/RealityModelTileTree.d.ts +2 -41
  466. package/lib/cjs/tile/RealityModelTileTree.d.ts.map +1 -1
  467. package/lib/cjs/tile/RealityModelTileTree.js +57 -217
  468. package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
  469. package/lib/cjs/tile/RealityTileLoader.d.ts +1 -0
  470. package/lib/cjs/tile/RealityTileLoader.d.ts.map +1 -1
  471. package/lib/cjs/tile/RealityTileLoader.js +4 -3
  472. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  473. package/lib/cjs/tile/Tile.d.ts.map +1 -1
  474. package/lib/cjs/tile/Tile.js +5 -1
  475. package/lib/cjs/tile/Tile.js.map +1 -1
  476. package/lib/cjs/tile/TileAdmin.d.ts +37 -4
  477. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  478. package/lib/cjs/tile/TileAdmin.js +18 -12
  479. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  480. package/lib/cjs/tile/TileDrawArgs.d.ts +11 -0
  481. package/lib/cjs/tile/TileDrawArgs.d.ts.map +1 -1
  482. package/lib/cjs/tile/TileDrawArgs.js +6 -1
  483. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  484. package/lib/cjs/tile/TileTreeReference.d.ts +2 -0
  485. package/lib/cjs/tile/TileTreeReference.d.ts.map +1 -1
  486. package/lib/cjs/tile/TileTreeReference.js +5 -0
  487. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  488. package/lib/cjs/tile/internal.d.ts +4 -1
  489. package/lib/cjs/tile/internal.d.ts.map +1 -1
  490. package/lib/cjs/tile/internal.js +4 -1
  491. package/lib/cjs/tile/internal.js.map +1 -1
  492. package/lib/cjs/tile/map/ArcGISTileMap.d.ts +22 -0
  493. package/lib/cjs/tile/map/ArcGISTileMap.d.ts.map +1 -0
  494. package/lib/cjs/tile/map/ArcGISTileMap.js +177 -0
  495. package/lib/cjs/tile/map/ArcGISTileMap.js.map +1 -0
  496. package/lib/cjs/tile/map/ArcGisTokenGenerator.js +3 -3
  497. package/lib/cjs/tile/map/ArcGisTokenGenerator.js.map +1 -1
  498. package/lib/cjs/tile/map/ArcGisUtilities.d.ts +1 -1
  499. package/lib/cjs/tile/map/ArcGisUtilities.d.ts.map +1 -1
  500. package/lib/cjs/tile/map/ArcGisUtilities.js +18 -10
  501. package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
  502. package/lib/cjs/tile/map/BingElevation.js +4 -4
  503. package/lib/cjs/tile/map/BingElevation.js.map +1 -1
  504. package/lib/cjs/tile/map/CesiumTerrainProvider.d.ts.map +1 -1
  505. package/lib/cjs/tile/map/CesiumTerrainProvider.js +27 -15
  506. package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
  507. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -2
  508. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  509. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +23 -44
  510. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  511. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js +3 -3
  512. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  513. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +8 -0
  514. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  515. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +51 -10
  516. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  517. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +6 -1
  518. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
  519. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +63 -21
  520. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  521. package/lib/cjs/tile/map/ImageryTileTree.d.ts +4 -4
  522. package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
  523. package/lib/cjs/tile/map/ImageryTileTree.js +20 -24
  524. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  525. package/lib/cjs/tile/map/MapCartoRectangle.js +1 -1
  526. package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
  527. package/lib/cjs/tile/map/MapLayerAuthentication.d.ts +20 -0
  528. package/lib/cjs/tile/map/MapLayerAuthentication.d.ts.map +1 -0
  529. package/lib/cjs/tile/map/MapLayerAuthentication.js +18 -0
  530. package/lib/cjs/tile/map/MapLayerAuthentication.js.map +1 -0
  531. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts +6 -3
  532. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  533. package/lib/cjs/tile/map/MapLayerFormatRegistry.js +3 -1
  534. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  535. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts +2 -2
  536. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  537. package/lib/cjs/tile/map/MapLayerImageryFormats.js +21 -8
  538. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  539. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +18 -6
  540. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  541. package/lib/cjs/tile/map/MapLayerImageryProvider.js +47 -14
  542. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  543. package/lib/cjs/tile/map/MapLayerSources.d.ts +3 -11
  544. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  545. package/lib/cjs/tile/map/MapLayerSources.js +5 -34
  546. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  547. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  548. package/lib/cjs/tile/map/MapTile.js +4 -3
  549. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  550. package/lib/cjs/tile/map/MapTileLoader.js +2 -2
  551. package/lib/cjs/tile/map/MapTileLoader.js.map +1 -1
  552. package/lib/cjs/tile/map/MapTileTree.d.ts +1 -1
  553. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  554. package/lib/cjs/tile/map/MapTileTree.js +30 -21
  555. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  556. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts +3 -3
  557. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  558. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +4 -6
  559. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  560. package/lib/cjs/tile/map/MapTilingScheme.d.ts +7 -2
  561. package/lib/cjs/tile/map/MapTilingScheme.d.ts.map +1 -1
  562. package/lib/cjs/tile/map/MapTilingScheme.js +21 -8
  563. package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
  564. package/lib/cjs/tile/map/QuadId.d.ts +1 -0
  565. package/lib/cjs/tile/map/QuadId.d.ts.map +1 -1
  566. package/lib/cjs/tile/map/QuadId.js +2 -1
  567. package/lib/cjs/tile/map/QuadId.js.map +1 -1
  568. package/lib/cjs/tile/map/TerrainMeshProvider.d.ts +1 -1
  569. package/lib/cjs/tile/map/TerrainMeshProvider.js.map +1 -1
  570. package/lib/cjs/tile/map/WmsCapabilities.d.ts +8 -1
  571. package/lib/cjs/tile/map/WmsCapabilities.d.ts.map +1 -1
  572. package/lib/cjs/tile/map/WmsCapabilities.js +39 -5
  573. package/lib/cjs/tile/map/WmsCapabilities.js.map +1 -1
  574. package/lib/cjs/tile/map/WmtsCapabilities.d.ts +11 -1
  575. package/lib/cjs/tile/map/WmtsCapabilities.d.ts.map +1 -1
  576. package/lib/cjs/tile/map/WmtsCapabilities.js +23 -9
  577. package/lib/cjs/tile/map/WmtsCapabilities.js.map +1 -1
  578. package/lib/cjs/tools/EditManipulator.d.ts.map +1 -1
  579. package/lib/cjs/tools/EditManipulator.js +1 -1
  580. package/lib/cjs/tools/EditManipulator.js.map +1 -1
  581. package/lib/cjs/tools/ElementSetTool.js +2 -2
  582. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  583. package/lib/cjs/tools/PrimitiveTool.d.ts +4 -4
  584. package/lib/cjs/tools/PrimitiveTool.d.ts.map +1 -1
  585. package/lib/cjs/tools/PrimitiveTool.js +2 -2
  586. package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
  587. package/lib/cjs/tools/Tool.d.ts +29 -1
  588. package/lib/cjs/tools/Tool.d.ts.map +1 -1
  589. package/lib/cjs/tools/Tool.js +66 -0
  590. package/lib/cjs/tools/Tool.js.map +1 -1
  591. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  592. package/lib/cjs/tools/ToolAdmin.js +20 -10
  593. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  594. package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
  595. package/lib/cjs/tools/ViewTool.js +3 -11
  596. package/lib/cjs/tools/ViewTool.js.map +1 -1
  597. package/lib/cjs/webgl.d.ts +5 -0
  598. package/lib/cjs/webgl.d.ts.map +1 -1
  599. package/lib/cjs/webgl.js +5 -0
  600. package/lib/cjs/webgl.js.map +1 -1
  601. package/lib/esm/AccuSnap.js +3 -3
  602. package/lib/esm/AccuSnap.js.map +1 -1
  603. package/lib/esm/ApproximateTerrainHeights.d.ts.map +1 -1
  604. package/lib/esm/ApproximateTerrainHeights.js +10 -5
  605. package/lib/esm/ApproximateTerrainHeights.js.map +1 -1
  606. package/lib/esm/BackgroundMapGeometry.d.ts +1 -1
  607. package/lib/esm/BackgroundMapGeometry.d.ts.map +1 -1
  608. package/lib/esm/BackgroundMapGeometry.js +2 -2
  609. package/lib/esm/BackgroundMapGeometry.js.map +1 -1
  610. package/lib/esm/BingLocation.js +1 -1
  611. package/lib/esm/BingLocation.js.map +1 -1
  612. package/lib/esm/CheckpointConnection.js +1 -1
  613. package/lib/esm/CheckpointConnection.js.map +1 -1
  614. package/lib/esm/ContextRealityModelState.js +1 -1
  615. package/lib/esm/ContextRealityModelState.js.map +1 -1
  616. package/lib/esm/DisplayStyleState.d.ts +10 -163
  617. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  618. package/lib/esm/DisplayStyleState.js +70 -346
  619. package/lib/esm/DisplayStyleState.js.map +1 -1
  620. package/lib/esm/DrawingViewState.d.ts +2 -2
  621. package/lib/esm/DrawingViewState.d.ts.map +1 -1
  622. package/lib/esm/DrawingViewState.js +3 -3
  623. package/lib/esm/DrawingViewState.js.map +1 -1
  624. package/lib/esm/ElementLocateManager.d.ts +5 -0
  625. package/lib/esm/ElementLocateManager.d.ts.map +1 -1
  626. package/lib/esm/ElementLocateManager.js +12 -2
  627. package/lib/esm/ElementLocateManager.js.map +1 -1
  628. package/lib/esm/EmphasizeElements.d.ts.map +1 -1
  629. package/lib/esm/EmphasizeElements.js +14 -4
  630. package/lib/esm/EmphasizeElements.js.map +1 -1
  631. package/lib/esm/EnvironmentDecorations.d.ts +39 -0
  632. package/lib/esm/EnvironmentDecorations.d.ts.map +1 -0
  633. package/lib/esm/EnvironmentDecorations.js +199 -0
  634. package/lib/esm/EnvironmentDecorations.js.map +1 -0
  635. package/lib/esm/FrontendHubAccess.d.ts +11 -7
  636. package/lib/esm/FrontendHubAccess.d.ts.map +1 -1
  637. package/lib/esm/FrontendHubAccess.js.map +1 -1
  638. package/lib/esm/FrontendLoggerCategory.d.ts +2 -8
  639. package/lib/esm/FrontendLoggerCategory.d.ts.map +1 -1
  640. package/lib/esm/FrontendLoggerCategory.js +2 -8
  641. package/lib/esm/FrontendLoggerCategory.js.map +1 -1
  642. package/lib/esm/HitDetail.js +7 -7
  643. package/lib/esm/HitDetail.js.map +1 -1
  644. package/lib/esm/IModelApp.d.ts +30 -17
  645. package/lib/esm/IModelApp.d.ts.map +1 -1
  646. package/lib/esm/IModelApp.js +32 -25
  647. package/lib/esm/IModelApp.js.map +1 -1
  648. package/lib/esm/IModelConnection.d.ts +4 -6
  649. package/lib/esm/IModelConnection.d.ts.map +1 -1
  650. package/lib/esm/IModelConnection.js +6 -11
  651. package/lib/esm/IModelConnection.js.map +1 -1
  652. package/lib/esm/IModeljs-css.d.ts.map +1 -1
  653. package/lib/esm/IModeljs-css.js +8 -6
  654. package/lib/esm/IModeljs-css.js.map +1 -1
  655. package/lib/esm/ImageUtil.d.ts +3 -3
  656. package/lib/esm/ImageUtil.d.ts.map +1 -1
  657. package/lib/esm/ImageUtil.js +7 -4
  658. package/lib/esm/ImageUtil.js.map +1 -1
  659. package/lib/esm/LocalhostIpcApp.d.ts +2 -1
  660. package/lib/esm/LocalhostIpcApp.d.ts.map +1 -1
  661. package/lib/esm/LocalhostIpcApp.js +22 -8
  662. package/lib/esm/LocalhostIpcApp.js.map +1 -1
  663. package/lib/esm/Marker.d.ts +9 -2
  664. package/lib/esm/Marker.d.ts.map +1 -1
  665. package/lib/esm/Marker.js +34 -6
  666. package/lib/esm/Marker.js.map +1 -1
  667. package/lib/esm/ModelState.js +1 -1
  668. package/lib/esm/ModelState.js.map +1 -1
  669. package/lib/esm/NativeApp.d.ts +3 -38
  670. package/lib/esm/NativeApp.d.ts.map +1 -1
  671. package/lib/esm/NativeApp.js +1 -69
  672. package/lib/esm/NativeApp.js.map +1 -1
  673. package/lib/esm/NoRenderApp.d.ts +0 -1
  674. package/lib/esm/NoRenderApp.d.ts.map +1 -1
  675. package/lib/esm/NoRenderApp.js +0 -1
  676. package/lib/esm/NoRenderApp.js.map +1 -1
  677. package/lib/esm/NotificationManager.d.ts +3 -1
  678. package/lib/esm/NotificationManager.d.ts.map +1 -1
  679. package/lib/esm/NotificationManager.js +2 -0
  680. package/lib/esm/NotificationManager.js.map +1 -1
  681. package/lib/esm/RealityDataSource.d.ts +59 -29
  682. package/lib/esm/RealityDataSource.d.ts.map +1 -1
  683. package/lib/esm/RealityDataSource.js +247 -92
  684. package/lib/esm/RealityDataSource.js.map +1 -1
  685. package/lib/esm/RenderScheduleState.d.ts +2 -0
  686. package/lib/esm/RenderScheduleState.d.ts.map +1 -1
  687. package/lib/esm/RenderScheduleState.js +8 -4
  688. package/lib/esm/RenderScheduleState.js.map +1 -1
  689. package/lib/esm/SheetViewState.d.ts +2 -2
  690. package/lib/esm/SheetViewState.d.ts.map +1 -1
  691. package/lib/esm/SheetViewState.js +7 -6
  692. package/lib/esm/SheetViewState.js.map +1 -1
  693. package/lib/esm/SpatialViewState.d.ts +10 -2
  694. package/lib/esm/SpatialViewState.d.ts.map +1 -1
  695. package/lib/esm/SpatialViewState.js +12 -2
  696. package/lib/esm/SpatialViewState.js.map +1 -1
  697. package/lib/esm/SubCategoriesCache.js +1 -1
  698. package/lib/esm/SubCategoriesCache.js.map +1 -1
  699. package/lib/esm/Tiles.d.ts +11 -1
  700. package/lib/esm/Tiles.d.ts.map +1 -1
  701. package/lib/esm/Tiles.js +7 -0
  702. package/lib/esm/Tiles.js.map +1 -1
  703. package/lib/esm/TwoWayViewportSync.d.ts +35 -6
  704. package/lib/esm/TwoWayViewportSync.d.ts.map +1 -1
  705. package/lib/esm/TwoWayViewportSync.js +49 -10
  706. package/lib/esm/TwoWayViewportSync.js.map +1 -1
  707. package/lib/esm/UserPreferences.d.ts +72 -0
  708. package/lib/esm/UserPreferences.d.ts.map +1 -0
  709. package/lib/esm/UserPreferences.js +6 -0
  710. package/lib/esm/UserPreferences.js.map +1 -0
  711. package/lib/esm/ViewContext.d.ts +3 -1
  712. package/lib/esm/ViewContext.d.ts.map +1 -1
  713. package/lib/esm/ViewContext.js +4 -0
  714. package/lib/esm/ViewContext.js.map +1 -1
  715. package/lib/esm/ViewCreator2d.js +3 -3
  716. package/lib/esm/ViewCreator2d.js.map +1 -1
  717. package/lib/esm/ViewCreator3d.d.ts +1 -1
  718. package/lib/esm/ViewCreator3d.d.ts.map +1 -1
  719. package/lib/esm/ViewCreator3d.js +5 -6
  720. package/lib/esm/ViewCreator3d.js.map +1 -1
  721. package/lib/esm/ViewManager.d.ts +6 -6
  722. package/lib/esm/ViewManager.d.ts.map +1 -1
  723. package/lib/esm/ViewManager.js +13 -13
  724. package/lib/esm/ViewManager.js.map +1 -1
  725. package/lib/esm/ViewState.d.ts +11 -5
  726. package/lib/esm/ViewState.d.ts.map +1 -1
  727. package/lib/esm/ViewState.js +21 -66
  728. package/lib/esm/ViewState.js.map +1 -1
  729. package/lib/esm/ViewingSpace.js +1 -1
  730. package/lib/esm/ViewingSpace.js.map +1 -1
  731. package/lib/esm/Viewport.d.ts +57 -11
  732. package/lib/esm/Viewport.d.ts.map +1 -1
  733. package/lib/esm/Viewport.js +56 -32
  734. package/lib/esm/Viewport.js.map +1 -1
  735. package/lib/esm/core-frontend.d.ts +10 -24
  736. package/lib/esm/core-frontend.d.ts.map +1 -1
  737. package/lib/esm/core-frontend.js +10 -24
  738. package/lib/esm/core-frontend.js.map +1 -1
  739. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts +3 -2
  740. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts.map +1 -1
  741. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js +3 -2
  742. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  743. package/lib/esm/quantity-formatting/BasicUnitsProvider.d.ts +5 -1
  744. package/lib/esm/quantity-formatting/BasicUnitsProvider.d.ts.map +1 -1
  745. package/lib/esm/quantity-formatting/BasicUnitsProvider.js +18 -4
  746. package/lib/esm/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  747. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts +26 -3
  748. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  749. package/lib/esm/quantity-formatting/QuantityFormatter.js +45 -7
  750. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  751. package/lib/esm/render/FeatureSymbology.d.ts.map +1 -1
  752. package/lib/esm/render/FeatureSymbology.js +3 -3
  753. package/lib/esm/render/FeatureSymbology.js.map +1 -1
  754. package/lib/esm/render/GraphicBranch.d.ts +18 -2
  755. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  756. package/lib/esm/render/GraphicBranch.js +8 -0
  757. package/lib/esm/render/GraphicBranch.js.map +1 -1
  758. package/lib/esm/render/GraphicBuilder.d.ts +7 -1
  759. package/lib/esm/render/GraphicBuilder.d.ts.map +1 -1
  760. package/lib/esm/render/GraphicBuilder.js.map +1 -1
  761. package/lib/esm/render/MockRender.d.ts +3 -1
  762. package/lib/esm/render/MockRender.d.ts.map +1 -1
  763. package/lib/esm/render/MockRender.js.map +1 -1
  764. package/lib/esm/render/RenderMemory.d.ts +21 -15
  765. package/lib/esm/render/RenderMemory.d.ts.map +1 -1
  766. package/lib/esm/render/RenderMemory.js +21 -15
  767. package/lib/esm/render/RenderMemory.js.map +1 -1
  768. package/lib/esm/render/RenderSystem.d.ts +38 -7
  769. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  770. package/lib/esm/render/RenderSystem.js +24 -9
  771. package/lib/esm/render/RenderSystem.js.map +1 -1
  772. package/lib/esm/render/RenderTarget.d.ts +10 -2
  773. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  774. package/lib/esm/render/RenderTarget.js +2 -1
  775. package/lib/esm/render/RenderTarget.js.map +1 -1
  776. package/lib/esm/render/RenderTexture.d.ts +2 -17
  777. package/lib/esm/render/RenderTexture.d.ts.map +1 -1
  778. package/lib/esm/render/RenderTexture.js +1 -16
  779. package/lib/esm/render/RenderTexture.js.map +1 -1
  780. package/lib/esm/render/primitives/EdgeParams.d.ts +84 -0
  781. package/lib/esm/render/primitives/EdgeParams.d.ts.map +1 -0
  782. package/lib/esm/render/primitives/EdgeParams.js +217 -0
  783. package/lib/esm/render/primitives/EdgeParams.js.map +1 -0
  784. package/lib/esm/render/primitives/PointStringParams.d.ts +16 -0
  785. package/lib/esm/render/primitives/PointStringParams.d.ts.map +1 -0
  786. package/lib/esm/render/primitives/PointStringParams.js +39 -0
  787. package/lib/esm/render/primitives/PointStringParams.js.map +1 -0
  788. package/lib/esm/render/primitives/PolylineParams.d.ts +44 -0
  789. package/lib/esm/render/primitives/PolylineParams.d.ts.map +1 -0
  790. package/lib/esm/render/primitives/PolylineParams.js +199 -0
  791. package/lib/esm/render/primitives/PolylineParams.js.map +1 -0
  792. package/lib/esm/render/primitives/Primitives.d.ts +1 -1
  793. package/lib/esm/render/primitives/Primitives.d.ts.map +1 -1
  794. package/lib/esm/render/primitives/Primitives.js.map +1 -1
  795. package/lib/esm/render/primitives/SurfaceParams.d.ts +46 -0
  796. package/lib/esm/render/primitives/SurfaceParams.d.ts.map +1 -0
  797. package/lib/esm/render/primitives/SurfaceParams.js +37 -0
  798. package/lib/esm/render/primitives/SurfaceParams.js.map +1 -0
  799. package/lib/esm/render/primitives/VertexTable.d.ts +4 -123
  800. package/lib/esm/render/primitives/VertexTable.d.ts.map +1 -1
  801. package/lib/esm/render/primitives/VertexTable.js +11 -342
  802. package/lib/esm/render/primitives/VertexTable.js.map +1 -1
  803. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts +2 -0
  804. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  805. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js +2 -1
  806. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  807. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  808. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js +1 -0
  809. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  810. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts +2 -2
  811. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  812. package/lib/esm/render/primitives/mesh/MeshPrimitives.js +3 -3
  813. package/lib/esm/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  814. package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.d.ts +1 -1
  815. package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.js +1 -1
  816. package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.js.map +1 -1
  817. package/lib/esm/render/webgl/AttributeMap.js +5 -5
  818. package/lib/esm/render/webgl/BackgroundMapDrape.js +2 -2
  819. package/lib/esm/render/webgl/BackgroundMapDrape.js.map +1 -1
  820. package/lib/esm/render/webgl/BranchUniforms.d.ts.map +1 -1
  821. package/lib/esm/render/webgl/BranchUniforms.js +8 -5
  822. package/lib/esm/render/webgl/BranchUniforms.js.map +1 -1
  823. package/lib/esm/render/webgl/CachedGeometry.d.ts +16 -11
  824. package/lib/esm/render/webgl/CachedGeometry.d.ts.map +1 -1
  825. package/lib/esm/render/webgl/CachedGeometry.js +26 -23
  826. package/lib/esm/render/webgl/CachedGeometry.js.map +1 -1
  827. package/lib/esm/render/webgl/DrawCommand.d.ts +2 -3
  828. package/lib/esm/render/webgl/DrawCommand.d.ts.map +1 -1
  829. package/lib/esm/render/webgl/DrawCommand.js +6 -4
  830. package/lib/esm/render/webgl/DrawCommand.js.map +1 -1
  831. package/lib/esm/render/webgl/EdgeGeometry.d.ts +73 -0
  832. package/lib/esm/render/webgl/EdgeGeometry.d.ts.map +1 -0
  833. package/lib/esm/render/webgl/EdgeGeometry.js +135 -0
  834. package/lib/esm/render/webgl/EdgeGeometry.js.map +1 -0
  835. package/lib/esm/render/webgl/FeatureOverrides.d.ts +2 -0
  836. package/lib/esm/render/webgl/FeatureOverrides.d.ts.map +1 -1
  837. package/lib/esm/render/webgl/FeatureOverrides.js +11 -3
  838. package/lib/esm/render/webgl/FeatureOverrides.js.map +1 -1
  839. package/lib/esm/render/webgl/FloatRGBA.d.ts.map +1 -1
  840. package/lib/esm/render/webgl/FloatRGBA.js +13 -11
  841. package/lib/esm/render/webgl/FloatRGBA.js.map +1 -1
  842. package/lib/esm/render/webgl/Graphic.d.ts +13 -0
  843. package/lib/esm/render/webgl/Graphic.d.ts.map +1 -1
  844. package/lib/esm/render/webgl/Graphic.js +39 -2
  845. package/lib/esm/render/webgl/Graphic.js.map +1 -1
  846. package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts +51 -0
  847. package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -0
  848. package/lib/esm/render/webgl/IndexedEdgeGeometry.js +85 -0
  849. package/lib/esm/render/webgl/IndexedEdgeGeometry.js.map +1 -0
  850. package/lib/esm/render/webgl/InstancedGeometry.d.ts +6 -5
  851. package/lib/esm/render/webgl/InstancedGeometry.d.ts.map +1 -1
  852. package/lib/esm/render/webgl/InstancedGeometry.js +2 -1
  853. package/lib/esm/render/webgl/InstancedGeometry.js.map +1 -1
  854. package/lib/esm/render/webgl/Material.d.ts +1 -1
  855. package/lib/esm/render/webgl/Material.d.ts.map +1 -1
  856. package/lib/esm/render/webgl/Material.js.map +1 -1
  857. package/lib/esm/render/webgl/Mesh.d.ts +8 -162
  858. package/lib/esm/render/webgl/Mesh.d.ts.map +1 -1
  859. package/lib/esm/render/webgl/Mesh.js +12 -445
  860. package/lib/esm/render/webgl/Mesh.js.map +1 -1
  861. package/lib/esm/render/webgl/MeshData.d.ts +38 -0
  862. package/lib/esm/render/webgl/MeshData.d.ts.map +1 -0
  863. package/lib/esm/render/webgl/MeshData.js +62 -0
  864. package/lib/esm/render/webgl/MeshData.js.map +1 -0
  865. package/lib/esm/render/webgl/MeshGeometry.d.ts +38 -0
  866. package/lib/esm/render/webgl/MeshGeometry.d.ts.map +1 -0
  867. package/lib/esm/render/webgl/MeshGeometry.js +55 -0
  868. package/lib/esm/render/webgl/MeshGeometry.js.map +1 -0
  869. package/lib/esm/render/webgl/PlanarClassifier.d.ts.map +1 -1
  870. package/lib/esm/render/webgl/PlanarClassifier.js +9 -5
  871. package/lib/esm/render/webgl/PlanarClassifier.js.map +1 -1
  872. package/lib/esm/render/webgl/PlanarGrid.d.ts +2 -3
  873. package/lib/esm/render/webgl/PlanarGrid.d.ts.map +1 -1
  874. package/lib/esm/render/webgl/PlanarGrid.js +3 -3
  875. package/lib/esm/render/webgl/PlanarGrid.js.map +1 -1
  876. package/lib/esm/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  877. package/lib/esm/render/webgl/PlanarTextureProjection.js +1 -0
  878. package/lib/esm/render/webgl/PlanarTextureProjection.js.map +1 -1
  879. package/lib/esm/render/webgl/PointCloud.d.ts +2 -2
  880. package/lib/esm/render/webgl/PointCloud.d.ts.map +1 -1
  881. package/lib/esm/render/webgl/PointCloud.js +2 -2
  882. package/lib/esm/render/webgl/PointCloud.js.map +1 -1
  883. package/lib/esm/render/webgl/PointString.d.ts +3 -3
  884. package/lib/esm/render/webgl/PointString.d.ts.map +1 -1
  885. package/lib/esm/render/webgl/PointString.js +1 -1
  886. package/lib/esm/render/webgl/PointString.js.map +1 -1
  887. package/lib/esm/render/webgl/Polyline.d.ts +3 -3
  888. package/lib/esm/render/webgl/Polyline.d.ts.map +1 -1
  889. package/lib/esm/render/webgl/Polyline.js +6 -6
  890. package/lib/esm/render/webgl/Polyline.js.map +1 -1
  891. package/lib/esm/render/webgl/Primitive.d.ts +2 -2
  892. package/lib/esm/render/webgl/Primitive.d.ts.map +1 -1
  893. package/lib/esm/render/webgl/Primitive.js +5 -5
  894. package/lib/esm/render/webgl/Primitive.js.map +1 -1
  895. package/lib/esm/render/webgl/RealityMesh.d.ts +2 -2
  896. package/lib/esm/render/webgl/RealityMesh.d.ts.map +1 -1
  897. package/lib/esm/render/webgl/RealityMesh.js +9 -9
  898. package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
  899. package/lib/esm/render/webgl/RenderCommands.d.ts +6 -2
  900. package/lib/esm/render/webgl/RenderCommands.d.ts.map +1 -1
  901. package/lib/esm/render/webgl/RenderCommands.js +78 -45
  902. package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
  903. package/lib/esm/render/webgl/RenderFlags.d.ts +48 -1
  904. package/lib/esm/render/webgl/RenderFlags.d.ts.map +1 -1
  905. package/lib/esm/render/webgl/RenderFlags.js +63 -1
  906. package/lib/esm/render/webgl/RenderFlags.js.map +1 -1
  907. package/lib/esm/render/webgl/SceneCompositor.js +10 -9
  908. package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
  909. package/lib/esm/render/webgl/ScreenSpaceEffect.js +1 -1
  910. package/lib/esm/render/webgl/ShaderBuilder.d.ts +23 -20
  911. package/lib/esm/render/webgl/ShaderBuilder.d.ts.map +1 -1
  912. package/lib/esm/render/webgl/ShaderBuilder.js +38 -32
  913. package/lib/esm/render/webgl/ShaderBuilder.js.map +1 -1
  914. package/lib/esm/render/webgl/ShaderProgram.d.ts +1 -1
  915. package/lib/esm/render/webgl/ShaderProgram.d.ts.map +1 -1
  916. package/lib/esm/render/webgl/ShaderProgram.js +4 -4
  917. package/lib/esm/render/webgl/ShaderProgram.js.map +1 -1
  918. package/lib/esm/render/webgl/SolarShadowMap.d.ts.map +1 -1
  919. package/lib/esm/render/webgl/SolarShadowMap.js +5 -4
  920. package/lib/esm/render/webgl/SolarShadowMap.js.map +1 -1
  921. package/lib/esm/render/webgl/SurfaceGeometry.d.ts +54 -0
  922. package/lib/esm/render/webgl/SurfaceGeometry.d.ts.map +1 -0
  923. package/lib/esm/render/webgl/SurfaceGeometry.js +243 -0
  924. package/lib/esm/render/webgl/SurfaceGeometry.js.map +1 -0
  925. package/lib/esm/render/webgl/System.d.ts +11 -10
  926. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  927. package/lib/esm/render/webgl/System.js +34 -23
  928. package/lib/esm/render/webgl/System.js.map +1 -1
  929. package/lib/esm/render/webgl/Target.d.ts +13 -1
  930. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  931. package/lib/esm/render/webgl/Target.js +88 -2
  932. package/lib/esm/render/webgl/Target.js.map +1 -1
  933. package/lib/esm/render/webgl/Technique.d.ts.map +1 -1
  934. package/lib/esm/render/webgl/Technique.js +112 -119
  935. package/lib/esm/render/webgl/Technique.js.map +1 -1
  936. package/lib/esm/render/webgl/TechniqueFlags.d.ts +7 -1
  937. package/lib/esm/render/webgl/TechniqueFlags.d.ts.map +1 -1
  938. package/lib/esm/render/webgl/TechniqueFlags.js +10 -1
  939. package/lib/esm/render/webgl/TechniqueFlags.js.map +1 -1
  940. package/lib/esm/render/webgl/TechniqueId.d.ts +29 -28
  941. package/lib/esm/render/webgl/TechniqueId.d.ts.map +1 -1
  942. package/lib/esm/render/webgl/TechniqueId.js +7 -7
  943. package/lib/esm/render/webgl/TechniqueId.js.map +1 -1
  944. package/lib/esm/render/webgl/Texture.d.ts +15 -12
  945. package/lib/esm/render/webgl/Texture.d.ts.map +1 -1
  946. package/lib/esm/render/webgl/Texture.js +27 -24
  947. package/lib/esm/render/webgl/Texture.js.map +1 -1
  948. package/lib/esm/render/webgl/glsl/AmbientOcclusion.d.ts.map +1 -1
  949. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js +84 -19
  950. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  951. package/lib/esm/render/webgl/glsl/Animation.js +1 -1
  952. package/lib/esm/render/webgl/glsl/Blur.js +1 -1
  953. package/lib/esm/render/webgl/glsl/ClearPickAndColor.js +2 -2
  954. package/lib/esm/render/webgl/glsl/ClearTranslucent.js +2 -2
  955. package/lib/esm/render/webgl/glsl/Color.js +1 -1
  956. package/lib/esm/render/webgl/glsl/Combine3Textures.js +1 -1
  957. package/lib/esm/render/webgl/glsl/CombineTextures.js +1 -1
  958. package/lib/esm/render/webgl/glsl/Composite.js +1 -1
  959. package/lib/esm/render/webgl/glsl/CopyColor.d.ts.map +1 -1
  960. package/lib/esm/render/webgl/glsl/CopyColor.js +17 -2
  961. package/lib/esm/render/webgl/glsl/CopyColor.js.map +1 -1
  962. package/lib/esm/render/webgl/glsl/CopyPickBuffers.js +2 -2
  963. package/lib/esm/render/webgl/glsl/CopyStencil.d.ts.map +1 -1
  964. package/lib/esm/render/webgl/glsl/CopyStencil.js +10 -13
  965. package/lib/esm/render/webgl/glsl/CopyStencil.js.map +1 -1
  966. package/lib/esm/render/webgl/glsl/EVSMFromDepth.js +2 -2
  967. package/lib/esm/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  968. package/lib/esm/render/webgl/glsl/Edge.d.ts +2 -1
  969. package/lib/esm/render/webgl/glsl/Edge.d.ts.map +1 -1
  970. package/lib/esm/render/webgl/glsl/Edge.js +132 -14
  971. package/lib/esm/render/webgl/glsl/Edge.js.map +1 -1
  972. package/lib/esm/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
  973. package/lib/esm/render/webgl/glsl/FeatureSymbology.js +44 -22
  974. package/lib/esm/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  975. package/lib/esm/render/webgl/glsl/Fragment.d.ts.map +1 -1
  976. package/lib/esm/render/webgl/glsl/Fragment.js +19 -11
  977. package/lib/esm/render/webgl/glsl/Fragment.js.map +1 -1
  978. package/lib/esm/render/webgl/glsl/LogarithmicDepthBuffer.js +1 -1
  979. package/lib/esm/render/webgl/glsl/LookupTable.d.ts +4 -2
  980. package/lib/esm/render/webgl/glsl/LookupTable.d.ts.map +1 -1
  981. package/lib/esm/render/webgl/glsl/LookupTable.js +7 -3
  982. package/lib/esm/render/webgl/glsl/LookupTable.js.map +1 -1
  983. package/lib/esm/render/webgl/glsl/PlanarClassification.d.ts.map +1 -1
  984. package/lib/esm/render/webgl/glsl/PlanarClassification.js +13 -4
  985. package/lib/esm/render/webgl/glsl/PlanarClassification.js.map +1 -1
  986. package/lib/esm/render/webgl/glsl/PlanarGrid.js +2 -2
  987. package/lib/esm/render/webgl/glsl/PlanarGrid.js.map +1 -1
  988. package/lib/esm/render/webgl/glsl/PointCloud.js +2 -2
  989. package/lib/esm/render/webgl/glsl/PointCloud.js.map +1 -1
  990. package/lib/esm/render/webgl/glsl/PointString.js +1 -1
  991. package/lib/esm/render/webgl/glsl/PointString.js.map +1 -1
  992. package/lib/esm/render/webgl/glsl/Polyline.js +1 -1
  993. package/lib/esm/render/webgl/glsl/Polyline.js.map +1 -1
  994. package/lib/esm/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  995. package/lib/esm/render/webgl/glsl/RealityMesh.js +9 -6
  996. package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
  997. package/lib/esm/render/webgl/glsl/ScreenSpaceEffect.js +2 -2
  998. package/lib/esm/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
  999. package/lib/esm/render/webgl/glsl/SkyBox.js +2 -2
  1000. package/lib/esm/render/webgl/glsl/SkyBox.js.map +1 -1
  1001. package/lib/esm/render/webgl/glsl/SkySphere.js +2 -2
  1002. package/lib/esm/render/webgl/glsl/Surface.d.ts.map +1 -1
  1003. package/lib/esm/render/webgl/glsl/Surface.js +41 -16
  1004. package/lib/esm/render/webgl/glsl/Surface.js.map +1 -1
  1005. package/lib/esm/render/webgl/glsl/Translucency.js +2 -2
  1006. package/lib/esm/render/webgl/glsl/Vertex.js +3 -3
  1007. package/lib/esm/render/webgl/glsl/Vertex.js.map +1 -1
  1008. package/lib/esm/render/webgl/glsl/ViewportQuad.js +1 -1
  1009. package/lib/esm/render/webgl/glsl/ViewportQuad.js.map +1 -1
  1010. package/lib/esm/render/webgl/glsl/Wiremesh.d.ts +9 -0
  1011. package/lib/esm/render/webgl/glsl/Wiremesh.d.ts.map +1 -0
  1012. package/lib/esm/render/webgl/glsl/Wiremesh.js +36 -0
  1013. package/lib/esm/render/webgl/glsl/Wiremesh.js.map +1 -0
  1014. package/lib/esm/render-primitives.d.ts +5 -1
  1015. package/lib/esm/render-primitives.d.ts.map +1 -1
  1016. package/lib/esm/render-primitives.js +5 -1
  1017. package/lib/esm/render-primitives.js.map +1 -1
  1018. package/lib/esm/request/Request.d.ts +167 -0
  1019. package/lib/esm/request/Request.d.ts.map +1 -0
  1020. package/lib/esm/request/Request.js +289 -0
  1021. package/lib/esm/request/Request.js.map +1 -0
  1022. package/lib/esm/tile/B3dmReader.d.ts +2 -1
  1023. package/lib/esm/tile/B3dmReader.d.ts.map +1 -1
  1024. package/lib/esm/tile/B3dmReader.js +12 -8
  1025. package/lib/esm/tile/B3dmReader.js.map +1 -1
  1026. package/lib/esm/tile/CesiumAssetProvider.d.ts +14 -0
  1027. package/lib/esm/tile/CesiumAssetProvider.d.ts.map +1 -0
  1028. package/lib/esm/tile/CesiumAssetProvider.js +31 -0
  1029. package/lib/esm/tile/CesiumAssetProvider.js.map +1 -0
  1030. package/lib/esm/tile/ContextShareProvider.d.ts +22 -0
  1031. package/lib/esm/tile/ContextShareProvider.d.ts.map +1 -0
  1032. package/lib/esm/tile/ContextShareProvider.js +125 -0
  1033. package/lib/esm/tile/ContextShareProvider.js.map +1 -0
  1034. package/lib/esm/tile/DynamicIModelTile.js +9 -3
  1035. package/lib/esm/tile/DynamicIModelTile.js.map +1 -1
  1036. package/lib/esm/tile/GltfReader.d.ts +594 -55
  1037. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  1038. package/lib/esm/tile/GltfReader.js +678 -242
  1039. package/lib/esm/tile/GltfReader.js.map +1 -1
  1040. package/lib/esm/tile/I3dmReader.d.ts +2 -1
  1041. package/lib/esm/tile/I3dmReader.d.ts.map +1 -1
  1042. package/lib/esm/tile/I3dmReader.js +11 -7
  1043. package/lib/esm/tile/I3dmReader.js.map +1 -1
  1044. package/lib/esm/tile/IModelTile.d.ts.map +1 -1
  1045. package/lib/esm/tile/IModelTile.js +14 -7
  1046. package/lib/esm/tile/IModelTile.js.map +1 -1
  1047. package/lib/esm/tile/IModelTileTree.d.ts +8 -0
  1048. package/lib/esm/tile/IModelTileTree.d.ts.map +1 -1
  1049. package/lib/esm/tile/IModelTileTree.js +36 -1
  1050. package/lib/esm/tile/IModelTileTree.js.map +1 -1
  1051. package/lib/esm/tile/ImdlReader.d.ts +365 -10
  1052. package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
  1053. package/lib/esm/tile/ImdlReader.js +198 -67
  1054. package/lib/esm/tile/ImdlReader.js.map +1 -1
  1055. package/lib/esm/tile/OrbitGtTileTree.d.ts +0 -9
  1056. package/lib/esm/tile/OrbitGtTileTree.d.ts.map +1 -1
  1057. package/lib/esm/tile/OrbitGtTileTree.js +10 -20
  1058. package/lib/esm/tile/OrbitGtTileTree.js.map +1 -1
  1059. package/lib/esm/tile/PrimaryTileTree.d.ts +14 -5
  1060. package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
  1061. package/lib/esm/tile/PrimaryTileTree.js +70 -15
  1062. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  1063. package/lib/esm/tile/RealityModelTileTree.d.ts +2 -41
  1064. package/lib/esm/tile/RealityModelTileTree.d.ts.map +1 -1
  1065. package/lib/esm/tile/RealityModelTileTree.js +56 -215
  1066. package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
  1067. package/lib/esm/tile/RealityTileLoader.d.ts +1 -0
  1068. package/lib/esm/tile/RealityTileLoader.d.ts.map +1 -1
  1069. package/lib/esm/tile/RealityTileLoader.js +4 -3
  1070. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  1071. package/lib/esm/tile/Tile.d.ts.map +1 -1
  1072. package/lib/esm/tile/Tile.js +5 -1
  1073. package/lib/esm/tile/Tile.js.map +1 -1
  1074. package/lib/esm/tile/TileAdmin.d.ts +37 -4
  1075. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  1076. package/lib/esm/tile/TileAdmin.js +19 -13
  1077. package/lib/esm/tile/TileAdmin.js.map +1 -1
  1078. package/lib/esm/tile/TileDrawArgs.d.ts +11 -0
  1079. package/lib/esm/tile/TileDrawArgs.d.ts.map +1 -1
  1080. package/lib/esm/tile/TileDrawArgs.js +6 -1
  1081. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  1082. package/lib/esm/tile/TileTreeReference.d.ts +2 -0
  1083. package/lib/esm/tile/TileTreeReference.d.ts.map +1 -1
  1084. package/lib/esm/tile/TileTreeReference.js +5 -0
  1085. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  1086. package/lib/esm/tile/internal.d.ts +4 -1
  1087. package/lib/esm/tile/internal.d.ts.map +1 -1
  1088. package/lib/esm/tile/internal.js +4 -1
  1089. package/lib/esm/tile/internal.js.map +1 -1
  1090. package/lib/esm/tile/map/ArcGISTileMap.d.ts +22 -0
  1091. package/lib/esm/tile/map/ArcGISTileMap.d.ts.map +1 -0
  1092. package/lib/esm/tile/map/ArcGISTileMap.js +173 -0
  1093. package/lib/esm/tile/map/ArcGISTileMap.js.map +1 -0
  1094. package/lib/esm/tile/map/ArcGisTokenGenerator.js +1 -1
  1095. package/lib/esm/tile/map/ArcGisTokenGenerator.js.map +1 -1
  1096. package/lib/esm/tile/map/ArcGisUtilities.d.ts +1 -1
  1097. package/lib/esm/tile/map/ArcGisUtilities.d.ts.map +1 -1
  1098. package/lib/esm/tile/map/ArcGisUtilities.js +14 -6
  1099. package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
  1100. package/lib/esm/tile/map/BingElevation.js +1 -1
  1101. package/lib/esm/tile/map/BingElevation.js.map +1 -1
  1102. package/lib/esm/tile/map/CesiumTerrainProvider.d.ts.map +1 -1
  1103. package/lib/esm/tile/map/CesiumTerrainProvider.js +25 -13
  1104. package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
  1105. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -2
  1106. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  1107. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +21 -42
  1108. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  1109. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js +2 -2
  1110. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  1111. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +8 -0
  1112. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  1113. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +51 -10
  1114. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  1115. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +6 -1
  1116. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
  1117. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +63 -21
  1118. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  1119. package/lib/esm/tile/map/ImageryTileTree.d.ts +4 -4
  1120. package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
  1121. package/lib/esm/tile/map/ImageryTileTree.js +21 -25
  1122. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  1123. package/lib/esm/tile/map/MapCartoRectangle.js +1 -1
  1124. package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
  1125. package/lib/esm/tile/map/MapLayerAuthentication.d.ts +20 -0
  1126. package/lib/esm/tile/map/MapLayerAuthentication.d.ts.map +1 -0
  1127. package/lib/esm/tile/map/MapLayerAuthentication.js +15 -0
  1128. package/lib/esm/tile/map/MapLayerAuthentication.js.map +1 -0
  1129. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts +6 -3
  1130. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  1131. package/lib/esm/tile/map/MapLayerFormatRegistry.js +3 -1
  1132. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  1133. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts +2 -2
  1134. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  1135. package/lib/esm/tile/map/MapLayerImageryFormats.js +22 -9
  1136. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  1137. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +18 -6
  1138. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  1139. package/lib/esm/tile/map/MapLayerImageryProvider.js +44 -11
  1140. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  1141. package/lib/esm/tile/map/MapLayerSources.d.ts +3 -11
  1142. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  1143. package/lib/esm/tile/map/MapLayerSources.js +7 -36
  1144. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  1145. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  1146. package/lib/esm/tile/map/MapTile.js +4 -3
  1147. package/lib/esm/tile/map/MapTile.js.map +1 -1
  1148. package/lib/esm/tile/map/MapTileLoader.js +1 -1
  1149. package/lib/esm/tile/map/MapTileLoader.js.map +1 -1
  1150. package/lib/esm/tile/map/MapTileTree.d.ts +1 -1
  1151. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  1152. package/lib/esm/tile/map/MapTileTree.js +30 -21
  1153. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  1154. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts +3 -3
  1155. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  1156. package/lib/esm/tile/map/MapTiledGraphicsProvider.js +4 -6
  1157. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  1158. package/lib/esm/tile/map/MapTilingScheme.d.ts +7 -2
  1159. package/lib/esm/tile/map/MapTilingScheme.d.ts.map +1 -1
  1160. package/lib/esm/tile/map/MapTilingScheme.js +22 -9
  1161. package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
  1162. package/lib/esm/tile/map/QuadId.d.ts +1 -0
  1163. package/lib/esm/tile/map/QuadId.d.ts.map +1 -1
  1164. package/lib/esm/tile/map/QuadId.js +2 -1
  1165. package/lib/esm/tile/map/QuadId.js.map +1 -1
  1166. package/lib/esm/tile/map/TerrainMeshProvider.d.ts +1 -1
  1167. package/lib/esm/tile/map/TerrainMeshProvider.js.map +1 -1
  1168. package/lib/esm/tile/map/WmsCapabilities.d.ts +8 -1
  1169. package/lib/esm/tile/map/WmsCapabilities.d.ts.map +1 -1
  1170. package/lib/esm/tile/map/WmsCapabilities.js +37 -3
  1171. package/lib/esm/tile/map/WmsCapabilities.js.map +1 -1
  1172. package/lib/esm/tile/map/WmtsCapabilities.d.ts +11 -1
  1173. package/lib/esm/tile/map/WmtsCapabilities.d.ts.map +1 -1
  1174. package/lib/esm/tile/map/WmtsCapabilities.js +20 -6
  1175. package/lib/esm/tile/map/WmtsCapabilities.js.map +1 -1
  1176. package/lib/esm/tools/EditManipulator.d.ts.map +1 -1
  1177. package/lib/esm/tools/EditManipulator.js +1 -1
  1178. package/lib/esm/tools/EditManipulator.js.map +1 -1
  1179. package/lib/esm/tools/ElementSetTool.js +2 -2
  1180. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  1181. package/lib/esm/tools/PrimitiveTool.d.ts +4 -4
  1182. package/lib/esm/tools/PrimitiveTool.d.ts.map +1 -1
  1183. package/lib/esm/tools/PrimitiveTool.js +2 -2
  1184. package/lib/esm/tools/PrimitiveTool.js.map +1 -1
  1185. package/lib/esm/tools/Tool.d.ts +29 -1
  1186. package/lib/esm/tools/Tool.d.ts.map +1 -1
  1187. package/lib/esm/tools/Tool.js +66 -0
  1188. package/lib/esm/tools/Tool.js.map +1 -1
  1189. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  1190. package/lib/esm/tools/ToolAdmin.js +20 -10
  1191. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  1192. package/lib/esm/tools/ViewTool.d.ts.map +1 -1
  1193. package/lib/esm/tools/ViewTool.js +3 -11
  1194. package/lib/esm/tools/ViewTool.js.map +1 -1
  1195. package/lib/esm/webgl.d.ts +5 -0
  1196. package/lib/esm/webgl.d.ts.map +1 -1
  1197. package/lib/esm/webgl.js +5 -0
  1198. package/lib/esm/webgl.js.map +1 -1
  1199. package/lib/public/locales/en/iModelJs.json +3 -1
  1200. package/package.json +33 -28
  1201. package/lib/cjs/RealityDataAccessProps.d.ts +0 -44
  1202. package/lib/cjs/RealityDataAccessProps.d.ts.map +0 -1
  1203. package/lib/cjs/RealityDataAccessProps.js +0 -23
  1204. package/lib/cjs/RealityDataAccessProps.js.map +0 -1
  1205. package/lib/cjs/RealityDataConnection.d.ts +0 -31
  1206. package/lib/cjs/RealityDataConnection.d.ts.map +0 -1
  1207. package/lib/cjs/RealityDataConnection.js +0 -101
  1208. package/lib/cjs/RealityDataConnection.js.map +0 -1
  1209. package/lib/cjs/tile/map/MapLayerSettingsService.d.ts +0 -39
  1210. package/lib/cjs/tile/map/MapLayerSettingsService.d.ts.map +0 -1
  1211. package/lib/cjs/tile/map/MapLayerSettingsService.js +0 -190
  1212. package/lib/cjs/tile/map/MapLayerSettingsService.js.map +0 -1
  1213. package/lib/esm/RealityDataAccessProps.d.ts +0 -44
  1214. package/lib/esm/RealityDataAccessProps.d.ts.map +0 -1
  1215. package/lib/esm/RealityDataAccessProps.js +0 -20
  1216. package/lib/esm/RealityDataAccessProps.js.map +0 -1
  1217. package/lib/esm/RealityDataConnection.d.ts +0 -31
  1218. package/lib/esm/RealityDataConnection.d.ts.map +0 -1
  1219. package/lib/esm/RealityDataConnection.js +0 -98
  1220. package/lib/esm/RealityDataConnection.js.map +0 -1
  1221. package/lib/esm/tile/map/MapLayerSettingsService.d.ts +0 -39
  1222. package/lib/esm/tile/map/MapLayerSettingsService.d.ts.map +0 -1
  1223. package/lib/esm/tile/map/MapLayerSettingsService.js +0 -186
  1224. package/lib/esm/tile/map/MapLayerSettingsService.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BackgroundMapGeometry.js","sourceRoot":"","sources":["../../src/BackgroundMapGeometry.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Views\r\n */\r\n\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport { Angle, Arc3d, ClipPlane, ClipPlaneContainment, Constant, CurvePrimitive, Ellipsoid, GrowableXYZArray, LongitudeLatitudeNumber, Matrix3d, Plane3dByOriginAndUnitNormal, Point2d, Point3d, Point4d, Range1d, Range3d, Ray3d, Transform, Vector3d, XYAndZ } from \"@itwin/core-geometry\";\r\nimport { Cartographic, ColorByName, ColorDef, Frustum, GeoCoordStatus, GlobeMode } from \"@itwin/core-common\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { GraphicBuilder } from \"./render/GraphicBuilder\";\r\nimport { WebMercatorTilingScheme } from \"./tile/internal\";\r\n\r\nconst scratchRange = Range3d.createNull();\r\nconst scratchZeroPoint = Point3d.createZero();\r\nconst scratchPoint = Point3d.create();\r\nconst scratchVector = Vector3d.create();\r\nconst scratchCenterPoint = Point3d.createZero();\r\nconst scratchIntersectRay = Ray3d.create(Point3d.create(), Vector3d.create());\r\nconst scratchEyePoint = Point3d.createZero();\r\nconst scratchViewRotation = Matrix3d.createIdentity();\r\nconst scratchSilhouetteNormal = Vector3d.create();\r\nconst scratchCartoRectangle = new GrowableXYZArray();\r\nconst scratchWorkArray = new GrowableXYZArray();\r\n\r\nfunction accumulateDepthRange(point: Point3d, viewRotation: Matrix3d, range: Range3d) {\r\n viewRotation.multiplyXYZtoXYZ(point, scratchPoint);\r\n range.extend(scratchPoint);\r\n}\r\n\r\nfunction accumulateFrustumPlaneDepthRange(frustum: Frustum, plane: Plane3dByOriginAndUnitNormal, viewRotation: Matrix3d, range: Range3d, eyePoint?: Point3d) {\r\n let includeHorizon = false;\r\n for (let i = 0; i < 4; i++) {\r\n const frustumRay = Ray3d.createStartEnd(eyePoint ? eyePoint : frustum.points[i + 4], frustum.points[i]);\r\n const thisFraction = frustumRay.intersectionWithPlane(plane, scratchPoint);\r\n if (undefined !== thisFraction && (!eyePoint || thisFraction > 0))\r\n accumulateDepthRange(scratchPoint, viewRotation, range);\r\n else\r\n includeHorizon = true;\r\n }\r\n if (includeHorizon) {\r\n if (eyePoint !== undefined) {\r\n const eyeHeight = plane.altitude(eyePoint);\r\n if (eyeHeight < 0)\r\n accumulateDepthRange(eyePoint, viewRotation, range);\r\n else {\r\n const viewZ = viewRotation.getRow(2);\r\n const horizonDistance = Math.sqrt(eyeHeight * eyeHeight + 2 * eyeHeight * Constant.earthRadiusWGS84.equator);\r\n accumulateDepthRange(eyePoint.plusScaled(viewZ, -horizonDistance, scratchPoint), viewRotation, range);\r\n }\r\n }\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport function getFrustumPlaneIntersectionDepthRange(frustum: Frustum, plane: Plane3dByOriginAndUnitNormal): Range1d {\r\n const eyePoint = frustum.getEyePoint(scratchEyePoint);\r\n const viewRotation = frustum.getRotation(scratchViewRotation)!;\r\n const intersectRange = Range3d.createNull();\r\n accumulateFrustumPlaneDepthRange(frustum, plane, viewRotation, intersectRange, eyePoint);\r\n\r\n return intersectRange.isNull ? Range1d.createNull() : Range1d.createXX(intersectRange.low.z, intersectRange.high.z);\r\n}\r\n\r\n/** Geometry of background map - either an ellipsoid or a plane as defined by GlobeMode.\r\n * @internal\r\n */\r\nexport class BackgroundMapGeometry {\r\n public readonly globeMode: GlobeMode;\r\n public readonly geometry: Plane3dByOriginAndUnitNormal | Ellipsoid;\r\n public readonly globeOrigin: Point3d;\r\n public readonly globeMatrix: Matrix3d;\r\n public readonly cartesianRange: Range3d;\r\n public readonly cartesianTransitionRange: Range3d;\r\n public readonly cartesianPlane: Plane3dByOriginAndUnitNormal;\r\n public readonly cartesianDiagonal: number;\r\n public readonly cartesianChordHeight: number;\r\n public readonly maxGeometryChordHeight: number;\r\n private _mercatorFractionToDb: Transform;\r\n private _mercatorTilingScheme: WebMercatorTilingScheme;\r\n private _ecefToDb: Transform;\r\n public static maxCartesianDistance = 1E4; // If globe is 3D we still consider the map geometry flat within this distance of the project extents.\r\n private static _transitionDistanceMultiplier = .25; // In the transition range which extends beyond the cartesian range we interpolate between cartesian and ellipsoid.\r\n\r\n private static _scratchRayFractions = new Array<number>();\r\n private static _scratchRayAngles = new Array<LongitudeLatitudeNumber>();\r\n private static _scratchPoint = Point3d.createZero();\r\n\r\n constructor(private _bimElevationBias: number, globeMode: GlobeMode, private _iModel: IModelConnection) {\r\n this._ecefToDb = _iModel.getMapEcefToDb(_bimElevationBias);\r\n this.globeMode = globeMode;\r\n this.cartesianRange = BackgroundMapGeometry.getCartesianRange(_iModel);\r\n this.cartesianTransitionRange = this.cartesianRange.clone();\r\n this.cartesianTransitionRange.expandInPlace(BackgroundMapGeometry.getCartesianTransitionDistance(_iModel));\r\n this.cartesianDiagonal = this.cartesianRange.diagonal().magnitudeXY();\r\n const earthRadius = Constant.earthRadiusWGS84.equator;\r\n this.globeOrigin = this._ecefToDb.origin.cloneAsPoint3d();\r\n this.globeMatrix = this._ecefToDb.matrix.clone();\r\n this.cartesianChordHeight = Math.sqrt(this.cartesianDiagonal * this.cartesianDiagonal + earthRadius * earthRadius) - earthRadius; // Maximum chord height deviation of the cartesian area.\r\n const halfChordAngle = Angle.piOver2Radians / 10;\r\n this.maxGeometryChordHeight = (1 - Math.cos(halfChordAngle)) * earthRadius;\r\n this.cartesianPlane = this.getPlane();\r\n this.geometry = (globeMode === GlobeMode.Ellipsoid) ? this.getEarthEllipsoid() : this.cartesianPlane;\r\n this._mercatorTilingScheme = new WebMercatorTilingScheme();\r\n this._mercatorFractionToDb = this._mercatorTilingScheme.computeMercatorFractionToDb(this._ecefToDb, _bimElevationBias, _iModel, false);\r\n }\r\n public static getCartesianRange(iModel: IModelConnection, result?: Range3d): Range3d {\r\n const cartesianRange = Range3d.createFrom(iModel.projectExtents, result);\r\n cartesianRange.expandInPlace(BackgroundMapGeometry.maxCartesianDistance);\r\n return cartesianRange;\r\n }\r\n public static getCartesianTransitionDistance(iModel: IModelConnection): number {\r\n return BackgroundMapGeometry.getCartesianRange(iModel, scratchRange).diagonal().magnitudeXY() * BackgroundMapGeometry._transitionDistanceMultiplier;\r\n }\r\n\r\n public async dbToCartographicFromGcs(db: XYAndZ, result?: Cartographic): Promise<Cartographic> {\r\n return this.cartesianRange.containsPoint(Point3d.createFrom(db)) ? this._iModel.spatialToCartographic(db, result) : this.dbToCartographic(db, result);\r\n }\r\n\r\n public dbToCartographic(db: XYAndZ, result?: Cartographic): Cartographic {\r\n if (undefined === result)\r\n result = Cartographic.createZero();\r\n\r\n if (this.globeMode === GlobeMode.Plane) {\r\n const mercatorFraction = this._mercatorFractionToDb.multiplyInversePoint3d(db)!;\r\n return this._mercatorTilingScheme.fractionToCartographic(mercatorFraction.x, mercatorFraction.y, result, mercatorFraction.z);\r\n } else {\r\n const ecef = this._ecefToDb.multiplyInversePoint3d(db)!;\r\n return Cartographic.fromEcef(ecef, result)!;\r\n }\r\n }\r\n\r\n public async cartographicToDbFromGcs(cartographic: Cartographic, result?: Point3d): Promise<Point3d> {\r\n let db;\r\n if (this.globeMode === GlobeMode.Plane) {\r\n const fraction = Point2d.create(0, 0);\r\n this._mercatorTilingScheme.cartographicToFraction(cartographic.latitude, cartographic.longitude, fraction);\r\n db = this._mercatorFractionToDb.multiplyXYZ(fraction.x, fraction.y, cartographic.height, result);\r\n } else {\r\n db = this._ecefToDb.multiplyPoint3d(cartographic.toEcef())!;\r\n }\r\n return (!this._iModel.noGcsDefined && this.cartesianRange.containsPoint(db)) ? this._iModel.cartographicToSpatialFromGcs(cartographic) : db;\r\n }\r\n public cartographicToDb(cartographic: Cartographic, result?: Point3d): Point3d {\r\n if (this.globeMode === GlobeMode.Plane) {\r\n const fraction = Point2d.create(0, 0);\r\n this._mercatorTilingScheme.cartographicToFraction(cartographic.latitude, cartographic.longitude, fraction);\r\n return this._mercatorFractionToDb.multiplyXYZ(fraction.x, fraction.y, cartographic.height, result);\r\n } else {\r\n return this._ecefToDb.multiplyPoint3d(cartographic.toEcef())!;\r\n }\r\n }\r\n\r\n public getEarthEllipsoid(radiusOffset = 0): Ellipsoid {\r\n const equatorRadius = Constant.earthRadiusWGS84.equator + radiusOffset, polarRadius = Constant.earthRadiusWGS84.polar + radiusOffset;\r\n return Ellipsoid.createCenterMatrixRadii(this.globeOrigin, this.globeMatrix, equatorRadius, equatorRadius, polarRadius);\r\n }\r\n public getPlane(offset = 0) {\r\n return Plane3dByOriginAndUnitNormal.create(Point3d.create(0, 0, this._bimElevationBias + offset), Vector3d.create(0, 0, 1))!;\r\n }\r\n\r\n public getRayIntersection(ray: Ray3d, positiveOnly: boolean): Ray3d | undefined {\r\n let intersect;\r\n if (this.globeMode === GlobeMode.Ellipsoid) {\r\n const ellipsoid = this.geometry as Ellipsoid;\r\n BackgroundMapGeometry._scratchRayAngles.length = 0;\r\n BackgroundMapGeometry._scratchRayFractions.length = 0;\r\n\r\n const count = ellipsoid.intersectRay(ray, BackgroundMapGeometry._scratchRayFractions, undefined, BackgroundMapGeometry._scratchRayAngles);\r\n let intersectDistance;\r\n for (let i = 0; i < count; i++) {\r\n const thisFraction = BackgroundMapGeometry._scratchRayFractions[i];\r\n if ((!positiveOnly || thisFraction > 0) && (undefined === intersectDistance || thisFraction < intersectDistance)) {\r\n intersectDistance = thisFraction;\r\n intersect = scratchIntersectRay;\r\n ellipsoid.radiansToUnitNormalRay(BackgroundMapGeometry._scratchRayAngles[i].longitudeRadians, BackgroundMapGeometry._scratchRayAngles[i].latitudeRadians, intersect);\r\n if (intersect.direction.dotProduct(ray.direction) < 0) {\r\n if (this.cartesianRange.containsPoint(intersect.origin)) { // If we're in the cartesian range, correct to planar intersection.\r\n const planeFraction = ray.intersectionWithPlane(this.cartesianPlane, scratchIntersectRay.origin);\r\n if (undefined !== planeFraction && (!positiveOnly || planeFraction > 0)) {\r\n intersect.direction.setFromVector3d(this.cartesianPlane.getNormalRef());\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n const plane = this.geometry as Plane3dByOriginAndUnitNormal;\r\n const thisFraction = ray.intersectionWithPlane(plane, scratchIntersectRay.origin);\r\n if (undefined !== thisFraction && (!positiveOnly || thisFraction > 0)) {\r\n intersect = scratchIntersectRay;\r\n intersect.direction.setFromVector3d(plane.getNormalRef());\r\n }\r\n }\r\n return intersect;\r\n }\r\n public getPointHeight(point: Point3d): number | undefined {\r\n if (this.globeMode === GlobeMode.Ellipsoid) {\r\n const ellipsoid = this.geometry as Ellipsoid;\r\n const projected = ellipsoid.projectPointToSurface(point);\r\n if (undefined === projected)\r\n return undefined;\r\n\r\n const distance = ellipsoid.radiansToPoint(projected.longitudeRadians, projected.latitudeRadians).distance(point);\r\n const ellipsePoint = ellipsoid.transformRef.multiplyInversePoint3d(point, BackgroundMapGeometry._scratchPoint)!;\r\n return ellipsePoint.magnitude() < 1 ? -distance : distance;\r\n } else {\r\n const plane = this.geometry as Plane3dByOriginAndUnitNormal;\r\n return plane.altitude(point);\r\n }\r\n }\r\n\r\n /** @internal */\r\n public getFrustumIntersectionDepthRange(frustum: Frustum, heightRange?: Range1d, gridPlane?: Plane3dByOriginAndUnitNormal, doGlobalScope?: boolean): Range1d {\r\n const clipPlanes = frustum.getRangePlanes(false, false, 0);\r\n const eyePoint = frustum.getEyePoint(scratchEyePoint);\r\n const viewRotation = frustum.getRotation(scratchViewRotation);\r\n if (undefined === viewRotation)\r\n return Range1d.createNull(); // Degenerate frustum...\r\n const viewZ = viewRotation.getRow(2);\r\n const cartoRange = this.cartesianTransitionRange;\r\n const intersectRange = Range3d.createNull();\r\n const doAccumulate = ((point: Point3d) => accumulateDepthRange(point, viewRotation, intersectRange));\r\n\r\n if (gridPlane)\r\n accumulateFrustumPlaneDepthRange(frustum, gridPlane, viewRotation, intersectRange, eyePoint);\r\n if (this.geometry instanceof Plane3dByOriginAndUnitNormal) {\r\n // Intersection with a planar background projection...\r\n const heights = heightRange ? [heightRange.low, heightRange.high] : [0];\r\n for (const height of heights) {\r\n accumulateFrustumPlaneDepthRange(frustum, this.getPlane(height), viewRotation, intersectRange, eyePoint);\r\n }\r\n } else {\r\n const minOffset = heightRange ? heightRange.low : 0, maxOffset = (heightRange ? heightRange.high : 0) + this.cartesianChordHeight;\r\n const radiusOffsets = [minOffset, maxOffset];\r\n\r\n // If we are doing global scope then include minimum ellipsoid that represents the chordal approximation of the low level tiles.\r\n // this substantially expands the frustum so don't do it for non-global views, but this clipping out the low level tiles.\r\n if (doGlobalScope)\r\n radiusOffsets.push(minOffset - this.maxGeometryChordHeight);\r\n\r\n const toView = Transform.createRefs(Point3d.createZero(), viewRotation);\r\n const eyePoint4d = eyePoint ? Point4d.createFromPointAndWeight(eyePoint, 1) : Point4d.createFromPointAndWeight(viewZ, 0);\r\n\r\n for (const radiusOffset of radiusOffsets) {\r\n const ellipsoid = this.getEarthEllipsoid(radiusOffset);\r\n const isInside = eyePoint && ellipsoid.worldToLocal(eyePoint)!.magnitude() < 1.0;\r\n const center = ellipsoid.localToWorld(scratchZeroPoint, scratchCenterPoint);\r\n const clipPlaneCount = clipPlanes.planes.length;\r\n\r\n // Extrema...\r\n let angles, extremaPoint;\r\n if (undefined !== (angles = ellipsoid.surfaceNormalToAngles(viewZ)) &&\r\n undefined !== (extremaPoint = ellipsoid.radiansToPoint(angles.longitudeRadians, angles.latitudeRadians)) &&\r\n (eyePoint === undefined || viewZ.dotProductStartEnd(extremaPoint, eyePoint) > 0) &&\r\n clipPlanes.classifyPointContainment([extremaPoint], false) !== ClipPlaneContainment.StronglyOutside)\r\n doAccumulate(extremaPoint);\r\n\r\n if (isInside) {\r\n if (eyePoint) doAccumulate(eyePoint);\r\n } else {\r\n const silhouette = ellipsoid.silhouetteArc(eyePoint4d);\r\n if (silhouette !== undefined) {\r\n silhouette.perpendicularVector.clone(scratchSilhouetteNormal);\r\n // Push the silhouette plane as clip so that we do not include geometry at other side of ellipsoid.\r\n // First make sure that it is pointing in the right direction.\r\n if (eyePoint) {\r\n // Clip toward eye.\r\n if (scratchSilhouetteNormal.dotProduct(viewZ) < 0)\r\n scratchSilhouetteNormal.negate(scratchSilhouetteNormal);\r\n } else {\r\n /* If parallel projection - clip toward side of ellipsoid with BIM geometry */\r\n if (viewZ.dotProduct(scratchSilhouetteNormal) < 0)\r\n scratchSilhouetteNormal.negate(scratchSilhouetteNormal);\r\n }\r\n clipPlanes.planes.push(ClipPlane.createNormalAndDistance(scratchSilhouetteNormal, scratchSilhouetteNormal.dotProduct(silhouette.center))!);\r\n } else {\r\n clipPlanes.planes.push(ClipPlane.createNormalAndPoint(viewZ, center)!);\r\n }\r\n }\r\n if (!isInside || radiusOffset === radiusOffsets[0]) {\r\n // Intersections of ellipsoid with frustum planes...\r\n const viewingInside = eyePoint !== undefined && viewZ.dotProduct(Vector3d.createStartEnd(center, eyePoint)) < 0;\r\n if (eyePoint === undefined || !isInside || viewingInside) {\r\n for (const clipPlane of clipPlanes.planes) {\r\n const plane = clipPlane.getPlane3d();\r\n const arc = ellipsoid.createPlaneSection(plane);\r\n if (undefined !== arc) {\r\n arc.announceClipIntervals(clipPlanes, (a0: number, a1: number, cp: CurvePrimitive) => {\r\n if (Math.abs(a1 - a0) < 1.0E-8) {\r\n doAccumulate(cp.fractionToPoint(a0)); // Tiny sweep - avoid problem with rangeMethod (not worth doing anyway).\r\n } else {\r\n const segment = cp.clonePartialCurve(a0, a1);\r\n if (segment !== undefined)\r\n segment.extendRange(intersectRange, toView);\r\n\r\n }\r\n });\r\n }\r\n }\r\n }\r\n // Intersections of the cartesian region with frustum planes.\r\n scratchCartoRectangle.resize(0);\r\n scratchCartoRectangle.push({ x: cartoRange.low.x, y: cartoRange.low.y, z: radiusOffset });\r\n scratchCartoRectangle.push({ x: cartoRange.high.x, y: cartoRange.low.y, z: radiusOffset });\r\n scratchCartoRectangle.push({ x: cartoRange.high.x, y: cartoRange.high.y, z: radiusOffset });\r\n scratchCartoRectangle.push({ x: cartoRange.low.x, y: cartoRange.high.y, z: radiusOffset });\r\n scratchCartoRectangle.push({ x: cartoRange.low.x, y: cartoRange.low.y, z: radiusOffset });\r\n\r\n clipPlanes.clipConvexPolygonInPlace(scratchCartoRectangle, scratchWorkArray);\r\n for (let i = 0; i < scratchCartoRectangle.length; i++)\r\n doAccumulate(scratchCartoRectangle.getPoint3dAtUncheckedPointIndex(i));\r\n while (clipPlanes.planes.length > clipPlaneCount) // Remove pushed silhouette plane.\r\n clipPlanes.planes.pop();\r\n }\r\n }\r\n }\r\n\r\n if (intersectRange.zLength() < 5) {\r\n // For the case where the fitted depth is small (less than 5 meters) we must be viewing planar projection or the\r\n // planar portion of the iModel in plan view. In this case use a constant (arbitrarily 100 meters) depth so that the frustum\r\n // Z is doesn't change and cause nearly planar geometry to jitter in Z buffer.\r\n const zCenter = (intersectRange.low.z + intersectRange.high.z) / 2;\r\n const zExpand = 50;\r\n return Range1d.createXX(zCenter - zExpand, zCenter + zExpand);\r\n } else {\r\n const diagonal = intersectRange.diagonal(scratchVector).magnitudeXY();\r\n const expansion = diagonal * .01;\r\n return Range1d.createXX(intersectRange.low.z - expansion, intersectRange.high.z + expansion);\r\n }\r\n }\r\n\r\n public addFrustumDecorations(builder: GraphicBuilder, frustum: Frustum) {\r\n if (this.geometry instanceof Ellipsoid) {\r\n const ellipsoid = this.geometry;\r\n const clipPlanes = frustum.getRangePlanes(false, false, 0);\r\n const viewRotation = frustum.getRotation()!;\r\n const eyePoint = frustum.getEyePoint(scratchEyePoint);\r\n const viewZ = viewRotation.getRow(2);\r\n const eyePoint4d = eyePoint ? Point4d.createFromPointAndWeight(eyePoint, 1) : Point4d.createFromPointAndWeight(viewZ, 0);\r\n const isInside = eyePoint && ellipsoid.worldToLocal(eyePoint)!.magnitude() < 1.0;\r\n const center = ellipsoid.localToWorld(scratchZeroPoint, scratchCenterPoint);\r\n const cartoRange = this.cartesianTransitionRange;\r\n\r\n if (!isInside) {\r\n const silhouette = ellipsoid.silhouetteArc(eyePoint4d);\r\n if (silhouette !== undefined) {\r\n silhouette.perpendicularVector.clone(scratchSilhouetteNormal);\r\n if (scratchSilhouetteNormal.dotProduct(viewZ) < 0)\r\n scratchSilhouetteNormal.negate(scratchSilhouetteNormal);\r\n clipPlanes.planes.push(ClipPlane.createNormalAndDistance(scratchSilhouetteNormal, scratchSilhouetteNormal.dotProduct(silhouette.center))!);\r\n } else {\r\n clipPlanes.planes.push(ClipPlane.createNormalAndPoint(viewZ, center)!);\r\n }\r\n\r\n const ellipsoidColor = ColorDef.create(ColorByName.yellow);\r\n builder.setSymbology(ellipsoidColor, ellipsoidColor, 1, 2);\r\n for (const clipPlane of clipPlanes.planes) {\r\n const plane = clipPlane.getPlane3d();\r\n const arc = ellipsoid.createPlaneSection(plane);\r\n if (undefined !== arc) {\r\n arc.announceClipIntervals(clipPlanes, (a0: number, a1: number, cp: CurvePrimitive) => {\r\n const segment = cp.clonePartialCurve(a0, a1);\r\n if (segment !== undefined)\r\n builder.addArc(segment as Arc3d, false, false);\r\n });\r\n }\r\n\r\n // Intersections of the cartesian region with frustum planes.\r\n scratchCartoRectangle.resize(0);\r\n scratchCartoRectangle.push({ x: cartoRange.low.x, y: cartoRange.low.y, z: 0 });\r\n scratchCartoRectangle.push({ x: cartoRange.high.x, y: cartoRange.low.y, z: 0 });\r\n scratchCartoRectangle.push({ x: cartoRange.high.x, y: cartoRange.high.y, z: 0 });\r\n scratchCartoRectangle.push({ x: cartoRange.low.x, y: cartoRange.high.y, z: 0 });\r\n scratchCartoRectangle.push({ x: cartoRange.low.x, y: cartoRange.low.y, z: 0 });\r\n\r\n clipPlanes.clipConvexPolygonInPlace(scratchCartoRectangle, scratchWorkArray);\r\n if (scratchCartoRectangle.length > 0) {\r\n builder.addLineString(scratchCartoRectangle.getPoint3dArray());\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n/** Calculate the ECEF to database (IModel) coordinate transform at a provided location, using the GCS of the iModel.\r\n * The transform will exactly represent the GCS at the provided location.\r\n * @public\r\n */\r\nexport async function calculateEcefToDbTransformAtLocation(originIn: Point3d, iModel: IModelConnection): Promise<Transform | undefined> {\r\n const geoConverter = iModel.noGcsDefined ? undefined : iModel.geoServices.getConverter(\"WGS84\");\r\n if (geoConverter === undefined)\r\n return undefined;\r\n\r\n const origin = Point3d.create(originIn.x, originIn.y, 0); // Always Test at zero.\r\n const eastPoint = origin.plusXYZ(1, 0, 0);\r\n const northPoint = origin.plusXYZ(0, 1, 0);\r\n\r\n const response = await geoConverter.getGeoCoordinatesFromIModelCoordinates([origin, northPoint, eastPoint]);\r\n if (response.geoCoords[0].s !== GeoCoordStatus.Success || response.geoCoords[1].s !== GeoCoordStatus.Success || response.geoCoords[2].s !== GeoCoordStatus.Success)\r\n return undefined;\r\n\r\n const geoOrigin = Point3d.fromJSON(response.geoCoords[0].p);\r\n const geoNorth = Point3d.fromJSON(response.geoCoords[1].p);\r\n const geoEast = Point3d.fromJSON(response.geoCoords[2].p);\r\n const ecefOrigin = Cartographic.fromDegrees({ longitude: geoOrigin.x, latitude: geoOrigin.y, height: geoOrigin.z }).toEcef()!;\r\n const ecefNorth = Cartographic.fromDegrees({ longitude: geoNorth.x, latitude: geoNorth.y, height: geoNorth.z }).toEcef()!;\r\n const ecefEast = Cartographic.fromDegrees({ longitude: geoEast.x, latitude: geoEast.y, height: geoEast.z }).toEcef()!;\r\n\r\n const xVector = Vector3d.createStartEnd(ecefOrigin, ecefEast);\r\n const yVector = Vector3d.createStartEnd(ecefOrigin, ecefNorth);\r\n const zVector = xVector.unitCrossProduct(yVector);\r\n if (undefined === zVector) {\r\n assert(false); // Should never occur.\r\n return undefined;\r\n }\r\n const matrix = Matrix3d.createColumns(xVector, yVector, zVector);\r\n if (matrix === undefined)\r\n return undefined;\r\n\r\n const inverse = matrix.inverse();\r\n if (inverse === undefined) {\r\n assert(false); // Should never occur.\r\n return undefined;\r\n }\r\n\r\n return Transform.createMatrixPickupPutdown(matrix, origin, ecefOrigin).inverse()!;\r\n}\r\n\r\n"]}
1
+ {"version":3,"file":"BackgroundMapGeometry.js","sourceRoot":"","sources":["../../src/BackgroundMapGeometry.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Views\r\n */\r\n\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport { Angle, Arc3d, ClipPlane, ClipPlaneContainment, Constant, CurvePrimitive, Ellipsoid, GrowableXYZArray, LongitudeLatitudeNumber, Matrix3d, Plane3dByOriginAndUnitNormal, Point2d, Point3d, Point4d, Range1d, Range3d, Ray3d, Transform, Vector3d, XYAndZ } from \"@itwin/core-geometry\";\r\nimport { Cartographic, ColorByName, ColorDef, Frustum, GeoCoordStatus, GlobeMode } from \"@itwin/core-common\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { GraphicBuilder } from \"./render/GraphicBuilder\";\r\nimport { WebMercatorTilingScheme } from \"./tile/internal\";\r\n\r\nconst scratchRange = Range3d.createNull();\r\nconst scratchZeroPoint = Point3d.createZero();\r\nconst scratchPoint = Point3d.create();\r\nconst scratchVector = Vector3d.create();\r\nconst scratchCenterPoint = Point3d.createZero();\r\nconst scratchIntersectRay = Ray3d.create(Point3d.create(), Vector3d.create());\r\nconst scratchEyePoint = Point3d.createZero();\r\nconst scratchViewRotation = Matrix3d.createIdentity();\r\nconst scratchSilhouetteNormal = Vector3d.create();\r\nconst scratchCartoRectangle = new GrowableXYZArray();\r\nconst scratchWorkArray = new GrowableXYZArray();\r\n\r\nfunction accumulateDepthRange(point: Point3d, viewRotation: Matrix3d, range: Range3d) {\r\n viewRotation.multiplyXYZtoXYZ(point, scratchPoint);\r\n range.extend(scratchPoint);\r\n}\r\n\r\nfunction accumulateFrustumPlaneDepthRange(frustum: Frustum, plane: Plane3dByOriginAndUnitNormal, viewRotation: Matrix3d, range: Range3d, eyePoint?: Point3d) {\r\n let includeHorizon = false;\r\n for (let i = 0; i < 4; i++) {\r\n const frustumRay = Ray3d.createStartEnd(eyePoint ? eyePoint : frustum.points[i + 4], frustum.points[i]);\r\n const thisFraction = frustumRay.intersectionWithPlane(plane, scratchPoint);\r\n if (undefined !== thisFraction && (!eyePoint || thisFraction > 0))\r\n accumulateDepthRange(scratchPoint, viewRotation, range);\r\n else\r\n includeHorizon = true;\r\n }\r\n if (includeHorizon) {\r\n if (eyePoint !== undefined) {\r\n const eyeHeight = plane.altitude(eyePoint);\r\n if (eyeHeight < 0)\r\n accumulateDepthRange(eyePoint, viewRotation, range);\r\n else {\r\n const viewZ = viewRotation.getRow(2);\r\n const horizonDistance = Math.sqrt(eyeHeight * eyeHeight + 2 * eyeHeight * Constant.earthRadiusWGS84.equator);\r\n accumulateDepthRange(eyePoint.plusScaled(viewZ, -horizonDistance, scratchPoint), viewRotation, range);\r\n }\r\n }\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport function getFrustumPlaneIntersectionDepthRange(frustum: Frustum, plane: Plane3dByOriginAndUnitNormal): Range1d {\r\n const eyePoint = frustum.getEyePoint(scratchEyePoint);\r\n const viewRotation = frustum.getRotation(scratchViewRotation)!;\r\n const intersectRange = Range3d.createNull();\r\n accumulateFrustumPlaneDepthRange(frustum, plane, viewRotation, intersectRange, eyePoint);\r\n\r\n return intersectRange.isNull ? Range1d.createNull() : Range1d.createXX(intersectRange.low.z, intersectRange.high.z);\r\n}\r\n\r\n/** Geometry of background map - either an ellipsoid or a plane as defined by GlobeMode.\r\n * @internal\r\n */\r\nexport class BackgroundMapGeometry {\r\n public readonly globeMode: GlobeMode;\r\n public readonly geometry: Plane3dByOriginAndUnitNormal | Ellipsoid;\r\n public readonly globeOrigin: Point3d;\r\n public readonly globeMatrix: Matrix3d;\r\n public readonly cartesianRange: Range3d;\r\n public readonly cartesianTransitionRange: Range3d;\r\n public readonly cartesianPlane: Plane3dByOriginAndUnitNormal;\r\n public readonly cartesianDiagonal: number;\r\n public readonly cartesianChordHeight: number;\r\n public readonly maxGeometryChordHeight: number;\r\n private _mercatorFractionToDb: Transform;\r\n private _mercatorTilingScheme: WebMercatorTilingScheme;\r\n private _ecefToDb: Transform;\r\n public static maxCartesianDistance = 1E4; // If globe is 3D we still consider the map geometry flat within this distance of the project extents.\r\n private static _transitionDistanceMultiplier = .25; // In the transition range which extends beyond the cartesian range we interpolate between cartesian and ellipsoid.\r\n\r\n private static _scratchRayFractions = new Array<number>();\r\n private static _scratchRayAngles = new Array<LongitudeLatitudeNumber>();\r\n private static _scratchPoint = Point3d.createZero();\r\n\r\n constructor(private _bimElevationBias: number, globeMode: GlobeMode, private _iModel: IModelConnection) {\r\n this._ecefToDb = _iModel.getMapEcefToDb(_bimElevationBias);\r\n this.globeMode = globeMode;\r\n this.cartesianRange = BackgroundMapGeometry.getCartesianRange(_iModel);\r\n this.cartesianTransitionRange = this.cartesianRange.clone();\r\n this.cartesianTransitionRange.expandInPlace(BackgroundMapGeometry.getCartesianTransitionDistance(_iModel));\r\n this.cartesianDiagonal = this.cartesianRange.diagonal().magnitudeXY();\r\n const earthRadius = Constant.earthRadiusWGS84.equator;\r\n this.globeOrigin = this._ecefToDb.origin.cloneAsPoint3d();\r\n this.globeMatrix = this._ecefToDb.matrix.clone();\r\n this.cartesianChordHeight = Math.sqrt(this.cartesianDiagonal * this.cartesianDiagonal + earthRadius * earthRadius) - earthRadius; // Maximum chord height deviation of the cartesian area.\r\n const halfChordAngle = Angle.piOver2Radians / 10;\r\n this.maxGeometryChordHeight = (1 - Math.cos(halfChordAngle)) * earthRadius;\r\n this.cartesianPlane = this.getPlane();\r\n this.geometry = (globeMode === GlobeMode.Ellipsoid) ? this.getEarthEllipsoid() : this.cartesianPlane;\r\n this._mercatorTilingScheme = new WebMercatorTilingScheme();\r\n this._mercatorFractionToDb = this._mercatorTilingScheme.computeMercatorFractionToDb(this._ecefToDb, _bimElevationBias, _iModel, false);\r\n }\r\n public static getCartesianRange(iModel: IModelConnection, result?: Range3d): Range3d {\r\n const cartesianRange = Range3d.createFrom(iModel.projectExtents, result);\r\n cartesianRange.expandInPlace(BackgroundMapGeometry.maxCartesianDistance);\r\n return cartesianRange;\r\n }\r\n public static getCartesianTransitionDistance(iModel: IModelConnection): number {\r\n return BackgroundMapGeometry.getCartesianRange(iModel, scratchRange).diagonal().magnitudeXY() * BackgroundMapGeometry._transitionDistanceMultiplier;\r\n }\r\n\r\n public async dbToCartographicFromGcs(db: XYAndZ, result?: Cartographic): Promise<Cartographic> {\r\n return this.cartesianRange.containsPoint(Point3d.createFrom(db)) ? this._iModel.spatialToCartographic(db, result) : this.dbToCartographic(db, result);\r\n }\r\n\r\n public dbToCartographic(db: XYAndZ, result?: Cartographic): Cartographic {\r\n if (undefined === result)\r\n result = Cartographic.createZero();\r\n\r\n if (this.globeMode === GlobeMode.Plane) {\r\n const mercatorFraction = this._mercatorFractionToDb.multiplyInversePoint3d(db)!;\r\n return this._mercatorTilingScheme.fractionToCartographic(mercatorFraction.x, mercatorFraction.y, result, mercatorFraction.z);\r\n } else {\r\n const ecef = this._ecefToDb.multiplyInversePoint3d(db)!;\r\n return Cartographic.fromEcef(ecef, result)!;\r\n }\r\n }\r\n\r\n public async cartographicToDbFromGcs(cartographic: Cartographic, result?: Point3d): Promise<Point3d> {\r\n let db;\r\n if (this.globeMode === GlobeMode.Plane) {\r\n const fraction = Point2d.create(0, 0);\r\n this._mercatorTilingScheme.cartographicToFraction(cartographic.latitude, cartographic.longitude, fraction);\r\n db = this._mercatorFractionToDb.multiplyXYZ(fraction.x, fraction.y, cartographic.height, result);\r\n } else {\r\n db = this._ecefToDb.multiplyPoint3d(cartographic.toEcef())!;\r\n }\r\n return (!this._iModel.noGcsDefined && this.cartesianRange.containsPoint(db)) ? this._iModel.cartographicToSpatialFromGcs(cartographic) : db;\r\n }\r\n public cartographicToDb(cartographic: Cartographic, result?: Point3d): Point3d {\r\n if (this.globeMode === GlobeMode.Plane) {\r\n const fraction = Point2d.create(0, 0);\r\n this._mercatorTilingScheme.cartographicToFraction(cartographic.latitude, cartographic.longitude, fraction);\r\n return this._mercatorFractionToDb.multiplyXYZ(fraction.x, fraction.y, cartographic.height, result);\r\n } else {\r\n return this._ecefToDb.multiplyPoint3d(cartographic.toEcef())!;\r\n }\r\n }\r\n\r\n public getEarthEllipsoid(radiusOffset = 0): Ellipsoid {\r\n const equatorRadius = Constant.earthRadiusWGS84.equator + radiusOffset, polarRadius = Constant.earthRadiusWGS84.polar + radiusOffset;\r\n return Ellipsoid.createCenterMatrixRadii(this.globeOrigin, this.globeMatrix, equatorRadius, equatorRadius, polarRadius);\r\n }\r\n public getPlane(offset = 0) {\r\n return Plane3dByOriginAndUnitNormal.create(Point3d.create(0, 0, this._bimElevationBias + offset), Vector3d.create(0, 0, 1))!;\r\n }\r\n\r\n public getRayIntersection(ray: Ray3d, positiveOnly: boolean): Ray3d | undefined {\r\n let intersect;\r\n if (this.globeMode === GlobeMode.Ellipsoid) {\r\n const ellipsoid = this.geometry as Ellipsoid;\r\n BackgroundMapGeometry._scratchRayAngles.length = 0;\r\n BackgroundMapGeometry._scratchRayFractions.length = 0;\r\n\r\n const count = ellipsoid.intersectRay(ray, BackgroundMapGeometry._scratchRayFractions, undefined, BackgroundMapGeometry._scratchRayAngles);\r\n let intersectDistance;\r\n for (let i = 0; i < count; i++) {\r\n const thisFraction = BackgroundMapGeometry._scratchRayFractions[i];\r\n if ((!positiveOnly || thisFraction > 0) && (undefined === intersectDistance || thisFraction < intersectDistance)) {\r\n intersectDistance = thisFraction;\r\n intersect = scratchIntersectRay;\r\n ellipsoid.radiansToUnitNormalRay(BackgroundMapGeometry._scratchRayAngles[i].longitudeRadians, BackgroundMapGeometry._scratchRayAngles[i].latitudeRadians, intersect);\r\n if (intersect.direction.dotProduct(ray.direction) < 0) {\r\n if (this.cartesianRange.containsPoint(intersect.origin)) { // If we're in the cartesian range, correct to planar intersection.\r\n const planeFraction = ray.intersectionWithPlane(this.cartesianPlane, scratchIntersectRay.origin);\r\n if (undefined !== planeFraction && (!positiveOnly || planeFraction > 0)) {\r\n intersect.direction.setFromVector3d(this.cartesianPlane.getNormalRef());\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n const plane = this.geometry as Plane3dByOriginAndUnitNormal;\r\n const thisFraction = ray.intersectionWithPlane(plane, scratchIntersectRay.origin);\r\n if (undefined !== thisFraction && (!positiveOnly || thisFraction > 0)) {\r\n intersect = scratchIntersectRay;\r\n intersect.direction.setFromVector3d(plane.getNormalRef());\r\n }\r\n }\r\n return intersect;\r\n }\r\n public getPointHeight(point: Point3d): number | undefined {\r\n if (this.globeMode === GlobeMode.Ellipsoid) {\r\n const ellipsoid = this.geometry as Ellipsoid;\r\n const projected = ellipsoid.projectPointToSurface(point);\r\n if (undefined === projected)\r\n return undefined;\r\n\r\n const distance = ellipsoid.radiansToPoint(projected.longitudeRadians, projected.latitudeRadians).distance(point);\r\n const ellipsePoint = ellipsoid.transformRef.multiplyInversePoint3d(point, BackgroundMapGeometry._scratchPoint)!;\r\n return ellipsePoint.magnitude() < 1 ? -distance : distance;\r\n } else {\r\n const plane = this.geometry as Plane3dByOriginAndUnitNormal;\r\n return plane.altitude(point);\r\n }\r\n }\r\n\r\n /** @internal */\r\n public getFrustumIntersectionDepthRange(frustum: Frustum, bimRange: Range3d, heightRange?: Range1d, gridPlane?: Plane3dByOriginAndUnitNormal, doGlobalScope?: boolean): Range1d {\r\n const clipPlanes = frustum.getRangePlanes(false, false, 0);\r\n const eyePoint = frustum.getEyePoint(scratchEyePoint);\r\n const viewRotation = frustum.getRotation(scratchViewRotation);\r\n if (undefined === viewRotation)\r\n return Range1d.createNull(); // Degenerate frustum...\r\n const viewZ = viewRotation.getRow(2);\r\n const cartoRange = this.cartesianTransitionRange;\r\n const intersectRange = Range3d.createNull();\r\n const doAccumulate = ((point: Point3d) => accumulateDepthRange(point, viewRotation, intersectRange));\r\n\r\n if (gridPlane)\r\n accumulateFrustumPlaneDepthRange(frustum, gridPlane, viewRotation, intersectRange, eyePoint);\r\n if (this.geometry instanceof Plane3dByOriginAndUnitNormal) {\r\n // Intersection with a planar background projection...\r\n const heights = heightRange ? [heightRange.low, heightRange.high] : [0];\r\n for (const height of heights) {\r\n accumulateFrustumPlaneDepthRange(frustum, this.getPlane(height), viewRotation, intersectRange, eyePoint);\r\n }\r\n } else {\r\n const minOffset = heightRange ? heightRange.low : 0, maxOffset = (heightRange ? heightRange.high : 0) + this.cartesianChordHeight;\r\n const radiusOffsets = [minOffset, maxOffset];\r\n\r\n // If we are doing global scope then include minimum ellipsoid that represents the chordal approximation of the low level tiles.\r\n // this substantially expands the frustum so don't do it for non-global views, but this clipping out the low level tiles.\r\n if (doGlobalScope)\r\n radiusOffsets.push(minOffset - this.maxGeometryChordHeight);\r\n\r\n const toView = Transform.createRefs(Point3d.createZero(), viewRotation);\r\n const eyePoint4d = eyePoint ? Point4d.createFromPointAndWeight(eyePoint, 1) : Point4d.createFromPointAndWeight(viewZ, 0);\r\n\r\n for (const radiusOffset of radiusOffsets) {\r\n const ellipsoid = this.getEarthEllipsoid(radiusOffset);\r\n const isInside = eyePoint && ellipsoid.worldToLocal(eyePoint)!.magnitude() < 1.0;\r\n const center = ellipsoid.localToWorld(scratchZeroPoint, scratchCenterPoint);\r\n const clipPlaneCount = clipPlanes.planes.length;\r\n\r\n // Extrema...\r\n let angles, extremaPoint;\r\n if (undefined !== (angles = ellipsoid.surfaceNormalToAngles(viewZ)) &&\r\n undefined !== (extremaPoint = ellipsoid.radiansToPoint(angles.longitudeRadians, angles.latitudeRadians)) &&\r\n (eyePoint === undefined || viewZ.dotProductStartEnd(extremaPoint, eyePoint) > 0) &&\r\n clipPlanes.classifyPointContainment([extremaPoint], false) !== ClipPlaneContainment.StronglyOutside)\r\n doAccumulate(extremaPoint);\r\n\r\n if (isInside) {\r\n if (eyePoint) doAccumulate(eyePoint);\r\n } else {\r\n const silhouette = ellipsoid.silhouetteArc(eyePoint4d);\r\n if (silhouette !== undefined) {\r\n silhouette.perpendicularVector.clone(scratchSilhouetteNormal);\r\n // Push the silhouette plane as clip so that we do not include geometry at other side of ellipsoid.\r\n // First make sure that it is pointing in the right direction.\r\n if (eyePoint) {\r\n // Clip toward eye.\r\n if (scratchSilhouetteNormal.dotProduct(viewZ) < 0)\r\n scratchSilhouetteNormal.negate(scratchSilhouetteNormal);\r\n } else {\r\n /* If parallel projection - clip toward side of ellipsoid with BIM geometry */\r\n if (Vector3d.createStartEnd(silhouette.center, bimRange.center).dotProduct(scratchSilhouetteNormal) < 0)\r\n scratchSilhouetteNormal.negate(scratchSilhouetteNormal);\r\n }\r\n clipPlanes.planes.push(ClipPlane.createNormalAndDistance(scratchSilhouetteNormal, scratchSilhouetteNormal.dotProduct(silhouette.center))!);\r\n } else {\r\n clipPlanes.planes.push(ClipPlane.createNormalAndPoint(viewZ, center)!);\r\n }\r\n }\r\n if (!isInside || radiusOffset === radiusOffsets[0]) {\r\n // Intersections of ellipsoid with frustum planes...\r\n const viewingInside = eyePoint !== undefined && viewZ.dotProduct(Vector3d.createStartEnd(center, eyePoint)) < 0;\r\n if (eyePoint === undefined || !isInside || viewingInside) {\r\n for (const clipPlane of clipPlanes.planes) {\r\n const plane = clipPlane.getPlane3d();\r\n const arc = ellipsoid.createPlaneSection(plane);\r\n if (undefined !== arc) {\r\n arc.announceClipIntervals(clipPlanes, (a0: number, a1: number, cp: CurvePrimitive) => {\r\n if (Math.abs(a1 - a0) < 1.0E-8) {\r\n doAccumulate(cp.fractionToPoint(a0)); // Tiny sweep - avoid problem with rangeMethod (not worth doing anyway).\r\n } else {\r\n const segment = cp.clonePartialCurve(a0, a1);\r\n if (segment !== undefined)\r\n segment.extendRange(intersectRange, toView);\r\n\r\n }\r\n });\r\n }\r\n }\r\n }\r\n // Intersections of the cartesian region with frustum planes.\r\n scratchCartoRectangle.resize(0);\r\n scratchCartoRectangle.push({ x: cartoRange.low.x, y: cartoRange.low.y, z: radiusOffset });\r\n scratchCartoRectangle.push({ x: cartoRange.high.x, y: cartoRange.low.y, z: radiusOffset });\r\n scratchCartoRectangle.push({ x: cartoRange.high.x, y: cartoRange.high.y, z: radiusOffset });\r\n scratchCartoRectangle.push({ x: cartoRange.low.x, y: cartoRange.high.y, z: radiusOffset });\r\n scratchCartoRectangle.push({ x: cartoRange.low.x, y: cartoRange.low.y, z: radiusOffset });\r\n\r\n clipPlanes.clipConvexPolygonInPlace(scratchCartoRectangle, scratchWorkArray);\r\n for (let i = 0; i < scratchCartoRectangle.length; i++)\r\n doAccumulate(scratchCartoRectangle.getPoint3dAtUncheckedPointIndex(i));\r\n while (clipPlanes.planes.length > clipPlaneCount) // Remove pushed silhouette plane.\r\n clipPlanes.planes.pop();\r\n }\r\n }\r\n }\r\n\r\n if (intersectRange.zLength() < 5) {\r\n // For the case where the fitted depth is small (less than 5 meters) we must be viewing planar projection or the\r\n // planar portion of the iModel in plan view. In this case use a constant (arbitrarily 100 meters) depth so that the frustum\r\n // Z is doesn't change and cause nearly planar geometry to jitter in Z buffer.\r\n const zCenter = (intersectRange.low.z + intersectRange.high.z) / 2;\r\n const zExpand = 50;\r\n return Range1d.createXX(zCenter - zExpand, zCenter + zExpand);\r\n } else {\r\n const diagonal = intersectRange.diagonal(scratchVector).magnitudeXY();\r\n const expansion = diagonal * .01;\r\n return Range1d.createXX(intersectRange.low.z - expansion, intersectRange.high.z + expansion);\r\n }\r\n }\r\n\r\n public addFrustumDecorations(builder: GraphicBuilder, frustum: Frustum) {\r\n if (this.geometry instanceof Ellipsoid) {\r\n const ellipsoid = this.geometry;\r\n const clipPlanes = frustum.getRangePlanes(false, false, 0);\r\n const viewRotation = frustum.getRotation()!;\r\n const eyePoint = frustum.getEyePoint(scratchEyePoint);\r\n const viewZ = viewRotation.getRow(2);\r\n const eyePoint4d = eyePoint ? Point4d.createFromPointAndWeight(eyePoint, 1) : Point4d.createFromPointAndWeight(viewZ, 0);\r\n const isInside = eyePoint && ellipsoid.worldToLocal(eyePoint)!.magnitude() < 1.0;\r\n const center = ellipsoid.localToWorld(scratchZeroPoint, scratchCenterPoint);\r\n const cartoRange = this.cartesianTransitionRange;\r\n\r\n if (!isInside) {\r\n const silhouette = ellipsoid.silhouetteArc(eyePoint4d);\r\n if (silhouette !== undefined) {\r\n silhouette.perpendicularVector.clone(scratchSilhouetteNormal);\r\n if (scratchSilhouetteNormal.dotProduct(viewZ) < 0)\r\n scratchSilhouetteNormal.negate(scratchSilhouetteNormal);\r\n clipPlanes.planes.push(ClipPlane.createNormalAndDistance(scratchSilhouetteNormal, scratchSilhouetteNormal.dotProduct(silhouette.center))!);\r\n } else {\r\n clipPlanes.planes.push(ClipPlane.createNormalAndPoint(viewZ, center)!);\r\n }\r\n\r\n const ellipsoidColor = ColorDef.create(ColorByName.yellow);\r\n builder.setSymbology(ellipsoidColor, ellipsoidColor, 1, 2);\r\n for (const clipPlane of clipPlanes.planes) {\r\n const plane = clipPlane.getPlane3d();\r\n const arc = ellipsoid.createPlaneSection(plane);\r\n if (undefined !== arc) {\r\n arc.announceClipIntervals(clipPlanes, (a0: number, a1: number, cp: CurvePrimitive) => {\r\n const segment = cp.clonePartialCurve(a0, a1);\r\n if (segment !== undefined)\r\n builder.addArc(segment as Arc3d, false, false);\r\n });\r\n }\r\n\r\n // Intersections of the cartesian region with frustum planes.\r\n scratchCartoRectangle.resize(0);\r\n scratchCartoRectangle.push({ x: cartoRange.low.x, y: cartoRange.low.y, z: 0 });\r\n scratchCartoRectangle.push({ x: cartoRange.high.x, y: cartoRange.low.y, z: 0 });\r\n scratchCartoRectangle.push({ x: cartoRange.high.x, y: cartoRange.high.y, z: 0 });\r\n scratchCartoRectangle.push({ x: cartoRange.low.x, y: cartoRange.high.y, z: 0 });\r\n scratchCartoRectangle.push({ x: cartoRange.low.x, y: cartoRange.low.y, z: 0 });\r\n\r\n clipPlanes.clipConvexPolygonInPlace(scratchCartoRectangle, scratchWorkArray);\r\n if (scratchCartoRectangle.length > 0) {\r\n builder.addLineString(scratchCartoRectangle.getPoint3dArray());\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n/** Calculate the ECEF to database (IModel) coordinate transform at a provided location, using the GCS of the iModel.\r\n * The transform will exactly represent the GCS at the provided location.\r\n * @public\r\n */\r\nexport async function calculateEcefToDbTransformAtLocation(originIn: Point3d, iModel: IModelConnection): Promise<Transform | undefined> {\r\n const geoConverter = iModel.noGcsDefined ? undefined : iModel.geoServices.getConverter(\"WGS84\");\r\n if (geoConverter === undefined)\r\n return undefined;\r\n\r\n const origin = Point3d.create(originIn.x, originIn.y, 0); // Always Test at zero.\r\n const eastPoint = origin.plusXYZ(1, 0, 0);\r\n const northPoint = origin.plusXYZ(0, 1, 0);\r\n\r\n const response = await geoConverter.getGeoCoordinatesFromIModelCoordinates([origin, northPoint, eastPoint]);\r\n if (response.geoCoords[0].s !== GeoCoordStatus.Success || response.geoCoords[1].s !== GeoCoordStatus.Success || response.geoCoords[2].s !== GeoCoordStatus.Success)\r\n return undefined;\r\n\r\n const geoOrigin = Point3d.fromJSON(response.geoCoords[0].p);\r\n const geoNorth = Point3d.fromJSON(response.geoCoords[1].p);\r\n const geoEast = Point3d.fromJSON(response.geoCoords[2].p);\r\n const ecefOrigin = Cartographic.fromDegrees({ longitude: geoOrigin.x, latitude: geoOrigin.y, height: geoOrigin.z }).toEcef()!;\r\n const ecefNorth = Cartographic.fromDegrees({ longitude: geoNorth.x, latitude: geoNorth.y, height: geoNorth.z }).toEcef()!;\r\n const ecefEast = Cartographic.fromDegrees({ longitude: geoEast.x, latitude: geoEast.y, height: geoEast.z }).toEcef()!;\r\n\r\n const xVector = Vector3d.createStartEnd(ecefOrigin, ecefEast);\r\n const yVector = Vector3d.createStartEnd(ecefOrigin, ecefNorth);\r\n const zVector = xVector.unitCrossProduct(yVector);\r\n if (undefined === zVector) {\r\n assert(false); // Should never occur.\r\n return undefined;\r\n }\r\n const matrix = Matrix3d.createColumns(xVector, yVector, zVector);\r\n if (matrix === undefined)\r\n return undefined;\r\n\r\n const inverse = matrix.inverse();\r\n if (inverse === undefined) {\r\n assert(false); // Should never occur.\r\n return undefined;\r\n }\r\n\r\n return Transform.createMatrixPickupPutdown(matrix, origin, ecefOrigin).inverse()!;\r\n}\r\n\r\n"]}
@@ -9,7 +9,7 @@
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.BingLocationProvider = void 0;
11
11
  const core_common_1 = require("@itwin/core-common");
12
- const itwin_client_1 = require("@bentley/itwin-client");
12
+ const Request_1 = require("./request/Request");
13
13
  const IModelApp_1 = require("./IModelApp");
14
14
  /** Provides an interface to the [Bing Maps location services](https://docs.microsoft.com/en-us/bingmaps/rest-services/locations/).
15
15
  * @public
@@ -31,7 +31,7 @@ class BingLocationProvider {
31
31
  const requestUrl = this._locationRequestTemplate.replace("{query}", query);
32
32
  const requestOptions = { method: "GET", responseType: "json" };
33
33
  try {
34
- const locationResponse = await (0, itwin_client_1.request)(requestUrl, requestOptions);
34
+ const locationResponse = await (0, Request_1.request)(requestUrl, requestOptions);
35
35
  const point = locationResponse.body.resourceSets[0].resources[0].point;
36
36
  const bbox = locationResponse.body.resourceSets[0].resources[0].bbox;
37
37
  const southLatitude = bbox[0];
@@ -1 +1 @@
1
- {"version":3,"file":"BingLocation.js","sourceRoot":"","sources":["../../src/BingLocation.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,oDAAkD;AAClD,wDAA0E;AAC1E,2CAAwC;AAGxC;;GAEG;AACH,MAAa,oBAAoB;IAG/B;QACE,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,qBAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,QAAQ,EAAE;YAC3D,OAAO,GAAG,qBAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;SACzE;QACD,IAAI,CAAC,wBAAwB,GAAG,mFAAmF,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAC3J,CAAC;IACD;;;;OAIG;IACI,KAAK,CAAC,WAAW,CAAC,KAAa;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC3E,MAAM,cAAc,GAAmB,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;QAC/E,IAAI;YACF,MAAM,gBAAgB,GAAa,MAAM,IAAA,sBAAO,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAC7E,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACvE,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrE,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,OAAO;gBACL,MAAM,EAAE,0BAAY,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrG,IAAI,EAAE;oBACJ,SAAS,EAAE,0BAAY,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;oBAC1F,SAAS,EAAE,0BAAY,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;iBAC3F;aACF,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;CACF;AArCD,oDAqCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { Cartographic } from \"@itwin/core-common\";\r\nimport { request, RequestOptions, Response } from \"@bentley/itwin-client\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { GlobalLocation } from \"./ViewGlobalLocation\";\r\n\r\n/** Provides an interface to the [Bing Maps location services](https://docs.microsoft.com/en-us/bingmaps/rest-services/locations/).\r\n * @public\r\n */\r\nexport class BingLocationProvider {\r\n private _locationRequestTemplate: string;\r\n\r\n constructor() {\r\n let bingKey = \"\";\r\n if (IModelApp.mapLayerFormatRegistry.configOptions.BingMaps) {\r\n bingKey = IModelApp.mapLayerFormatRegistry.configOptions.BingMaps.value;\r\n }\r\n this._locationRequestTemplate = \"https://dev.virtualearth.net/REST/v1/Locations?query={query}&key={BingMapsAPIKey}\".replace(\"{BingMapsAPIKey}\", bingKey);\r\n }\r\n /** Return the location of a query (or undefined if not found). The strings \"Space Needle\" (a landmark) and \"1 Microsoft Way Redmond WA\" (an address) are examples of query strings with location information.\r\n * These strings can be specified as a structured URL parameter or as a query parameter value. See [Bing Location Services documentation](https://docs.microsoft.com/en-us/bingmaps/rest-services/locations/find-a-location-by-query) for additional\r\n * information on queries.\r\n * @public\r\n */\r\n public async getLocation(query: string): Promise<GlobalLocation | undefined> {\r\n const requestUrl = this._locationRequestTemplate.replace(\"{query}\", query);\r\n const requestOptions: RequestOptions = { method: \"GET\", responseType: \"json\" };\r\n try {\r\n const locationResponse: Response = await request(requestUrl, requestOptions);\r\n const point = locationResponse.body.resourceSets[0].resources[0].point;\r\n const bbox = locationResponse.body.resourceSets[0].resources[0].bbox;\r\n const southLatitude = bbox[0];\r\n const westLongitude = bbox[1];\r\n const northLatitude = bbox[2];\r\n const eastLongitude = bbox[3];\r\n return {\r\n center: Cartographic.fromDegrees({ longitude: point.coordinates[1], latitude: point.coordinates[0] }),\r\n area: {\r\n southwest: Cartographic.fromDegrees({ longitude: westLongitude, latitude: southLatitude }),\r\n northeast: Cartographic.fromDegrees({ longitude: eastLongitude, latitude: northLatitude }),\r\n },\r\n };\r\n } catch (error) {\r\n return undefined;\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"BingLocation.js","sourceRoot":"","sources":["../../src/BingLocation.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,oDAAkD;AAClD,+CAAsE;AACtE,2CAAwC;AAGxC;;GAEG;AACH,MAAa,oBAAoB;IAG/B;QACE,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,qBAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,QAAQ,EAAE;YAC3D,OAAO,GAAG,qBAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;SACzE;QACD,IAAI,CAAC,wBAAwB,GAAG,mFAAmF,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAC3J,CAAC;IACD;;;;OAIG;IACI,KAAK,CAAC,WAAW,CAAC,KAAa;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC3E,MAAM,cAAc,GAAmB,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;QAC/E,IAAI;YACF,MAAM,gBAAgB,GAAa,MAAM,IAAA,iBAAO,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAC7E,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACvE,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrE,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,OAAO;gBACL,MAAM,EAAE,0BAAY,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrG,IAAI,EAAE;oBACJ,SAAS,EAAE,0BAAY,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;oBAC1F,SAAS,EAAE,0BAAY,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;iBAC3F;aACF,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;CACF;AArCD,oDAqCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { Cartographic } from \"@itwin/core-common\";\r\nimport { request, RequestOptions, Response } from \"./request/Request\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { GlobalLocation } from \"./ViewGlobalLocation\";\r\n\r\n/** Provides an interface to the [Bing Maps location services](https://docs.microsoft.com/en-us/bingmaps/rest-services/locations/).\r\n * @public\r\n */\r\nexport class BingLocationProvider {\r\n private _locationRequestTemplate: string;\r\n\r\n constructor() {\r\n let bingKey = \"\";\r\n if (IModelApp.mapLayerFormatRegistry.configOptions.BingMaps) {\r\n bingKey = IModelApp.mapLayerFormatRegistry.configOptions.BingMaps.value;\r\n }\r\n this._locationRequestTemplate = \"https://dev.virtualearth.net/REST/v1/Locations?query={query}&key={BingMapsAPIKey}\".replace(\"{BingMapsAPIKey}\", bingKey);\r\n }\r\n /** Return the location of a query (or undefined if not found). The strings \"Space Needle\" (a landmark) and \"1 Microsoft Way Redmond WA\" (an address) are examples of query strings with location information.\r\n * These strings can be specified as a structured URL parameter or as a query parameter value. See [Bing Location Services documentation](https://docs.microsoft.com/en-us/bingmaps/rest-services/locations/find-a-location-by-query) for additional\r\n * information on queries.\r\n * @public\r\n */\r\n public async getLocation(query: string): Promise<GlobalLocation | undefined> {\r\n const requestUrl = this._locationRequestTemplate.replace(\"{query}\", query);\r\n const requestOptions: RequestOptions = { method: \"GET\", responseType: \"json\" };\r\n try {\r\n const locationResponse: Response = await request(requestUrl, requestOptions);\r\n const point = locationResponse.body.resourceSets[0].resources[0].point;\r\n const bbox = locationResponse.body.resourceSets[0].resources[0].bbox;\r\n const southLatitude = bbox[0];\r\n const westLongitude = bbox[1];\r\n const northLatitude = bbox[2];\r\n const eastLongitude = bbox[3];\r\n return {\r\n center: Cartographic.fromDegrees({ longitude: point.coordinates[1], latitude: point.coordinates[0] }),\r\n area: {\r\n southwest: Cartographic.fromDegrees({ longitude: westLongitude, latitude: southLatitude }),\r\n northeast: Cartographic.fromDegrees({ longitude: eastLongitude, latitude: northLatitude }),\r\n },\r\n };\r\n } catch (error) {\r\n return undefined;\r\n }\r\n }\r\n}\r\n"]}
@@ -64,7 +64,7 @@ class CheckpointConnection extends IModelConnection_1.IModelConnection {
64
64
  const accessToken = await IModelApp_1.IModelApp.getAccessToken();
65
65
  if (undefined === IModelApp_1.IModelApp.hubAccess)
66
66
  throw new Error("Missing an implementation of FrontendHubAccess on IModelApp, it is required to open a remote iModel Connection. Please provide an implementation to the IModelApp.startup using IModelAppOptions.hubAccess.");
67
- const changeset = { id: await IModelApp_1.IModelApp.hubAccess.getChangesetIdFromVersion({ accessToken, iModelId, version }) };
67
+ const changeset = await IModelApp_1.IModelApp.hubAccess.getChangesetFromVersion({ accessToken, iModelId, version });
68
68
  const iModelRpcProps = { iTwinId, iModelId, changeset };
69
69
  const openResponse = await this.callOpen(iModelRpcProps, routingContext);
70
70
  const connection = new this(openResponse);
@@ -1 +1 @@
1
- {"version":3,"file":"CheckpointConnection.js","sourceRoot":"","sources":["../../src/CheckpointConnection.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module IModelConnection\r\n */\r\n\r\nimport { BentleyError, BentleyStatus, GuidString, Logger } from \"@itwin/core-bentley\";\r\nimport {\r\n IModelConnectionProps, IModelError, IModelReadRpcInterface, IModelRpcOpenProps, IModelVersion, RpcManager, RpcNotFoundResponse, RpcOperation,\r\n RpcRequest, RpcRequestEvent,\r\n} from \"@itwin/core-common\";\r\nimport { FrontendLoggerCategory } from \"./FrontendLoggerCategory\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { IModelRoutingContext } from \"./IModelRoutingContext\";\r\n\r\nconst loggerCategory = FrontendLoggerCategory.IModelConnection;\r\n\r\n/**\r\n * An IModelConnection to a checkpoint of an iModel, hosted on a remote backend over RPC.\r\n * Due to the nature of RPC requests, the backend servicing this connection may change over time, and there may even be more than one backend\r\n * at servicing requests at the same time. For this reason, this type of connection may only be used with Checkpoint iModels that are\r\n * guaranteed to be the same on every backend. Obviously Checkpoint iModels only allow readonly access.\r\n * @public\r\n */\r\nexport class CheckpointConnection extends IModelConnection {\r\n /** The Guid that identifies the iTwin that owns this iModel. */\r\n public override get iTwinId(): GuidString { return super.iTwinId!; }\r\n /** The Guid that identifies this iModel. */\r\n public override get iModelId(): GuidString { return super.iModelId!; }\r\n\r\n /** Returns `true` if [[close]] has already been called. */\r\n public get isClosed(): boolean { return this._isClosed ? true : false; }\r\n protected _isClosed?: boolean;\r\n\r\n /** Type guard for instanceof [[CheckpointConnection]] */\r\n public override isCheckpointConnection(): this is CheckpointConnection { return true; }\r\n\r\n /**\r\n * Open a readonly IModelConnection to an iModel over RPC.\r\n */\r\n public static async openRemote(iTwinId: string, iModelId: string, version: IModelVersion = IModelVersion.latest()): Promise<CheckpointConnection> {\r\n const routingContext = IModelRoutingContext.current || IModelRoutingContext.default;\r\n const accessToken = await IModelApp.getAccessToken();\r\n\r\n if (undefined === IModelApp.hubAccess)\r\n throw new Error(\"Missing an implementation of FrontendHubAccess on IModelApp, it is required to open a remote iModel Connection. Please provide an implementation to the IModelApp.startup using IModelAppOptions.hubAccess.\");\r\n\r\n const changeset = { id: await IModelApp.hubAccess.getChangesetIdFromVersion({ accessToken, iModelId, version }) };\r\n\r\n const iModelRpcProps: IModelRpcOpenProps = { iTwinId, iModelId, changeset };\r\n const openResponse = await this.callOpen(iModelRpcProps, routingContext);\r\n\r\n const connection = new this(openResponse);\r\n RpcManager.setIModel(connection);\r\n connection.routingContext = routingContext;\r\n RpcRequest.notFoundHandlers.addListener(connection._reopenConnectionHandler);\r\n\r\n IModelConnection.onOpen.raiseEvent(connection);\r\n return connection;\r\n }\r\n\r\n private static async callOpen(iModelToken: IModelRpcOpenProps, routingContext: IModelRoutingContext): Promise<IModelConnectionProps> {\r\n // Try opening the iModel repeatedly accommodating any pending responses from the backend.\r\n // Waits for an increasing amount of time (but within a range) before checking on the pending request again.\r\n const connectionRetryIntervalRange = { min: 100, max: 5000 }; // in milliseconds\r\n let connectionRetryInterval = Math.min(connectionRetryIntervalRange.min, IModelConnection.connectionTimeout);\r\n\r\n const openForReadOperation = RpcOperation.lookup(IModelReadRpcInterface, \"getConnectionProps\");\r\n if (!openForReadOperation)\r\n throw new IModelError(BentleyStatus.ERROR, \"IModelReadRpcInterface.getConnectionProps() is not available\");\r\n openForReadOperation.policy.retryInterval = () => connectionRetryInterval;\r\n\r\n Logger.logTrace(loggerCategory, `IModelConnection.open`, iModelToken);\r\n const startTime = Date.now();\r\n\r\n const removeListener = RpcRequest.events.addListener((type: RpcRequestEvent, request: RpcRequest) => {\r\n if (type !== RpcRequestEvent.PendingUpdateReceived)\r\n return;\r\n if (!(openForReadOperation && request.operation === openForReadOperation))\r\n return;\r\n\r\n Logger.logTrace(loggerCategory, \"Received pending open notification in IModelConnection.open\", iModelToken);\r\n\r\n const connectionTimeElapsed = Date.now() - startTime;\r\n if (connectionTimeElapsed > IModelConnection.connectionTimeout) {\r\n Logger.logError(loggerCategory, `Timed out opening connection in IModelConnection.open (took longer than ${IModelConnection.connectionTimeout} milliseconds)`, iModelToken);\r\n throw new IModelError(BentleyStatus.ERROR, \"Opening a connection was timed out\"); // NEEDS_WORK: More specific error status\r\n }\r\n\r\n connectionRetryInterval = Math.min(connectionRetryIntervalRange.max, connectionRetryInterval * 2, IModelConnection.connectionTimeout - connectionTimeElapsed);\r\n if (request.retryInterval !== connectionRetryInterval) {\r\n request.retryInterval = connectionRetryInterval;\r\n Logger.logTrace(loggerCategory, `Adjusted open connection retry interval to ${request.retryInterval} milliseconds in IModelConnection.open`, iModelToken);\r\n }\r\n });\r\n\r\n const openPromise = IModelReadRpcInterface.getClientForRouting(routingContext.token).getConnectionProps(iModelToken);\r\n let openResponse: IModelConnectionProps;\r\n try {\r\n openResponse = await openPromise;\r\n } finally {\r\n Logger.logTrace(loggerCategory, \"Completed open request in IModelConnection.open\", iModelToken);\r\n removeListener();\r\n }\r\n\r\n return openResponse;\r\n }\r\n\r\n private _reopenConnectionHandler = async (request: RpcRequest<RpcNotFoundResponse>, response: any, resubmit: () => void, reject: (reason: any) => void) => {\r\n if (!response.hasOwnProperty(\"isIModelNotFoundResponse\"))\r\n return;\r\n\r\n const iModelRpcProps = request.parameters[0];\r\n if (this._fileKey !== iModelRpcProps.key)\r\n return; // The handler is called for a different connection than this\r\n\r\n Logger.logTrace(loggerCategory, \"Attempting to reopen connection\", () => iModelRpcProps);\r\n\r\n try {\r\n const openResponse = await CheckpointConnection.callOpen(iModelRpcProps, this.routingContext);\r\n // The new/reopened connection may have a new rpcKey and/or changesetId, but the other IModelRpcTokenProps should be the same\r\n this._fileKey = openResponse.key;\r\n this.changeset = openResponse.changeset!;\r\n\r\n } catch (error) {\r\n reject(BentleyError.getErrorMessage(error));\r\n } finally {\r\n }\r\n\r\n Logger.logTrace(loggerCategory, \"Resubmitting original request after reopening connection\", iModelRpcProps);\r\n request.parameters[0] = this.getRpcProps(); // Modify the token of the original request before resubmitting it.\r\n resubmit();\r\n };\r\n\r\n /** Close this CheckpointConnection */\r\n public async close(): Promise<void> {\r\n if (this.isClosed)\r\n return;\r\n\r\n this.beforeClose();\r\n RpcRequest.notFoundHandlers.removeListener(this._reopenConnectionHandler);\r\n this._isClosed = true;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"CheckpointConnection.js","sourceRoot":"","sources":["../../src/CheckpointConnection.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module IModelConnection\r\n */\r\n\r\nimport { BentleyError, BentleyStatus, GuidString, Logger } from \"@itwin/core-bentley\";\r\nimport {\r\n IModelConnectionProps, IModelError, IModelReadRpcInterface, IModelRpcOpenProps, IModelVersion, RpcManager, RpcNotFoundResponse, RpcOperation,\r\n RpcRequest, RpcRequestEvent,\r\n} from \"@itwin/core-common\";\r\nimport { FrontendLoggerCategory } from \"./FrontendLoggerCategory\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { IModelRoutingContext } from \"./IModelRoutingContext\";\r\n\r\nconst loggerCategory = FrontendLoggerCategory.IModelConnection;\r\n\r\n/**\r\n * An IModelConnection to a checkpoint of an iModel, hosted on a remote backend over RPC.\r\n * Due to the nature of RPC requests, the backend servicing this connection may change over time, and there may even be more than one backend\r\n * at servicing requests at the same time. For this reason, this type of connection may only be used with Checkpoint iModels that are\r\n * guaranteed to be the same on every backend. Obviously Checkpoint iModels only allow readonly access.\r\n * @public\r\n */\r\nexport class CheckpointConnection extends IModelConnection {\r\n /** The Guid that identifies the iTwin that owns this iModel. */\r\n public override get iTwinId(): GuidString { return super.iTwinId!; }\r\n /** The Guid that identifies this iModel. */\r\n public override get iModelId(): GuidString { return super.iModelId!; }\r\n\r\n /** Returns `true` if [[close]] has already been called. */\r\n public get isClosed(): boolean { return this._isClosed ? true : false; }\r\n protected _isClosed?: boolean;\r\n\r\n /** Type guard for instanceof [[CheckpointConnection]] */\r\n public override isCheckpointConnection(): this is CheckpointConnection { return true; }\r\n\r\n /**\r\n * Open a readonly IModelConnection to an iModel over RPC.\r\n */\r\n public static async openRemote(iTwinId: string, iModelId: string, version: IModelVersion = IModelVersion.latest()): Promise<CheckpointConnection> {\r\n const routingContext = IModelRoutingContext.current || IModelRoutingContext.default;\r\n const accessToken = await IModelApp.getAccessToken();\r\n\r\n if (undefined === IModelApp.hubAccess)\r\n throw new Error(\"Missing an implementation of FrontendHubAccess on IModelApp, it is required to open a remote iModel Connection. Please provide an implementation to the IModelApp.startup using IModelAppOptions.hubAccess.\");\r\n\r\n const changeset = await IModelApp.hubAccess.getChangesetFromVersion({ accessToken, iModelId, version });\r\n\r\n const iModelRpcProps: IModelRpcOpenProps = { iTwinId, iModelId, changeset };\r\n const openResponse = await this.callOpen(iModelRpcProps, routingContext);\r\n\r\n const connection = new this(openResponse);\r\n RpcManager.setIModel(connection);\r\n connection.routingContext = routingContext;\r\n RpcRequest.notFoundHandlers.addListener(connection._reopenConnectionHandler);\r\n\r\n IModelConnection.onOpen.raiseEvent(connection);\r\n return connection;\r\n }\r\n\r\n private static async callOpen(iModelToken: IModelRpcOpenProps, routingContext: IModelRoutingContext): Promise<IModelConnectionProps> {\r\n // Try opening the iModel repeatedly accommodating any pending responses from the backend.\r\n // Waits for an increasing amount of time (but within a range) before checking on the pending request again.\r\n const connectionRetryIntervalRange = { min: 100, max: 5000 }; // in milliseconds\r\n let connectionRetryInterval = Math.min(connectionRetryIntervalRange.min, IModelConnection.connectionTimeout);\r\n\r\n const openForReadOperation = RpcOperation.lookup(IModelReadRpcInterface, \"getConnectionProps\");\r\n if (!openForReadOperation)\r\n throw new IModelError(BentleyStatus.ERROR, \"IModelReadRpcInterface.getConnectionProps() is not available\");\r\n openForReadOperation.policy.retryInterval = () => connectionRetryInterval;\r\n\r\n Logger.logTrace(loggerCategory, `IModelConnection.open`, iModelToken);\r\n const startTime = Date.now();\r\n\r\n const removeListener = RpcRequest.events.addListener((type: RpcRequestEvent, request: RpcRequest) => {\r\n if (type !== RpcRequestEvent.PendingUpdateReceived)\r\n return;\r\n if (!(openForReadOperation && request.operation === openForReadOperation))\r\n return;\r\n\r\n Logger.logTrace(loggerCategory, \"Received pending open notification in IModelConnection.open\", iModelToken);\r\n\r\n const connectionTimeElapsed = Date.now() - startTime;\r\n if (connectionTimeElapsed > IModelConnection.connectionTimeout) {\r\n Logger.logError(loggerCategory, `Timed out opening connection in IModelConnection.open (took longer than ${IModelConnection.connectionTimeout} milliseconds)`, iModelToken);\r\n throw new IModelError(BentleyStatus.ERROR, \"Opening a connection was timed out\"); // NEEDS_WORK: More specific error status\r\n }\r\n\r\n connectionRetryInterval = Math.min(connectionRetryIntervalRange.max, connectionRetryInterval * 2, IModelConnection.connectionTimeout - connectionTimeElapsed);\r\n if (request.retryInterval !== connectionRetryInterval) {\r\n request.retryInterval = connectionRetryInterval;\r\n Logger.logTrace(loggerCategory, `Adjusted open connection retry interval to ${request.retryInterval} milliseconds in IModelConnection.open`, iModelToken);\r\n }\r\n });\r\n\r\n const openPromise = IModelReadRpcInterface.getClientForRouting(routingContext.token).getConnectionProps(iModelToken);\r\n let openResponse: IModelConnectionProps;\r\n try {\r\n openResponse = await openPromise;\r\n } finally {\r\n Logger.logTrace(loggerCategory, \"Completed open request in IModelConnection.open\", iModelToken);\r\n removeListener();\r\n }\r\n\r\n return openResponse;\r\n }\r\n\r\n private _reopenConnectionHandler = async (request: RpcRequest<RpcNotFoundResponse>, response: any, resubmit: () => void, reject: (reason: any) => void) => {\r\n if (!response.hasOwnProperty(\"isIModelNotFoundResponse\"))\r\n return;\r\n\r\n const iModelRpcProps = request.parameters[0];\r\n if (this._fileKey !== iModelRpcProps.key)\r\n return; // The handler is called for a different connection than this\r\n\r\n Logger.logTrace(loggerCategory, \"Attempting to reopen connection\", () => iModelRpcProps);\r\n\r\n try {\r\n const openResponse = await CheckpointConnection.callOpen(iModelRpcProps, this.routingContext);\r\n // The new/reopened connection may have a new rpcKey and/or changesetId, but the other IModelRpcTokenProps should be the same\r\n this._fileKey = openResponse.key;\r\n this.changeset = openResponse.changeset!;\r\n\r\n } catch (error) {\r\n reject(BentleyError.getErrorMessage(error));\r\n } finally {\r\n }\r\n\r\n Logger.logTrace(loggerCategory, \"Resubmitting original request after reopening connection\", iModelRpcProps);\r\n request.parameters[0] = this.getRpcProps(); // Modify the token of the original request before resubmitting it.\r\n resubmit();\r\n };\r\n\r\n /** Close this CheckpointConnection */\r\n public async close(): Promise<void> {\r\n if (this.isClosed)\r\n return;\r\n\r\n this.beforeClose();\r\n RpcRequest.notFoundHandlers.removeListener(this._reopenConnectionHandler);\r\n this._isClosed = true;\r\n }\r\n}\r\n"]}
@@ -26,7 +26,7 @@ class ContextRealityModelState extends core_common_1.ContextRealityModel {
26
26
  this.iModel = iModel;
27
27
  this._appearanceOverrides = props.appearanceOverrides ? core_common_1.FeatureAppearance.fromJSON(props.appearanceOverrides) : undefined;
28
28
  if (undefined === props.orbitGtBlob) {
29
- this.rdSourceKey = props.rdSourceKey ? props.rdSourceKey : RealityDataSource_1.RealityDataSource.createRealityDataSourceKeyFromUrl(props.tilesetUrl);
29
+ this.rdSourceKey = props.rdSourceKey ? props.rdSourceKey : RealityDataSource_1.RealityDataSource.createKeyFromUrl(props.tilesetUrl);
30
30
  }
31
31
  else {
32
32
  this.rdSourceKey = props.rdSourceKey ? props.rdSourceKey : RealityDataSource_1.RealityDataSource.createKeyFromOrbitGtBlobProps(props.orbitGtBlob);
@@ -1 +1 @@
1
- {"version":3,"file":"ContextRealityModelState.js","sourceRoot":"","sources":["../../src/ContextRealityModelState.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,oDAA+I;AAG/I,+DAA4D;AAC5D,2DAAwD;AACxD,8CAA0I;AAE1I;;;;;;GAMG;AACH,MAAa,wBAAyB,SAAQ,iCAAmB;IAO/D,gBAAgB;IAChB,YAAmB,KAA+B,EAAE,MAAwB,EAAE,YAA+B;QAC3G,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,+BAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1H,IAAI,SAAS,KAAK,KAAK,CAAC,WAAW,EAAE;YACnC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,qCAAiB,CAAC,iCAAiC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;SAClI;aAAM;YACL,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,qCAAiB,CAAC,6BAA6B,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;SAC/H;QACD,MAAM,2BAA2B,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,+BAAiB,CAAC,GAAG,CAAC;QACtF,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC;YAC9C,IAAA,yCAA8B,EAAC;gBAC7B,MAAM;gBACN,MAAM,EAAE,YAAY;gBACpB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,GAAG,EAAE,KAAK,CAAC,UAAU;gBACrB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,cAAc,EAAE,IAAI,CAAC,sBAAsB;aAC5C,CAAC,CAAC,CAAC;YACJ,IAAA,yCAA8B,EAAC;gBAC7B,MAAM;gBACN,WAAW,EAAE,KAAK,CAAC,WAAY;gBAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,MAAM,EAAE,YAAY;aACrB,CAAC,CAAC;QAEL,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,EAAE;YACvD,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,yCAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnG,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6FAA6F;IAC7F,IAAW,OAAO,KAAwB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjE,mEAAmE;IACnE,IAAW,OAAO;QAChB,OAAO,CAAC,IAAI,CAAC,QAAQ,YAAY,+BAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACvG,CAAC;IAED,kEAAkE;IAClE,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC/B,CAAC;CACF;AAtDD,4DAsDC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Views\r\n */\r\n\r\nimport { Id64String } from \"@itwin/core-bentley\";\r\nimport { ContextRealityModel, ContextRealityModelProps, FeatureAppearance, RealityDataFormat, RealityDataSourceKey } from \"@itwin/core-common\";\r\nimport { DisplayStyleState } from \"./DisplayStyleState\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { PlanarClipMaskState } from \"./PlanarClipMaskState\";\r\nimport { RealityDataSource } from \"./RealityDataSource\";\r\nimport { createOrbitGtTileTreeReference, createRealityTileTreeReference, RealityModelTileTree, TileTreeReference } from \"./tile/internal\";\r\n\r\n/** A [ContextRealityModel]($common) attached to a [[DisplayStyleState]] supplying a [[TileTreeReference]] used to draw the\r\n * reality model in a [[Viewport]].\r\n * @see [DisplayStyleSettings.contextRealityModels]($common).\r\n * @see [[DisplayStyleState.contextRealityModelStates]].\r\n * @see [[DisplayStyleState.attachRealityModel]].\r\n * @public\r\n */\r\nexport class ContextRealityModelState extends ContextRealityModel {\r\n private readonly _treeRef: RealityModelTileTree.Reference;\r\n /** The iModel with which the reality model is associated. */\r\n public readonly iModel: IModelConnection;\r\n /** The reality data source key with which the reality model is associated. */\r\n public override readonly rdSourceKey: RealityDataSourceKey;\r\n\r\n /** @internal */\r\n public constructor(props: ContextRealityModelProps, iModel: IModelConnection, displayStyle: DisplayStyleState) {\r\n super(props);\r\n this.iModel = iModel;\r\n this._appearanceOverrides = props.appearanceOverrides ? FeatureAppearance.fromJSON(props.appearanceOverrides) : undefined;\r\n if (undefined === props.orbitGtBlob) {\r\n this.rdSourceKey = props.rdSourceKey ? props.rdSourceKey : RealityDataSource.createRealityDataSourceKeyFromUrl(props.tilesetUrl);\r\n } else {\r\n this.rdSourceKey = props.rdSourceKey ? props.rdSourceKey : RealityDataSource.createKeyFromOrbitGtBlobProps(props.orbitGtBlob);\r\n }\r\n const useOrbitGtTileTreeReference = this.rdSourceKey.format === RealityDataFormat.OPC;\r\n this._treeRef = (!useOrbitGtTileTreeReference) ?\r\n createRealityTileTreeReference({\r\n iModel,\r\n source: displayStyle,\r\n rdSourceKey: this.rdSourceKey,\r\n url: props.tilesetUrl,\r\n name: props.name,\r\n classifiers: this.classifiers,\r\n planarClipMask: this.planarClipMaskSettings,\r\n }) :\r\n createOrbitGtTileTreeReference({\r\n iModel,\r\n orbitGtBlob: props.orbitGtBlob!,\r\n rdSourceKey: this.rdSourceKey,\r\n name: props.name,\r\n classifiers: this.classifiers,\r\n source: displayStyle,\r\n });\r\n\r\n this.onPlanarClipMaskChanged.addListener((newSettings) => {\r\n this._treeRef.planarClipMask = newSettings ? PlanarClipMaskState.create(newSettings) : undefined;\r\n });\r\n }\r\n\r\n /** The tile tree reference responsible for drawing the reality model into a [[Viewport]]. */\r\n public get treeRef(): TileTreeReference { return this._treeRef; }\r\n\r\n /** The transient Id assigned to this reality model at run-time. */\r\n public get modelId(): Id64String | undefined {\r\n return (this._treeRef instanceof RealityModelTileTree.Reference) ? this._treeRef.modelId : undefined;\r\n }\r\n\r\n /** Whether the reality model spans the entire globe ellipsoid. */\r\n public get isGlobal(): boolean {\r\n return this.treeRef.isGlobal;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ContextRealityModelState.js","sourceRoot":"","sources":["../../src/ContextRealityModelState.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,oDAA+I;AAG/I,+DAA4D;AAC5D,2DAAwD;AACxD,8CAA0I;AAE1I;;;;;;GAMG;AACH,MAAa,wBAAyB,SAAQ,iCAAmB;IAO/D,gBAAgB;IAChB,YAAmB,KAA+B,EAAE,MAAwB,EAAE,YAA+B;QAC3G,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,+BAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1H,IAAI,SAAS,KAAK,KAAK,CAAC,WAAW,EAAE;YACnC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,qCAAiB,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;SACjH;aAAM;YACL,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,qCAAiB,CAAC,6BAA6B,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;SAC/H;QACD,MAAM,2BAA2B,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,+BAAiB,CAAC,GAAG,CAAC;QACtF,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC;YAC9C,IAAA,yCAA8B,EAAC;gBAC7B,MAAM;gBACN,MAAM,EAAE,YAAY;gBACpB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,GAAG,EAAE,KAAK,CAAC,UAAU;gBACrB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,cAAc,EAAE,IAAI,CAAC,sBAAsB;aAC5C,CAAC,CAAC,CAAC;YACJ,IAAA,yCAA8B,EAAC;gBAC7B,MAAM;gBACN,WAAW,EAAE,KAAK,CAAC,WAAY;gBAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,MAAM,EAAE,YAAY;aACrB,CAAC,CAAC;QAEL,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,EAAE;YACvD,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,yCAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnG,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6FAA6F;IAC7F,IAAW,OAAO,KAAwB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjE,mEAAmE;IACnE,IAAW,OAAO;QAChB,OAAO,CAAC,IAAI,CAAC,QAAQ,YAAY,+BAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACvG,CAAC;IAED,kEAAkE;IAClE,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC/B,CAAC;CACF;AAtDD,4DAsDC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Views\r\n */\r\n\r\nimport { Id64String } from \"@itwin/core-bentley\";\r\nimport { ContextRealityModel, ContextRealityModelProps, FeatureAppearance, RealityDataFormat, RealityDataSourceKey } from \"@itwin/core-common\";\r\nimport { DisplayStyleState } from \"./DisplayStyleState\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { PlanarClipMaskState } from \"./PlanarClipMaskState\";\r\nimport { RealityDataSource } from \"./RealityDataSource\";\r\nimport { createOrbitGtTileTreeReference, createRealityTileTreeReference, RealityModelTileTree, TileTreeReference } from \"./tile/internal\";\r\n\r\n/** A [ContextRealityModel]($common) attached to a [[DisplayStyleState]] supplying a [[TileTreeReference]] used to draw the\r\n * reality model in a [[Viewport]].\r\n * @see [DisplayStyleSettings.contextRealityModels]($common).\r\n * @see [[DisplayStyleState.contextRealityModelStates]].\r\n * @see [[DisplayStyleState.attachRealityModel]].\r\n * @public\r\n */\r\nexport class ContextRealityModelState extends ContextRealityModel {\r\n private readonly _treeRef: RealityModelTileTree.Reference;\r\n /** The iModel with which the reality model is associated. */\r\n public readonly iModel: IModelConnection;\r\n /** The reality data source key with which the reality model is associated. */\r\n public override readonly rdSourceKey: RealityDataSourceKey;\r\n\r\n /** @internal */\r\n public constructor(props: ContextRealityModelProps, iModel: IModelConnection, displayStyle: DisplayStyleState) {\r\n super(props);\r\n this.iModel = iModel;\r\n this._appearanceOverrides = props.appearanceOverrides ? FeatureAppearance.fromJSON(props.appearanceOverrides) : undefined;\r\n if (undefined === props.orbitGtBlob) {\r\n this.rdSourceKey = props.rdSourceKey ? props.rdSourceKey : RealityDataSource.createKeyFromUrl(props.tilesetUrl);\r\n } else {\r\n this.rdSourceKey = props.rdSourceKey ? props.rdSourceKey : RealityDataSource.createKeyFromOrbitGtBlobProps(props.orbitGtBlob);\r\n }\r\n const useOrbitGtTileTreeReference = this.rdSourceKey.format === RealityDataFormat.OPC;\r\n this._treeRef = (!useOrbitGtTileTreeReference) ?\r\n createRealityTileTreeReference({\r\n iModel,\r\n source: displayStyle,\r\n rdSourceKey: this.rdSourceKey,\r\n url: props.tilesetUrl,\r\n name: props.name,\r\n classifiers: this.classifiers,\r\n planarClipMask: this.planarClipMaskSettings,\r\n }) :\r\n createOrbitGtTileTreeReference({\r\n iModel,\r\n orbitGtBlob: props.orbitGtBlob!,\r\n rdSourceKey: this.rdSourceKey,\r\n name: props.name,\r\n classifiers: this.classifiers,\r\n source: displayStyle,\r\n });\r\n\r\n this.onPlanarClipMaskChanged.addListener((newSettings) => {\r\n this._treeRef.planarClipMask = newSettings ? PlanarClipMaskState.create(newSettings) : undefined;\r\n });\r\n }\r\n\r\n /** The tile tree reference responsible for drawing the reality model into a [[Viewport]]. */\r\n public get treeRef(): TileTreeReference { return this._treeRef; }\r\n\r\n /** The transient Id assigned to this reality model at run-time. */\r\n public get modelId(): Id64String | undefined {\r\n return (this._treeRef instanceof RealityModelTileTree.Reference) ? this._treeRef.modelId : undefined;\r\n }\r\n\r\n /** Whether the reality model spans the entire globe ellipsoid. */\r\n public get isGlobal(): boolean {\r\n return this.treeRef.isGlobal;\r\n }\r\n}\r\n"]}
@@ -3,17 +3,15 @@
3
3
  */
4
4
  import { BeEvent, Id64String } from "@itwin/core-bentley";
5
5
  import { Range1d, Vector3d } from "@itwin/core-geometry";
6
- import { BackgroundMapProps, BackgroundMapProviderProps, BackgroundMapSettings, BaseLayerSettings, ColorDef, ContextRealityModelProps, DisplayStyle3dSettings, DisplayStyleProps, DisplayStyleSettings, EnvironmentProps, FeatureAppearance, GlobeMode, GroundPlane, LightSettings, MapLayerProps, MapLayerSettings, MapSubLayerProps, RenderSchedule, RenderTexture, SkyBoxProps, SkyCubeProps, SolarShadowSettings, SubCategoryOverride, SubLayerId, ViewFlags } from "@itwin/core-common";
6
+ import { BackgroundMapProps, BackgroundMapProviderProps, BackgroundMapSettings, BaseLayerSettings, ColorDef, ContextRealityModelProps, DisplayStyle3dSettings, DisplayStyleProps, DisplayStyleSettings, Environment, FeatureAppearance, GlobeMode, LightSettings, MapLayerProps, MapLayerSettings, MapSubLayerProps, RenderSchedule, RenderTimelineProps, SolarShadowSettings, SubCategoryOverride, SubLayerId, ViewFlags } from "@itwin/core-common";
7
7
  import { BackgroundMapGeometry } from "./BackgroundMapGeometry";
8
8
  import { ContextRealityModelState } from "./ContextRealityModelState";
9
9
  import { ElementState } from "./EntityState";
10
10
  import { IModelConnection } from "./IModelConnection";
11
11
  import { PlanarClipMaskState } from "./PlanarClipMaskState";
12
- import { AnimationBranchStates } from "./render/GraphicBranch";
13
- import { RenderSystem } from "./render/RenderSystem";
14
12
  import { RenderScheduleState } from "./RenderScheduleState";
15
13
  import { MapCartoRectangle, TileTreeReference } from "./tile/internal";
16
- import { ScreenViewport, Viewport } from "./Viewport";
14
+ import { ScreenViewport } from "./Viewport";
17
15
  /** @internal */
18
16
  export declare class TerrainDisplayOverrides {
19
17
  wantSkirts?: boolean;
@@ -38,6 +36,8 @@ export declare abstract class DisplayStyleState extends ElementState implements
38
36
  private _scheduleState?;
39
37
  private _ellipsoidMapGeometry;
40
38
  private _attachedRealityModelPlanarClipMasks;
39
+ /** @internal */
40
+ protected _queryRenderTimelinePropsPromise?: Promise<RenderTimelineProps | undefined>;
41
41
  /** Event raised just before the [[scheduleScriptReference]] property is changed. */
42
42
  readonly onScheduleScriptReferenceChanged: BeEvent<(newScriptReference: RenderSchedule.ScriptReference | undefined) => void>;
43
43
  /** Event raised just after [[setOSMBuildingDisplay]] changes the enabled state of the OSM buildings. */
@@ -56,7 +56,10 @@ export declare abstract class DisplayStyleState extends ElementState implements
56
56
  * you obtain a display style by some other means you should `await` this method before using the display style.
57
57
  */
58
58
  load(): Promise<void>;
59
- private loadScheduleState;
59
+ private loadScheduleStateFromScript;
60
+ private loadScheduleStateFromTimeline;
61
+ /** @internal */
62
+ protected queryRenderTimelineProps(timelineId: Id64String): Promise<RenderTimelineProps | undefined>;
60
63
  /** @internal */
61
64
  get displayTerrain(): boolean;
62
65
  /** @internal */
@@ -105,7 +108,8 @@ export declare abstract class DisplayStyleState extends ElementState implements
105
108
  /** The name of this DisplayStyle */
106
109
  get name(): string;
107
110
  /** Change the Id of the [RenderTimeline]($backend) element that hosts the [RenderSchedule.Script]($common) to be applied by this display style for
108
- * animating the contents of the view.
111
+ * animating the contents of the view, and update [[scheduleScriptReference]] using the script associated with the [RenderTimeline]($backend) element.
112
+ * @see [DisplayStyleSettings.renderTimeline]($common).
109
113
  */
110
114
  changeRenderTimeline(timelineId: Id64String | undefined): Promise<void>;
111
115
  /** The [RenderSchedule.Script]($common) that animates the contents of the view, if any.
@@ -124,8 +128,6 @@ export declare abstract class DisplayStyleState extends ElementState implements
124
128
  * @internal
125
129
  */
126
130
  setScheduleState(state: RenderScheduleState | undefined): void;
127
- /** @internal */
128
- getAnimationBranches(scheduleTime: number): AnimationBranchStates | undefined;
129
131
  /** Attach a [ContextRealityModel]($common) to this display style.
130
132
  * @see [DisplayStyleSettings.contextRealityModels]($common).
131
133
  * @see [ContextRealityModels.add]($common)
@@ -280,174 +282,19 @@ export declare class DisplayStyle2dState extends DisplayStyleState {
280
282
  overrideTerrainDisplay(): TerrainDisplayOverrides | undefined;
281
283
  constructor(props: DisplayStyleProps, iModel: IModelConnection);
282
284
  }
283
- /** ###TODO: Generalize this into something like a PromiseOrValue<T> type which can contain
284
- * either a Promise<T> or a resolved T.
285
- * This is used to avoid flickering when loading skybox - don't want to load asynchronously unless we have to.
286
- * @internal
287
- */
288
- export declare type SkyBoxParams = Promise<SkyBox.CreateParams | undefined> | SkyBox.CreateParams | undefined;
289
- /** The SkyBox is part of an [[Environment]] drawn in the background of spatial views to provide context.
290
- * Several types of skybox are supported:
291
- * - A cube with a texture image mapped to each face;
292
- * - A sphere with a single texture image mapped to its surface;
293
- * - A sphere with a [[Gradient]] mapped to its surface.
294
- * @public
295
- */
296
- export declare abstract class SkyBox implements SkyBoxProps {
297
- /** Whether or not the skybox should be displayed. */
298
- display: boolean;
299
- protected constructor(sky?: SkyBoxProps);
300
- toJSON(): SkyBoxProps;
301
- /** Instantiate a [[SkyBox]] from its JSON representation. */
302
- static createFromJSON(json?: SkyBoxProps): SkyBox;
303
- /** @internal */
304
- abstract loadParams(_system: RenderSystem, _iModel: IModelConnection): SkyBoxParams;
305
- }
306
- /** The SkyBox is part of an [[Environment]] drawn in the background of spatial views to provide context.
307
- * Several types of skybox are supported:
308
- * - A cube with a texture image mapped to each face;
309
- * - A sphere with a single texture image mapped to its surface;
310
- * - A sphere with a [[Gradient]] mapped to its surface.
311
- * @public
312
- */
313
- export declare namespace SkyBox {
314
- /** Parameters defining a spherical [[SkyBox]].
315
- * @public
316
- */
317
- class SphereParams {
318
- readonly texture: RenderTexture;
319
- readonly rotation: number;
320
- constructor(texture: RenderTexture, rotation: number);
321
- }
322
- /** Parameters used by the [[RenderSystem]] to instantiate a [[SkyBox]].
323
- * @public
324
- */
325
- class CreateParams {
326
- readonly gradient?: SkyGradient;
327
- readonly sphere?: SphereParams;
328
- readonly cube?: RenderTexture;
329
- readonly zOffset: number;
330
- private constructor();
331
- static createForGradient(gradient: SkyGradient, zOffset: number): CreateParams;
332
- static createForSphere(sphere: SphereParams, zOffset: number): CreateParams;
333
- static createForCube(cube: RenderTexture): CreateParams;
334
- }
335
- }
336
- /** A [[SkyBox]] drawn as a sphere with a gradient mapped to its interior surface.
337
- * @see [[SkyBox.createFromJSON]]
338
- * @see [SkyBoxProps]($common) for descriptions of the color and exponent properties.
339
- * @public
340
- */
341
- export declare class SkyGradient extends SkyBox {
342
- /** If true, a 2-color gradient is used (nadir and zenith colors only); if false a 4-color gradient is used. Defaults to false. */
343
- readonly twoColor: boolean;
344
- /** @see [SkyBoxProps.skyColor]($common). */
345
- readonly skyColor: ColorDef;
346
- /** @see [SkyBoxProps.groundColor]($common). */
347
- readonly groundColor: ColorDef;
348
- /** @see [SkyBoxProps.zenithColor]($common). */
349
- readonly zenithColor: ColorDef;
350
- /** @see [SkyBoxProps.nadirColor]($common). */
351
- readonly nadirColor: ColorDef;
352
- /** @see [SkyBoxProps.skyExponent]($common). */
353
- readonly skyExponent: number;
354
- /** @see [SkyBoxProps.groundExponent]($common). */
355
- readonly groundExponent: number;
356
- /** Construct a SkyGradient from its JSON representation. */
357
- constructor(sky?: SkyBoxProps);
358
- toJSON(): SkyBoxProps;
359
- /** @internal */
360
- loadParams(_system: RenderSystem, iModel: IModelConnection): SkyBoxParams;
361
- }
362
- /** A [[SkyBox]] drawn as a sphere with an image mapped to its interior surface.
363
- * @see [[SkyBox.createFromJSON]]
364
- * @public
365
- */
366
- export declare class SkySphere extends SkyBox {
367
- /** The Id of a persistent texture element stored in the iModel which supplies the skybox image. */
368
- textureId: Id64String;
369
- private constructor();
370
- /** Create a [[SkySphere]] from its JSON representation.
371
- * @param json: The JSON representation
372
- * @returns A SkySphere, or undefined if the JSON lacks a valid texture Id.
373
- */
374
- static fromJSON(json: SkyBoxProps): SkySphere | undefined;
375
- toJSON(): SkyBoxProps;
376
- /** @internal */
377
- loadParams(system: RenderSystem, iModel: IModelConnection): SkyBoxParams;
378
- }
379
- /** A [[SkyBox]] drawn as a cube with an image mapped to each of its interior faces.
380
- * Each member specifies the Id of a persistent texture element stored in the iModel
381
- * from which the image mapped to the corresponding face is obtained.
382
- * @see [[SkyBox.createFromJSON]].
383
- * @public
384
- */
385
- export declare class SkyCube extends SkyBox implements SkyCubeProps {
386
- /** Id of a persistent texture element stored in the iModel to use for the front side of the skybox cube. */
387
- readonly front: Id64String;
388
- /** Id of a persistent texture element stored in the iModel to use for the back side of the skybox cube. */
389
- readonly back: Id64String;
390
- /** Id of a persistent texture element stored in the iModel to use for the top of the skybox cube. */
391
- readonly top: Id64String;
392
- /** Id of a persistent texture element stored in the iModel to use for the bottom of the skybox cube. */
393
- readonly bottom: Id64String;
394
- /** Id of a persistent texture element stored in the iModel to use for the front right of the skybox cube. */
395
- readonly right: Id64String;
396
- /** Id of a persistent texture element stored in the iModel to use for the left side of the skybox cube. */
397
- readonly left: Id64String;
398
- private constructor();
399
- /** Use [[SkyCube.create]].
400
- * @internal
401
- */
402
- static fromJSON(skyboxJson: SkyBoxProps): SkyCube | undefined;
403
- toJSON(): SkyBoxProps;
404
- /** Create and return a SkyCube. (Calls the SkyCube constructor after validating the Ids passed in for the images.)
405
- * @param front The Id of the image to use for the front side of the sky cube.
406
- * @param back The Id of the image to use for the back side of the sky cube.
407
- * @param top The Id of the image to use for the top side of the sky cube.
408
- * @param bottom The Id of the image to use for the bottom side of the sky cube.
409
- * @param right The Id of the image to use for the right side of the sky cube.
410
- * @param left The Id of the image to use for the left side of the sky cube.
411
- * @returns A SkyCube, or undefined if any of the supplied texture Ids are invalid.
412
- * @note All Ids must refer to a persistent texture element stored in the iModel.
413
- */
414
- static create(front: Id64String, back: Id64String, top: Id64String, bottom: Id64String, right: Id64String, left: Id64String, display?: boolean): SkyCube | undefined;
415
- /** @internal */
416
- loadParams(system: RenderSystem, iModel: IModelConnection): SkyBoxParams;
417
- }
418
- /** Describes the [[SkyBox]] and [[GroundPlane]] associated with a [[DisplayStyle3dState]].
419
- * @public
420
- */
421
- export declare class Environment {
422
- readonly sky: SkyBox;
423
- readonly ground: GroundPlane;
424
- /** Construct from JSON representation. */
425
- constructor(json?: EnvironmentProps);
426
- toJSON(): EnvironmentProps;
427
- }
428
285
  /** A [[DisplayStyleState]] that can be applied to spatial views.
429
286
  * @public
430
287
  */
431
288
  export declare class DisplayStyle3dState extends DisplayStyleState {
432
289
  /** @internal */
433
290
  static get className(): string;
434
- private _skyBoxParams?;
435
- private _skyBoxParamsLoaded?;
436
- private _environment?;
437
291
  private _settings;
438
292
  get settings(): DisplayStyle3dSettings;
439
293
  constructor(props: DisplayStyleProps, iModel: IModelConnection, source?: DisplayStyle3dState);
440
- /** The [[SkyBox]] and [[GroundPlane]] settings for this style. */
441
294
  get environment(): Environment;
442
295
  set environment(env: Environment);
443
- private changeEnvironment;
444
296
  get lights(): LightSettings;
445
297
  set lights(lights: LightSettings);
446
- private onLoadSkyBoxParams;
447
- /** Attempts to create textures for the sky of the environment, and load it into the sky. Returns true on success, and false otherwise.
448
- * @internal
449
- */
450
- loadSkyBoxParams(system: RenderSystem, vp?: Viewport): SkyBox.CreateParams | undefined;
451
298
  /** The direction of the solar light. */
452
299
  get sunDirection(): Readonly<Vector3d>;
453
300
  /** Set the solar light direction based on time value