@itwin/core-frontend 4.1.0-dev.3 → 4.1.0-dev.30

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 (880) hide show
  1. package/CHANGELOG.md +44 -1
  2. package/lib/cjs/AccuSnap.d.ts.map +1 -1
  3. package/lib/cjs/AccuSnap.js +8 -0
  4. package/lib/cjs/AccuSnap.js.map +1 -1
  5. package/lib/cjs/BackgroundMapGeometry.d.ts +2 -2
  6. package/lib/cjs/BackgroundMapGeometry.d.ts.map +1 -1
  7. package/lib/cjs/BackgroundMapGeometry.js +18 -7
  8. package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
  9. package/lib/cjs/BriefcaseTxns.d.ts +2 -2
  10. package/lib/cjs/BriefcaseTxns.d.ts.map +1 -1
  11. package/lib/cjs/BriefcaseTxns.js +3 -3
  12. package/lib/cjs/BriefcaseTxns.js.map +1 -1
  13. package/lib/cjs/CheckpointConnection.js +1 -1
  14. package/lib/cjs/CheckpointConnection.js.map +1 -1
  15. package/lib/cjs/DrawingViewState.js +1 -1
  16. package/lib/cjs/DrawingViewState.js.map +1 -1
  17. package/lib/cjs/ElementLocateManager.js +1 -1
  18. package/lib/cjs/ElementLocateManager.js.map +1 -1
  19. package/lib/cjs/EnvironmentDecorations.js +1 -1
  20. package/lib/cjs/EnvironmentDecorations.js.map +1 -1
  21. package/lib/cjs/GeoServices.d.ts +37 -7
  22. package/lib/cjs/GeoServices.d.ts.map +1 -1
  23. package/lib/cjs/GeoServices.js +75 -25
  24. package/lib/cjs/GeoServices.js.map +1 -1
  25. package/lib/cjs/GraphicalEditingScope.d.ts +2 -2
  26. package/lib/cjs/GraphicalEditingScope.d.ts.map +1 -1
  27. package/lib/cjs/GraphicalEditingScope.js +1 -1
  28. package/lib/cjs/GraphicalEditingScope.js.map +1 -1
  29. package/lib/cjs/IModelApp.js +1 -1
  30. package/lib/cjs/IModelApp.js.map +1 -1
  31. package/lib/cjs/IModelConnection.d.ts +26 -9
  32. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  33. package/lib/cjs/IModelConnection.js +78 -11
  34. package/lib/cjs/IModelConnection.js.map +1 -1
  35. package/lib/cjs/IpcApp.d.ts.map +1 -1
  36. package/lib/cjs/IpcApp.js +3 -3
  37. package/lib/cjs/IpcApp.js.map +1 -1
  38. package/lib/cjs/LocalhostIpcApp.js +1 -1
  39. package/lib/cjs/LocalhostIpcApp.js.map +1 -1
  40. package/lib/cjs/Marker.d.ts +1 -1
  41. package/lib/cjs/Marker.d.ts.map +1 -1
  42. package/lib/cjs/Marker.js +3 -3
  43. package/lib/cjs/Marker.js.map +1 -1
  44. package/lib/cjs/NativeApp.d.ts.map +1 -1
  45. package/lib/cjs/NativeApp.js +4 -4
  46. package/lib/cjs/NativeApp.js.map +1 -1
  47. package/lib/cjs/NoRenderApp.d.ts +1 -1
  48. package/lib/cjs/NoRenderApp.d.ts.map +1 -1
  49. package/lib/cjs/NoRenderApp.js +1 -1
  50. package/lib/cjs/NoRenderApp.js.map +1 -1
  51. package/lib/cjs/RealityDataSource.js +1 -1
  52. package/lib/cjs/RealityDataSource.js.map +1 -1
  53. package/lib/cjs/RealityDataSourceContextShareImpl.js +1 -1
  54. package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -1
  55. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  56. package/lib/cjs/SheetViewState.js +2 -2
  57. package/lib/cjs/SheetViewState.js.map +1 -1
  58. package/lib/cjs/Sprites.js +2 -2
  59. package/lib/cjs/Sprites.js.map +1 -1
  60. package/lib/cjs/ViewGlobalLocation.d.ts.map +1 -1
  61. package/lib/cjs/ViewGlobalLocation.js +4 -3
  62. package/lib/cjs/ViewGlobalLocation.js.map +1 -1
  63. package/lib/cjs/ViewState.d.ts +22 -4
  64. package/lib/cjs/ViewState.d.ts.map +1 -1
  65. package/lib/cjs/ViewState.js +36 -6
  66. package/lib/cjs/ViewState.js.map +1 -1
  67. package/lib/cjs/ViewingSpace.js +1 -1
  68. package/lib/cjs/ViewingSpace.js.map +1 -1
  69. package/lib/cjs/Viewport.d.ts +1 -1
  70. package/lib/cjs/Viewport.d.ts.map +1 -1
  71. package/lib/cjs/Viewport.js +2 -2
  72. package/lib/cjs/Viewport.js.map +1 -1
  73. package/lib/cjs/common/FrontendLoggerCategory.d.ts.map +1 -0
  74. package/lib/cjs/common/FrontendLoggerCategory.js.map +1 -0
  75. package/lib/cjs/common/ImageUtil.d.ts.map +1 -0
  76. package/lib/cjs/{ImageUtil.js → common/ImageUtil.js} +2 -0
  77. package/lib/cjs/common/ImageUtil.js.map +1 -0
  78. package/lib/cjs/common/ViewRect.d.ts.map +1 -0
  79. package/lib/cjs/common/ViewRect.js.map +1 -0
  80. package/lib/cjs/common/WorkerProxy.d.ts +73 -0
  81. package/lib/cjs/common/WorkerProxy.d.ts.map +1 -0
  82. package/lib/cjs/common/WorkerProxy.js +54 -0
  83. package/lib/cjs/common/WorkerProxy.js.map +1 -0
  84. package/lib/{esm → cjs/common}/gltf/GltfModel.d.ts +1 -1
  85. package/lib/cjs/common/gltf/GltfModel.d.ts.map +1 -0
  86. package/lib/cjs/common/gltf/GltfModel.js.map +1 -0
  87. package/lib/cjs/common/gltf/GltfParser.d.ts.map +1 -0
  88. package/lib/cjs/common/gltf/GltfParser.js.map +1 -0
  89. package/lib/cjs/common/gltf/GltfSchema.d.ts.map +1 -0
  90. package/lib/cjs/common/gltf/GltfSchema.js.map +1 -0
  91. package/lib/cjs/common/imdl/CompactEdges.d.ts +27 -0
  92. package/lib/cjs/common/imdl/CompactEdges.d.ts.map +1 -0
  93. package/lib/cjs/common/imdl/CompactEdges.js +96 -0
  94. package/lib/cjs/common/imdl/CompactEdges.js.map +1 -0
  95. package/lib/cjs/common/imdl/ImdlModel.d.ts +186 -0
  96. package/lib/cjs/common/imdl/ImdlModel.d.ts.map +1 -0
  97. package/lib/cjs/common/imdl/ImdlModel.js +71 -0
  98. package/lib/cjs/common/imdl/ImdlModel.js.map +1 -0
  99. package/lib/cjs/common/imdl/ImdlSchema.d.ts +412 -0
  100. package/lib/cjs/common/imdl/ImdlSchema.d.ts.map +1 -0
  101. package/lib/cjs/common/imdl/ImdlSchema.js +23 -0
  102. package/lib/cjs/common/imdl/ImdlSchema.js.map +1 -0
  103. package/lib/cjs/common/imdl/ParseImdlDocument.d.ts +45 -0
  104. package/lib/cjs/common/imdl/ParseImdlDocument.d.ts.map +1 -0
  105. package/lib/cjs/common/imdl/ParseImdlDocument.js +1011 -0
  106. package/lib/cjs/common/imdl/ParseImdlDocument.js.map +1 -0
  107. package/lib/cjs/common/render/AnimationNodeId.d.ts +11 -0
  108. package/lib/cjs/common/render/AnimationNodeId.d.ts.map +1 -0
  109. package/lib/cjs/common/render/AnimationNodeId.js +19 -0
  110. package/lib/cjs/common/render/AnimationNodeId.js.map +1 -0
  111. package/lib/{esm/render/RenderMaterial.d.ts → cjs/common/render/MaterialParams.d.ts} +7 -20
  112. package/lib/cjs/common/render/MaterialParams.d.ts.map +1 -0
  113. package/lib/cjs/{render/RenderMaterial.js → common/render/MaterialParams.js} +1 -1
  114. package/lib/cjs/common/render/MaterialParams.js.map +1 -0
  115. package/lib/cjs/common/render/TextureParams.d.ts +30 -0
  116. package/lib/cjs/common/render/TextureParams.d.ts.map +1 -0
  117. package/lib/cjs/{render/RenderTexture.js → common/render/TextureParams.js} +1 -1
  118. package/lib/cjs/common/render/TextureParams.js.map +1 -0
  119. package/lib/{esm → cjs/common}/render/primitives/AuxChannelTable.d.ts +12 -8
  120. package/lib/cjs/common/render/primitives/AuxChannelTable.d.ts.map +1 -0
  121. package/lib/cjs/{render → common/render}/primitives/AuxChannelTable.js +42 -9
  122. package/lib/cjs/common/render/primitives/AuxChannelTable.js.map +1 -0
  123. package/lib/cjs/common/render/primitives/DisplayParams.d.ts.map +1 -0
  124. package/lib/cjs/common/render/primitives/DisplayParams.js.map +1 -0
  125. package/lib/cjs/common/render/primitives/EdgeParams.d.ts +94 -0
  126. package/lib/cjs/common/render/primitives/EdgeParams.d.ts.map +1 -0
  127. package/lib/cjs/common/render/primitives/EdgeParams.js +46 -0
  128. package/lib/cjs/common/render/primitives/EdgeParams.js.map +1 -0
  129. package/lib/cjs/common/render/primitives/MeshParams.d.ts +20 -0
  130. package/lib/cjs/common/render/primitives/MeshParams.d.ts.map +1 -0
  131. package/lib/cjs/common/render/primitives/MeshParams.js +10 -0
  132. package/lib/cjs/common/render/primitives/MeshParams.js.map +1 -0
  133. package/lib/cjs/common/render/primitives/MeshPrimitive.d.ts +29 -0
  134. package/lib/cjs/common/render/primitives/MeshPrimitive.d.ts.map +1 -0
  135. package/lib/cjs/common/render/primitives/MeshPrimitive.js +18 -0
  136. package/lib/cjs/common/render/primitives/MeshPrimitive.js.map +1 -0
  137. package/lib/cjs/common/render/primitives/PointStringParams.d.ts +14 -0
  138. package/lib/cjs/common/render/primitives/PointStringParams.d.ts.map +1 -0
  139. package/lib/cjs/common/render/primitives/PointStringParams.js +10 -0
  140. package/lib/cjs/common/render/primitives/PointStringParams.js.map +1 -0
  141. package/lib/cjs/common/render/primitives/PolylineParams.d.ts +29 -0
  142. package/lib/cjs/common/render/primitives/PolylineParams.d.ts.map +1 -0
  143. package/lib/cjs/common/render/primitives/PolylineParams.js +10 -0
  144. package/lib/cjs/common/render/primitives/PolylineParams.js.map +1 -0
  145. package/lib/{esm → cjs/common}/render/primitives/SurfaceParams.d.ts +1 -1
  146. package/lib/cjs/common/render/primitives/SurfaceParams.d.ts.map +1 -0
  147. package/lib/cjs/common/render/primitives/SurfaceParams.js.map +1 -0
  148. package/lib/cjs/common/render/primitives/VertexIndices.d.ts +26 -0
  149. package/lib/cjs/common/render/primitives/VertexIndices.d.ts.map +1 -0
  150. package/lib/cjs/common/render/primitives/VertexIndices.js +64 -0
  151. package/lib/cjs/common/render/primitives/VertexIndices.js.map +1 -0
  152. package/lib/cjs/common/render/primitives/VertexTable.d.ts +45 -0
  153. package/lib/cjs/common/render/primitives/VertexTable.d.ts.map +1 -0
  154. package/lib/cjs/common/render/primitives/VertexTable.js +38 -0
  155. package/lib/cjs/common/render/primitives/VertexTable.js.map +1 -0
  156. package/lib/cjs/{render → common/render}/primitives/VertexTableSplitter.d.ts +23 -2
  157. package/lib/cjs/common/render/primitives/VertexTableSplitter.d.ts.map +1 -0
  158. package/lib/cjs/{render → common/render}/primitives/VertexTableSplitter.js +46 -35
  159. package/lib/cjs/common/render/primitives/VertexTableSplitter.js.map +1 -0
  160. package/lib/cjs/core-frontend.d.ts +26 -6
  161. package/lib/cjs/core-frontend.d.ts.map +1 -1
  162. package/lib/cjs/core-frontend.js +26 -6
  163. package/lib/cjs/core-frontend.js.map +1 -1
  164. package/lib/cjs/extension/ExtensionAdmin.js +1 -1
  165. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  166. package/lib/cjs/quantity-formatting/QuantityFormatter.js +1 -1
  167. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  168. package/lib/cjs/render/CreateRenderMaterialArgs.d.ts +24 -0
  169. package/lib/cjs/render/CreateRenderMaterialArgs.d.ts.map +1 -0
  170. package/lib/cjs/render/CreateRenderMaterialArgs.js +10 -0
  171. package/lib/cjs/render/CreateRenderMaterialArgs.js.map +1 -0
  172. package/lib/{esm/render/RenderTexture.d.ts → cjs/render/CreateTextureArgs.d.ts} +4 -28
  173. package/lib/cjs/render/CreateTextureArgs.d.ts.map +1 -0
  174. package/lib/cjs/render/CreateTextureArgs.js +10 -0
  175. package/lib/cjs/render/CreateTextureArgs.js.map +1 -0
  176. package/lib/cjs/render/GraphicBranch.d.ts +1 -7
  177. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  178. package/lib/cjs/render/GraphicBranch.js +1 -9
  179. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  180. package/lib/cjs/render/MockRender.d.ts +4 -4
  181. package/lib/cjs/render/MockRender.d.ts.map +1 -1
  182. package/lib/cjs/render/MockRender.js +1 -1
  183. package/lib/cjs/render/MockRender.js.map +1 -1
  184. package/lib/cjs/render/ParticleCollectionBuilder.d.ts.map +1 -1
  185. package/lib/cjs/render/ParticleCollectionBuilder.js +5 -5
  186. package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
  187. package/lib/cjs/render/RealityMeshParams.js +2 -2
  188. package/lib/cjs/render/RealityMeshParams.js.map +1 -1
  189. package/lib/cjs/render/RenderSystem.d.ts +7 -6
  190. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  191. package/lib/cjs/render/RenderSystem.js +6 -6
  192. package/lib/cjs/render/RenderSystem.js.map +1 -1
  193. package/lib/cjs/render/RenderTarget.d.ts +1 -1
  194. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  195. package/lib/cjs/render/RenderTarget.js.map +1 -1
  196. package/lib/cjs/render/VisibleFeature.d.ts +1 -1
  197. package/lib/cjs/render/VisibleFeature.d.ts.map +1 -1
  198. package/lib/cjs/render/VisibleFeature.js.map +1 -1
  199. package/lib/cjs/render/primitives/EdgeParams.d.ts +2 -89
  200. package/lib/cjs/render/primitives/EdgeParams.d.ts.map +1 -1
  201. package/lib/cjs/render/primitives/EdgeParams.js +35 -71
  202. package/lib/cjs/render/primitives/EdgeParams.js.map +1 -1
  203. package/lib/cjs/render/primitives/PointStringParams.d.ts +2 -11
  204. package/lib/cjs/render/primitives/PointStringParams.d.ts.map +1 -1
  205. package/lib/cjs/render/primitives/PointStringParams.js +26 -30
  206. package/lib/cjs/render/primitives/PointStringParams.js.map +1 -1
  207. package/lib/cjs/render/primitives/Polyface.d.ts +1 -1
  208. package/lib/cjs/render/primitives/Polyface.d.ts.map +1 -1
  209. package/lib/cjs/render/primitives/Polyface.js.map +1 -1
  210. package/lib/cjs/render/primitives/PolylineParams.d.ts +4 -36
  211. package/lib/cjs/render/primitives/PolylineParams.d.ts.map +1 -1
  212. package/lib/cjs/render/primitives/PolylineParams.js +29 -40
  213. package/lib/cjs/render/primitives/PolylineParams.js.map +1 -1
  214. package/lib/cjs/render/primitives/Strokes.d.ts +1 -1
  215. package/lib/cjs/render/primitives/Strokes.d.ts.map +1 -1
  216. package/lib/cjs/render/primitives/Strokes.js.map +1 -1
  217. package/lib/cjs/render/primitives/VertexTableBuilder.d.ts +28 -0
  218. package/lib/cjs/render/primitives/VertexTableBuilder.d.ts.map +1 -0
  219. package/lib/cjs/render/primitives/{VertexTable.js → VertexTableBuilder.js} +61 -175
  220. package/lib/cjs/render/primitives/VertexTableBuilder.js.map +1 -0
  221. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts +1 -1
  222. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  223. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  224. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts +1 -1
  225. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  226. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js +1 -1
  227. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  228. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.d.ts +1 -1
  229. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.d.ts.map +1 -1
  230. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.js +1 -1
  231. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.js.map +1 -1
  232. package/lib/cjs/render/primitives/mesh/MeshBuilder.d.ts +1 -1
  233. package/lib/cjs/render/primitives/mesh/MeshBuilder.d.ts.map +1 -1
  234. package/lib/cjs/render/primitives/mesh/MeshBuilder.js.map +1 -1
  235. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.d.ts +6 -5
  236. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.d.ts.map +1 -1
  237. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js +3 -2
  238. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  239. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts +4 -25
  240. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  241. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js +9 -14
  242. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  243. package/lib/cjs/render/webgl/CachedGeometry.d.ts +1 -1
  244. package/lib/cjs/render/webgl/CachedGeometry.d.ts.map +1 -1
  245. package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
  246. package/lib/cjs/render/webgl/ColorInfo.d.ts +1 -1
  247. package/lib/cjs/render/webgl/ColorInfo.d.ts.map +1 -1
  248. package/lib/cjs/render/webgl/ColorInfo.js.map +1 -1
  249. package/lib/cjs/render/webgl/EdgeGeometry.d.ts +2 -2
  250. package/lib/cjs/render/webgl/EdgeGeometry.d.ts.map +1 -1
  251. package/lib/cjs/render/webgl/EdgeGeometry.js.map +1 -1
  252. package/lib/cjs/render/webgl/FeatureOverrides.js +1 -1
  253. package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
  254. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts +1 -1
  255. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -1
  256. package/lib/cjs/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  257. package/lib/cjs/render/webgl/Material.d.ts +1 -1
  258. package/lib/cjs/render/webgl/Material.d.ts.map +1 -1
  259. package/lib/cjs/render/webgl/Material.js.map +1 -1
  260. package/lib/cjs/render/webgl/Mesh.d.ts +2 -2
  261. package/lib/cjs/render/webgl/Mesh.d.ts.map +1 -1
  262. package/lib/cjs/render/webgl/Mesh.js +1 -1
  263. package/lib/cjs/render/webgl/Mesh.js.map +1 -1
  264. package/lib/cjs/render/webgl/MeshData.d.ts +2 -2
  265. package/lib/cjs/render/webgl/MeshData.d.ts.map +1 -1
  266. package/lib/cjs/render/webgl/MeshData.js.map +1 -1
  267. package/lib/cjs/render/webgl/MeshGeometry.d.ts +1 -1
  268. package/lib/cjs/render/webgl/MeshGeometry.d.ts.map +1 -1
  269. package/lib/cjs/render/webgl/PointString.d.ts +1 -1
  270. package/lib/cjs/render/webgl/PointString.d.ts.map +1 -1
  271. package/lib/cjs/render/webgl/PointString.js.map +1 -1
  272. package/lib/cjs/render/webgl/Polyline.d.ts +1 -1
  273. package/lib/cjs/render/webgl/Polyline.d.ts.map +1 -1
  274. package/lib/cjs/render/webgl/Polyline.js.map +1 -1
  275. package/lib/cjs/render/webgl/RenderCommands.js +1 -1
  276. package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
  277. package/lib/cjs/render/webgl/SceneCompositor.d.ts +1 -1
  278. package/lib/cjs/render/webgl/SceneCompositor.d.ts.map +1 -1
  279. package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
  280. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts +1 -1
  281. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts.map +1 -1
  282. package/lib/cjs/render/webgl/SurfaceGeometry.js +1 -1
  283. package/lib/cjs/render/webgl/SurfaceGeometry.js.map +1 -1
  284. package/lib/cjs/render/webgl/System.d.ts +7 -6
  285. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  286. package/lib/cjs/render/webgl/System.js +1 -1
  287. package/lib/cjs/render/webgl/System.js.map +1 -1
  288. package/lib/cjs/render/webgl/Target.d.ts +1 -1
  289. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  290. package/lib/cjs/render/webgl/Target.js +4 -4
  291. package/lib/cjs/render/webgl/Target.js.map +1 -1
  292. package/lib/cjs/render/webgl/Texture.d.ts +1 -1
  293. package/lib/cjs/render/webgl/Texture.d.ts.map +1 -1
  294. package/lib/cjs/render/webgl/Texture.js +1 -1
  295. package/lib/cjs/render/webgl/Texture.js.map +1 -1
  296. package/lib/cjs/render/webgl/UniformHandle.js +1 -1
  297. package/lib/cjs/render/webgl/UniformHandle.js.map +1 -1
  298. package/lib/cjs/render/webgl/VertexLUT.d.ts +2 -2
  299. package/lib/cjs/render/webgl/VertexLUT.d.ts.map +1 -1
  300. package/lib/cjs/render/webgl/VertexLUT.js.map +1 -1
  301. package/lib/cjs/render/webgl/glsl/Animation.js.map +1 -1
  302. package/lib/cjs/render-primitives.d.ts +1 -4
  303. package/lib/cjs/render-primitives.d.ts.map +1 -1
  304. package/lib/cjs/render-primitives.js +1 -4
  305. package/lib/cjs/render-primitives.js.map +1 -1
  306. package/lib/cjs/tile/B3dmReader.d.ts +1 -1
  307. package/lib/cjs/tile/B3dmReader.d.ts.map +1 -1
  308. package/lib/cjs/tile/B3dmReader.js +1 -1
  309. package/lib/cjs/tile/B3dmReader.js.map +1 -1
  310. package/lib/cjs/tile/DynamicIModelTile.js +1 -1
  311. package/lib/cjs/tile/DynamicIModelTile.js.map +1 -1
  312. package/lib/cjs/tile/GltfReader.d.ts +3 -3
  313. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  314. package/lib/cjs/tile/GltfReader.js +12 -21
  315. package/lib/cjs/tile/GltfReader.js.map +1 -1
  316. package/lib/cjs/tile/IModelTile.d.ts.map +1 -1
  317. package/lib/cjs/tile/IModelTile.js +11 -17
  318. package/lib/cjs/tile/IModelTile.js.map +1 -1
  319. package/lib/cjs/tile/IModelTileTree.d.ts +4 -1
  320. package/lib/cjs/tile/IModelTileTree.d.ts.map +1 -1
  321. package/lib/cjs/tile/IModelTileTree.js +15 -0
  322. package/lib/cjs/tile/IModelTileTree.js.map +1 -1
  323. package/lib/cjs/tile/ImdlDecoder.d.ts +52 -0
  324. package/lib/cjs/tile/ImdlDecoder.d.ts.map +1 -0
  325. package/lib/cjs/tile/ImdlDecoder.js +35 -0
  326. package/lib/cjs/tile/ImdlDecoder.js.map +1 -0
  327. package/lib/cjs/tile/ImdlGraphicsCreator.d.ts +19 -0
  328. package/lib/cjs/tile/ImdlGraphicsCreator.d.ts.map +1 -0
  329. package/lib/cjs/tile/ImdlGraphicsCreator.js +328 -0
  330. package/lib/cjs/tile/ImdlGraphicsCreator.js.map +1 -0
  331. package/lib/cjs/tile/ImdlParser.d.ts +26 -0
  332. package/lib/cjs/tile/ImdlParser.d.ts.map +1 -0
  333. package/lib/cjs/tile/ImdlParser.js +72 -0
  334. package/lib/cjs/tile/ImdlParser.js.map +1 -0
  335. package/lib/cjs/tile/ImdlReader.d.ts +16 -420
  336. package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
  337. package/lib/cjs/tile/ImdlReader.js +69 -902
  338. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  339. package/lib/cjs/tile/OPCFormatInterpreter.js +1 -1
  340. package/lib/cjs/tile/OPCFormatInterpreter.js.map +1 -1
  341. package/lib/cjs/tile/PntsReader.js +1 -1
  342. package/lib/cjs/tile/PntsReader.js.map +1 -1
  343. package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
  344. package/lib/cjs/tile/PrimaryTileTree.js +2 -1
  345. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  346. package/lib/cjs/tile/RealityTileLoader.js +1 -1
  347. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  348. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js +1 -1
  349. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  350. package/lib/cjs/tile/TileAdmin.d.ts +14 -10
  351. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  352. package/lib/cjs/tile/TileAdmin.js +6 -15
  353. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  354. package/lib/cjs/tile/internal.d.ts +3 -0
  355. package/lib/cjs/tile/internal.d.ts.map +1 -1
  356. package/lib/cjs/tile/internal.js +3 -0
  357. package/lib/cjs/tile/internal.js.map +1 -1
  358. package/lib/cjs/tile/map/ArcGisUtilities.d.ts +8 -1
  359. package/lib/cjs/tile/map/ArcGisUtilities.d.ts.map +1 -1
  360. package/lib/cjs/tile/map/ArcGisUtilities.js +21 -0
  361. package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
  362. package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
  363. package/lib/cjs/tile/map/ImageryTileTree.js +14 -7
  364. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  365. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  366. package/lib/cjs/tile/map/MapLayerImageryFormats.js +3 -0
  367. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  368. package/lib/cjs/tile/map/MapLayerSources.d.ts +4 -1
  369. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  370. package/lib/cjs/tile/map/MapLayerSources.js +3 -0
  371. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  372. package/lib/cjs/tile/map/MapTile.d.ts +6 -1
  373. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  374. package/lib/cjs/tile/map/MapTile.js +8 -7
  375. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  376. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  377. package/lib/cjs/tile/map/MapTileTree.js +9 -3
  378. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  379. package/lib/cjs/tools/ElementSetTool.js +1 -1
  380. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  381. package/lib/cjs/tools/SelectTool.js +1 -1
  382. package/lib/cjs/tools/SelectTool.js.map +1 -1
  383. package/lib/cjs/tools/ToolAdmin.js +1 -1
  384. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  385. package/lib/cjs/tools/ViewTool.js +1 -1
  386. package/lib/cjs/tools/ViewTool.js.map +1 -1
  387. package/lib/cjs/workers/ImdlParser/Worker.d.ts +20 -0
  388. package/lib/cjs/workers/ImdlParser/Worker.d.ts.map +1 -0
  389. package/lib/cjs/workers/ImdlParser/Worker.js +32 -0
  390. package/lib/cjs/workers/ImdlParser/Worker.js.map +1 -0
  391. package/lib/cjs/workers/ImdlParser/webpack.config.js +40 -0
  392. package/lib/cjs/workers/RegisterWorker.d.ts +9 -0
  393. package/lib/cjs/workers/RegisterWorker.d.ts.map +1 -0
  394. package/lib/cjs/workers/RegisterWorker.js +36 -0
  395. package/lib/cjs/workers/RegisterWorker.js.map +1 -0
  396. package/lib/esm/AccuSnap.d.ts.map +1 -1
  397. package/lib/esm/AccuSnap.js +8 -0
  398. package/lib/esm/AccuSnap.js.map +1 -1
  399. package/lib/esm/BackgroundMapGeometry.d.ts +2 -2
  400. package/lib/esm/BackgroundMapGeometry.d.ts.map +1 -1
  401. package/lib/esm/BackgroundMapGeometry.js +18 -7
  402. package/lib/esm/BackgroundMapGeometry.js.map +1 -1
  403. package/lib/esm/BriefcaseTxns.d.ts +2 -2
  404. package/lib/esm/BriefcaseTxns.d.ts.map +1 -1
  405. package/lib/esm/BriefcaseTxns.js +3 -3
  406. package/lib/esm/BriefcaseTxns.js.map +1 -1
  407. package/lib/esm/CheckpointConnection.js +1 -1
  408. package/lib/esm/CheckpointConnection.js.map +1 -1
  409. package/lib/esm/DrawingViewState.js +1 -1
  410. package/lib/esm/DrawingViewState.js.map +1 -1
  411. package/lib/esm/ElementLocateManager.js +1 -1
  412. package/lib/esm/ElementLocateManager.js.map +1 -1
  413. package/lib/esm/EnvironmentDecorations.js +1 -1
  414. package/lib/esm/EnvironmentDecorations.js.map +1 -1
  415. package/lib/esm/GeoServices.d.ts +37 -7
  416. package/lib/esm/GeoServices.d.ts.map +1 -1
  417. package/lib/esm/GeoServices.js +75 -25
  418. package/lib/esm/GeoServices.js.map +1 -1
  419. package/lib/esm/GraphicalEditingScope.d.ts +2 -2
  420. package/lib/esm/GraphicalEditingScope.d.ts.map +1 -1
  421. package/lib/esm/GraphicalEditingScope.js +2 -2
  422. package/lib/esm/GraphicalEditingScope.js.map +1 -1
  423. package/lib/esm/IModelApp.js +1 -1
  424. package/lib/esm/IModelApp.js.map +1 -1
  425. package/lib/esm/IModelConnection.d.ts +26 -9
  426. package/lib/esm/IModelConnection.d.ts.map +1 -1
  427. package/lib/esm/IModelConnection.js +78 -11
  428. package/lib/esm/IModelConnection.js.map +1 -1
  429. package/lib/esm/IpcApp.d.ts.map +1 -1
  430. package/lib/esm/IpcApp.js +4 -4
  431. package/lib/esm/IpcApp.js.map +1 -1
  432. package/lib/esm/LocalhostIpcApp.js +2 -2
  433. package/lib/esm/LocalhostIpcApp.js.map +1 -1
  434. package/lib/esm/Marker.d.ts +1 -1
  435. package/lib/esm/Marker.d.ts.map +1 -1
  436. package/lib/esm/Marker.js +3 -3
  437. package/lib/esm/Marker.js.map +1 -1
  438. package/lib/esm/NativeApp.d.ts.map +1 -1
  439. package/lib/esm/NativeApp.js +5 -5
  440. package/lib/esm/NativeApp.js.map +1 -1
  441. package/lib/esm/NoRenderApp.d.ts +1 -1
  442. package/lib/esm/NoRenderApp.d.ts.map +1 -1
  443. package/lib/esm/NoRenderApp.js +1 -1
  444. package/lib/esm/NoRenderApp.js.map +1 -1
  445. package/lib/esm/RealityDataSource.js +1 -1
  446. package/lib/esm/RealityDataSource.js.map +1 -1
  447. package/lib/esm/RealityDataSourceContextShareImpl.js +1 -1
  448. package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -1
  449. package/lib/esm/SheetViewState.d.ts.map +1 -1
  450. package/lib/esm/SheetViewState.js +2 -2
  451. package/lib/esm/SheetViewState.js.map +1 -1
  452. package/lib/esm/Sprites.js +2 -2
  453. package/lib/esm/Sprites.js.map +1 -1
  454. package/lib/esm/ViewGlobalLocation.d.ts.map +1 -1
  455. package/lib/esm/ViewGlobalLocation.js +4 -3
  456. package/lib/esm/ViewGlobalLocation.js.map +1 -1
  457. package/lib/esm/ViewState.d.ts +22 -4
  458. package/lib/esm/ViewState.d.ts.map +1 -1
  459. package/lib/esm/ViewState.js +36 -6
  460. package/lib/esm/ViewState.js.map +1 -1
  461. package/lib/esm/ViewingSpace.js +1 -1
  462. package/lib/esm/ViewingSpace.js.map +1 -1
  463. package/lib/esm/Viewport.d.ts +1 -1
  464. package/lib/esm/Viewport.d.ts.map +1 -1
  465. package/lib/esm/Viewport.js +2 -2
  466. package/lib/esm/Viewport.js.map +1 -1
  467. package/lib/esm/common/FrontendLoggerCategory.d.ts.map +1 -0
  468. package/lib/esm/common/FrontendLoggerCategory.js.map +1 -0
  469. package/lib/esm/common/ImageUtil.d.ts.map +1 -0
  470. package/lib/esm/{ImageUtil.js → common/ImageUtil.js} +2 -0
  471. package/lib/esm/common/ImageUtil.js.map +1 -0
  472. package/lib/esm/common/ViewRect.d.ts.map +1 -0
  473. package/lib/esm/common/ViewRect.js.map +1 -0
  474. package/lib/esm/common/WorkerProxy.d.ts +73 -0
  475. package/lib/esm/common/WorkerProxy.d.ts.map +1 -0
  476. package/lib/esm/common/WorkerProxy.js +50 -0
  477. package/lib/esm/common/WorkerProxy.js.map +1 -0
  478. package/lib/{cjs → esm/common}/gltf/GltfModel.d.ts +1 -1
  479. package/lib/esm/common/gltf/GltfModel.d.ts.map +1 -0
  480. package/lib/esm/common/gltf/GltfModel.js.map +1 -0
  481. package/lib/esm/common/gltf/GltfParser.d.ts.map +1 -0
  482. package/lib/esm/common/gltf/GltfParser.js.map +1 -0
  483. package/lib/esm/common/gltf/GltfSchema.d.ts.map +1 -0
  484. package/lib/esm/common/gltf/GltfSchema.js.map +1 -0
  485. package/lib/esm/common/imdl/CompactEdges.d.ts +27 -0
  486. package/lib/esm/common/imdl/CompactEdges.d.ts.map +1 -0
  487. package/lib/esm/common/imdl/CompactEdges.js +92 -0
  488. package/lib/esm/common/imdl/CompactEdges.js.map +1 -0
  489. package/lib/esm/common/imdl/ImdlModel.d.ts +186 -0
  490. package/lib/esm/common/imdl/ImdlModel.d.ts.map +1 -0
  491. package/lib/esm/common/imdl/ImdlModel.js +67 -0
  492. package/lib/esm/common/imdl/ImdlModel.js.map +1 -0
  493. package/lib/esm/common/imdl/ImdlSchema.d.ts +412 -0
  494. package/lib/esm/common/imdl/ImdlSchema.d.ts.map +1 -0
  495. package/lib/esm/common/imdl/ImdlSchema.js +20 -0
  496. package/lib/esm/common/imdl/ImdlSchema.js.map +1 -0
  497. package/lib/esm/common/imdl/ParseImdlDocument.d.ts +45 -0
  498. package/lib/esm/common/imdl/ParseImdlDocument.d.ts.map +1 -0
  499. package/lib/esm/common/imdl/ParseImdlDocument.js +1003 -0
  500. package/lib/esm/common/imdl/ParseImdlDocument.js.map +1 -0
  501. package/lib/esm/common/render/AnimationNodeId.d.ts +11 -0
  502. package/lib/esm/common/render/AnimationNodeId.d.ts.map +1 -0
  503. package/lib/esm/common/render/AnimationNodeId.js +16 -0
  504. package/lib/esm/common/render/AnimationNodeId.js.map +1 -0
  505. package/lib/{cjs/render/RenderMaterial.d.ts → esm/common/render/MaterialParams.d.ts} +7 -20
  506. package/lib/esm/common/render/MaterialParams.d.ts.map +1 -0
  507. package/lib/esm/{render/RenderMaterial.js → common/render/MaterialParams.js} +1 -1
  508. package/lib/esm/common/render/MaterialParams.js.map +1 -0
  509. package/lib/esm/common/render/TextureParams.d.ts +30 -0
  510. package/lib/esm/common/render/TextureParams.d.ts.map +1 -0
  511. package/lib/esm/{render/RenderTexture.js → common/render/TextureParams.js} +1 -1
  512. package/lib/esm/common/render/TextureParams.js.map +1 -0
  513. package/lib/{cjs → esm/common}/render/primitives/AuxChannelTable.d.ts +12 -8
  514. package/lib/esm/common/render/primitives/AuxChannelTable.d.ts.map +1 -0
  515. package/lib/esm/{render → common/render}/primitives/AuxChannelTable.js +42 -9
  516. package/lib/esm/common/render/primitives/AuxChannelTable.js.map +1 -0
  517. package/lib/esm/common/render/primitives/DisplayParams.d.ts.map +1 -0
  518. package/lib/esm/common/render/primitives/DisplayParams.js.map +1 -0
  519. package/lib/esm/common/render/primitives/EdgeParams.d.ts +94 -0
  520. package/lib/esm/common/render/primitives/EdgeParams.d.ts.map +1 -0
  521. package/lib/esm/common/render/primitives/EdgeParams.js +42 -0
  522. package/lib/esm/common/render/primitives/EdgeParams.js.map +1 -0
  523. package/lib/esm/common/render/primitives/MeshParams.d.ts +20 -0
  524. package/lib/esm/common/render/primitives/MeshParams.d.ts.map +1 -0
  525. package/lib/esm/common/render/primitives/MeshParams.js +9 -0
  526. package/lib/esm/common/render/primitives/MeshParams.js.map +1 -0
  527. package/lib/esm/common/render/primitives/MeshPrimitive.d.ts +29 -0
  528. package/lib/esm/common/render/primitives/MeshPrimitive.d.ts.map +1 -0
  529. package/lib/esm/common/render/primitives/MeshPrimitive.js +15 -0
  530. package/lib/esm/common/render/primitives/MeshPrimitive.js.map +1 -0
  531. package/lib/esm/common/render/primitives/PointStringParams.d.ts +14 -0
  532. package/lib/esm/common/render/primitives/PointStringParams.d.ts.map +1 -0
  533. package/lib/esm/common/render/primitives/PointStringParams.js +9 -0
  534. package/lib/esm/common/render/primitives/PointStringParams.js.map +1 -0
  535. package/lib/esm/common/render/primitives/PolylineParams.d.ts +29 -0
  536. package/lib/esm/common/render/primitives/PolylineParams.d.ts.map +1 -0
  537. package/lib/esm/common/render/primitives/PolylineParams.js +9 -0
  538. package/lib/esm/common/render/primitives/PolylineParams.js.map +1 -0
  539. package/lib/{cjs → esm/common}/render/primitives/SurfaceParams.d.ts +1 -1
  540. package/lib/esm/common/render/primitives/SurfaceParams.d.ts.map +1 -0
  541. package/lib/esm/common/render/primitives/SurfaceParams.js.map +1 -0
  542. package/lib/esm/common/render/primitives/VertexIndices.d.ts +26 -0
  543. package/lib/esm/common/render/primitives/VertexIndices.d.ts.map +1 -0
  544. package/lib/esm/common/render/primitives/VertexIndices.js +60 -0
  545. package/lib/esm/common/render/primitives/VertexIndices.js.map +1 -0
  546. package/lib/esm/common/render/primitives/VertexTable.d.ts +45 -0
  547. package/lib/esm/common/render/primitives/VertexTable.d.ts.map +1 -0
  548. package/lib/esm/common/render/primitives/VertexTable.js +34 -0
  549. package/lib/esm/common/render/primitives/VertexTable.js.map +1 -0
  550. package/lib/esm/{render → common/render}/primitives/VertexTableSplitter.d.ts +23 -2
  551. package/lib/esm/common/render/primitives/VertexTableSplitter.d.ts.map +1 -0
  552. package/lib/esm/{render → common/render}/primitives/VertexTableSplitter.js +44 -33
  553. package/lib/esm/common/render/primitives/VertexTableSplitter.js.map +1 -0
  554. package/lib/esm/core-frontend.d.ts +26 -6
  555. package/lib/esm/core-frontend.d.ts.map +1 -1
  556. package/lib/esm/core-frontend.js +26 -6
  557. package/lib/esm/core-frontend.js.map +1 -1
  558. package/lib/esm/extension/ExtensionAdmin.js +1 -1
  559. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  560. package/lib/esm/quantity-formatting/QuantityFormatter.js +1 -1
  561. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  562. package/lib/esm/render/CreateRenderMaterialArgs.d.ts +24 -0
  563. package/lib/esm/render/CreateRenderMaterialArgs.d.ts.map +1 -0
  564. package/lib/esm/render/CreateRenderMaterialArgs.js +9 -0
  565. package/lib/esm/render/CreateRenderMaterialArgs.js.map +1 -0
  566. package/lib/{cjs/render/RenderTexture.d.ts → esm/render/CreateTextureArgs.d.ts} +4 -28
  567. package/lib/esm/render/CreateTextureArgs.d.ts.map +1 -0
  568. package/lib/esm/render/CreateTextureArgs.js +9 -0
  569. package/lib/esm/render/CreateTextureArgs.js.map +1 -0
  570. package/lib/esm/render/GraphicBranch.d.ts +1 -7
  571. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  572. package/lib/esm/render/GraphicBranch.js +0 -8
  573. package/lib/esm/render/GraphicBranch.js.map +1 -1
  574. package/lib/esm/render/MockRender.d.ts +4 -4
  575. package/lib/esm/render/MockRender.d.ts.map +1 -1
  576. package/lib/esm/render/MockRender.js +1 -1
  577. package/lib/esm/render/MockRender.js.map +1 -1
  578. package/lib/esm/render/ParticleCollectionBuilder.d.ts.map +1 -1
  579. package/lib/esm/render/ParticleCollectionBuilder.js +5 -5
  580. package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
  581. package/lib/esm/render/RealityMeshParams.js +2 -2
  582. package/lib/esm/render/RealityMeshParams.js.map +1 -1
  583. package/lib/esm/render/RenderSystem.d.ts +7 -6
  584. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  585. package/lib/esm/render/RenderSystem.js +7 -7
  586. package/lib/esm/render/RenderSystem.js.map +1 -1
  587. package/lib/esm/render/RenderTarget.d.ts +1 -1
  588. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  589. package/lib/esm/render/RenderTarget.js.map +1 -1
  590. package/lib/esm/render/VisibleFeature.d.ts +1 -1
  591. package/lib/esm/render/VisibleFeature.d.ts.map +1 -1
  592. package/lib/esm/render/VisibleFeature.js.map +1 -1
  593. package/lib/esm/render/primitives/EdgeParams.d.ts +2 -89
  594. package/lib/esm/render/primitives/EdgeParams.d.ts.map +1 -1
  595. package/lib/esm/render/primitives/EdgeParams.js +29 -65
  596. package/lib/esm/render/primitives/EdgeParams.js.map +1 -1
  597. package/lib/esm/render/primitives/PointStringParams.d.ts +2 -11
  598. package/lib/esm/render/primitives/PointStringParams.d.ts.map +1 -1
  599. package/lib/esm/render/primitives/PointStringParams.js +24 -28
  600. package/lib/esm/render/primitives/PointStringParams.js.map +1 -1
  601. package/lib/esm/render/primitives/Polyface.d.ts +1 -1
  602. package/lib/esm/render/primitives/Polyface.d.ts.map +1 -1
  603. package/lib/esm/render/primitives/Polyface.js.map +1 -1
  604. package/lib/esm/render/primitives/PolylineParams.d.ts +4 -36
  605. package/lib/esm/render/primitives/PolylineParams.d.ts.map +1 -1
  606. package/lib/esm/render/primitives/PolylineParams.js +24 -36
  607. package/lib/esm/render/primitives/PolylineParams.js.map +1 -1
  608. package/lib/esm/render/primitives/Strokes.d.ts +1 -1
  609. package/lib/esm/render/primitives/Strokes.d.ts.map +1 -1
  610. package/lib/esm/render/primitives/Strokes.js.map +1 -1
  611. package/lib/esm/render/primitives/VertexTableBuilder.d.ts +28 -0
  612. package/lib/esm/render/primitives/VertexTableBuilder.d.ts.map +1 -0
  613. package/lib/esm/render/primitives/{VertexTable.js → VertexTableBuilder.js} +60 -171
  614. package/lib/esm/render/primitives/VertexTableBuilder.js.map +1 -0
  615. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts +1 -1
  616. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  617. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  618. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts +1 -1
  619. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  620. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js +1 -1
  621. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  622. package/lib/esm/render/primitives/geometry/GeometryPrimitives.d.ts +1 -1
  623. package/lib/esm/render/primitives/geometry/GeometryPrimitives.d.ts.map +1 -1
  624. package/lib/esm/render/primitives/geometry/GeometryPrimitives.js +1 -1
  625. package/lib/esm/render/primitives/geometry/GeometryPrimitives.js.map +1 -1
  626. package/lib/esm/render/primitives/mesh/MeshBuilder.d.ts +1 -1
  627. package/lib/esm/render/primitives/mesh/MeshBuilder.d.ts.map +1 -1
  628. package/lib/esm/render/primitives/mesh/MeshBuilder.js.map +1 -1
  629. package/lib/esm/render/primitives/mesh/MeshBuilderMap.d.ts +6 -5
  630. package/lib/esm/render/primitives/mesh/MeshBuilderMap.d.ts.map +1 -1
  631. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js +4 -3
  632. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  633. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts +4 -25
  634. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  635. package/lib/esm/render/primitives/mesh/MeshPrimitives.js +9 -14
  636. package/lib/esm/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  637. package/lib/esm/render/webgl/CachedGeometry.d.ts +1 -1
  638. package/lib/esm/render/webgl/CachedGeometry.d.ts.map +1 -1
  639. package/lib/esm/render/webgl/CachedGeometry.js.map +1 -1
  640. package/lib/esm/render/webgl/ColorInfo.d.ts +1 -1
  641. package/lib/esm/render/webgl/ColorInfo.d.ts.map +1 -1
  642. package/lib/esm/render/webgl/ColorInfo.js.map +1 -1
  643. package/lib/esm/render/webgl/EdgeGeometry.d.ts +2 -2
  644. package/lib/esm/render/webgl/EdgeGeometry.d.ts.map +1 -1
  645. package/lib/esm/render/webgl/EdgeGeometry.js.map +1 -1
  646. package/lib/esm/render/webgl/FeatureOverrides.js +1 -1
  647. package/lib/esm/render/webgl/FeatureOverrides.js.map +1 -1
  648. package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts +1 -1
  649. package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -1
  650. package/lib/esm/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  651. package/lib/esm/render/webgl/Material.d.ts +1 -1
  652. package/lib/esm/render/webgl/Material.d.ts.map +1 -1
  653. package/lib/esm/render/webgl/Material.js.map +1 -1
  654. package/lib/esm/render/webgl/Mesh.d.ts +2 -2
  655. package/lib/esm/render/webgl/Mesh.d.ts.map +1 -1
  656. package/lib/esm/render/webgl/Mesh.js +1 -1
  657. package/lib/esm/render/webgl/Mesh.js.map +1 -1
  658. package/lib/esm/render/webgl/MeshData.d.ts +2 -2
  659. package/lib/esm/render/webgl/MeshData.d.ts.map +1 -1
  660. package/lib/esm/render/webgl/MeshData.js.map +1 -1
  661. package/lib/esm/render/webgl/MeshGeometry.d.ts +1 -1
  662. package/lib/esm/render/webgl/MeshGeometry.d.ts.map +1 -1
  663. package/lib/esm/render/webgl/PointString.d.ts +1 -1
  664. package/lib/esm/render/webgl/PointString.d.ts.map +1 -1
  665. package/lib/esm/render/webgl/PointString.js.map +1 -1
  666. package/lib/esm/render/webgl/Polyline.d.ts +1 -1
  667. package/lib/esm/render/webgl/Polyline.d.ts.map +1 -1
  668. package/lib/esm/render/webgl/Polyline.js.map +1 -1
  669. package/lib/esm/render/webgl/RenderCommands.js +1 -1
  670. package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
  671. package/lib/esm/render/webgl/SceneCompositor.d.ts +1 -1
  672. package/lib/esm/render/webgl/SceneCompositor.d.ts.map +1 -1
  673. package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
  674. package/lib/esm/render/webgl/SurfaceGeometry.d.ts +1 -1
  675. package/lib/esm/render/webgl/SurfaceGeometry.d.ts.map +1 -1
  676. package/lib/esm/render/webgl/SurfaceGeometry.js +1 -1
  677. package/lib/esm/render/webgl/SurfaceGeometry.js.map +1 -1
  678. package/lib/esm/render/webgl/System.d.ts +7 -6
  679. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  680. package/lib/esm/render/webgl/System.js +1 -1
  681. package/lib/esm/render/webgl/System.js.map +1 -1
  682. package/lib/esm/render/webgl/Target.d.ts +1 -1
  683. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  684. package/lib/esm/render/webgl/Target.js +3 -3
  685. package/lib/esm/render/webgl/Target.js.map +1 -1
  686. package/lib/esm/render/webgl/Texture.d.ts +1 -1
  687. package/lib/esm/render/webgl/Texture.d.ts.map +1 -1
  688. package/lib/esm/render/webgl/Texture.js +1 -1
  689. package/lib/esm/render/webgl/Texture.js.map +1 -1
  690. package/lib/esm/render/webgl/UniformHandle.js +1 -1
  691. package/lib/esm/render/webgl/UniformHandle.js.map +1 -1
  692. package/lib/esm/render/webgl/VertexLUT.d.ts +2 -2
  693. package/lib/esm/render/webgl/VertexLUT.d.ts.map +1 -1
  694. package/lib/esm/render/webgl/VertexLUT.js.map +1 -1
  695. package/lib/esm/render/webgl/glsl/Animation.js.map +1 -1
  696. package/lib/esm/render-primitives.d.ts +1 -4
  697. package/lib/esm/render-primitives.d.ts.map +1 -1
  698. package/lib/esm/render-primitives.js +1 -4
  699. package/lib/esm/render-primitives.js.map +1 -1
  700. package/lib/esm/tile/B3dmReader.d.ts +1 -1
  701. package/lib/esm/tile/B3dmReader.d.ts.map +1 -1
  702. package/lib/esm/tile/B3dmReader.js +1 -1
  703. package/lib/esm/tile/B3dmReader.js.map +1 -1
  704. package/lib/esm/tile/DynamicIModelTile.js +1 -1
  705. package/lib/esm/tile/DynamicIModelTile.js.map +1 -1
  706. package/lib/esm/tile/GltfReader.d.ts +3 -3
  707. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  708. package/lib/esm/tile/GltfReader.js +12 -21
  709. package/lib/esm/tile/GltfReader.js.map +1 -1
  710. package/lib/esm/tile/IModelTile.d.ts.map +1 -1
  711. package/lib/esm/tile/IModelTile.js +12 -18
  712. package/lib/esm/tile/IModelTile.js.map +1 -1
  713. package/lib/esm/tile/IModelTileTree.d.ts +4 -1
  714. package/lib/esm/tile/IModelTileTree.d.ts.map +1 -1
  715. package/lib/esm/tile/IModelTileTree.js +16 -1
  716. package/lib/esm/tile/IModelTileTree.js.map +1 -1
  717. package/lib/esm/tile/ImdlDecoder.d.ts +52 -0
  718. package/lib/esm/tile/ImdlDecoder.d.ts.map +1 -0
  719. package/lib/esm/tile/ImdlDecoder.js +31 -0
  720. package/lib/esm/tile/ImdlDecoder.js.map +1 -0
  721. package/lib/esm/tile/ImdlGraphicsCreator.d.ts +19 -0
  722. package/lib/esm/tile/ImdlGraphicsCreator.d.ts.map +1 -0
  723. package/lib/esm/tile/ImdlGraphicsCreator.js +324 -0
  724. package/lib/esm/tile/ImdlGraphicsCreator.js.map +1 -0
  725. package/lib/esm/tile/ImdlParser.d.ts +26 -0
  726. package/lib/esm/tile/ImdlParser.d.ts.map +1 -0
  727. package/lib/esm/tile/ImdlParser.js +68 -0
  728. package/lib/esm/tile/ImdlParser.js.map +1 -0
  729. package/lib/esm/tile/ImdlReader.d.ts +16 -420
  730. package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
  731. package/lib/esm/tile/ImdlReader.js +71 -903
  732. package/lib/esm/tile/ImdlReader.js.map +1 -1
  733. package/lib/esm/tile/OPCFormatInterpreter.js +1 -1
  734. package/lib/esm/tile/OPCFormatInterpreter.js.map +1 -1
  735. package/lib/esm/tile/PntsReader.js +1 -1
  736. package/lib/esm/tile/PntsReader.js.map +1 -1
  737. package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
  738. package/lib/esm/tile/PrimaryTileTree.js +2 -1
  739. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  740. package/lib/esm/tile/RealityTileLoader.js +1 -1
  741. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  742. package/lib/esm/tile/ThreeDTileFormatInterpreter.js +1 -1
  743. package/lib/esm/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  744. package/lib/esm/tile/TileAdmin.d.ts +14 -10
  745. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  746. package/lib/esm/tile/TileAdmin.js +6 -15
  747. package/lib/esm/tile/TileAdmin.js.map +1 -1
  748. package/lib/esm/tile/internal.d.ts +3 -0
  749. package/lib/esm/tile/internal.d.ts.map +1 -1
  750. package/lib/esm/tile/internal.js +3 -0
  751. package/lib/esm/tile/internal.js.map +1 -1
  752. package/lib/esm/tile/map/ArcGisUtilities.d.ts +8 -1
  753. package/lib/esm/tile/map/ArcGisUtilities.d.ts.map +1 -1
  754. package/lib/esm/tile/map/ArcGisUtilities.js +21 -0
  755. package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
  756. package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
  757. package/lib/esm/tile/map/ImageryTileTree.js +14 -7
  758. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  759. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  760. package/lib/esm/tile/map/MapLayerImageryFormats.js +3 -0
  761. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  762. package/lib/esm/tile/map/MapLayerSources.d.ts +4 -1
  763. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  764. package/lib/esm/tile/map/MapLayerSources.js +3 -0
  765. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  766. package/lib/esm/tile/map/MapTile.d.ts +6 -1
  767. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  768. package/lib/esm/tile/map/MapTile.js +8 -7
  769. package/lib/esm/tile/map/MapTile.js.map +1 -1
  770. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  771. package/lib/esm/tile/map/MapTileTree.js +9 -3
  772. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  773. package/lib/esm/tools/ElementSetTool.js +1 -1
  774. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  775. package/lib/esm/tools/SelectTool.js +1 -1
  776. package/lib/esm/tools/SelectTool.js.map +1 -1
  777. package/lib/esm/tools/ToolAdmin.js +1 -1
  778. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  779. package/lib/esm/tools/ViewTool.js +1 -1
  780. package/lib/esm/tools/ViewTool.js.map +1 -1
  781. package/lib/esm/workers/ImdlParser/Worker.d.ts +20 -0
  782. package/lib/esm/workers/ImdlParser/Worker.d.ts.map +1 -0
  783. package/lib/esm/workers/ImdlParser/Worker.js +30 -0
  784. package/lib/esm/workers/ImdlParser/Worker.js.map +1 -0
  785. package/lib/esm/workers/ImdlParser/webpack.config.js +40 -0
  786. package/lib/esm/workers/RegisterWorker.d.ts +9 -0
  787. package/lib/esm/workers/RegisterWorker.d.ts.map +1 -0
  788. package/lib/esm/workers/RegisterWorker.js +32 -0
  789. package/lib/esm/workers/RegisterWorker.js.map +1 -0
  790. package/lib/public/scripts/parse-imdl-worker.js +1 -0
  791. package/lib/workers/webpack/parse-imdl-worker.js +1 -0
  792. package/package.json +23 -20
  793. package/lib/cjs/FrontendLoggerCategory.d.ts.map +0 -1
  794. package/lib/cjs/FrontendLoggerCategory.js.map +0 -1
  795. package/lib/cjs/ImageUtil.d.ts.map +0 -1
  796. package/lib/cjs/ImageUtil.js.map +0 -1
  797. package/lib/cjs/ViewRect.d.ts.map +0 -1
  798. package/lib/cjs/ViewRect.js.map +0 -1
  799. package/lib/cjs/WebWorkerManager.d.ts +0 -49
  800. package/lib/cjs/WebWorkerManager.d.ts.map +0 -1
  801. package/lib/cjs/WebWorkerManager.js +0 -155
  802. package/lib/cjs/WebWorkerManager.js.map +0 -1
  803. package/lib/cjs/gltf/GltfModel.d.ts.map +0 -1
  804. package/lib/cjs/gltf/GltfModel.js.map +0 -1
  805. package/lib/cjs/gltf/GltfParser.d.ts.map +0 -1
  806. package/lib/cjs/gltf/GltfParser.js.map +0 -1
  807. package/lib/cjs/gltf/GltfSchema.d.ts.map +0 -1
  808. package/lib/cjs/gltf/GltfSchema.js.map +0 -1
  809. package/lib/cjs/render/RenderMaterial.d.ts.map +0 -1
  810. package/lib/cjs/render/RenderMaterial.js.map +0 -1
  811. package/lib/cjs/render/RenderTexture.d.ts.map +0 -1
  812. package/lib/cjs/render/RenderTexture.js.map +0 -1
  813. package/lib/cjs/render/primitives/AuxChannelTable.d.ts.map +0 -1
  814. package/lib/cjs/render/primitives/AuxChannelTable.js.map +0 -1
  815. package/lib/cjs/render/primitives/DisplayParams.d.ts.map +0 -1
  816. package/lib/cjs/render/primitives/DisplayParams.js.map +0 -1
  817. package/lib/cjs/render/primitives/SurfaceParams.d.ts.map +0 -1
  818. package/lib/cjs/render/primitives/SurfaceParams.js.map +0 -1
  819. package/lib/cjs/render/primitives/VertexTable.d.ts +0 -152
  820. package/lib/cjs/render/primitives/VertexTable.d.ts.map +0 -1
  821. package/lib/cjs/render/primitives/VertexTable.js.map +0 -1
  822. package/lib/cjs/render/primitives/VertexTableSplitter.d.ts.map +0 -1
  823. package/lib/cjs/render/primitives/VertexTableSplitter.js.map +0 -1
  824. package/lib/esm/FrontendLoggerCategory.d.ts.map +0 -1
  825. package/lib/esm/FrontendLoggerCategory.js.map +0 -1
  826. package/lib/esm/ImageUtil.d.ts.map +0 -1
  827. package/lib/esm/ImageUtil.js.map +0 -1
  828. package/lib/esm/ViewRect.d.ts.map +0 -1
  829. package/lib/esm/ViewRect.js.map +0 -1
  830. package/lib/esm/WebWorkerManager.d.ts +0 -49
  831. package/lib/esm/WebWorkerManager.d.ts.map +0 -1
  832. package/lib/esm/WebWorkerManager.js +0 -150
  833. package/lib/esm/WebWorkerManager.js.map +0 -1
  834. package/lib/esm/gltf/GltfModel.d.ts.map +0 -1
  835. package/lib/esm/gltf/GltfModel.js.map +0 -1
  836. package/lib/esm/gltf/GltfParser.d.ts.map +0 -1
  837. package/lib/esm/gltf/GltfParser.js.map +0 -1
  838. package/lib/esm/gltf/GltfSchema.d.ts.map +0 -1
  839. package/lib/esm/gltf/GltfSchema.js.map +0 -1
  840. package/lib/esm/render/RenderMaterial.d.ts.map +0 -1
  841. package/lib/esm/render/RenderMaterial.js.map +0 -1
  842. package/lib/esm/render/RenderTexture.d.ts.map +0 -1
  843. package/lib/esm/render/RenderTexture.js.map +0 -1
  844. package/lib/esm/render/primitives/AuxChannelTable.d.ts.map +0 -1
  845. package/lib/esm/render/primitives/AuxChannelTable.js.map +0 -1
  846. package/lib/esm/render/primitives/DisplayParams.d.ts.map +0 -1
  847. package/lib/esm/render/primitives/DisplayParams.js.map +0 -1
  848. package/lib/esm/render/primitives/SurfaceParams.d.ts.map +0 -1
  849. package/lib/esm/render/primitives/SurfaceParams.js.map +0 -1
  850. package/lib/esm/render/primitives/VertexTable.d.ts +0 -152
  851. package/lib/esm/render/primitives/VertexTable.d.ts.map +0 -1
  852. package/lib/esm/render/primitives/VertexTable.js.map +0 -1
  853. package/lib/esm/render/primitives/VertexTableSplitter.d.ts.map +0 -1
  854. package/lib/esm/render/primitives/VertexTableSplitter.js.map +0 -1
  855. /package/lib/cjs/{FrontendLoggerCategory.d.ts → common/FrontendLoggerCategory.d.ts} +0 -0
  856. /package/lib/cjs/{FrontendLoggerCategory.js → common/FrontendLoggerCategory.js} +0 -0
  857. /package/lib/cjs/{ImageUtil.d.ts → common/ImageUtil.d.ts} +0 -0
  858. /package/lib/cjs/{ViewRect.d.ts → common/ViewRect.d.ts} +0 -0
  859. /package/lib/cjs/{ViewRect.js → common/ViewRect.js} +0 -0
  860. /package/lib/cjs/{gltf → common/gltf}/GltfModel.js +0 -0
  861. /package/lib/cjs/{gltf → common/gltf}/GltfParser.d.ts +0 -0
  862. /package/lib/cjs/{gltf → common/gltf}/GltfParser.js +0 -0
  863. /package/lib/cjs/{gltf → common/gltf}/GltfSchema.d.ts +0 -0
  864. /package/lib/cjs/{gltf → common/gltf}/GltfSchema.js +0 -0
  865. /package/lib/cjs/{render → common/render}/primitives/DisplayParams.d.ts +0 -0
  866. /package/lib/cjs/{render → common/render}/primitives/DisplayParams.js +0 -0
  867. /package/lib/cjs/{render → common/render}/primitives/SurfaceParams.js +0 -0
  868. /package/lib/esm/{FrontendLoggerCategory.d.ts → common/FrontendLoggerCategory.d.ts} +0 -0
  869. /package/lib/esm/{FrontendLoggerCategory.js → common/FrontendLoggerCategory.js} +0 -0
  870. /package/lib/esm/{ImageUtil.d.ts → common/ImageUtil.d.ts} +0 -0
  871. /package/lib/esm/{ViewRect.d.ts → common/ViewRect.d.ts} +0 -0
  872. /package/lib/esm/{ViewRect.js → common/ViewRect.js} +0 -0
  873. /package/lib/esm/{gltf → common/gltf}/GltfModel.js +0 -0
  874. /package/lib/esm/{gltf → common/gltf}/GltfParser.d.ts +0 -0
  875. /package/lib/esm/{gltf → common/gltf}/GltfParser.js +0 -0
  876. /package/lib/esm/{gltf → common/gltf}/GltfSchema.d.ts +0 -0
  877. /package/lib/esm/{gltf → common/gltf}/GltfSchema.js +0 -0
  878. /package/lib/esm/{render → common/render}/primitives/DisplayParams.d.ts +0 -0
  879. /package/lib/esm/{render → common/render}/primitives/DisplayParams.js +0 -0
  880. /package/lib/esm/{render → common/render}/primitives/SurfaceParams.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"IModelApp.js","sourceRoot":"","sources":["../../src/IModelApp.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 IModelApp\r\n */\r\n\r\n/** @public */\r\n// eslint-disable-next-line @typescript-eslint/no-var-requires\r\nexport const ITWINJS_CORE_VERSION = require(\"../../package.json\").version as string; // require resolves from the lib/{cjs,esm} dir\r\nconst COPYRIGHT_NOTICE = 'Copyright © 2017-2023 <a href=\"https://www.bentley.com\" target=\"_blank\" rel=\"noopener noreferrer\">Bentley Systems, Inc.</a>';\r\n\r\nimport { UiAdmin } from \"@itwin/appui-abstract\";\r\nimport { AccessToken, BeDuration, BeEvent, BentleyStatus, DbResult, dispose, Guid, GuidString, Logger, ProcessDetector } from \"@itwin/core-bentley\";\r\nimport {\r\n AuthorizationClient, IModelStatus, Localization, RealityDataAccess, RpcConfiguration, RpcInterfaceDefinition, RpcRequest, SerializedRpcActivity,\r\n} from \"@itwin/core-common\";\r\nimport { ITwinLocalization } from \"@itwin/core-i18n\";\r\nimport { TelemetryManager } from \"@itwin/core-telemetry\";\r\nimport { queryRenderCompatibility, WebGLRenderCompatibilityInfo } from \"@itwin/webgl-compatibility\";\r\nimport { AccuDraw } from \"./AccuDraw\";\r\nimport { AccuSnap } from \"./AccuSnap\";\r\nimport * as auxCoordState from \"./AuxCoordSys\";\r\nimport * as categorySelectorState from \"./CategorySelectorState\";\r\nimport { ExtensionAdmin } from \"./extension/ExtensionAdmin\";\r\nimport * as displayStyleState from \"./DisplayStyleState\";\r\nimport * as drawingViewState from \"./DrawingViewState\";\r\nimport { ElementLocateManager } from \"./ElementLocateManager\";\r\nimport { EntityState } from \"./EntityState\";\r\nimport { FrontendHubAccess } from \"./FrontendHubAccess\";\r\nimport { FrontendLoggerCategory } from \"./FrontendLoggerCategory\";\r\nimport * as modelselector from \"./ModelSelectorState\";\r\nimport * as modelState from \"./ModelState\";\r\nimport { NotificationManager } from \"./NotificationManager\";\r\nimport { QuantityFormatter } from \"./quantity-formatting/QuantityFormatter\";\r\nimport { RenderSystem } from \"./render/RenderSystem\";\r\nimport { System } from \"./render/webgl/System\";\r\nimport * as sheetState from \"./SheetViewState\";\r\nimport * as spatialViewState from \"./SpatialViewState\";\r\nimport { TentativePoint } from \"./TentativePoint\";\r\nimport { RealityDataSourceProviderRegistry } from \"./RealityDataSource\";\r\nimport { MapLayerFormatRegistry, MapLayerOptions, TerrainProviderRegistry, TileAdmin } from \"./tile/internal\";\r\nimport * as accudrawTool from \"./tools/AccuDrawTool\";\r\nimport * as clipViewTool from \"./tools/ClipViewTool\";\r\nimport * as idleTool from \"./tools/IdleTool\";\r\nimport * as measureTool from \"./tools/MeasureTool\";\r\nimport * as selectTool from \"./tools/SelectTool\";\r\nimport { ToolRegistry } from \"./tools/Tool\";\r\nimport { ToolAdmin } from \"./tools/ToolAdmin\";\r\nimport * as viewTool from \"./tools/ViewTool\";\r\nimport { UserPreferencesAccess } from \"./UserPreferences\";\r\nimport { ViewManager } from \"./ViewManager\";\r\nimport * as viewState from \"./ViewState\";\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-var-requires\r\nrequire(\"./IModeljs-css\");\r\n\r\n// cSpell:ignore noopener noreferrer gprid forin nbsp csrf xsrf\r\n\r\n/** Options that can be supplied with [[IModelAppOptions]] to customize frontend security.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface FrontendSecurityOptions {\r\n /** Configures protection from Cross Site Request Forgery attacks. */\r\n readonly csrfProtection?: {\r\n /** If enabled, IModelApp will extract the CSRF token for the current session from the document's cookies and send it with each request as a header value. */\r\n readonly enabled: boolean;\r\n /** Defaults to XSRF-TOKEN. */\r\n readonly cookieName?: string;\r\n /** Defaults to X-XSRF-TOKEN. */\r\n readonly headerName?: string;\r\n };\r\n}\r\n\r\n/** Options that can be supplied to [[IModelApp.startup]] to customize frontend behavior.\r\n * @public\r\n */\r\nexport interface IModelAppOptions {\r\n /** If present, supplies the [[FrontendHubAccess]] for this session. */\r\n hubAccess?: FrontendHubAccess;\r\n /** If present, supplies the Id of this application. Applications must set this to the Bentley Global Product Registry Id (GPRID) for usage logging. */\r\n applicationId?: string;\r\n /** If present, supplies the version of this application. Must be set for usage logging. */\r\n applicationVersion?: string;\r\n /** If present, supplies the [[UserPreferencesAccess]] for this session.\r\n * @beta\r\n */\r\n userPreferences?: UserPreferencesAccess;\r\n /** If present, supplies the [[ViewManager]] for this session. */\r\n viewManager?: ViewManager;\r\n /** If present, supplies Map Layer Options for this session such as Azure Access Keys\r\n * @beta\r\n */\r\n mapLayerOptions?: MapLayerOptions;\r\n /** If present, supplies the properties with which to initialize the [[TileAdmin]] for this session. */\r\n tileAdmin?: TileAdmin.Props;\r\n /** If present, supplies the [[NotificationManager]] for this session. */\r\n notifications?: NotificationManager;\r\n /** If present, supplies the [[ToolAdmin]] for this session. */\r\n toolAdmin?: ToolAdmin;\r\n /** If present, supplies the [[AccuDraw]] for this session. */\r\n accuDraw?: AccuDraw;\r\n /** If present, supplies the [[AccuSnap]] for this session. */\r\n accuSnap?: AccuSnap;\r\n /** If present, supplies the [[Localization]] for this session. Defaults to [ITwinLocalization]($i18n). */\r\n localization?: Localization;\r\n /** The AuthorizationClient used to obtain [AccessToken]($bentley)s. */\r\n authorizationClient?: AuthorizationClient;\r\n /** If present, supplies security options for the frontend. */\r\n security?: FrontendSecurityOptions;\r\n /** @internal */\r\n sessionId?: GuidString;\r\n /** @internal */\r\n locateManager?: ElementLocateManager;\r\n /** If present, supplies the [[TentativePoint]] for this session. */\r\n tentativePoint?: TentativePoint;\r\n /** @internal */\r\n quantityFormatter?: QuantityFormatter;\r\n /** If present, supplies an implementation of the render system, or options for initializing the default render system. */\r\n renderSys?: RenderSystem | RenderSystem.Options;\r\n /** If present, supplies the [[UiAdmin]] for this session. */\r\n uiAdmin?: UiAdmin;\r\n /** If present, determines whether iModelApp is a NoRenderApp\r\n * @internal\r\n */\r\n noRender?: boolean;\r\n /**\r\n * @deprecated in 3.7. Specify desired RPC interfaces in the platform-specific RPC manager call instead.\r\n * See [[MobileRpcManager.initializeClient]], [[ElectronRpcManager.initializeFrontend]], [[BentleyCloudRpcManager.initializeClient]].\r\n */\r\n rpcInterfaces?: RpcInterfaceDefinition[];\r\n /** @beta */\r\n realityDataAccess?: RealityDataAccess;\r\n /** If present, overrides where public assets are fetched. The default is to fetch assets relative to the current URL.\r\n * The path should always end with a trailing `/`.\r\n * @beta\r\n */\r\n publicPath?: string;\r\n}\r\n\r\n/** Options for [[IModelApp.makeModalDiv]]\r\n * @internal\r\n */\r\nexport interface ModalOptions {\r\n /** Width for the Modal dialog box. */\r\n width?: number;\r\n /** The dialog should be dismissed if the user clicks anywhere or hits Enter or Escape on the keyboard. */\r\n autoClose?: boolean;\r\n /** Show an 'x' in the upper right corner to close the dialog */\r\n closeBox?: boolean;\r\n /** The parent for the semi transparent *darkening* div. If not present, use `document.body` */\r\n rootDiv?: HTMLElement;\r\n}\r\n\r\n/** Return type for [[IModelApp.makeModalDiv]]\r\n * @internal\r\n */\r\nexport interface ModalReturn {\r\n /** The modal HTMLDivElement created. */\r\n modal: HTMLDivElement;\r\n /** A function that can be set as an event handler to stop the modal dialog. This can be used if `autoClose` or `closeBox` are not enabled. */\r\n stop: (_ev: Event) => void;\r\n}\r\n\r\n/** We hang the IModelApp object off the global `window` object in IModelApp.startup for debugging purposes.\r\n * It's removed in IModelApp.shutdown.\r\n */\r\ninterface IModelAppForDebugger {\r\n iModelAppForDebugger?: typeof IModelApp;\r\n}\r\n\r\n/**\r\n * Global singleton that connects the user interface with the iTwin.js services. There can be only one IModelApp active in a session. All\r\n * members of IModelApp are static, and it serves as a singleton object for gaining access to session information.\r\n *\r\n * Before any interactive operations may be performed by the `@itwin/core-frontend package`, [[IModelApp.startup]] must be called and awaited.\r\n * Applications may customize the frontend behavior of iTwin.js by supplying options to [[IModelApp.startup]].\r\n *\r\n * @public\r\n */\r\nexport class IModelApp {\r\n private static _initialized = false;\r\n private static _accuDraw: AccuDraw;\r\n private static _accuSnap: AccuSnap;\r\n private static _applicationId: string;\r\n private static _applicationVersion: string;\r\n private static _localization: Localization;\r\n private static _locateManager: ElementLocateManager;\r\n private static _notifications: NotificationManager;\r\n private static _quantityFormatter: QuantityFormatter;\r\n private static _renderSystem?: RenderSystem;\r\n private static _userPreferences?: UserPreferencesAccess;\r\n private static _tentativePoint: TentativePoint;\r\n private static _tileAdmin: TileAdmin;\r\n private static _toolAdmin: ToolAdmin;\r\n private static _viewManager: ViewManager;\r\n private static _uiAdmin: UiAdmin;\r\n private static _noRender: boolean;\r\n private static _wantEventLoop = false;\r\n private static _animationRequested = false;\r\n private static _animationInterval: BeDuration | undefined = BeDuration.fromSeconds(1);\r\n private static _animationIntervalId?: number;\r\n private static _securityOptions: FrontendSecurityOptions;\r\n private static _mapLayerFormatRegistry: MapLayerFormatRegistry;\r\n private static _terrainProviderRegistry: TerrainProviderRegistry;\r\n private static _realityDataSourceProviders: RealityDataSourceProviderRegistry;\r\n private static _hubAccess?: FrontendHubAccess;\r\n private static _realityDataAccess?: RealityDataAccess;\r\n private static _publicPath: string;\r\n\r\n // No instances of IModelApp may be created. All members are static and must be on the singleton object IModelApp.\r\n protected constructor() { }\r\n\r\n /** Event raised just before the frontend IModelApp is to be shut down */\r\n public static readonly onBeforeShutdown = new BeEvent<() => void>();\r\n\r\n /** Event raised after IModelApp is finished starting up.\r\n * @internal\r\n */\r\n public static readonly onAfterStartup = new BeEvent<() => void>();\r\n\r\n /** The AuthorizationClient used to obtain [AccessToken]($bentley)s. */\r\n public static authorizationClient?: AuthorizationClient;\r\n /** The [[ToolRegistry]] for this session. */\r\n public static readonly tools = new ToolRegistry();\r\n /** A uniqueId for this session */\r\n public static sessionId: GuidString;\r\n /** The [[MapLayerFormatRegistry]] for this session. */\r\n public static get mapLayerFormatRegistry(): MapLayerFormatRegistry { return this._mapLayerFormatRegistry; }\r\n /** The [[TerrainProviderRegistry]] for this session. */\r\n public static get terrainProviderRegistry(): TerrainProviderRegistry { return this._terrainProviderRegistry; }\r\n /** The [[RealityDataSourceProviderRegistry]] for this session.\r\n * @alpha\r\n */\r\n public static get realityDataSourceProviders(): RealityDataSourceProviderRegistry { return this._realityDataSourceProviders; }\r\n /** The [[RenderSystem]] for this session. */\r\n public static get renderSystem(): RenderSystem { return this._renderSystem!; }\r\n /** The [[ViewManager]] for this session. */\r\n public static get viewManager(): ViewManager { return this._viewManager; }\r\n /** The [[NotificationManager]] for this session. */\r\n public static get notifications(): NotificationManager { return this._notifications; }\r\n /** The [[TileAdmin]] for this session. */\r\n public static get tileAdmin(): TileAdmin { return this._tileAdmin; }\r\n /** The [[QuantityFormatter]] for this session. */\r\n public static get quantityFormatter(): QuantityFormatter { return this._quantityFormatter; }\r\n /** The [[ToolAdmin]] for this session. */\r\n public static get toolAdmin(): ToolAdmin { return this._toolAdmin; }\r\n /** The [[AccuDraw]] for this session. */\r\n public static get accuDraw(): AccuDraw { return this._accuDraw; }\r\n /** The [[AccuSnap]] for this session. */\r\n public static get accuSnap(): AccuSnap { return this._accuSnap; }\r\n public static get locateManager(): ElementLocateManager { return this._locateManager; }\r\n /** The [[TentativePoint]] for this session]]. */\r\n public static get tentativePoint(): TentativePoint { return this._tentativePoint; }\r\n /** The [[Localization]] for this session. */\r\n public static get localization(): Localization { return this._localization; }\r\n /** The [[UserPreferencesAccess]] for this session.\r\n * @beta\r\n */\r\n public static get userPreferences(): UserPreferencesAccess | undefined { return this._userPreferences; }\r\n /** The Id of this application. Applications must set this to the Global Product Registry ID (GPRID) for usage logging. */\r\n public static get applicationId(): string { return this._applicationId; }\r\n /** The version of this application. Must be set for usage logging. */\r\n public static get applicationVersion(): string { return this._applicationVersion; }\r\n /** True after [[startup]] has been called, until [[shutdown]] is called. */\r\n public static get initialized() { return this._initialized; }\r\n\r\n /** Provides access to IModelHub services. */\r\n public static get hubAccess(): FrontendHubAccess | undefined { return this._hubAccess; }\r\n\r\n /** Provides access to the RealityData service implementation for this IModelApp\r\n * @beta\r\n */\r\n public static get realityDataAccess(): RealityDataAccess | undefined { return this._realityDataAccess; }\r\n\r\n /** @internal */\r\n public static get hasRenderSystem() { return this._renderSystem !== undefined && this._renderSystem.isValid; }\r\n /** The [[UiAdmin]] for this session. */\r\n public static get uiAdmin() { return this._uiAdmin; }\r\n /** The requested security options for the frontend. */\r\n public static get securityOptions() { return this._securityOptions; }\r\n /** The root URL for the assets 'public' folder.\r\n * @beta\r\n */\r\n public static get publicPath() { return this._publicPath; }\r\n /** The [[TelemetryManager]] for this session\r\n * @internal\r\n */\r\n public static readonly telemetry: TelemetryManager = new TelemetryManager();\r\n\r\n /** @alpha */\r\n public static readonly extensionAdmin = this._createExtensionAdmin();\r\n\r\n /** Map of classFullName to EntityState class */\r\n private static _entityClasses = new Map<string, typeof EntityState>();\r\n\r\n /** Register all of the subclasses of EntityState from a module.\r\n * @internal\r\n */\r\n public static registerModuleEntities(moduleObj: any) {\r\n for (const thisMember in moduleObj) { // eslint-disable-line guard-for-in\r\n const thisEntityState = moduleObj[thisMember];\r\n if (thisEntityState.prototype instanceof EntityState) {\r\n this.registerEntityState(thisEntityState.classFullName, thisEntityState);\r\n }\r\n }\r\n }\r\n\r\n /** Register an EntityState class by its classFullName\r\n * @internal\r\n */\r\n public static registerEntityState(classFullName: string, classType: typeof EntityState) {\r\n const lowerName = classFullName.toLowerCase();\r\n if (this._entityClasses.has(lowerName)) {\r\n const errMsg = `Class ${classFullName} is already registered. Make sure static schemaName and className members are correct on class ${classType.name}`;\r\n Logger.logError(FrontendLoggerCategory.IModelConnection, errMsg);\r\n throw new Error(errMsg);\r\n }\r\n\r\n this._entityClasses.set(lowerName, classType);\r\n }\r\n\r\n /** @internal */\r\n public static lookupEntityClass(classFullName: string) { return this._entityClasses.get(classFullName.toLowerCase()); }\r\n\r\n /**\r\n * Obtain WebGL rendering compatibility information for the client system. This information describes whether the client meets the\r\n * minimum rendering capabilities. It also describes whether the system lacks any optional capabilities that could improve quality\r\n * and/or performance.\r\n * @note As of 4.x, iTwin.js requires WebGL 2. If the client does not support WebGL 2, the `status` field of the returned compatibility info will be [WebGLRenderCompatibilityStatus.CannotCreateContext]($webgl-compatibility).\r\n */\r\n public static queryRenderCompatibility(): WebGLRenderCompatibilityInfo {\r\n return queryRenderCompatibility(true, System.createContext);\r\n }\r\n\r\n /**\r\n * This method must be called before any other `@itwin/core-frontend` methods are used.\r\n * Somewhere in your startup code, call [[IModelApp.startup]]. E.g.:\r\n * ``` ts\r\n * await IModelApp.startup( {applicationId: myAppId} );\r\n * ```\r\n * @param opts The options for configuring IModelApp\r\n */\r\n public static async startup(opts?: IModelAppOptions): Promise<void> {\r\n if (this._initialized)\r\n return; // we're already initialized, do nothing.\r\n this._initialized = true;\r\n\r\n opts = opts ?? {};\r\n this._securityOptions = opts.security ?? {};\r\n\r\n if (process.env.NODE_ENV === \"development\") {\r\n // Make IModelApp globally accessible for debugging purposes. We'll remove it on shutdown.\r\n (window as IModelAppForDebugger).iModelAppForDebugger = this;\r\n }\r\n\r\n this.sessionId = opts.sessionId ?? Guid.createValue();\r\n this._applicationId = opts.applicationId ?? \"2686\"; // Default to product id of iTwin.js\r\n this._applicationVersion = opts.applicationVersion ?? \"1.0.0\";\r\n this.authorizationClient = opts.authorizationClient;\r\n this._hubAccess = opts.hubAccess;\r\n this._noRender = opts.noRender ?? false;\r\n\r\n this._setupRpcRequestContext();\r\n\r\n this._localization = opts.localization ?? new ITwinLocalization();\r\n const toolsNs = \"CoreTools\";\r\n await this.localization.initialize([\"iModelJs\", toolsNs]);\r\n [\r\n selectTool,\r\n idleTool,\r\n viewTool,\r\n clipViewTool,\r\n measureTool,\r\n accudrawTool,\r\n ].forEach((tool) => this.tools.registerModule(tool, toolsNs));\r\n\r\n this.registerEntityState(EntityState.classFullName, EntityState);\r\n [\r\n modelState,\r\n sheetState,\r\n viewState,\r\n drawingViewState,\r\n spatialViewState,\r\n displayStyleState,\r\n modelselector,\r\n categorySelectorState,\r\n auxCoordState,\r\n ].forEach((module) => this.registerModuleEntities(module));\r\n\r\n this._renderSystem = (opts.renderSys instanceof RenderSystem) ? opts.renderSys : this.createRenderSys(opts.renderSys);\r\n if (opts.userPreferences)\r\n this._userPreferences = opts.userPreferences;\r\n this._viewManager = opts.viewManager ?? new ViewManager();\r\n this._tileAdmin = await TileAdmin.create(opts.tileAdmin);\r\n this._notifications = opts.notifications ?? new NotificationManager();\r\n this._toolAdmin = opts.toolAdmin ?? new ToolAdmin();\r\n this._accuDraw = opts.accuDraw ?? new AccuDraw();\r\n this._accuSnap = opts.accuSnap ?? new AccuSnap();\r\n this._locateManager = opts.locateManager ?? new ElementLocateManager();\r\n this._tentativePoint = opts.tentativePoint ?? new TentativePoint();\r\n this._quantityFormatter = opts.quantityFormatter ?? new QuantityFormatter();\r\n this._uiAdmin = opts.uiAdmin ?? new UiAdmin();\r\n this._mapLayerFormatRegistry = new MapLayerFormatRegistry(opts.mapLayerOptions);\r\n this._terrainProviderRegistry = new TerrainProviderRegistry();\r\n this._realityDataSourceProviders = new RealityDataSourceProviderRegistry();\r\n this._realityDataAccess = opts.realityDataAccess;\r\n this._publicPath = opts.publicPath ?? \"\";\r\n\r\n [\r\n this.renderSystem,\r\n this.viewManager,\r\n this.toolAdmin,\r\n this.accuDraw,\r\n this.accuSnap,\r\n this.locateManager,\r\n this.tentativePoint,\r\n this.uiAdmin,\r\n ].forEach((sys) => sys.onInitialized());\r\n\r\n await this.quantityFormatter.onInitialized();\r\n this.onAfterStartup.raiseEvent();\r\n }\r\n\r\n /** Must be called before the application exits to release any held resources. */\r\n public static async shutdown() {\r\n if (!this._initialized)\r\n return;\r\n\r\n // notify listeners that this IModelApp is about to be shut down.\r\n this.onBeforeShutdown.raiseEvent();\r\n this.onBeforeShutdown.clear();\r\n\r\n if (process.env.NODE_ENV === \"development\") {\r\n (window as IModelAppForDebugger).iModelAppForDebugger = undefined;\r\n }\r\n\r\n this._wantEventLoop = false;\r\n window.removeEventListener(\"resize\", IModelApp.requestNextAnimation);\r\n this.clearIntervalAnimation();\r\n [this.toolAdmin, this.viewManager, this.tileAdmin].forEach((sys) => sys.onShutDown());\r\n this.tools.shutdown();\r\n this._renderSystem = dispose(this._renderSystem);\r\n this._entityClasses.clear();\r\n this.authorizationClient = undefined;\r\n this._initialized = false;\r\n this.onAfterStartup.clear();\r\n }\r\n\r\n /** Controls how frequently the application polls for changes that may require a new animation frame to be requested.\r\n * Such changes include resizing a Viewport or changing the device pixel ratio by zooming in or out in the browser.\r\n * The default interval is 1 second. It may be desirable to override the default for specific apps and/or devices.\r\n * - Increasing the interval can conserve battery life on battery-powered devices at the expense of slower response to resize events.\r\n * - An application that only displays a single Viewport whose dimensions only change when the dimensions of the application window change, and which does not support changing application zoom level, could disable the interval altogether.\r\n * @param interval The interval at which to poll for changes. If undefined (or negative), the application will never poll. If zero, the application will poll as frequently as possible.\r\n * @beta\r\n */\r\n public static get animationInterval(): BeDuration | undefined { return IModelApp._animationInterval; }\r\n public static set animationInterval(interval: BeDuration | undefined) {\r\n if (undefined !== interval && interval.isTowardsPast)\r\n interval = undefined;\r\n\r\n if (interval !== IModelApp._animationInterval) {\r\n IModelApp._animationInterval = interval;\r\n if (IModelApp._wantEventLoop)\r\n IModelApp.requestIntervalAnimation();\r\n }\r\n }\r\n\r\n /** @internal */\r\n public static requestNextAnimation() {\r\n // Only want to call requestAnimationFrame if it is defined. Need to check whether current iModelApp is a NoRenderApp.\r\n if (IModelApp._noRender)\r\n return;\r\n\r\n if (!IModelApp._animationRequested) {\r\n IModelApp._animationRequested = true;\r\n requestAnimationFrame(IModelApp.eventLoop);\r\n }\r\n }\r\n\r\n /** @internal */\r\n private static clearIntervalAnimation(): void {\r\n if (undefined !== IModelApp._animationIntervalId) {\r\n window.clearInterval(IModelApp._animationIntervalId);\r\n IModelApp._animationIntervalId = undefined;\r\n }\r\n }\r\n\r\n /** @internal */\r\n private static requestIntervalAnimation(): void {\r\n IModelApp.clearIntervalAnimation();\r\n\r\n if (undefined !== IModelApp.animationInterval)\r\n IModelApp._animationIntervalId = window.setInterval(() => {\r\n IModelApp.requestNextAnimation();\r\n }, IModelApp.animationInterval.milliseconds);\r\n }\r\n\r\n /** @internal */\r\n public static startEventLoop() {\r\n if (!IModelApp._wantEventLoop) {\r\n IModelApp._wantEventLoop = true;\r\n window.addEventListener(\"resize\", IModelApp.requestNextAnimation);\r\n IModelApp.requestIntervalAnimation();\r\n IModelApp.requestNextAnimation();\r\n }\r\n }\r\n\r\n /** Strictly for tests. @internal */\r\n public static stopEventLoop() {\r\n this._wantEventLoop = false;\r\n }\r\n\r\n /** The main event processing loop for Tools and rendering. */\r\n private static eventLoop() {\r\n IModelApp._animationRequested = false;\r\n if (!IModelApp._wantEventLoop) // flag turned on at startup\r\n return;\r\n\r\n try {\r\n IModelApp.toolAdmin.processEvent(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n IModelApp.viewManager.renderLoop();\r\n IModelApp.tileAdmin.process();\r\n } catch (exception) {\r\n ToolAdmin.exceptionHandler(exception); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n\r\n IModelApp._wantEventLoop = false;\r\n IModelApp._animationRequested = true; // unrecoverable after exception, don't request any further frames.\r\n window.removeEventListener(\"resize\", IModelApp.requestNextAnimation);\r\n }\r\n }\r\n\r\n /** Get the user's access token for this IModelApp, or a blank string if none is available.\r\n * @note Access tokens expire periodically and are automatically refreshed, if possible. Therefore tokens should not be saved, and the value\r\n * returned by this method may change over time throughout the course of a session.\r\n */\r\n public static async getAccessToken(): Promise<AccessToken> {\r\n try {\r\n return (await this.authorizationClient?.getAccessToken()) ?? \"\";\r\n } catch (e) {\r\n return \"\";\r\n }\r\n }\r\n\r\n /** @internal */\r\n public static createRenderSys(opts?: RenderSystem.Options): RenderSystem { return System.create(opts); }\r\n\r\n private static _setupRpcRequestContext() {\r\n RpcConfiguration.requestContext.getId = (_request: RpcRequest): string => {\r\n return Guid.createValue();\r\n };\r\n\r\n RpcConfiguration.requestContext.serialize = async (_request: RpcRequest): Promise<SerializedRpcActivity> => { // eslint-disable-line deprecation/deprecation\r\n const id = _request.id;\r\n const serialized: SerializedRpcActivity = { // eslint-disable-line deprecation/deprecation\r\n id,\r\n applicationId: this.applicationId,\r\n applicationVersion: this.applicationVersion,\r\n sessionId: this.sessionId,\r\n authorization: ProcessDetector.isMobileAppFrontend ? \"\" : await this.getAccessToken(),\r\n };\r\n\r\n const csrf = IModelApp.securityOptions.csrfProtection;\r\n if (csrf && csrf.enabled) {\r\n const cookieName = csrf.cookieName || \"XSRF-TOKEN\";\r\n const cookieValue = document.cookie.split(\"; \").find((r) => r.startsWith(`${cookieName}=`));\r\n\r\n if (cookieValue) {\r\n const headerName = csrf.headerName || \"X-XSRF-TOKEN\";\r\n const headerValue = cookieValue.split(\"=\")[1];\r\n serialized.csrfToken = { headerName, headerValue };\r\n }\r\n }\r\n\r\n return serialized;\r\n };\r\n }\r\n\r\n /** Shortcut for creating an HTMLElement with optional parent, className, id, innerHTML, innerText\r\n * @internal\r\n */\r\n public static makeHTMLElement<K extends keyof HTMLElementTagNameMap>(type: K, opt?: {\r\n /** The parent for the new HTMLElement */\r\n parent?: HTMLElement;\r\n /** The className for the new HTMLElement */\r\n className?: string;\r\n /** The Id for the new HTMLElement */\r\n id?: string;\r\n /** innerHTML for the new HTMLElement */\r\n innerHTML?: string;\r\n /** innerText for the new HTMLElement */\r\n innerText?: string;\r\n }) {\r\n const el = document.createElement(type);\r\n if (undefined !== opt) {\r\n if (undefined !== opt.className)\r\n el.className = opt.className;\r\n if (undefined !== opt.id)\r\n el.id = opt.id;\r\n if (undefined !== opt.innerHTML)\r\n el.innerHTML = opt.innerHTML;\r\n if (undefined !== opt.innerText)\r\n el.innerText = opt.innerText;\r\n if (undefined !== opt.parent)\r\n opt.parent.appendChild(el);\r\n }\r\n return el;\r\n }\r\n\r\n /** Make a modal dialog on top of the root of the application. The returned HTMLDivElement will be placed topmost, all other application\r\n * windows will be covered with a semi-transparent background that intercepts all key/mouse/touch events until the modal is dismissed.\r\n * @param options The options that describe how the modal should work.\r\n * @internal\r\n */\r\n public static makeModalDiv(options: ModalOptions): ModalReturn {\r\n const root = options.rootDiv ? options.rootDiv : document.body;\r\n // create the overlay div to \"black out\" the application to indicate everything is inactive until the modal has been dismissed.\r\n const overlay = IModelApp.makeHTMLElement(\"div\", { parent: root, className: \"imodeljs-modal-overlay\" });\r\n overlay.tabIndex = -1; // so we can catch keystroke events\r\n\r\n // function to remove modal dialog\r\n const stop = (ev: Event) => {\r\n root.removeChild(overlay);\r\n ev.stopPropagation();\r\n };\r\n\r\n if (options.autoClose) {\r\n overlay.onclick = overlay.oncontextmenu = stop;\r\n overlay.onkeydown = overlay.onkeyup = (ev: KeyboardEvent) => { // ignore all keystrokes other than enter and escape\r\n switch (ev.key) {\r\n case \"Enter\":\r\n case \"Escape\":\r\n stop(ev);\r\n return;\r\n }\r\n ev.stopPropagation();\r\n };\r\n overlay.focus();\r\n }\r\n\r\n const modal = IModelApp.makeHTMLElement(\"div\", { parent: overlay, className: \"imodeljs-modal\" });\r\n if (undefined !== options.width) {\r\n modal.style.width = `${options.width}px`;\r\n // allow the dialog to be smaller than the width\r\n modal.style.maxWidth = `min(100% - (2 * var(--width-border)), ${options.width}px)`;\r\n }\r\n if (options.closeBox) {\r\n const close = IModelApp.makeHTMLElement(\"p\", { parent: modal, className: \"imodeljs-modal-close\" });\r\n close.innerText = \"\\u00d7\"; // unicode \"times\" symbol\r\n close.onclick = stop;\r\n }\r\n\r\n return { modal, stop };\r\n }\r\n\r\n /** Applications may implement this method to supply a Logo Card.\r\n * @beta\r\n */\r\n public static applicationLogoCard?: () => HTMLTableRowElement;\r\n\r\n /** Make a new Logo Card. Call this method from your implementation of [[IModelApp.applicationLogoCard]]\r\n * @param opts Options for Logo Card\r\n * @beta\r\n */\r\n public static makeLogoCard(\r\n opts: {\r\n /** The heading to be put at the top of this logo card inside an <h2>. May include HTML. */\r\n heading: string | HTMLElement;\r\n /** The URL or HTMLImageElement for the icon on this logo card. */\r\n iconSrc?: string | HTMLImageElement;\r\n /** The width of the icon, if `iconSrc` is a string. Default is 64. */\r\n iconWidth?: number;\r\n /** A *notice* string to be shown on the logo card. May include HTML. */\r\n notice?: string | HTMLElement;\r\n }): HTMLTableRowElement {\r\n const card = IModelApp.makeHTMLElement(\"tr\");\r\n const iconCell = IModelApp.makeHTMLElement(\"td\", { parent: card, className: \"logo-card-logo\" });\r\n if (undefined !== opts.iconSrc) {\r\n if (typeof opts.iconSrc === \"string\") {\r\n const logo = IModelApp.makeHTMLElement(\"img\");\r\n logo.src = opts.iconSrc;\r\n logo.width = opts.iconWidth ? opts.iconWidth : 64;\r\n opts.iconSrc = logo;\r\n }\r\n iconCell.appendChild(opts.iconSrc);\r\n }\r\n const noticeCell = IModelApp.makeHTMLElement(\"td\", { parent: card, className: \"logo-card-message\" });\r\n if (undefined !== opts.heading) {\r\n if (typeof opts.heading === \"string\")\r\n IModelApp.makeHTMLElement(\"h2\", { parent: noticeCell, innerHTML: opts.heading, className: \"logo-card-header\" });\r\n else\r\n noticeCell.appendChild(opts.heading);\r\n }\r\n if (undefined !== opts.notice) {\r\n if (typeof opts.notice === \"string\")\r\n IModelApp.makeHTMLElement(\"p\", { parent: noticeCell, innerHTML: opts.notice, className: \"logo-cards\" });\r\n else\r\n noticeCell.appendChild(opts.notice);\r\n }\r\n return card;\r\n }\r\n\r\n /** Make the logo card for the library itself. This card gets placed at the top of the stack.\r\n * @internal\r\n */\r\n public static makeIModelJsLogoCard() {\r\n return this.makeLogoCard({\r\n iconSrc: `${this.publicPath}images/about-imodeljs.svg`,\r\n heading: `<span style=\"font-weight:normal\">${this.localization.getLocalizedString(\"iModelJs:Notices.PoweredBy\")}</span>&nbsp;iTwin.js`,\r\n notice: `${ITWINJS_CORE_VERSION}<br>${COPYRIGHT_NOTICE}`,\r\n });\r\n }\r\n\r\n /** Format the tooltip strings returned by [[IModelConnection.getToolTipMessage]].\r\n * @alpha\r\n */\r\n public static formatElementToolTip(msg: string[]): HTMLElement {\r\n let out = \"\";\r\n msg.forEach((line) => out += `${IModelApp.localization?.getLocalizedKeys(line)}<br>`);\r\n const div = document.createElement(\"div\");\r\n div.innerHTML = out;\r\n return div;\r\n }\r\n\r\n /** Localize an error status\r\n * @param status one of the status values from [BentleyStatus]($core-bentley), [IModelStatus]($core-bentley) or [DbResult]($core-bentley)\r\n * @returns a localized error message\r\n * @beta\r\n */\r\n public static translateStatus(status: number) {\r\n let key: { scope: string, val: string, status?: string };\r\n if (typeof status !== \"number\") {\r\n key = { scope: \"Errors\", val: \"IllegalValue\" };\r\n } else {\r\n key = { scope: \"BentleyStatus\", val: BentleyStatus[status] };\r\n if (!key.val)\r\n key = { scope: \"IModelStatus\", val: IModelStatus[status] };\r\n if (!key.val)\r\n key = { scope: \"DbResult\", val: DbResult[status] };\r\n if (!key.val)\r\n key = { scope: \"Errors\", val: \"Status\", status: status.toString() };\r\n }\r\n\r\n return this.localization.getLocalizedString(`iModelJs:${key.scope}.${key.val}`, key);\r\n }\r\n\r\n /**\r\n * Creates an instance of the ExtensionAdmin\r\n * and registers an event to execute after startup is complete\r\n * @returns an instance of ExtensionAdmin\r\n */\r\n private static _createExtensionAdmin(): ExtensionAdmin {\r\n const extensionAdmin = new ExtensionAdmin();\r\n IModelApp.onAfterStartup.addListener(extensionAdmin.onStartup);\r\n return extensionAdmin;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"IModelApp.js","sourceRoot":"","sources":["../../src/IModelApp.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;;AAEH,cAAc;AACd,8DAA8D;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAiB,CAAC,CAAC,8CAA8C;AACnI,MAAM,gBAAgB,GAAG,6HAA6H,CAAC;AAEvJ,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAe,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAc,MAAM,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACpJ,OAAO,EACgB,YAAY,EAAmC,gBAAgB,GACrF,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAgC,MAAM,4BAA4B,CAAC;AACpG,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,aAAa,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,qBAAqB,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,iBAAiB,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,gBAAgB,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,gBAAgB,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iCAAiC,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAmB,uBAAuB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC9G,OAAO,KAAK,YAAY,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,YAAY,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,WAAW,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AAEzC,8DAA8D;AAC9D,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAqH1B;;;;;;;;GAQG;AACH,MAAa,SAAS;IA8BpB,kHAAkH;IAClH,gBAA0B,CAAC;IAgB3B,uDAAuD;IAChD,MAAM,KAAK,sBAAsB,KAA6B,OAAO,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAC3G,wDAAwD;IACjD,MAAM,KAAK,uBAAuB,KAA8B,OAAO,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAC9G;;OAEG;IACI,MAAM,KAAK,0BAA0B,KAAwC,OAAO,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAC9H,6CAA6C;IACtC,MAAM,KAAK,YAAY,KAAmB,OAAO,IAAI,CAAC,aAAc,CAAC,CAAC,CAAC;IAC9E,4CAA4C;IACrC,MAAM,KAAK,WAAW,KAAkB,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1E,oDAAoD;IAC7C,MAAM,KAAK,aAAa,KAA0B,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACtF,0CAA0C;IACnC,MAAM,KAAK,SAAS,KAAgB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpE,kDAAkD;IAC3C,MAAM,KAAK,iBAAiB,KAAwB,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC5F,0CAA0C;IACnC,MAAM,KAAK,SAAS,KAAgB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpE,yCAAyC;IAClC,MAAM,KAAK,QAAQ,KAAe,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACjE,yCAAyC;IAClC,MAAM,KAAK,QAAQ,KAAe,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1D,MAAM,KAAK,aAAa,KAA2B,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACvF,iDAAiD;IAC1C,MAAM,KAAK,cAAc,KAAqB,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IACnF,6CAA6C;IACtC,MAAM,KAAK,YAAY,KAAmB,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAC7E;;OAEG;IACI,MAAM,KAAK,eAAe,KAAwC,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACxG,0HAA0H;IACnH,MAAM,KAAK,aAAa,KAAa,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACzE,sEAAsE;IAC/D,MAAM,KAAK,kBAAkB,KAAa,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACnF,4EAA4E;IACrE,MAAM,KAAK,WAAW,KAAK,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAE7D,6CAA6C;IACtC,MAAM,KAAK,SAAS,KAAoC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAExF;;OAEG;IACI,MAAM,KAAK,iBAAiB,KAAoC,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAExG,gBAAgB;IACT,MAAM,KAAK,eAAe,KAAK,OAAO,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9G,wCAAwC;IACjC,MAAM,KAAK,OAAO,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrD,uDAAuD;IAChD,MAAM,KAAK,eAAe,KAAK,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACrE;;OAEG;IACI,MAAM,KAAK,UAAU,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAY3D;;OAEG;IACI,MAAM,CAAC,sBAAsB,CAAC,SAAc;QACjD,KAAK,MAAM,UAAU,IAAI,SAAS,EAAE,EAAE,mCAAmC;YACvE,MAAM,eAAe,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,eAAe,CAAC,SAAS,YAAY,WAAW,EAAE;gBACpD,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;aAC1E;SACF;IACH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,mBAAmB,CAAC,aAAqB,EAAE,SAA6B;QACpF,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACtC,MAAM,MAAM,GAAG,SAAS,aAAa,kGAAkG,SAAS,CAAC,IAAI,EAAE,CAAC;YACxJ,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;SACzB;QAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,iBAAiB,CAAC,aAAqB,IAAI,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IAEvH;;;;;OAKG;IACI,MAAM,CAAC,wBAAwB;QACpC,OAAO,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAuB;QACjD,IAAI,IAAI,CAAC,YAAY;YACnB,OAAO,CAAC,yCAAyC;QACnD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;QAE5C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;YAC1C,0FAA0F;YACzF,MAA+B,CAAC,oBAAoB,GAAG,IAAI,CAAC;SAC9D;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACtD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,CAAE,oCAAoC;QACzF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,IAAI,OAAO,CAAC;QAC9D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC;QAExC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,iBAAiB,EAAE,CAAC;QAClE,MAAM,OAAO,GAAG,WAAW,CAAC;QAC5B,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1D;YACE,UAAU;YACV,QAAQ;YACR,QAAQ;YACR,YAAY;YACZ,WAAW;YACX,YAAY;SACb,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAE9D,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QACjE;YACE,UAAU;YACV,UAAU;YACV,SAAS;YACT,gBAAgB;YAChB,gBAAgB;YAChB,iBAAiB;YACjB,aAAa;YACb,qBAAqB;YACrB,aAAa;SACd,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;QAE3D,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,SAAS,YAAY,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtH,IAAI,IAAI,CAAC,eAAe;YACtB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,WAAW,EAAE,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,mBAAmB,EAAE,CAAC;QACtE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,SAAS,EAAE,CAAC;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,QAAQ,EAAE,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,QAAQ,EAAE,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,oBAAoB,EAAE,CAAC;QACvE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,cAAc,EAAE,CAAC;QACnE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,IAAI,IAAI,iBAAiB,EAAE,CAAC;QAC5E,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,OAAO,EAAE,CAAC;QAC9C,IAAI,CAAC,uBAAuB,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAChF,IAAI,CAAC,wBAAwB,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC9D,IAAI,CAAC,2BAA2B,GAAG,IAAI,iCAAiC,EAAE,CAAC;QAC3E,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QAEzC;YACE,IAAI,CAAC,YAAY;YACjB,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,cAAc;YACnB,IAAI,CAAC,OAAO;SACb,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QAExC,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;QAC7C,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;IACnC,CAAC;IAED,iFAAiF;IAC1E,MAAM,CAAC,KAAK,CAAC,QAAQ;QAC1B,IAAI,CAAC,IAAI,CAAC,YAAY;YACpB,OAAO;QAET,iEAAiE;QACjE,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAE9B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;YACzC,MAA+B,CAAC,oBAAoB,GAAG,SAAS,CAAC;SACnE;QAED,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACrE,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,KAAK,iBAAiB,KAA6B,OAAO,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC/F,MAAM,KAAK,iBAAiB,CAAC,QAAgC;QAClE,IAAI,SAAS,KAAK,QAAQ,IAAI,QAAQ,CAAC,aAAa;YAClD,QAAQ,GAAG,SAAS,CAAC;QAEvB,IAAI,QAAQ,KAAK,SAAS,CAAC,kBAAkB,EAAE;YAC7C,SAAS,CAAC,kBAAkB,GAAG,QAAQ,CAAC;YACxC,IAAI,SAAS,CAAC,cAAc;gBAC1B,SAAS,CAAC,wBAAwB,EAAE,CAAC;SACxC;IACH,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,oBAAoB;QAChC,sHAAsH;QACtH,IAAI,SAAS,CAAC,SAAS;YACrB,OAAO;QAET,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE;YAClC,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC;YACrC,qBAAqB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;SAC5C;IACH,CAAC;IAED,gBAAgB;IACR,MAAM,CAAC,sBAAsB;QACnC,IAAI,SAAS,KAAK,SAAS,CAAC,oBAAoB,EAAE;YAChD,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;YACrD,SAAS,CAAC,oBAAoB,GAAG,SAAS,CAAC;SAC5C;IACH,CAAC;IAED,gBAAgB;IACR,MAAM,CAAC,wBAAwB;QACrC,SAAS,CAAC,sBAAsB,EAAE,CAAC;QAEnC,IAAI,SAAS,KAAK,SAAS,CAAC,iBAAiB;YAC3C,SAAS,CAAC,oBAAoB,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE;gBACvD,SAAS,CAAC,oBAAoB,EAAE,CAAC;YACnC,CAAC,EAAE,SAAS,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,cAAc;QAC1B,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE;YAC7B,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC;YAChC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC;YAClE,SAAS,CAAC,wBAAwB,EAAE,CAAC;YACrC,SAAS,CAAC,oBAAoB,EAAE,CAAC;SAClC;IACH,CAAC;IAED,oCAAoC;IAC7B,MAAM,CAAC,aAAa;QACzB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,8DAA8D;IACtD,MAAM,CAAC,SAAS;QACtB,SAAS,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,4BAA4B;YACzD,OAAO;QAET,IAAI;YACF,SAAS,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,8DAA8D;YAClG,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YACnC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;SAC/B;QAAC,OAAO,SAAS,EAAE;YAClB,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,8DAA8D;YAErG,SAAS,CAAC,cAAc,GAAG,KAAK,CAAC;YACjC,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC,mEAAmE;YACzG,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC;SACtE;IACH,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,cAAc;QAChC,IAAI;YACF,OAAO,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,cAAc,EAAE,CAAC,IAAI,EAAE,CAAC;SACjE;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,EAAE,CAAC;SACX;IACH,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,eAAe,CAAC,IAA2B,IAAkB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEhG,MAAM,CAAC,uBAAuB;QACpC,gBAAgB,CAAC,cAAc,CAAC,KAAK,GAAG,CAAC,QAAoB,EAAU,EAAE;YACvE,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5B,CAAC,CAAC;QAEF,gBAAgB,CAAC,cAAc,CAAC,SAAS,GAAG,KAAK,EAAE,QAAoB,EAAkC,EAAE;YACzG,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM,UAAU,GAA0B;gBACxC,EAAE;gBACF,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,aAAa,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE;aACtF,CAAC;YAEF,MAAM,IAAI,GAAG,SAAS,CAAC,eAAe,CAAC,cAAc,CAAC;YACtD,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;gBACxB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,YAAY,CAAC;gBACnD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC;gBAE5F,IAAI,WAAW,EAAE;oBACf,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,cAAc,CAAC;oBACrD,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9C,UAAU,CAAC,SAAS,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;iBACpD;aACF;YAED,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,eAAe,CAAwC,IAAO,EAAE,GAW7E;QACC,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,SAAS,KAAK,GAAG,EAAE;YACrB,IAAI,SAAS,KAAK,GAAG,CAAC,SAAS;gBAC7B,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;YAC/B,IAAI,SAAS,KAAK,GAAG,CAAC,EAAE;gBACtB,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;YACjB,IAAI,SAAS,KAAK,GAAG,CAAC,SAAS;gBAC7B,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;YAC/B,IAAI,SAAS,KAAK,GAAG,CAAC,SAAS;gBAC7B,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;YAC/B,IAAI,SAAS,KAAK,GAAG,CAAC,MAAM;gBAC1B,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;SAC9B;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,YAAY,CAAC,OAAqB;QAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/D,+HAA+H;QAC/H,MAAM,OAAO,GAAG,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,wBAAwB,EAAE,CAAC,CAAC;QACxG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,mCAAmC;QAE1D,kCAAkC;QAClC,MAAM,IAAI,GAAG,CAAC,EAAS,EAAE,EAAE;YACzB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC1B,EAAE,CAAC,eAAe,EAAE,CAAC;QACvB,CAAC,CAAC;QAEF,IAAI,OAAO,CAAC,SAAS,EAAE;YACrB,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;YAC/C,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,EAAiB,EAAE,EAAE;gBAC1D,QAAQ,EAAE,CAAC,GAAG,EAAE;oBACd,KAAK,OAAO,CAAC;oBACb,KAAK,QAAQ;wBACX,IAAI,CAAC,EAAE,CAAC,CAAC;wBACT,OAAO;iBACV;gBACD,EAAE,CAAC,eAAe,EAAE,CAAC;YACvB,CAAC,CAAC;YACF,OAAO,CAAC,KAAK,EAAE,CAAC;SACjB;QAED,MAAM,KAAK,GAAG,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACjG,IAAI,SAAS,KAAK,OAAO,CAAC,KAAK,EAAE;YAC/B,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC;YACzC,gDAAgD;YAChD,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,yCAAyC,OAAO,CAAC,KAAK,KAAK,CAAC;SACpF;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,MAAM,KAAK,GAAG,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC,CAAC;YACnG,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,yBAAyB;YACrD,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;SACtB;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAOD;;;OAGG;IACI,MAAM,CAAC,YAAY,CACxB,IASC;QACD,MAAM,IAAI,GAAG,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAChG,IAAI,SAAS,KAAK,IAAI,CAAC,OAAO,EAAE;YAC9B,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;gBACpC,MAAM,IAAI,GAAG,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC9C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;gBACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACrB;YACD,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACpC;QACD,MAAM,UAAU,GAAG,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACrG,IAAI,SAAS,KAAK,IAAI,CAAC,OAAO,EAAE;YAC9B,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;gBAClC,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;;gBAEhH,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACxC;QACD,IAAI,SAAS,KAAK,IAAI,CAAC,MAAM,EAAE;YAC7B,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;gBACjC,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;;gBAExG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACvC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,oBAAoB;QAChC,OAAO,IAAI,CAAC,YAAY,CAAC;YACvB,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,2BAA2B;YACtD,OAAO,EAAE,oCAAoC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,uBAAuB;YACtI,MAAM,EAAE,GAAG,oBAAoB,OAAO,gBAAgB,EAAE;SACzD,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,oBAAoB,CAAC,GAAa;QAC9C,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,YAAY,EAAE,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtF,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,eAAe,CAAC,MAAc;QAC1C,IAAI,GAAoD,CAAC;QACzD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9B,GAAG,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC;SAChD;aAAM;YACL,GAAG,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,GAAG,CAAC,GAAG;gBACV,GAAG,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,GAAG,CAAC,GAAG;gBACV,GAAG,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,GAAG,CAAC,GAAG;gBACV,GAAG,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;SACvE;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,YAAY,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;IACvF,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,qBAAqB;QAClC,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QAC5C,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC/D,OAAO,cAAc,CAAC;IACxB,CAAC;;;AA/jBc,sBAAY,GAAG,KAAK,AAAR,CAAS;AAiBrB,wBAAc,GAAG,KAAK,AAAR,CAAS;AACvB,6BAAmB,GAAG,KAAK,AAAR,CAAS;AAC5B,4BAAkB,GAA2B,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,AAApD,CAAqD;AAatF,yEAAyE;AAClD,0BAAgB,GAAG,IAAI,OAAO,EAAc,AAA5B,CAA6B;AAEpE;;GAEG;AACoB,wBAAc,GAAG,IAAI,OAAO,EAAc,AAA5B,CAA6B;AAIlE,6CAA6C;AACtB,eAAK,GAAG,IAAI,YAAY,EAAE,AAArB,CAAsB;AA6DlD;;GAEG;AACoB,mBAAS,GAAqB,IAAI,gBAAgB,EAAE,AAA3C,CAA4C;AAE5E,aAAa;AACU,wBAAc,GAAG,EAAI,CAAC,qBAAqB,EAAE,AAA/B,CAAgC;AAErE,gDAAgD;AACjC,wBAAc,GAAG,IAAI,GAAG,EAA8B,AAAxC,CAAyC;SAlH3D,SAAS","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 IModelApp\r\n */\r\n\r\n/** @public */\r\n// eslint-disable-next-line @typescript-eslint/no-var-requires\r\nexport const ITWINJS_CORE_VERSION = require(\"../../package.json\").version as string; // require resolves from the lib/{cjs,esm} dir\r\nconst COPYRIGHT_NOTICE = 'Copyright © 2017-2023 <a href=\"https://www.bentley.com\" target=\"_blank\" rel=\"noopener noreferrer\">Bentley Systems, Inc.</a>';\r\n\r\nimport { UiAdmin } from \"@itwin/appui-abstract\";\r\nimport { AccessToken, BeDuration, BeEvent, BentleyStatus, DbResult, dispose, Guid, GuidString, Logger, ProcessDetector } from \"@itwin/core-bentley\";\r\nimport {\r\n AuthorizationClient, IModelStatus, Localization, RealityDataAccess, RpcConfiguration, RpcInterfaceDefinition, RpcRequest, SerializedRpcActivity,\r\n} from \"@itwin/core-common\";\r\nimport { ITwinLocalization } from \"@itwin/core-i18n\";\r\nimport { TelemetryManager } from \"@itwin/core-telemetry\";\r\nimport { queryRenderCompatibility, WebGLRenderCompatibilityInfo } from \"@itwin/webgl-compatibility\";\r\nimport { AccuDraw } from \"./AccuDraw\";\r\nimport { AccuSnap } from \"./AccuSnap\";\r\nimport * as auxCoordState from \"./AuxCoordSys\";\r\nimport * as categorySelectorState from \"./CategorySelectorState\";\r\nimport { ExtensionAdmin } from \"./extension/ExtensionAdmin\";\r\nimport * as displayStyleState from \"./DisplayStyleState\";\r\nimport * as drawingViewState from \"./DrawingViewState\";\r\nimport { ElementLocateManager } from \"./ElementLocateManager\";\r\nimport { EntityState } from \"./EntityState\";\r\nimport { FrontendHubAccess } from \"./FrontendHubAccess\";\r\nimport { FrontendLoggerCategory } from \"./common/FrontendLoggerCategory\";\r\nimport * as modelselector from \"./ModelSelectorState\";\r\nimport * as modelState from \"./ModelState\";\r\nimport { NotificationManager } from \"./NotificationManager\";\r\nimport { QuantityFormatter } from \"./quantity-formatting/QuantityFormatter\";\r\nimport { RenderSystem } from \"./render/RenderSystem\";\r\nimport { System } from \"./render/webgl/System\";\r\nimport * as sheetState from \"./SheetViewState\";\r\nimport * as spatialViewState from \"./SpatialViewState\";\r\nimport { TentativePoint } from \"./TentativePoint\";\r\nimport { RealityDataSourceProviderRegistry } from \"./RealityDataSource\";\r\nimport { MapLayerFormatRegistry, MapLayerOptions, TerrainProviderRegistry, TileAdmin } from \"./tile/internal\";\r\nimport * as accudrawTool from \"./tools/AccuDrawTool\";\r\nimport * as clipViewTool from \"./tools/ClipViewTool\";\r\nimport * as idleTool from \"./tools/IdleTool\";\r\nimport * as measureTool from \"./tools/MeasureTool\";\r\nimport * as selectTool from \"./tools/SelectTool\";\r\nimport { ToolRegistry } from \"./tools/Tool\";\r\nimport { ToolAdmin } from \"./tools/ToolAdmin\";\r\nimport * as viewTool from \"./tools/ViewTool\";\r\nimport { UserPreferencesAccess } from \"./UserPreferences\";\r\nimport { ViewManager } from \"./ViewManager\";\r\nimport * as viewState from \"./ViewState\";\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-var-requires\r\nrequire(\"./IModeljs-css\");\r\n\r\n// cSpell:ignore noopener noreferrer gprid forin nbsp csrf xsrf\r\n\r\n/** Options that can be supplied with [[IModelAppOptions]] to customize frontend security.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface FrontendSecurityOptions {\r\n /** Configures protection from Cross Site Request Forgery attacks. */\r\n readonly csrfProtection?: {\r\n /** If enabled, IModelApp will extract the CSRF token for the current session from the document's cookies and send it with each request as a header value. */\r\n readonly enabled: boolean;\r\n /** Defaults to XSRF-TOKEN. */\r\n readonly cookieName?: string;\r\n /** Defaults to X-XSRF-TOKEN. */\r\n readonly headerName?: string;\r\n };\r\n}\r\n\r\n/** Options that can be supplied to [[IModelApp.startup]] to customize frontend behavior.\r\n * @public\r\n */\r\nexport interface IModelAppOptions {\r\n /** If present, supplies the [[FrontendHubAccess]] for this session. */\r\n hubAccess?: FrontendHubAccess;\r\n /** If present, supplies the Id of this application. Applications must set this to the Bentley Global Product Registry Id (GPRID) for usage logging. */\r\n applicationId?: string;\r\n /** If present, supplies the version of this application. Must be set for usage logging. */\r\n applicationVersion?: string;\r\n /** If present, supplies the [[UserPreferencesAccess]] for this session.\r\n * @beta\r\n */\r\n userPreferences?: UserPreferencesAccess;\r\n /** If present, supplies the [[ViewManager]] for this session. */\r\n viewManager?: ViewManager;\r\n /** If present, supplies Map Layer Options for this session such as Azure Access Keys\r\n * @beta\r\n */\r\n mapLayerOptions?: MapLayerOptions;\r\n /** If present, supplies the properties with which to initialize the [[TileAdmin]] for this session. */\r\n tileAdmin?: TileAdmin.Props;\r\n /** If present, supplies the [[NotificationManager]] for this session. */\r\n notifications?: NotificationManager;\r\n /** If present, supplies the [[ToolAdmin]] for this session. */\r\n toolAdmin?: ToolAdmin;\r\n /** If present, supplies the [[AccuDraw]] for this session. */\r\n accuDraw?: AccuDraw;\r\n /** If present, supplies the [[AccuSnap]] for this session. */\r\n accuSnap?: AccuSnap;\r\n /** If present, supplies the [[Localization]] for this session. Defaults to [ITwinLocalization]($i18n). */\r\n localization?: Localization;\r\n /** The AuthorizationClient used to obtain [AccessToken]($bentley)s. */\r\n authorizationClient?: AuthorizationClient;\r\n /** If present, supplies security options for the frontend. */\r\n security?: FrontendSecurityOptions;\r\n /** @internal */\r\n sessionId?: GuidString;\r\n /** @internal */\r\n locateManager?: ElementLocateManager;\r\n /** If present, supplies the [[TentativePoint]] for this session. */\r\n tentativePoint?: TentativePoint;\r\n /** @internal */\r\n quantityFormatter?: QuantityFormatter;\r\n /** If present, supplies an implementation of the render system, or options for initializing the default render system. */\r\n renderSys?: RenderSystem | RenderSystem.Options;\r\n /** If present, supplies the [[UiAdmin]] for this session. */\r\n uiAdmin?: UiAdmin;\r\n /** If present, determines whether iModelApp is a NoRenderApp\r\n * @internal\r\n */\r\n noRender?: boolean;\r\n /**\r\n * @deprecated in 3.7. Specify desired RPC interfaces in the platform-specific RPC manager call instead.\r\n * See [[MobileRpcManager.initializeClient]], [[ElectronRpcManager.initializeFrontend]], [[BentleyCloudRpcManager.initializeClient]].\r\n */\r\n rpcInterfaces?: RpcInterfaceDefinition[];\r\n /** @beta */\r\n realityDataAccess?: RealityDataAccess;\r\n /** If present, overrides where public assets are fetched. The default is to fetch assets relative to the current URL.\r\n * The path should always end with a trailing `/`.\r\n * @beta\r\n */\r\n publicPath?: string;\r\n}\r\n\r\n/** Options for [[IModelApp.makeModalDiv]]\r\n * @internal\r\n */\r\nexport interface ModalOptions {\r\n /** Width for the Modal dialog box. */\r\n width?: number;\r\n /** The dialog should be dismissed if the user clicks anywhere or hits Enter or Escape on the keyboard. */\r\n autoClose?: boolean;\r\n /** Show an 'x' in the upper right corner to close the dialog */\r\n closeBox?: boolean;\r\n /** The parent for the semi transparent *darkening* div. If not present, use `document.body` */\r\n rootDiv?: HTMLElement;\r\n}\r\n\r\n/** Return type for [[IModelApp.makeModalDiv]]\r\n * @internal\r\n */\r\nexport interface ModalReturn {\r\n /** The modal HTMLDivElement created. */\r\n modal: HTMLDivElement;\r\n /** A function that can be set as an event handler to stop the modal dialog. This can be used if `autoClose` or `closeBox` are not enabled. */\r\n stop: (_ev: Event) => void;\r\n}\r\n\r\n/** We hang the IModelApp object off the global `window` object in IModelApp.startup for debugging purposes.\r\n * It's removed in IModelApp.shutdown.\r\n */\r\ninterface IModelAppForDebugger {\r\n iModelAppForDebugger?: typeof IModelApp;\r\n}\r\n\r\n/**\r\n * Global singleton that connects the user interface with the iTwin.js services. There can be only one IModelApp active in a session. All\r\n * members of IModelApp are static, and it serves as a singleton object for gaining access to session information.\r\n *\r\n * Before any interactive operations may be performed by the `@itwin/core-frontend package`, [[IModelApp.startup]] must be called and awaited.\r\n * Applications may customize the frontend behavior of iTwin.js by supplying options to [[IModelApp.startup]].\r\n *\r\n * @public\r\n */\r\nexport class IModelApp {\r\n private static _initialized = false;\r\n private static _accuDraw: AccuDraw;\r\n private static _accuSnap: AccuSnap;\r\n private static _applicationId: string;\r\n private static _applicationVersion: string;\r\n private static _localization: Localization;\r\n private static _locateManager: ElementLocateManager;\r\n private static _notifications: NotificationManager;\r\n private static _quantityFormatter: QuantityFormatter;\r\n private static _renderSystem?: RenderSystem;\r\n private static _userPreferences?: UserPreferencesAccess;\r\n private static _tentativePoint: TentativePoint;\r\n private static _tileAdmin: TileAdmin;\r\n private static _toolAdmin: ToolAdmin;\r\n private static _viewManager: ViewManager;\r\n private static _uiAdmin: UiAdmin;\r\n private static _noRender: boolean;\r\n private static _wantEventLoop = false;\r\n private static _animationRequested = false;\r\n private static _animationInterval: BeDuration | undefined = BeDuration.fromSeconds(1);\r\n private static _animationIntervalId?: number;\r\n private static _securityOptions: FrontendSecurityOptions;\r\n private static _mapLayerFormatRegistry: MapLayerFormatRegistry;\r\n private static _terrainProviderRegistry: TerrainProviderRegistry;\r\n private static _realityDataSourceProviders: RealityDataSourceProviderRegistry;\r\n private static _hubAccess?: FrontendHubAccess;\r\n private static _realityDataAccess?: RealityDataAccess;\r\n private static _publicPath: string;\r\n\r\n // No instances of IModelApp may be created. All members are static and must be on the singleton object IModelApp.\r\n protected constructor() { }\r\n\r\n /** Event raised just before the frontend IModelApp is to be shut down */\r\n public static readonly onBeforeShutdown = new BeEvent<() => void>();\r\n\r\n /** Event raised after IModelApp is finished starting up.\r\n * @internal\r\n */\r\n public static readonly onAfterStartup = new BeEvent<() => void>();\r\n\r\n /** The AuthorizationClient used to obtain [AccessToken]($bentley)s. */\r\n public static authorizationClient?: AuthorizationClient;\r\n /** The [[ToolRegistry]] for this session. */\r\n public static readonly tools = new ToolRegistry();\r\n /** A uniqueId for this session */\r\n public static sessionId: GuidString;\r\n /** The [[MapLayerFormatRegistry]] for this session. */\r\n public static get mapLayerFormatRegistry(): MapLayerFormatRegistry { return this._mapLayerFormatRegistry; }\r\n /** The [[TerrainProviderRegistry]] for this session. */\r\n public static get terrainProviderRegistry(): TerrainProviderRegistry { return this._terrainProviderRegistry; }\r\n /** The [[RealityDataSourceProviderRegistry]] for this session.\r\n * @alpha\r\n */\r\n public static get realityDataSourceProviders(): RealityDataSourceProviderRegistry { return this._realityDataSourceProviders; }\r\n /** The [[RenderSystem]] for this session. */\r\n public static get renderSystem(): RenderSystem { return this._renderSystem!; }\r\n /** The [[ViewManager]] for this session. */\r\n public static get viewManager(): ViewManager { return this._viewManager; }\r\n /** The [[NotificationManager]] for this session. */\r\n public static get notifications(): NotificationManager { return this._notifications; }\r\n /** The [[TileAdmin]] for this session. */\r\n public static get tileAdmin(): TileAdmin { return this._tileAdmin; }\r\n /** The [[QuantityFormatter]] for this session. */\r\n public static get quantityFormatter(): QuantityFormatter { return this._quantityFormatter; }\r\n /** The [[ToolAdmin]] for this session. */\r\n public static get toolAdmin(): ToolAdmin { return this._toolAdmin; }\r\n /** The [[AccuDraw]] for this session. */\r\n public static get accuDraw(): AccuDraw { return this._accuDraw; }\r\n /** The [[AccuSnap]] for this session. */\r\n public static get accuSnap(): AccuSnap { return this._accuSnap; }\r\n public static get locateManager(): ElementLocateManager { return this._locateManager; }\r\n /** The [[TentativePoint]] for this session]]. */\r\n public static get tentativePoint(): TentativePoint { return this._tentativePoint; }\r\n /** The [[Localization]] for this session. */\r\n public static get localization(): Localization { return this._localization; }\r\n /** The [[UserPreferencesAccess]] for this session.\r\n * @beta\r\n */\r\n public static get userPreferences(): UserPreferencesAccess | undefined { return this._userPreferences; }\r\n /** The Id of this application. Applications must set this to the Global Product Registry ID (GPRID) for usage logging. */\r\n public static get applicationId(): string { return this._applicationId; }\r\n /** The version of this application. Must be set for usage logging. */\r\n public static get applicationVersion(): string { return this._applicationVersion; }\r\n /** True after [[startup]] has been called, until [[shutdown]] is called. */\r\n public static get initialized() { return this._initialized; }\r\n\r\n /** Provides access to IModelHub services. */\r\n public static get hubAccess(): FrontendHubAccess | undefined { return this._hubAccess; }\r\n\r\n /** Provides access to the RealityData service implementation for this IModelApp\r\n * @beta\r\n */\r\n public static get realityDataAccess(): RealityDataAccess | undefined { return this._realityDataAccess; }\r\n\r\n /** @internal */\r\n public static get hasRenderSystem() { return this._renderSystem !== undefined && this._renderSystem.isValid; }\r\n /** The [[UiAdmin]] for this session. */\r\n public static get uiAdmin() { return this._uiAdmin; }\r\n /** The requested security options for the frontend. */\r\n public static get securityOptions() { return this._securityOptions; }\r\n /** The root URL for the assets 'public' folder.\r\n * @beta\r\n */\r\n public static get publicPath() { return this._publicPath; }\r\n /** The [[TelemetryManager]] for this session\r\n * @internal\r\n */\r\n public static readonly telemetry: TelemetryManager = new TelemetryManager();\r\n\r\n /** @alpha */\r\n public static readonly extensionAdmin = this._createExtensionAdmin();\r\n\r\n /** Map of classFullName to EntityState class */\r\n private static _entityClasses = new Map<string, typeof EntityState>();\r\n\r\n /** Register all of the subclasses of EntityState from a module.\r\n * @internal\r\n */\r\n public static registerModuleEntities(moduleObj: any) {\r\n for (const thisMember in moduleObj) { // eslint-disable-line guard-for-in\r\n const thisEntityState = moduleObj[thisMember];\r\n if (thisEntityState.prototype instanceof EntityState) {\r\n this.registerEntityState(thisEntityState.classFullName, thisEntityState);\r\n }\r\n }\r\n }\r\n\r\n /** Register an EntityState class by its classFullName\r\n * @internal\r\n */\r\n public static registerEntityState(classFullName: string, classType: typeof EntityState) {\r\n const lowerName = classFullName.toLowerCase();\r\n if (this._entityClasses.has(lowerName)) {\r\n const errMsg = `Class ${classFullName} is already registered. Make sure static schemaName and className members are correct on class ${classType.name}`;\r\n Logger.logError(FrontendLoggerCategory.IModelConnection, errMsg);\r\n throw new Error(errMsg);\r\n }\r\n\r\n this._entityClasses.set(lowerName, classType);\r\n }\r\n\r\n /** @internal */\r\n public static lookupEntityClass(classFullName: string) { return this._entityClasses.get(classFullName.toLowerCase()); }\r\n\r\n /**\r\n * Obtain WebGL rendering compatibility information for the client system. This information describes whether the client meets the\r\n * minimum rendering capabilities. It also describes whether the system lacks any optional capabilities that could improve quality\r\n * and/or performance.\r\n * @note As of 4.x, iTwin.js requires WebGL 2. If the client does not support WebGL 2, the `status` field of the returned compatibility info will be [WebGLRenderCompatibilityStatus.CannotCreateContext]($webgl-compatibility).\r\n */\r\n public static queryRenderCompatibility(): WebGLRenderCompatibilityInfo {\r\n return queryRenderCompatibility(true, System.createContext);\r\n }\r\n\r\n /**\r\n * This method must be called before any other `@itwin/core-frontend` methods are used.\r\n * Somewhere in your startup code, call [[IModelApp.startup]]. E.g.:\r\n * ``` ts\r\n * await IModelApp.startup( {applicationId: myAppId} );\r\n * ```\r\n * @param opts The options for configuring IModelApp\r\n */\r\n public static async startup(opts?: IModelAppOptions): Promise<void> {\r\n if (this._initialized)\r\n return; // we're already initialized, do nothing.\r\n this._initialized = true;\r\n\r\n opts = opts ?? {};\r\n this._securityOptions = opts.security ?? {};\r\n\r\n if (process.env.NODE_ENV === \"development\") {\r\n // Make IModelApp globally accessible for debugging purposes. We'll remove it on shutdown.\r\n (window as IModelAppForDebugger).iModelAppForDebugger = this;\r\n }\r\n\r\n this.sessionId = opts.sessionId ?? Guid.createValue();\r\n this._applicationId = opts.applicationId ?? \"2686\"; // Default to product id of iTwin.js\r\n this._applicationVersion = opts.applicationVersion ?? \"1.0.0\";\r\n this.authorizationClient = opts.authorizationClient;\r\n this._hubAccess = opts.hubAccess;\r\n this._noRender = opts.noRender ?? false;\r\n\r\n this._setupRpcRequestContext();\r\n\r\n this._localization = opts.localization ?? new ITwinLocalization();\r\n const toolsNs = \"CoreTools\";\r\n await this.localization.initialize([\"iModelJs\", toolsNs]);\r\n [\r\n selectTool,\r\n idleTool,\r\n viewTool,\r\n clipViewTool,\r\n measureTool,\r\n accudrawTool,\r\n ].forEach((tool) => this.tools.registerModule(tool, toolsNs));\r\n\r\n this.registerEntityState(EntityState.classFullName, EntityState);\r\n [\r\n modelState,\r\n sheetState,\r\n viewState,\r\n drawingViewState,\r\n spatialViewState,\r\n displayStyleState,\r\n modelselector,\r\n categorySelectorState,\r\n auxCoordState,\r\n ].forEach((module) => this.registerModuleEntities(module));\r\n\r\n this._renderSystem = (opts.renderSys instanceof RenderSystem) ? opts.renderSys : this.createRenderSys(opts.renderSys);\r\n if (opts.userPreferences)\r\n this._userPreferences = opts.userPreferences;\r\n this._viewManager = opts.viewManager ?? new ViewManager();\r\n this._tileAdmin = await TileAdmin.create(opts.tileAdmin);\r\n this._notifications = opts.notifications ?? new NotificationManager();\r\n this._toolAdmin = opts.toolAdmin ?? new ToolAdmin();\r\n this._accuDraw = opts.accuDraw ?? new AccuDraw();\r\n this._accuSnap = opts.accuSnap ?? new AccuSnap();\r\n this._locateManager = opts.locateManager ?? new ElementLocateManager();\r\n this._tentativePoint = opts.tentativePoint ?? new TentativePoint();\r\n this._quantityFormatter = opts.quantityFormatter ?? new QuantityFormatter();\r\n this._uiAdmin = opts.uiAdmin ?? new UiAdmin();\r\n this._mapLayerFormatRegistry = new MapLayerFormatRegistry(opts.mapLayerOptions);\r\n this._terrainProviderRegistry = new TerrainProviderRegistry();\r\n this._realityDataSourceProviders = new RealityDataSourceProviderRegistry();\r\n this._realityDataAccess = opts.realityDataAccess;\r\n this._publicPath = opts.publicPath ?? \"\";\r\n\r\n [\r\n this.renderSystem,\r\n this.viewManager,\r\n this.toolAdmin,\r\n this.accuDraw,\r\n this.accuSnap,\r\n this.locateManager,\r\n this.tentativePoint,\r\n this.uiAdmin,\r\n ].forEach((sys) => sys.onInitialized());\r\n\r\n await this.quantityFormatter.onInitialized();\r\n this.onAfterStartup.raiseEvent();\r\n }\r\n\r\n /** Must be called before the application exits to release any held resources. */\r\n public static async shutdown() {\r\n if (!this._initialized)\r\n return;\r\n\r\n // notify listeners that this IModelApp is about to be shut down.\r\n this.onBeforeShutdown.raiseEvent();\r\n this.onBeforeShutdown.clear();\r\n\r\n if (process.env.NODE_ENV === \"development\") {\r\n (window as IModelAppForDebugger).iModelAppForDebugger = undefined;\r\n }\r\n\r\n this._wantEventLoop = false;\r\n window.removeEventListener(\"resize\", IModelApp.requestNextAnimation);\r\n this.clearIntervalAnimation();\r\n [this.toolAdmin, this.viewManager, this.tileAdmin].forEach((sys) => sys.onShutDown());\r\n this.tools.shutdown();\r\n this._renderSystem = dispose(this._renderSystem);\r\n this._entityClasses.clear();\r\n this.authorizationClient = undefined;\r\n this._initialized = false;\r\n this.onAfterStartup.clear();\r\n }\r\n\r\n /** Controls how frequently the application polls for changes that may require a new animation frame to be requested.\r\n * Such changes include resizing a Viewport or changing the device pixel ratio by zooming in or out in the browser.\r\n * The default interval is 1 second. It may be desirable to override the default for specific apps and/or devices.\r\n * - Increasing the interval can conserve battery life on battery-powered devices at the expense of slower response to resize events.\r\n * - An application that only displays a single Viewport whose dimensions only change when the dimensions of the application window change, and which does not support changing application zoom level, could disable the interval altogether.\r\n * @param interval The interval at which to poll for changes. If undefined (or negative), the application will never poll. If zero, the application will poll as frequently as possible.\r\n * @beta\r\n */\r\n public static get animationInterval(): BeDuration | undefined { return IModelApp._animationInterval; }\r\n public static set animationInterval(interval: BeDuration | undefined) {\r\n if (undefined !== interval && interval.isTowardsPast)\r\n interval = undefined;\r\n\r\n if (interval !== IModelApp._animationInterval) {\r\n IModelApp._animationInterval = interval;\r\n if (IModelApp._wantEventLoop)\r\n IModelApp.requestIntervalAnimation();\r\n }\r\n }\r\n\r\n /** @internal */\r\n public static requestNextAnimation() {\r\n // Only want to call requestAnimationFrame if it is defined. Need to check whether current iModelApp is a NoRenderApp.\r\n if (IModelApp._noRender)\r\n return;\r\n\r\n if (!IModelApp._animationRequested) {\r\n IModelApp._animationRequested = true;\r\n requestAnimationFrame(IModelApp.eventLoop);\r\n }\r\n }\r\n\r\n /** @internal */\r\n private static clearIntervalAnimation(): void {\r\n if (undefined !== IModelApp._animationIntervalId) {\r\n window.clearInterval(IModelApp._animationIntervalId);\r\n IModelApp._animationIntervalId = undefined;\r\n }\r\n }\r\n\r\n /** @internal */\r\n private static requestIntervalAnimation(): void {\r\n IModelApp.clearIntervalAnimation();\r\n\r\n if (undefined !== IModelApp.animationInterval)\r\n IModelApp._animationIntervalId = window.setInterval(() => {\r\n IModelApp.requestNextAnimation();\r\n }, IModelApp.animationInterval.milliseconds);\r\n }\r\n\r\n /** @internal */\r\n public static startEventLoop() {\r\n if (!IModelApp._wantEventLoop) {\r\n IModelApp._wantEventLoop = true;\r\n window.addEventListener(\"resize\", IModelApp.requestNextAnimation);\r\n IModelApp.requestIntervalAnimation();\r\n IModelApp.requestNextAnimation();\r\n }\r\n }\r\n\r\n /** Strictly for tests. @internal */\r\n public static stopEventLoop() {\r\n this._wantEventLoop = false;\r\n }\r\n\r\n /** The main event processing loop for Tools and rendering. */\r\n private static eventLoop() {\r\n IModelApp._animationRequested = false;\r\n if (!IModelApp._wantEventLoop) // flag turned on at startup\r\n return;\r\n\r\n try {\r\n IModelApp.toolAdmin.processEvent(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n IModelApp.viewManager.renderLoop();\r\n IModelApp.tileAdmin.process();\r\n } catch (exception) {\r\n ToolAdmin.exceptionHandler(exception); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n\r\n IModelApp._wantEventLoop = false;\r\n IModelApp._animationRequested = true; // unrecoverable after exception, don't request any further frames.\r\n window.removeEventListener(\"resize\", IModelApp.requestNextAnimation);\r\n }\r\n }\r\n\r\n /** Get the user's access token for this IModelApp, or a blank string if none is available.\r\n * @note Access tokens expire periodically and are automatically refreshed, if possible. Therefore tokens should not be saved, and the value\r\n * returned by this method may change over time throughout the course of a session.\r\n */\r\n public static async getAccessToken(): Promise<AccessToken> {\r\n try {\r\n return (await this.authorizationClient?.getAccessToken()) ?? \"\";\r\n } catch (e) {\r\n return \"\";\r\n }\r\n }\r\n\r\n /** @internal */\r\n public static createRenderSys(opts?: RenderSystem.Options): RenderSystem { return System.create(opts); }\r\n\r\n private static _setupRpcRequestContext() {\r\n RpcConfiguration.requestContext.getId = (_request: RpcRequest): string => {\r\n return Guid.createValue();\r\n };\r\n\r\n RpcConfiguration.requestContext.serialize = async (_request: RpcRequest): Promise<SerializedRpcActivity> => { // eslint-disable-line deprecation/deprecation\r\n const id = _request.id;\r\n const serialized: SerializedRpcActivity = { // eslint-disable-line deprecation/deprecation\r\n id,\r\n applicationId: this.applicationId,\r\n applicationVersion: this.applicationVersion,\r\n sessionId: this.sessionId,\r\n authorization: ProcessDetector.isMobileAppFrontend ? \"\" : await this.getAccessToken(),\r\n };\r\n\r\n const csrf = IModelApp.securityOptions.csrfProtection;\r\n if (csrf && csrf.enabled) {\r\n const cookieName = csrf.cookieName || \"XSRF-TOKEN\";\r\n const cookieValue = document.cookie.split(\"; \").find((r) => r.startsWith(`${cookieName}=`));\r\n\r\n if (cookieValue) {\r\n const headerName = csrf.headerName || \"X-XSRF-TOKEN\";\r\n const headerValue = cookieValue.split(\"=\")[1];\r\n serialized.csrfToken = { headerName, headerValue };\r\n }\r\n }\r\n\r\n return serialized;\r\n };\r\n }\r\n\r\n /** Shortcut for creating an HTMLElement with optional parent, className, id, innerHTML, innerText\r\n * @internal\r\n */\r\n public static makeHTMLElement<K extends keyof HTMLElementTagNameMap>(type: K, opt?: {\r\n /** The parent for the new HTMLElement */\r\n parent?: HTMLElement;\r\n /** The className for the new HTMLElement */\r\n className?: string;\r\n /** The Id for the new HTMLElement */\r\n id?: string;\r\n /** innerHTML for the new HTMLElement */\r\n innerHTML?: string;\r\n /** innerText for the new HTMLElement */\r\n innerText?: string;\r\n }) {\r\n const el = document.createElement(type);\r\n if (undefined !== opt) {\r\n if (undefined !== opt.className)\r\n el.className = opt.className;\r\n if (undefined !== opt.id)\r\n el.id = opt.id;\r\n if (undefined !== opt.innerHTML)\r\n el.innerHTML = opt.innerHTML;\r\n if (undefined !== opt.innerText)\r\n el.innerText = opt.innerText;\r\n if (undefined !== opt.parent)\r\n opt.parent.appendChild(el);\r\n }\r\n return el;\r\n }\r\n\r\n /** Make a modal dialog on top of the root of the application. The returned HTMLDivElement will be placed topmost, all other application\r\n * windows will be covered with a semi-transparent background that intercepts all key/mouse/touch events until the modal is dismissed.\r\n * @param options The options that describe how the modal should work.\r\n * @internal\r\n */\r\n public static makeModalDiv(options: ModalOptions): ModalReturn {\r\n const root = options.rootDiv ? options.rootDiv : document.body;\r\n // create the overlay div to \"black out\" the application to indicate everything is inactive until the modal has been dismissed.\r\n const overlay = IModelApp.makeHTMLElement(\"div\", { parent: root, className: \"imodeljs-modal-overlay\" });\r\n overlay.tabIndex = -1; // so we can catch keystroke events\r\n\r\n // function to remove modal dialog\r\n const stop = (ev: Event) => {\r\n root.removeChild(overlay);\r\n ev.stopPropagation();\r\n };\r\n\r\n if (options.autoClose) {\r\n overlay.onclick = overlay.oncontextmenu = stop;\r\n overlay.onkeydown = overlay.onkeyup = (ev: KeyboardEvent) => { // ignore all keystrokes other than enter and escape\r\n switch (ev.key) {\r\n case \"Enter\":\r\n case \"Escape\":\r\n stop(ev);\r\n return;\r\n }\r\n ev.stopPropagation();\r\n };\r\n overlay.focus();\r\n }\r\n\r\n const modal = IModelApp.makeHTMLElement(\"div\", { parent: overlay, className: \"imodeljs-modal\" });\r\n if (undefined !== options.width) {\r\n modal.style.width = `${options.width}px`;\r\n // allow the dialog to be smaller than the width\r\n modal.style.maxWidth = `min(100% - (2 * var(--width-border)), ${options.width}px)`;\r\n }\r\n if (options.closeBox) {\r\n const close = IModelApp.makeHTMLElement(\"p\", { parent: modal, className: \"imodeljs-modal-close\" });\r\n close.innerText = \"\\u00d7\"; // unicode \"times\" symbol\r\n close.onclick = stop;\r\n }\r\n\r\n return { modal, stop };\r\n }\r\n\r\n /** Applications may implement this method to supply a Logo Card.\r\n * @beta\r\n */\r\n public static applicationLogoCard?: () => HTMLTableRowElement;\r\n\r\n /** Make a new Logo Card. Call this method from your implementation of [[IModelApp.applicationLogoCard]]\r\n * @param opts Options for Logo Card\r\n * @beta\r\n */\r\n public static makeLogoCard(\r\n opts: {\r\n /** The heading to be put at the top of this logo card inside an <h2>. May include HTML. */\r\n heading: string | HTMLElement;\r\n /** The URL or HTMLImageElement for the icon on this logo card. */\r\n iconSrc?: string | HTMLImageElement;\r\n /** The width of the icon, if `iconSrc` is a string. Default is 64. */\r\n iconWidth?: number;\r\n /** A *notice* string to be shown on the logo card. May include HTML. */\r\n notice?: string | HTMLElement;\r\n }): HTMLTableRowElement {\r\n const card = IModelApp.makeHTMLElement(\"tr\");\r\n const iconCell = IModelApp.makeHTMLElement(\"td\", { parent: card, className: \"logo-card-logo\" });\r\n if (undefined !== opts.iconSrc) {\r\n if (typeof opts.iconSrc === \"string\") {\r\n const logo = IModelApp.makeHTMLElement(\"img\");\r\n logo.src = opts.iconSrc;\r\n logo.width = opts.iconWidth ? opts.iconWidth : 64;\r\n opts.iconSrc = logo;\r\n }\r\n iconCell.appendChild(opts.iconSrc);\r\n }\r\n const noticeCell = IModelApp.makeHTMLElement(\"td\", { parent: card, className: \"logo-card-message\" });\r\n if (undefined !== opts.heading) {\r\n if (typeof opts.heading === \"string\")\r\n IModelApp.makeHTMLElement(\"h2\", { parent: noticeCell, innerHTML: opts.heading, className: \"logo-card-header\" });\r\n else\r\n noticeCell.appendChild(opts.heading);\r\n }\r\n if (undefined !== opts.notice) {\r\n if (typeof opts.notice === \"string\")\r\n IModelApp.makeHTMLElement(\"p\", { parent: noticeCell, innerHTML: opts.notice, className: \"logo-cards\" });\r\n else\r\n noticeCell.appendChild(opts.notice);\r\n }\r\n return card;\r\n }\r\n\r\n /** Make the logo card for the library itself. This card gets placed at the top of the stack.\r\n * @internal\r\n */\r\n public static makeIModelJsLogoCard() {\r\n return this.makeLogoCard({\r\n iconSrc: `${this.publicPath}images/about-imodeljs.svg`,\r\n heading: `<span style=\"font-weight:normal\">${this.localization.getLocalizedString(\"iModelJs:Notices.PoweredBy\")}</span>&nbsp;iTwin.js`,\r\n notice: `${ITWINJS_CORE_VERSION}<br>${COPYRIGHT_NOTICE}`,\r\n });\r\n }\r\n\r\n /** Format the tooltip strings returned by [[IModelConnection.getToolTipMessage]].\r\n * @alpha\r\n */\r\n public static formatElementToolTip(msg: string[]): HTMLElement {\r\n let out = \"\";\r\n msg.forEach((line) => out += `${IModelApp.localization?.getLocalizedKeys(line)}<br>`);\r\n const div = document.createElement(\"div\");\r\n div.innerHTML = out;\r\n return div;\r\n }\r\n\r\n /** Localize an error status\r\n * @param status one of the status values from [BentleyStatus]($core-bentley), [IModelStatus]($core-bentley) or [DbResult]($core-bentley)\r\n * @returns a localized error message\r\n * @beta\r\n */\r\n public static translateStatus(status: number) {\r\n let key: { scope: string, val: string, status?: string };\r\n if (typeof status !== \"number\") {\r\n key = { scope: \"Errors\", val: \"IllegalValue\" };\r\n } else {\r\n key = { scope: \"BentleyStatus\", val: BentleyStatus[status] };\r\n if (!key.val)\r\n key = { scope: \"IModelStatus\", val: IModelStatus[status] };\r\n if (!key.val)\r\n key = { scope: \"DbResult\", val: DbResult[status] };\r\n if (!key.val)\r\n key = { scope: \"Errors\", val: \"Status\", status: status.toString() };\r\n }\r\n\r\n return this.localization.getLocalizedString(`iModelJs:${key.scope}.${key.val}`, key);\r\n }\r\n\r\n /**\r\n * Creates an instance of the ExtensionAdmin\r\n * and registers an event to execute after startup is complete\r\n * @returns an instance of ExtensionAdmin\r\n */\r\n private static _createExtensionAdmin(): ExtensionAdmin {\r\n const extensionAdmin = new ExtensionAdmin();\r\n IModelApp.onAfterStartup.addListener(extensionAdmin.onStartup);\r\n return extensionAdmin;\r\n }\r\n}\r\n"]}
@@ -160,7 +160,7 @@ export declare abstract class IModelConnection extends IModel {
160
160
  *
161
161
  * See also:
162
162
  * - [ECSQL Overview]($docs/learning/backend/ExecutingECSQL)
163
- * - [Code Examples]($docs/learning/backend/ECSQLCodeExamples)
163
+ * - [Code Examples]($docs/learning/ECSQLCodeExamples)
164
164
  *
165
165
  * @param ecsql The ECSQL statement to execute
166
166
  * @param params The values to bind to the parameters (if the ECSQL has any).
@@ -175,7 +175,7 @@ export declare abstract class IModelConnection extends IModel {
175
175
  *
176
176
  * See also:
177
177
  * - [ECSQL Overview]($docs/learning/backend/ExecutingECSQL)
178
- * - [Code Examples]($docs/learning/backend/ECSQLCodeExamples)
178
+ * - [Code Examples]($docs/learning/ECSQLCodeExamples)
179
179
  *
180
180
  * @param ecsql The ECSQL statement to execute
181
181
  * @param params The values to bind to the parameters (if the ECSQL has any).
@@ -191,7 +191,7 @@ export declare abstract class IModelConnection extends IModel {
191
191
  *
192
192
  * See also:
193
193
  * - [ECSQL Overview]($docs/learning/backend/ExecutingECSQL)
194
- * - [Code Examples]($docs/learning/backend/ECSQLCodeExamples)
194
+ * - [Code Examples]($docs/learning/ECSQLCodeExamples)
195
195
  *
196
196
  * @param ecsql The ECSQL statement to execute
197
197
  * @param token None empty restart token. The previous query with same token would be cancelled. This would cause
@@ -258,6 +258,7 @@ export declare abstract class IModelConnection extends IModel {
258
258
  * @param result If defined, use this for output
259
259
  * @returns A Cartographic location
260
260
  * @throws IModelError if [[isGeoLocated]] is false or point could not be converted.
261
+ * @see [[cartographicFromSpatial]] if you have more than one point to convert, or you don't know whether the iModel has a GCS.
261
262
  */
262
263
  spatialToCartographicFromGcs(spatial: XYAndZ, result?: Cartographic): Promise<Cartographic>;
263
264
  /** Convert a point in this iModel's Spatial coordinates to a [[Cartographic]] using the Geographic location services for this IModelConnection or [[IModel.ecefLocation]].
@@ -265,26 +266,42 @@ export declare abstract class IModelConnection extends IModel {
265
266
  * @param result If defined, use this for output
266
267
  * @returns A Cartographic location
267
268
  * @throws IModelError if [[isGeoLocated]] is false or point could not be converted.
268
- * @see [[spatialToCartographicFromGcs]]
269
- * @see [[spatialToCartographicFromEcef]]
269
+ * @see [[cartographicFromSpatial]] to convert multiple points at once.
270
+ * @see [[spatialToCartographicFromEcef]] to synchronously convert points using the iModel's ECEF transform.
270
271
  */
271
272
  spatialToCartographic(spatial: XYAndZ, result?: Cartographic): Promise<Cartographic>;
272
- /** Convert a [[Cartographic]] to a point in this iModel's Spatial coordinates using the Geographic location services for this IModelConnection.
273
+ /** Convert points in this iModel's spatial coordinate system to [Cartographic]($common) coordinates using either a [[GeoConverter]] or the iModel's [EcefLocation]($common).
274
+ * @param spatial Coordiantes to be converted from the iModel's spatial coordinate system
275
+ * @returns The `spatial` coordinates converted to cartographic coordinates, of the same length and order as the `spatial`.
276
+ * @throws IModelError if [[isGeoLocated]] is false or any point could not be converted.
277
+ * @see [[spatialFromCartographic]] to perform the inverse conversion.
278
+ * @see [[spatialToCartographicFromEcef]] to synchronously convert points using the iModel's ECEF transform.
279
+ */
280
+ cartographicFromSpatial(spatial: XYAndZ[]): Promise<Cartographic[]>;
281
+ /** Convert a [Cartographic]($common) to a point in this iModel's spatial coordinate system using a [[GeoConverter]].
273
282
  * @param cartographic A cartographic location
274
283
  * @param result If defined, use this for output
275
284
  * @returns A point in this iModel's spatial coordinates
276
285
  * @throws IModelError if [[isGeoLocated]] is false or cartographic location could not be converted.
286
+ * @see [[spatialFromCartographic]] to convert multiple points at once, or you don't know whether the iModel has a GCS.
277
287
  */
278
288
  cartographicToSpatialFromGcs(cartographic: Cartographic, result?: Point3d): Promise<Point3d>;
279
- /** Convert a [[Cartographic]] to a point in this iModel's Spatial coordinates using the Geographic location services for this IModelConnection or [[IModel.ecefLocation]].
289
+ /** Convert a [Cartographic]($common) to a point in this iModel's Spatial coordinates using a [[GeoConverter]] or[[IModel.ecefLocation]($common).
280
290
  * @param cartographic A cartographic location
281
291
  * @param result If defined, use this for output
282
292
  * @returns A point in this iModel's spatial coordinates
283
293
  * @throws IModelError if [[isGeoLocated]] is false or cartographic location could not be converted.
284
- * @see [[cartographicToSpatialFromGcs]]
285
- * @see [[cartographicToSpatialFromEcef]]
294
+ * @see [[spatialFromCartographic]] to convert multiple points at once.
295
+ * @see [[cartographicToSpatialFromEcef]] to synchronously convert points using the iModel's ECEF transform.
286
296
  */
287
297
  cartographicToSpatial(cartographic: Cartographic, result?: Point3d): Promise<Point3d>;
298
+ /** Convert [Cartographic]($common) coordinates into points in this iModel's spatial coordinate system using a [[GeoConverter]] or the iModel's [EcefLocation]($common).
299
+ * @param cartographic Coordinates to be converted to the iModel's spatial coordinate system.
300
+ * @returns The `cartographic` coordinates converted to spatial coordinates, of the same length and order as `cartographic`.
301
+ * @throws IModelError if [[isGeoLocated]] is false or any point could not be converted.
302
+ * @see [[cartographicFromSpatial]] to perform the inverse conversion.
303
+ */
304
+ spatialFromCartographic(cartographic: Cartographic[]): Promise<Point3d[]>;
288
305
  /** Expand this iModel's [[displayedExtents]] to include the specified range.
289
306
  * This is done automatically when reality models are added to a spatial view. In some cases a [[TiledGraphicsProvider]] may wish to expand
290
307
  * the extents explicitly to include its geometry.
@@ -1 +1 @@
1
- {"version":3,"file":"IModelConnection.d.ts","sourceRoot":"","sources":["../../src/IModelConnection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IModelConnection.d.ts","sourceRoot":"","sources":["../../src/IModelConnection.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  import { assert, BeEvent, GeoServiceStatus, Id64, Logger, OneAtATimeAction, OpenMode, TransientIdSequence, } from "@itwin/core-bentley";
9
9
  import { Cartographic, CodeSpec, DbResult, EcefLocation, ECSqlReader, FontMap, GeoCoordStatus, ImageSourceFormat, IModel, IModelError, IModelReadRpcInterface, IModelStatus, mapToGeoServiceStatus, NoContentError, Placement2d, Placement3d, QueryOptionsBuilder, QueryRowFormat, RpcManager, SnapshotIModelRpcInterface, } from "@itwin/core-common";
10
10
  import { Point3d, Range3d, Transform } from "@itwin/core-geometry";
11
- import { FrontendLoggerCategory } from "./FrontendLoggerCategory";
11
+ import { FrontendLoggerCategory } from "./common/FrontendLoggerCategory";
12
12
  import { GeoServices } from "./GeoServices";
13
13
  import { IModelApp } from "./IModelApp";
14
14
  import { IModelRoutingContext } from "./IModelRoutingContext";
@@ -133,7 +133,7 @@ class IModelConnection extends IModel {
133
133
  this.selectionSet = new SelectionSet(this);
134
134
  this.hilited = new HiliteSet(this);
135
135
  this.tiles = new Tiles(this);
136
- this.geoServices = new GeoServices(this);
136
+ this.geoServices = GeoServices.createForIModel(this);
137
137
  /* eslint-disable-next-line deprecation/deprecation */
138
138
  this.displayedExtents = Range3d.fromJSON(this.projectExtents);
139
139
  this.onProjectExtentsChanged.addListener(() => {
@@ -183,7 +183,7 @@ class IModelConnection extends IModel {
183
183
  *
184
184
  * See also:
185
185
  * - [ECSQL Overview]($docs/learning/backend/ExecutingECSQL)
186
- * - [Code Examples]($docs/learning/backend/ECSQLCodeExamples)
186
+ * - [Code Examples]($docs/learning/ECSQLCodeExamples)
187
187
  *
188
188
  * @param ecsql The ECSQL statement to execute
189
189
  * @param params The values to bind to the parameters (if the ECSQL has any).
@@ -203,7 +203,7 @@ class IModelConnection extends IModel {
203
203
  *
204
204
  * See also:
205
205
  * - [ECSQL Overview]($docs/learning/backend/ExecutingECSQL)
206
- * - [Code Examples]($docs/learning/backend/ECSQLCodeExamples)
206
+ * - [Code Examples]($docs/learning/ECSQLCodeExamples)
207
207
  *
208
208
  * @param ecsql The ECSQL statement to execute
209
209
  * @param params The values to bind to the parameters (if the ECSQL has any).
@@ -224,7 +224,7 @@ class IModelConnection extends IModel {
224
224
  *
225
225
  * See also:
226
226
  * - [ECSQL Overview]($docs/learning/backend/ExecutingECSQL)
227
- * - [Code Examples]($docs/learning/backend/ECSQLCodeExamples)
227
+ * - [Code Examples]($docs/learning/ECSQLCodeExamples)
228
228
  *
229
229
  * @param ecsql The ECSQL statement to execute
230
230
  * @param token None empty restart token. The previous query with same token would be cancelled. This would cause
@@ -314,6 +314,7 @@ class IModelConnection extends IModel {
314
314
  * @param result If defined, use this for output
315
315
  * @returns A Cartographic location
316
316
  * @throws IModelError if [[isGeoLocated]] is false or point could not be converted.
317
+ * @see [[cartographicFromSpatial]] if you have more than one point to convert, or you don't know whether the iModel has a GCS.
317
318
  */
318
319
  async spatialToCartographicFromGcs(spatial, result) {
319
320
  if (!this.isGeoLocated && this.noGcsDefined)
@@ -334,17 +335,51 @@ class IModelConnection extends IModel {
334
335
  * @param result If defined, use this for output
335
336
  * @returns A Cartographic location
336
337
  * @throws IModelError if [[isGeoLocated]] is false or point could not be converted.
337
- * @see [[spatialToCartographicFromGcs]]
338
- * @see [[spatialToCartographicFromEcef]]
338
+ * @see [[cartographicFromSpatial]] to convert multiple points at once.
339
+ * @see [[spatialToCartographicFromEcef]] to synchronously convert points using the iModel's ECEF transform.
339
340
  */
340
341
  async spatialToCartographic(spatial, result) {
341
342
  return (this.noGcsDefined ? this.spatialToCartographicFromEcef(spatial, result) : this.spatialToCartographicFromGcs(spatial, result));
342
343
  }
343
- /** Convert a [[Cartographic]] to a point in this iModel's Spatial coordinates using the Geographic location services for this IModelConnection.
344
+ /** Convert points in this iModel's spatial coordinate system to [Cartographic]($common) coordinates using either a [[GeoConverter]] or the iModel's [EcefLocation]($common).
345
+ * @param spatial Coordiantes to be converted from the iModel's spatial coordinate system
346
+ * @returns The `spatial` coordinates converted to cartographic coordinates, of the same length and order as the `spatial`.
347
+ * @throws IModelError if [[isGeoLocated]] is false or any point could not be converted.
348
+ * @see [[spatialFromCartographic]] to perform the inverse conversion.
349
+ * @see [[spatialToCartographicFromEcef]] to synchronously convert points using the iModel's ECEF transform.
350
+ */
351
+ async cartographicFromSpatial(spatial) {
352
+ if (this.noGcsDefined)
353
+ return spatial.map((p) => this.spatialToCartographicFromEcef(p));
354
+ if (!this.isGeoLocated)
355
+ throw new IModelError(GeoServiceStatus.NoGeoLocation, "iModel is not GeoLocated");
356
+ if (!this.isOpen)
357
+ throw new IModelError(GeoServiceStatus.NoGeoLocation, "iModel is not open");
358
+ if (spatial.length === 0)
359
+ return [];
360
+ const geoConverter = this.geoServices.getConverter();
361
+ assert(undefined !== geoConverter);
362
+ const coordResponse = await geoConverter.getGeoCoordinatesFromIModelCoordinates(spatial);
363
+ if (coordResponse.geoCoords.length !== spatial.length)
364
+ throw new IModelError(GeoServiceStatus.NoGeoLocation, "iModel is not GeoLocated");
365
+ return coordResponse.geoCoords.map((coord) => {
366
+ switch (coord.s) {
367
+ case GeoCoordStatus.NoGCSDefined:
368
+ throw new IModelError(GeoServiceStatus.NoGeoLocation, "iModel is not GeoLocated");
369
+ case GeoCoordStatus.Success:
370
+ const llh = Point3d.fromJSON(coord.p);
371
+ return Cartographic.fromDegrees({ longitude: llh.x, latitude: llh.y, height: llh.z });
372
+ default:
373
+ throw new IModelError(mapToGeoServiceStatus(coord.s), "Error converting spatial to cartographic");
374
+ }
375
+ });
376
+ }
377
+ /** Convert a [Cartographic]($common) to a point in this iModel's spatial coordinate system using a [[GeoConverter]].
344
378
  * @param cartographic A cartographic location
345
379
  * @param result If defined, use this for output
346
380
  * @returns A point in this iModel's spatial coordinates
347
381
  * @throws IModelError if [[isGeoLocated]] is false or cartographic location could not be converted.
382
+ * @see [[spatialFromCartographic]] to convert multiple points at once, or you don't know whether the iModel has a GCS.
348
383
  */
349
384
  async cartographicToSpatialFromGcs(cartographic, result) {
350
385
  if (!this.isGeoLocated && this.noGcsDefined)
@@ -362,17 +397,49 @@ class IModelConnection extends IModel {
362
397
  result.setFromJSON(coordResponse.iModelCoords[0].p);
363
398
  return result;
364
399
  }
365
- /** Convert a [[Cartographic]] to a point in this iModel's Spatial coordinates using the Geographic location services for this IModelConnection or [[IModel.ecefLocation]].
400
+ /** Convert a [Cartographic]($common) to a point in this iModel's Spatial coordinates using a [[GeoConverter]] or[[IModel.ecefLocation]($common).
366
401
  * @param cartographic A cartographic location
367
402
  * @param result If defined, use this for output
368
403
  * @returns A point in this iModel's spatial coordinates
369
404
  * @throws IModelError if [[isGeoLocated]] is false or cartographic location could not be converted.
370
- * @see [[cartographicToSpatialFromGcs]]
371
- * @see [[cartographicToSpatialFromEcef]]
405
+ * @see [[spatialFromCartographic]] to convert multiple points at once.
406
+ * @see [[cartographicToSpatialFromEcef]] to synchronously convert points using the iModel's ECEF transform.
372
407
  */
373
408
  async cartographicToSpatial(cartographic, result) {
374
409
  return (this.noGcsDefined ? this.cartographicToSpatialFromEcef(cartographic, result) : this.cartographicToSpatialFromGcs(cartographic, result));
375
410
  }
411
+ /** Convert [Cartographic]($common) coordinates into points in this iModel's spatial coordinate system using a [[GeoConverter]] or the iModel's [EcefLocation]($common).
412
+ * @param cartographic Coordinates to be converted to the iModel's spatial coordinate system.
413
+ * @returns The `cartographic` coordinates converted to spatial coordinates, of the same length and order as `cartographic`.
414
+ * @throws IModelError if [[isGeoLocated]] is false or any point could not be converted.
415
+ * @see [[cartographicFromSpatial]] to perform the inverse conversion.
416
+ */
417
+ async spatialFromCartographic(cartographic) {
418
+ if (this.noGcsDefined)
419
+ return cartographic.map((p) => this.cartographicToSpatialFromEcef(p));
420
+ if (!this.isGeoLocated)
421
+ throw new IModelError(GeoServiceStatus.NoGeoLocation, "iModel is not GeoLocated");
422
+ if (!this.isOpen)
423
+ throw new IModelError(GeoServiceStatus.NoGeoLocation, "iModel is not open");
424
+ if (cartographic.length === 0)
425
+ return [];
426
+ const geoConverter = this.geoServices.getConverter();
427
+ assert(undefined !== geoConverter);
428
+ const geoCoords = cartographic.map((p) => Point3d.create(p.longitudeDegrees, p.latitudeDegrees, p.height));
429
+ const coordResponse = await geoConverter.getIModelCoordinatesFromGeoCoordinates(geoCoords);
430
+ if (coordResponse.iModelCoords.length !== cartographic.length)
431
+ throw new IModelError(GeoServiceStatus.NoGeoLocation, "iModel is not GeoLocated");
432
+ return coordResponse.iModelCoords.map((coord) => {
433
+ switch (coord.s) {
434
+ case GeoCoordStatus.NoGCSDefined:
435
+ throw new IModelError(GeoServiceStatus.NoGeoLocation, "iModel is not GeoLocated");
436
+ case GeoCoordStatus.Success:
437
+ return Point3d.fromJSON(coord.p);
438
+ default:
439
+ throw new IModelError(mapToGeoServiceStatus(coord.s), "Error converting cartographic to spatial");
440
+ }
441
+ });
442
+ }
376
443
  /** Expand this iModel's [[displayedExtents]] to include the specified range.
377
444
  * This is done automatically when reality models are added to a spatial view. In some cases a [[TiledGraphicsProvider]] may wish to expand
378
445
  * the extents explicitly to include its geometry.