@itwin/core-frontend 4.1.0-dev.7 → 4.1.0-dev.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1224) hide show
  1. package/CHANGELOG.md +100 -1
  2. package/lib/cjs/AccuDraw.d.ts +3 -4
  3. package/lib/cjs/AccuDraw.d.ts.map +1 -1
  4. package/lib/cjs/AccuDraw.js +6 -7
  5. package/lib/cjs/AccuDraw.js.map +1 -1
  6. package/lib/cjs/AccuSnap.d.ts +7 -1
  7. package/lib/cjs/AccuSnap.d.ts.map +1 -1
  8. package/lib/cjs/AccuSnap.js +24 -6
  9. package/lib/cjs/AccuSnap.js.map +1 -1
  10. package/lib/cjs/BackgroundMapGeometry.d.ts +3 -2
  11. package/lib/cjs/BackgroundMapGeometry.d.ts.map +1 -1
  12. package/lib/cjs/BackgroundMapGeometry.js +47 -7
  13. package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
  14. package/lib/cjs/BriefcaseConnection.d.ts +3 -3
  15. package/lib/cjs/BriefcaseConnection.js +3 -3
  16. package/lib/cjs/BriefcaseConnection.js.map +1 -1
  17. package/lib/cjs/BriefcaseTxns.d.ts +2 -2
  18. package/lib/cjs/BriefcaseTxns.d.ts.map +1 -1
  19. package/lib/cjs/BriefcaseTxns.js +3 -3
  20. package/lib/cjs/BriefcaseTxns.js.map +1 -1
  21. package/lib/cjs/ChangeFlags.d.ts +25 -12
  22. package/lib/cjs/ChangeFlags.d.ts.map +1 -1
  23. package/lib/cjs/ChangeFlags.js +24 -11
  24. package/lib/cjs/ChangeFlags.js.map +1 -1
  25. package/lib/cjs/CheckpointConnection.js +1 -1
  26. package/lib/cjs/CheckpointConnection.js.map +1 -1
  27. package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
  28. package/lib/cjs/DisplayStyleState.js +2 -1
  29. package/lib/cjs/DisplayStyleState.js.map +1 -1
  30. package/lib/cjs/DrawingViewState.d.ts +2 -2
  31. package/lib/cjs/DrawingViewState.d.ts.map +1 -1
  32. package/lib/cjs/DrawingViewState.js +3 -3
  33. package/lib/cjs/DrawingViewState.js.map +1 -1
  34. package/lib/cjs/ElementLocateManager.d.ts +0 -1
  35. package/lib/cjs/ElementLocateManager.d.ts.map +1 -1
  36. package/lib/cjs/ElementLocateManager.js +11 -19
  37. package/lib/cjs/ElementLocateManager.js.map +1 -1
  38. package/lib/cjs/EnvironmentDecorations.js +1 -1
  39. package/lib/cjs/EnvironmentDecorations.js.map +1 -1
  40. package/lib/cjs/FrustumAnimator.js.map +1 -1
  41. package/lib/cjs/GeoServices.d.ts +37 -7
  42. package/lib/cjs/GeoServices.d.ts.map +1 -1
  43. package/lib/cjs/GeoServices.js +75 -25
  44. package/lib/cjs/GeoServices.js.map +1 -1
  45. package/lib/cjs/GraphicalEditingScope.d.ts +2 -2
  46. package/lib/cjs/GraphicalEditingScope.d.ts.map +1 -1
  47. package/lib/cjs/GraphicalEditingScope.js +1 -1
  48. package/lib/cjs/GraphicalEditingScope.js.map +1 -1
  49. package/lib/cjs/HitDetail.d.ts +100 -29
  50. package/lib/cjs/HitDetail.d.ts.map +1 -1
  51. package/lib/cjs/HitDetail.js +89 -36
  52. package/lib/cjs/HitDetail.js.map +1 -1
  53. package/lib/cjs/IModelApp.d.ts +18 -14
  54. package/lib/cjs/IModelApp.d.ts.map +1 -1
  55. package/lib/cjs/IModelApp.js +22 -18
  56. package/lib/cjs/IModelApp.js.map +1 -1
  57. package/lib/cjs/IModelConnection.d.ts +64 -19
  58. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  59. package/lib/cjs/IModelConnection.js +131 -20
  60. package/lib/cjs/IModelConnection.js.map +1 -1
  61. package/lib/cjs/IpcApp.d.ts +1 -1
  62. package/lib/cjs/IpcApp.d.ts.map +1 -1
  63. package/lib/cjs/IpcApp.js +4 -4
  64. package/lib/cjs/IpcApp.js.map +1 -1
  65. package/lib/cjs/LocalhostIpcApp.js +1 -1
  66. package/lib/cjs/LocalhostIpcApp.js.map +1 -1
  67. package/lib/cjs/Marker.d.ts +1 -1
  68. package/lib/cjs/Marker.d.ts.map +1 -1
  69. package/lib/cjs/Marker.js +3 -3
  70. package/lib/cjs/Marker.js.map +1 -1
  71. package/lib/cjs/NativeApp.d.ts.map +1 -1
  72. package/lib/cjs/NativeApp.js +4 -4
  73. package/lib/cjs/NativeApp.js.map +1 -1
  74. package/lib/cjs/NoRenderApp.d.ts +1 -1
  75. package/lib/cjs/NoRenderApp.d.ts.map +1 -1
  76. package/lib/cjs/NoRenderApp.js +1 -1
  77. package/lib/cjs/NoRenderApp.js.map +1 -1
  78. package/lib/cjs/RealityDataSource.js +1 -1
  79. package/lib/cjs/RealityDataSource.js.map +1 -1
  80. package/lib/cjs/RealityDataSourceContextShareImpl.js +1 -1
  81. package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -1
  82. package/lib/cjs/SheetViewState.d.ts +9 -7
  83. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  84. package/lib/cjs/SheetViewState.js +22 -7
  85. package/lib/cjs/SheetViewState.js.map +1 -1
  86. package/lib/cjs/SpatialViewState.d.ts +20 -5
  87. package/lib/cjs/SpatialViewState.d.ts.map +1 -1
  88. package/lib/cjs/SpatialViewState.js +13 -5
  89. package/lib/cjs/SpatialViewState.js.map +1 -1
  90. package/lib/cjs/Sprites.js +2 -2
  91. package/lib/cjs/Sprites.js.map +1 -1
  92. package/lib/cjs/TentativePoint.d.ts.map +1 -1
  93. package/lib/cjs/TentativePoint.js +10 -1
  94. package/lib/cjs/TentativePoint.js.map +1 -1
  95. package/lib/cjs/ViewContext.d.ts +19 -0
  96. package/lib/cjs/ViewContext.d.ts.map +1 -1
  97. package/lib/cjs/ViewContext.js +9 -0
  98. package/lib/cjs/ViewContext.js.map +1 -1
  99. package/lib/cjs/ViewCreator3d.d.ts +3 -6
  100. package/lib/cjs/ViewCreator3d.d.ts.map +1 -1
  101. package/lib/cjs/ViewCreator3d.js +12 -33
  102. package/lib/cjs/ViewCreator3d.js.map +1 -1
  103. package/lib/cjs/ViewGlobalLocation.d.ts.map +1 -1
  104. package/lib/cjs/ViewGlobalLocation.js +4 -3
  105. package/lib/cjs/ViewGlobalLocation.js.map +1 -1
  106. package/lib/cjs/ViewManager.d.ts +4 -2
  107. package/lib/cjs/ViewManager.d.ts.map +1 -1
  108. package/lib/cjs/ViewManager.js +4 -2
  109. package/lib/cjs/ViewManager.js.map +1 -1
  110. package/lib/cjs/ViewPose.d.ts +11 -11
  111. package/lib/cjs/ViewPose.d.ts.map +1 -1
  112. package/lib/cjs/ViewPose.js +17 -11
  113. package/lib/cjs/ViewPose.js.map +1 -1
  114. package/lib/cjs/ViewState.d.ts +44 -26
  115. package/lib/cjs/ViewState.d.ts.map +1 -1
  116. package/lib/cjs/ViewState.js +52 -25
  117. package/lib/cjs/ViewState.js.map +1 -1
  118. package/lib/cjs/ViewingSpace.js +1 -1
  119. package/lib/cjs/ViewingSpace.js.map +1 -1
  120. package/lib/cjs/Viewport.d.ts +59 -21
  121. package/lib/cjs/Viewport.d.ts.map +1 -1
  122. package/lib/cjs/Viewport.js +68 -25
  123. package/lib/cjs/Viewport.js.map +1 -1
  124. package/lib/cjs/ViewportSync.d.ts +2 -2
  125. package/lib/cjs/ViewportSync.d.ts.map +1 -1
  126. package/lib/cjs/ViewportSync.js +2 -2
  127. package/lib/cjs/ViewportSync.js.map +1 -1
  128. package/lib/cjs/common/FrontendLoggerCategory.d.ts.map +1 -0
  129. package/lib/cjs/common/FrontendLoggerCategory.js.map +1 -0
  130. package/lib/cjs/common/ImageUtil.d.ts.map +1 -0
  131. package/lib/cjs/{ImageUtil.js → common/ImageUtil.js} +2 -0
  132. package/lib/cjs/common/ImageUtil.js.map +1 -0
  133. package/lib/cjs/common/ViewRect.d.ts.map +1 -0
  134. package/lib/cjs/common/ViewRect.js.map +1 -0
  135. package/lib/cjs/common/WorkerProxy.d.ts +73 -0
  136. package/lib/cjs/common/WorkerProxy.d.ts.map +1 -0
  137. package/lib/cjs/common/WorkerProxy.js +54 -0
  138. package/lib/cjs/common/WorkerProxy.js.map +1 -0
  139. package/lib/{esm → cjs/common}/gltf/GltfModel.d.ts +1 -1
  140. package/lib/cjs/common/gltf/GltfModel.d.ts.map +1 -0
  141. package/lib/cjs/common/gltf/GltfModel.js.map +1 -0
  142. package/lib/cjs/common/gltf/GltfParser.d.ts.map +1 -0
  143. package/lib/cjs/common/gltf/GltfParser.js.map +1 -0
  144. package/lib/cjs/common/gltf/GltfSchema.d.ts.map +1 -0
  145. package/lib/cjs/common/gltf/GltfSchema.js.map +1 -0
  146. package/lib/cjs/common/imdl/CompactEdges.d.ts +27 -0
  147. package/lib/cjs/common/imdl/CompactEdges.d.ts.map +1 -0
  148. package/lib/cjs/common/imdl/CompactEdges.js +96 -0
  149. package/lib/cjs/common/imdl/CompactEdges.js.map +1 -0
  150. package/lib/cjs/{imdl → common/imdl}/ImdlModel.d.ts +5 -0
  151. package/lib/cjs/common/imdl/ImdlModel.d.ts.map +1 -0
  152. package/lib/cjs/common/imdl/ImdlModel.js +71 -0
  153. package/lib/cjs/common/imdl/ImdlModel.js.map +1 -0
  154. package/lib/{esm → cjs/common}/imdl/ImdlSchema.d.ts +68 -36
  155. package/lib/cjs/common/imdl/ImdlSchema.d.ts.map +1 -0
  156. package/lib/cjs/common/imdl/ImdlSchema.js +23 -0
  157. package/lib/cjs/common/imdl/ImdlSchema.js.map +1 -0
  158. package/lib/cjs/{imdl/ImdlParser.d.ts → common/imdl/ParseImdlDocument.d.ts} +13 -8
  159. package/lib/cjs/common/imdl/ParseImdlDocument.d.ts.map +1 -0
  160. package/lib/cjs/{imdl/ImdlParser.js → common/imdl/ParseImdlDocument.js} +52 -37
  161. package/lib/cjs/common/imdl/ParseImdlDocument.js.map +1 -0
  162. package/lib/cjs/common/render/AnimationNodeId.d.ts +11 -0
  163. package/lib/cjs/common/render/AnimationNodeId.d.ts.map +1 -0
  164. package/lib/cjs/common/render/AnimationNodeId.js +19 -0
  165. package/lib/cjs/common/render/AnimationNodeId.js.map +1 -0
  166. package/lib/{esm/render/RenderMaterial.d.ts → cjs/common/render/MaterialParams.d.ts} +7 -20
  167. package/lib/cjs/common/render/MaterialParams.d.ts.map +1 -0
  168. package/lib/cjs/{render/RenderMaterial.js → common/render/MaterialParams.js} +1 -1
  169. package/lib/cjs/common/render/MaterialParams.js.map +1 -0
  170. package/lib/cjs/common/render/TextureParams.d.ts +30 -0
  171. package/lib/cjs/common/render/TextureParams.d.ts.map +1 -0
  172. package/lib/cjs/{render/RenderTexture.js → common/render/TextureParams.js} +1 -1
  173. package/lib/cjs/common/render/TextureParams.js.map +1 -0
  174. package/lib/{esm → cjs/common}/render/primitives/AuxChannelTable.d.ts +8 -8
  175. package/lib/cjs/common/render/primitives/AuxChannelTable.d.ts.map +1 -0
  176. package/lib/cjs/{render → common/render}/primitives/AuxChannelTable.js +9 -9
  177. package/lib/cjs/common/render/primitives/AuxChannelTable.js.map +1 -0
  178. package/lib/cjs/common/render/primitives/DisplayParams.d.ts.map +1 -0
  179. package/lib/cjs/common/render/primitives/DisplayParams.js.map +1 -0
  180. package/lib/cjs/common/render/primitives/EdgeParams.d.ts +94 -0
  181. package/lib/cjs/common/render/primitives/EdgeParams.d.ts.map +1 -0
  182. package/lib/cjs/common/render/primitives/EdgeParams.js +46 -0
  183. package/lib/cjs/common/render/primitives/EdgeParams.js.map +1 -0
  184. package/lib/cjs/common/render/primitives/MeshParams.d.ts +20 -0
  185. package/lib/cjs/common/render/primitives/MeshParams.d.ts.map +1 -0
  186. package/lib/cjs/{imdl/ImdlModel.js → common/render/primitives/MeshParams.js} +2 -2
  187. package/lib/cjs/common/render/primitives/MeshParams.js.map +1 -0
  188. package/lib/cjs/common/render/primitives/MeshPrimitive.d.ts +29 -0
  189. package/lib/cjs/common/render/primitives/MeshPrimitive.d.ts.map +1 -0
  190. package/lib/cjs/common/render/primitives/MeshPrimitive.js +18 -0
  191. package/lib/cjs/common/render/primitives/MeshPrimitive.js.map +1 -0
  192. package/lib/cjs/common/render/primitives/PointStringParams.d.ts +14 -0
  193. package/lib/cjs/common/render/primitives/PointStringParams.d.ts.map +1 -0
  194. package/lib/cjs/common/render/primitives/PointStringParams.js +10 -0
  195. package/lib/cjs/common/render/primitives/PointStringParams.js.map +1 -0
  196. package/lib/cjs/common/render/primitives/PolylineParams.d.ts +29 -0
  197. package/lib/cjs/common/render/primitives/PolylineParams.d.ts.map +1 -0
  198. package/lib/cjs/common/render/primitives/PolylineParams.js +10 -0
  199. package/lib/cjs/common/render/primitives/PolylineParams.js.map +1 -0
  200. package/lib/{esm → cjs/common}/render/primitives/SurfaceParams.d.ts +1 -1
  201. package/lib/cjs/common/render/primitives/SurfaceParams.d.ts.map +1 -0
  202. package/lib/cjs/common/render/primitives/SurfaceParams.js.map +1 -0
  203. package/lib/cjs/common/render/primitives/VertexIndices.d.ts +26 -0
  204. package/lib/cjs/common/render/primitives/VertexIndices.d.ts.map +1 -0
  205. package/lib/cjs/common/render/primitives/VertexIndices.js +64 -0
  206. package/lib/cjs/common/render/primitives/VertexIndices.js.map +1 -0
  207. package/lib/cjs/common/render/primitives/VertexTable.d.ts +45 -0
  208. package/lib/cjs/common/render/primitives/VertexTable.d.ts.map +1 -0
  209. package/lib/cjs/common/render/primitives/VertexTable.js +38 -0
  210. package/lib/cjs/common/render/primitives/VertexTable.js.map +1 -0
  211. package/lib/{esm → cjs/common}/render/primitives/VertexTableSplitter.d.ts +20 -3
  212. package/lib/cjs/common/render/primitives/VertexTableSplitter.d.ts.map +1 -0
  213. package/lib/cjs/{render → common/render}/primitives/VertexTableSplitter.js +33 -23
  214. package/lib/cjs/common/render/primitives/VertexTableSplitter.js.map +1 -0
  215. package/lib/cjs/core-frontend.d.ts +45 -11
  216. package/lib/cjs/core-frontend.d.ts.map +1 -1
  217. package/lib/cjs/core-frontend.js +45 -11
  218. package/lib/cjs/core-frontend.js.map +1 -1
  219. package/lib/cjs/extension/ExtensionAdmin.js +1 -1
  220. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  221. package/lib/cjs/extension/providers/ExtensionLoadScript.js.map +1 -1
  222. package/lib/cjs/quantity-formatting/QuantityFormatter.js +1 -1
  223. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  224. package/lib/cjs/render/CanvasDecoration.d.ts +6 -2
  225. package/lib/cjs/render/CanvasDecoration.d.ts.map +1 -1
  226. package/lib/cjs/render/CanvasDecoration.js.map +1 -1
  227. package/lib/cjs/render/CreateRenderMaterialArgs.d.ts +24 -0
  228. package/lib/cjs/render/CreateRenderMaterialArgs.d.ts.map +1 -0
  229. package/lib/cjs/render/CreateRenderMaterialArgs.js +10 -0
  230. package/lib/cjs/render/CreateRenderMaterialArgs.js.map +1 -0
  231. package/lib/{esm/render/RenderTexture.d.ts → cjs/render/CreateTextureArgs.d.ts} +4 -28
  232. package/lib/cjs/render/CreateTextureArgs.d.ts.map +1 -0
  233. package/lib/cjs/render/CreateTextureArgs.js +10 -0
  234. package/lib/cjs/render/CreateTextureArgs.js.map +1 -0
  235. package/lib/cjs/render/GraphicBranch.d.ts +5 -7
  236. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  237. package/lib/cjs/render/GraphicBranch.js +1 -9
  238. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  239. package/lib/cjs/render/InstancedGraphicParams.d.ts +3 -4
  240. package/lib/cjs/render/InstancedGraphicParams.d.ts.map +1 -1
  241. package/lib/cjs/render/InstancedGraphicParams.js.map +1 -1
  242. package/lib/cjs/render/MockRender.d.ts +4 -4
  243. package/lib/cjs/render/MockRender.d.ts.map +1 -1
  244. package/lib/cjs/render/MockRender.js +1 -1
  245. package/lib/cjs/render/MockRender.js.map +1 -1
  246. package/lib/cjs/render/ParticleCollectionBuilder.d.ts.map +1 -1
  247. package/lib/cjs/render/ParticleCollectionBuilder.js +5 -5
  248. package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
  249. package/lib/cjs/render/Pixel.d.ts +57 -0
  250. package/lib/cjs/render/Pixel.d.ts.map +1 -1
  251. package/lib/cjs/render/Pixel.js +41 -0
  252. package/lib/cjs/render/Pixel.js.map +1 -1
  253. package/lib/cjs/render/RealityMeshParams.js +2 -2
  254. package/lib/cjs/render/RealityMeshParams.js.map +1 -1
  255. package/lib/cjs/render/RenderSystem.d.ts +24 -10
  256. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  257. package/lib/cjs/render/RenderSystem.js +7 -8
  258. package/lib/cjs/render/RenderSystem.js.map +1 -1
  259. package/lib/cjs/render/RenderTarget.d.ts +1 -1
  260. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  261. package/lib/cjs/render/RenderTarget.js.map +1 -1
  262. package/lib/cjs/render/UpsampleRealityMeshParams.js.map +1 -1
  263. package/lib/cjs/render/VisibleFeature.d.ts +1 -1
  264. package/lib/cjs/render/VisibleFeature.d.ts.map +1 -1
  265. package/lib/cjs/render/VisibleFeature.js.map +1 -1
  266. package/lib/cjs/render/primitives/EdgeParams.d.ts +2 -89
  267. package/lib/cjs/render/primitives/EdgeParams.d.ts.map +1 -1
  268. package/lib/cjs/render/primitives/EdgeParams.js +44 -80
  269. package/lib/cjs/render/primitives/EdgeParams.js.map +1 -1
  270. package/lib/cjs/render/primitives/PointCloudPrimitive.d.ts +1 -0
  271. package/lib/cjs/render/primitives/PointCloudPrimitive.d.ts.map +1 -1
  272. package/lib/cjs/render/primitives/PointCloudPrimitive.js.map +1 -1
  273. package/lib/cjs/render/primitives/PointStringParams.d.ts +3 -11
  274. package/lib/cjs/render/primitives/PointStringParams.d.ts.map +1 -1
  275. package/lib/cjs/render/primitives/PointStringParams.js +27 -30
  276. package/lib/cjs/render/primitives/PointStringParams.js.map +1 -1
  277. package/lib/cjs/render/primitives/Polyface.d.ts +1 -1
  278. package/lib/cjs/render/primitives/Polyface.d.ts.map +1 -1
  279. package/lib/cjs/render/primitives/Polyface.js.map +1 -1
  280. package/lib/cjs/render/primitives/PolylineParams.d.ts +8 -37
  281. package/lib/cjs/render/primitives/PolylineParams.d.ts.map +1 -1
  282. package/lib/cjs/render/primitives/PolylineParams.js +40 -48
  283. package/lib/cjs/render/primitives/PolylineParams.js.map +1 -1
  284. package/lib/cjs/render/primitives/Strokes.d.ts +1 -1
  285. package/lib/cjs/render/primitives/Strokes.d.ts.map +1 -1
  286. package/lib/cjs/render/primitives/Strokes.js.map +1 -1
  287. package/lib/cjs/render/primitives/VertexTableBuilder.d.ts +31 -0
  288. package/lib/cjs/render/primitives/VertexTableBuilder.d.ts.map +1 -0
  289. package/lib/cjs/render/primitives/{VertexTable.js → VertexTableBuilder.js} +62 -173
  290. package/lib/cjs/render/primitives/VertexTableBuilder.js.map +1 -0
  291. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts +1 -1
  292. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  293. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  294. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts +1 -1
  295. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  296. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js +1 -1
  297. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  298. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.d.ts +1 -1
  299. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.d.ts.map +1 -1
  300. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.js +1 -1
  301. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.js.map +1 -1
  302. package/lib/cjs/render/primitives/mesh/MeshBuilder.d.ts +2 -1
  303. package/lib/cjs/render/primitives/mesh/MeshBuilder.d.ts.map +1 -1
  304. package/lib/cjs/render/primitives/mesh/MeshBuilder.js +5 -2
  305. package/lib/cjs/render/primitives/mesh/MeshBuilder.js.map +1 -1
  306. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.d.ts +6 -5
  307. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.d.ts.map +1 -1
  308. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js +7 -4
  309. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  310. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts +58 -31
  311. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  312. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js +25 -29
  313. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  314. package/lib/cjs/render/webgl/BatchState.js +1 -1
  315. package/lib/cjs/render/webgl/BatchState.js.map +1 -1
  316. package/lib/cjs/render/webgl/BranchState.d.ts +3 -0
  317. package/lib/cjs/render/webgl/BranchState.d.ts.map +1 -1
  318. package/lib/cjs/render/webgl/BranchState.js +2 -0
  319. package/lib/cjs/render/webgl/BranchState.js.map +1 -1
  320. package/lib/cjs/render/webgl/CachedGeometry.d.ts +1 -1
  321. package/lib/cjs/render/webgl/CachedGeometry.d.ts.map +1 -1
  322. package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
  323. package/lib/cjs/render/webgl/ColorInfo.d.ts +1 -1
  324. package/lib/cjs/render/webgl/ColorInfo.d.ts.map +1 -1
  325. package/lib/cjs/render/webgl/ColorInfo.js.map +1 -1
  326. package/lib/cjs/render/webgl/EdgeGeometry.d.ts +2 -2
  327. package/lib/cjs/render/webgl/EdgeGeometry.d.ts.map +1 -1
  328. package/lib/cjs/render/webgl/EdgeGeometry.js.map +1 -1
  329. package/lib/cjs/render/webgl/FeatureOverrides.js +1 -1
  330. package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
  331. package/lib/cjs/render/webgl/Graphic.d.ts +7 -1
  332. package/lib/cjs/render/webgl/Graphic.d.ts.map +1 -1
  333. package/lib/cjs/render/webgl/Graphic.js +7 -2
  334. package/lib/cjs/render/webgl/Graphic.js.map +1 -1
  335. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts +1 -1
  336. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -1
  337. package/lib/cjs/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  338. package/lib/cjs/render/webgl/InstancedGeometry.js.map +1 -1
  339. package/lib/cjs/render/webgl/Material.d.ts +1 -1
  340. package/lib/cjs/render/webgl/Material.d.ts.map +1 -1
  341. package/lib/cjs/render/webgl/Material.js.map +1 -1
  342. package/lib/cjs/render/webgl/Mesh.d.ts +2 -2
  343. package/lib/cjs/render/webgl/Mesh.d.ts.map +1 -1
  344. package/lib/cjs/render/webgl/Mesh.js +1 -1
  345. package/lib/cjs/render/webgl/Mesh.js.map +1 -1
  346. package/lib/cjs/render/webgl/MeshData.d.ts +2 -2
  347. package/lib/cjs/render/webgl/MeshData.d.ts.map +1 -1
  348. package/lib/cjs/render/webgl/MeshData.js.map +1 -1
  349. package/lib/cjs/render/webgl/MeshGeometry.d.ts +1 -1
  350. package/lib/cjs/render/webgl/MeshGeometry.d.ts.map +1 -1
  351. package/lib/cjs/render/webgl/PointString.d.ts +1 -1
  352. package/lib/cjs/render/webgl/PointString.d.ts.map +1 -1
  353. package/lib/cjs/render/webgl/PointString.js.map +1 -1
  354. package/lib/cjs/render/webgl/Polyline.d.ts +1 -1
  355. package/lib/cjs/render/webgl/Polyline.d.ts.map +1 -1
  356. package/lib/cjs/render/webgl/Polyline.js.map +1 -1
  357. package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
  358. package/lib/cjs/render/webgl/RenderCommands.js +1 -1
  359. package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
  360. package/lib/cjs/render/webgl/SceneCompositor.d.ts +2 -1
  361. package/lib/cjs/render/webgl/SceneCompositor.d.ts.map +1 -1
  362. package/lib/cjs/render/webgl/SceneCompositor.js +5 -2
  363. package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
  364. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts +1 -1
  365. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts.map +1 -1
  366. package/lib/cjs/render/webgl/SurfaceGeometry.js +1 -1
  367. package/lib/cjs/render/webgl/SurfaceGeometry.js.map +1 -1
  368. package/lib/cjs/render/webgl/System.d.ts +7 -6
  369. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  370. package/lib/cjs/render/webgl/System.js +2 -2
  371. package/lib/cjs/render/webgl/System.js.map +1 -1
  372. package/lib/cjs/render/webgl/Target.d.ts +1 -1
  373. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  374. package/lib/cjs/render/webgl/Target.js +14 -12
  375. package/lib/cjs/render/webgl/Target.js.map +1 -1
  376. package/lib/cjs/render/webgl/Texture.d.ts +1 -1
  377. package/lib/cjs/render/webgl/Texture.d.ts.map +1 -1
  378. package/lib/cjs/render/webgl/Texture.js +1 -1
  379. package/lib/cjs/render/webgl/Texture.js.map +1 -1
  380. package/lib/cjs/render/webgl/UniformHandle.js +1 -1
  381. package/lib/cjs/render/webgl/UniformHandle.js.map +1 -1
  382. package/lib/cjs/render/webgl/VertexLUT.d.ts +2 -2
  383. package/lib/cjs/render/webgl/VertexLUT.d.ts.map +1 -1
  384. package/lib/cjs/render/webgl/VertexLUT.js.map +1 -1
  385. package/lib/cjs/render/webgl/glsl/Animation.js.map +1 -1
  386. package/lib/cjs/render/webgl/glsl/Atmosphere.js.map +1 -1
  387. package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  388. package/lib/cjs/render/webgl/glsl/RealityMesh.js +32 -19
  389. package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
  390. package/lib/cjs/tile/B3dmReader.d.ts +1 -1
  391. package/lib/cjs/tile/B3dmReader.d.ts.map +1 -1
  392. package/lib/cjs/tile/B3dmReader.js +1 -1
  393. package/lib/cjs/tile/B3dmReader.js.map +1 -1
  394. package/lib/cjs/tile/DynamicIModelTile.js +1 -1
  395. package/lib/cjs/tile/DynamicIModelTile.js.map +1 -1
  396. package/lib/cjs/tile/FetchCloudStorage.d.ts +15 -0
  397. package/lib/cjs/tile/FetchCloudStorage.d.ts.map +1 -0
  398. package/lib/cjs/tile/FetchCloudStorage.js +35 -0
  399. package/lib/cjs/tile/FetchCloudStorage.js.map +1 -0
  400. package/lib/cjs/tile/GltfReader.d.ts +13 -4
  401. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  402. package/lib/cjs/tile/GltfReader.js +80 -28
  403. package/lib/cjs/tile/GltfReader.js.map +1 -1
  404. package/lib/cjs/tile/IModelTile.d.ts.map +1 -1
  405. package/lib/cjs/tile/IModelTile.js +4 -9
  406. package/lib/cjs/tile/IModelTile.js.map +1 -1
  407. package/lib/cjs/tile/IModelTileTree.d.ts +4 -1
  408. package/lib/cjs/tile/IModelTileTree.d.ts.map +1 -1
  409. package/lib/cjs/tile/IModelTileTree.js +15 -0
  410. package/lib/cjs/tile/IModelTileTree.js.map +1 -1
  411. package/lib/cjs/tile/ImdlDecoder.d.ts +52 -0
  412. package/lib/cjs/tile/ImdlDecoder.d.ts.map +1 -0
  413. package/lib/cjs/tile/ImdlDecoder.js +35 -0
  414. package/lib/cjs/tile/ImdlDecoder.js.map +1 -0
  415. package/lib/{esm/imdl → cjs/tile}/ImdlGraphicsCreator.d.ts +1 -1
  416. package/lib/cjs/tile/ImdlGraphicsCreator.d.ts.map +1 -0
  417. package/lib/cjs/{imdl → tile}/ImdlGraphicsCreator.js +13 -13
  418. package/lib/cjs/tile/ImdlGraphicsCreator.js.map +1 -0
  419. package/lib/cjs/tile/ImdlParser.d.ts +26 -0
  420. package/lib/cjs/tile/ImdlParser.d.ts.map +1 -0
  421. package/lib/cjs/tile/ImdlParser.js +72 -0
  422. package/lib/cjs/tile/ImdlParser.js.map +1 -0
  423. package/lib/cjs/tile/ImdlReader.d.ts +6 -1
  424. package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
  425. package/lib/cjs/tile/ImdlReader.js +16 -11
  426. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  427. package/lib/cjs/tile/OPCFormatInterpreter.js +1 -1
  428. package/lib/cjs/tile/OPCFormatInterpreter.js.map +1 -1
  429. package/lib/cjs/tile/PntsReader.js +1 -1
  430. package/lib/cjs/tile/PntsReader.js.map +1 -1
  431. package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
  432. package/lib/cjs/tile/PrimaryTileTree.js +2 -1
  433. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  434. package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
  435. package/lib/cjs/tile/RealityTile.d.ts +8 -3
  436. package/lib/cjs/tile/RealityTile.d.ts.map +1 -1
  437. package/lib/cjs/tile/RealityTile.js +4 -1
  438. package/lib/cjs/tile/RealityTile.js.map +1 -1
  439. package/lib/cjs/tile/RealityTileLoader.d.ts.map +1 -1
  440. package/lib/cjs/tile/RealityTileLoader.js +10 -5
  441. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  442. package/lib/cjs/tile/RealityTileTree.js +1 -1
  443. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  444. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js +1 -1
  445. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  446. package/lib/cjs/tile/TileAdmin.d.ts +14 -11
  447. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  448. package/lib/cjs/tile/TileAdmin.js +9 -52
  449. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  450. package/lib/cjs/tile/TileContent.d.ts +6 -0
  451. package/lib/cjs/tile/TileContent.d.ts.map +1 -1
  452. package/lib/cjs/tile/TileContent.js.map +1 -1
  453. package/lib/cjs/tile/TileStorage.js.map +1 -1
  454. package/lib/cjs/tile/internal.d.ts +9 -0
  455. package/lib/cjs/tile/internal.d.ts.map +1 -1
  456. package/lib/cjs/tile/internal.js +9 -0
  457. package/lib/cjs/tile/internal.js.map +1 -1
  458. package/lib/cjs/tile/map/ArcGisUtilities.d.ts +8 -1
  459. package/lib/cjs/tile/map/ArcGisUtilities.d.ts.map +1 -1
  460. package/lib/cjs/tile/map/ArcGisUtilities.js +21 -0
  461. package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
  462. package/lib/cjs/tile/map/EllipsoidTerrainProvider.d.ts +6 -4
  463. package/lib/cjs/tile/map/EllipsoidTerrainProvider.d.ts.map +1 -1
  464. package/lib/cjs/tile/map/EllipsoidTerrainProvider.js +6 -4
  465. package/lib/cjs/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  466. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts +2 -0
  467. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts.map +1 -1
  468. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js +4 -2
  469. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  470. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +55 -2
  471. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  472. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +96 -23
  473. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  474. package/lib/cjs/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.d.ts +11 -0
  475. package/lib/cjs/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.d.ts.map +1 -0
  476. package/lib/cjs/{imdl/ImdlSchema.js → tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.js} +1 -1
  477. package/lib/cjs/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.js.map +1 -0
  478. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts +15 -0
  479. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts.map +1 -0
  480. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js +59 -0
  481. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -0
  482. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryRenderer.d.ts +47 -0
  483. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryRenderer.d.ts.map +1 -0
  484. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryRenderer.js +126 -0
  485. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryRenderer.js.map +1 -0
  486. package/lib/cjs/tile/map/ImageryProviders/ArcGisGraphicsRenderer.d.ts +27 -0
  487. package/lib/cjs/tile/map/ImageryProviders/ArcGisGraphicsRenderer.d.ts.map +1 -0
  488. package/lib/cjs/tile/map/ImageryProviders/ArcGisGraphicsRenderer.js +135 -0
  489. package/lib/cjs/tile/map/ImageryProviders/ArcGisGraphicsRenderer.js.map +1 -0
  490. package/lib/cjs/tile/map/ImageryProviders/WebMercator.d.ts +6 -0
  491. package/lib/cjs/tile/map/ImageryProviders/WebMercator.d.ts.map +1 -0
  492. package/lib/cjs/tile/map/ImageryProviders/WebMercator.js +22 -0
  493. package/lib/cjs/tile/map/ImageryProviders/WebMercator.js.map +1 -0
  494. package/lib/cjs/tile/map/ImageryTileTree.d.ts +2 -1
  495. package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
  496. package/lib/cjs/tile/map/ImageryTileTree.js +16 -9
  497. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  498. package/lib/cjs/tile/map/MapFeatureInfo.d.ts +67 -7
  499. package/lib/cjs/tile/map/MapFeatureInfo.d.ts.map +1 -1
  500. package/lib/cjs/tile/map/MapFeatureInfo.js +16 -2
  501. package/lib/cjs/tile/map/MapFeatureInfo.js.map +1 -1
  502. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  503. package/lib/cjs/tile/map/MapLayerImageryFormats.js +3 -0
  504. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  505. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +4 -1
  506. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  507. package/lib/cjs/tile/map/MapLayerImageryProvider.js +3 -1
  508. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  509. package/lib/cjs/tile/map/MapLayerSources.d.ts +4 -1
  510. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  511. package/lib/cjs/tile/map/MapLayerSources.js +3 -0
  512. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  513. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  514. package/lib/cjs/tile/map/MapTile.js +9 -1
  515. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  516. package/lib/cjs/tile/map/MapTileLoader.d.ts.map +1 -1
  517. package/lib/cjs/tile/map/MapTileLoader.js +1 -15
  518. package/lib/cjs/tile/map/MapTileLoader.js.map +1 -1
  519. package/lib/cjs/tile/map/MapTileTree.d.ts +12 -3
  520. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  521. package/lib/cjs/tile/map/MapTileTree.js +33 -20
  522. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  523. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts +2 -3
  524. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  525. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +3 -4
  526. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  527. package/lib/cjs/tile/map/MapTilingScheme.d.ts +4 -4
  528. package/lib/cjs/tile/map/MapTilingScheme.d.ts.map +1 -1
  529. package/lib/cjs/tile/map/MapTilingScheme.js +4 -4
  530. package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
  531. package/lib/cjs/tile/map/QuadId.js.map +1 -1
  532. package/lib/cjs/tools/ElementSetTool.js +1 -1
  533. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  534. package/lib/cjs/tools/SelectTool.js +1 -1
  535. package/lib/cjs/tools/SelectTool.js.map +1 -1
  536. package/lib/cjs/tools/ToolAdmin.d.ts +8 -6
  537. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  538. package/lib/cjs/tools/ToolAdmin.js +11 -8
  539. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  540. package/lib/cjs/tools/ToolAssistance.d.ts +18 -0
  541. package/lib/cjs/tools/ToolAssistance.d.ts.map +1 -1
  542. package/lib/cjs/tools/ToolAssistance.js +8 -0
  543. package/lib/cjs/tools/ToolAssistance.js.map +1 -1
  544. package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
  545. package/lib/cjs/tools/ViewTool.js +3 -2
  546. package/lib/cjs/tools/ViewTool.js.map +1 -1
  547. package/lib/cjs/workers/ImdlParser/Worker.d.ts +20 -0
  548. package/lib/cjs/workers/ImdlParser/Worker.d.ts.map +1 -0
  549. package/lib/cjs/workers/ImdlParser/Worker.js +32 -0
  550. package/lib/cjs/workers/ImdlParser/Worker.js.map +1 -0
  551. package/lib/cjs/workers/ImdlParser/webpack.config.js +40 -0
  552. package/lib/cjs/workers/RegisterWorker.d.ts +9 -0
  553. package/lib/cjs/workers/RegisterWorker.d.ts.map +1 -0
  554. package/lib/cjs/workers/RegisterWorker.js +36 -0
  555. package/lib/cjs/workers/RegisterWorker.js.map +1 -0
  556. package/lib/esm/AccuDraw.d.ts +3 -4
  557. package/lib/esm/AccuDraw.d.ts.map +1 -1
  558. package/lib/esm/AccuDraw.js +6 -7
  559. package/lib/esm/AccuDraw.js.map +1 -1
  560. package/lib/esm/AccuSnap.d.ts +7 -1
  561. package/lib/esm/AccuSnap.d.ts.map +1 -1
  562. package/lib/esm/AccuSnap.js +24 -6
  563. package/lib/esm/AccuSnap.js.map +1 -1
  564. package/lib/esm/BackgroundMapGeometry.d.ts +3 -2
  565. package/lib/esm/BackgroundMapGeometry.d.ts.map +1 -1
  566. package/lib/esm/BackgroundMapGeometry.js +47 -7
  567. package/lib/esm/BackgroundMapGeometry.js.map +1 -1
  568. package/lib/esm/BriefcaseConnection.d.ts +3 -3
  569. package/lib/esm/BriefcaseConnection.js +3 -3
  570. package/lib/esm/BriefcaseConnection.js.map +1 -1
  571. package/lib/esm/BriefcaseTxns.d.ts +2 -2
  572. package/lib/esm/BriefcaseTxns.d.ts.map +1 -1
  573. package/lib/esm/BriefcaseTxns.js +3 -3
  574. package/lib/esm/BriefcaseTxns.js.map +1 -1
  575. package/lib/esm/ChangeFlags.d.ts +25 -12
  576. package/lib/esm/ChangeFlags.d.ts.map +1 -1
  577. package/lib/esm/ChangeFlags.js +24 -11
  578. package/lib/esm/ChangeFlags.js.map +1 -1
  579. package/lib/esm/CheckpointConnection.js +1 -1
  580. package/lib/esm/CheckpointConnection.js.map +1 -1
  581. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  582. package/lib/esm/DisplayStyleState.js +2 -1
  583. package/lib/esm/DisplayStyleState.js.map +1 -1
  584. package/lib/esm/DrawingViewState.d.ts +2 -2
  585. package/lib/esm/DrawingViewState.d.ts.map +1 -1
  586. package/lib/esm/DrawingViewState.js +3 -3
  587. package/lib/esm/DrawingViewState.js.map +1 -1
  588. package/lib/esm/ElementLocateManager.d.ts +0 -1
  589. package/lib/esm/ElementLocateManager.d.ts.map +1 -1
  590. package/lib/esm/ElementLocateManager.js +12 -20
  591. package/lib/esm/ElementLocateManager.js.map +1 -1
  592. package/lib/esm/EnvironmentDecorations.js +1 -1
  593. package/lib/esm/EnvironmentDecorations.js.map +1 -1
  594. package/lib/esm/FrustumAnimator.js.map +1 -1
  595. package/lib/esm/GeoServices.d.ts +37 -7
  596. package/lib/esm/GeoServices.d.ts.map +1 -1
  597. package/lib/esm/GeoServices.js +75 -25
  598. package/lib/esm/GeoServices.js.map +1 -1
  599. package/lib/esm/GraphicalEditingScope.d.ts +2 -2
  600. package/lib/esm/GraphicalEditingScope.d.ts.map +1 -1
  601. package/lib/esm/GraphicalEditingScope.js +2 -2
  602. package/lib/esm/GraphicalEditingScope.js.map +1 -1
  603. package/lib/esm/HitDetail.d.ts +100 -29
  604. package/lib/esm/HitDetail.d.ts.map +1 -1
  605. package/lib/esm/HitDetail.js +90 -37
  606. package/lib/esm/HitDetail.js.map +1 -1
  607. package/lib/esm/IModelApp.d.ts +18 -14
  608. package/lib/esm/IModelApp.d.ts.map +1 -1
  609. package/lib/esm/IModelApp.js +22 -18
  610. package/lib/esm/IModelApp.js.map +1 -1
  611. package/lib/esm/IModelConnection.d.ts +64 -19
  612. package/lib/esm/IModelConnection.d.ts.map +1 -1
  613. package/lib/esm/IModelConnection.js +132 -21
  614. package/lib/esm/IModelConnection.js.map +1 -1
  615. package/lib/esm/IpcApp.d.ts +1 -1
  616. package/lib/esm/IpcApp.d.ts.map +1 -1
  617. package/lib/esm/IpcApp.js +5 -5
  618. package/lib/esm/IpcApp.js.map +1 -1
  619. package/lib/esm/LocalhostIpcApp.js +2 -2
  620. package/lib/esm/LocalhostIpcApp.js.map +1 -1
  621. package/lib/esm/Marker.d.ts +1 -1
  622. package/lib/esm/Marker.d.ts.map +1 -1
  623. package/lib/esm/Marker.js +3 -3
  624. package/lib/esm/Marker.js.map +1 -1
  625. package/lib/esm/NativeApp.d.ts.map +1 -1
  626. package/lib/esm/NativeApp.js +5 -5
  627. package/lib/esm/NativeApp.js.map +1 -1
  628. package/lib/esm/NoRenderApp.d.ts +1 -1
  629. package/lib/esm/NoRenderApp.d.ts.map +1 -1
  630. package/lib/esm/NoRenderApp.js +1 -1
  631. package/lib/esm/NoRenderApp.js.map +1 -1
  632. package/lib/esm/RealityDataSource.js +1 -1
  633. package/lib/esm/RealityDataSource.js.map +1 -1
  634. package/lib/esm/RealityDataSourceContextShareImpl.js +1 -1
  635. package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -1
  636. package/lib/esm/SheetViewState.d.ts +9 -7
  637. package/lib/esm/SheetViewState.d.ts.map +1 -1
  638. package/lib/esm/SheetViewState.js +22 -7
  639. package/lib/esm/SheetViewState.js.map +1 -1
  640. package/lib/esm/SpatialViewState.d.ts +20 -5
  641. package/lib/esm/SpatialViewState.d.ts.map +1 -1
  642. package/lib/esm/SpatialViewState.js +13 -5
  643. package/lib/esm/SpatialViewState.js.map +1 -1
  644. package/lib/esm/Sprites.js +2 -2
  645. package/lib/esm/Sprites.js.map +1 -1
  646. package/lib/esm/TentativePoint.d.ts.map +1 -1
  647. package/lib/esm/TentativePoint.js +10 -1
  648. package/lib/esm/TentativePoint.js.map +1 -1
  649. package/lib/esm/ViewContext.d.ts +19 -0
  650. package/lib/esm/ViewContext.d.ts.map +1 -1
  651. package/lib/esm/ViewContext.js +9 -0
  652. package/lib/esm/ViewContext.js.map +1 -1
  653. package/lib/esm/ViewCreator3d.d.ts +3 -6
  654. package/lib/esm/ViewCreator3d.d.ts.map +1 -1
  655. package/lib/esm/ViewCreator3d.js +14 -35
  656. package/lib/esm/ViewCreator3d.js.map +1 -1
  657. package/lib/esm/ViewGlobalLocation.d.ts.map +1 -1
  658. package/lib/esm/ViewGlobalLocation.js +4 -3
  659. package/lib/esm/ViewGlobalLocation.js.map +1 -1
  660. package/lib/esm/ViewManager.d.ts +4 -2
  661. package/lib/esm/ViewManager.d.ts.map +1 -1
  662. package/lib/esm/ViewManager.js +4 -2
  663. package/lib/esm/ViewManager.js.map +1 -1
  664. package/lib/esm/ViewPose.d.ts +11 -11
  665. package/lib/esm/ViewPose.d.ts.map +1 -1
  666. package/lib/esm/ViewPose.js +17 -11
  667. package/lib/esm/ViewPose.js.map +1 -1
  668. package/lib/esm/ViewState.d.ts +44 -26
  669. package/lib/esm/ViewState.d.ts.map +1 -1
  670. package/lib/esm/ViewState.js +52 -25
  671. package/lib/esm/ViewState.js.map +1 -1
  672. package/lib/esm/ViewingSpace.js +1 -1
  673. package/lib/esm/ViewingSpace.js.map +1 -1
  674. package/lib/esm/Viewport.d.ts +59 -21
  675. package/lib/esm/Viewport.d.ts.map +1 -1
  676. package/lib/esm/Viewport.js +68 -25
  677. package/lib/esm/Viewport.js.map +1 -1
  678. package/lib/esm/ViewportSync.d.ts +2 -2
  679. package/lib/esm/ViewportSync.d.ts.map +1 -1
  680. package/lib/esm/ViewportSync.js +2 -2
  681. package/lib/esm/ViewportSync.js.map +1 -1
  682. package/lib/esm/common/FrontendLoggerCategory.d.ts.map +1 -0
  683. package/lib/esm/common/FrontendLoggerCategory.js.map +1 -0
  684. package/lib/esm/common/ImageUtil.d.ts.map +1 -0
  685. package/lib/esm/{ImageUtil.js → common/ImageUtil.js} +2 -0
  686. package/lib/esm/common/ImageUtil.js.map +1 -0
  687. package/lib/esm/common/ViewRect.d.ts.map +1 -0
  688. package/lib/esm/common/ViewRect.js.map +1 -0
  689. package/lib/esm/common/WorkerProxy.d.ts +73 -0
  690. package/lib/esm/common/WorkerProxy.d.ts.map +1 -0
  691. package/lib/esm/common/WorkerProxy.js +50 -0
  692. package/lib/esm/common/WorkerProxy.js.map +1 -0
  693. package/lib/{cjs → esm/common}/gltf/GltfModel.d.ts +1 -1
  694. package/lib/esm/common/gltf/GltfModel.d.ts.map +1 -0
  695. package/lib/esm/common/gltf/GltfModel.js.map +1 -0
  696. package/lib/esm/common/gltf/GltfParser.d.ts.map +1 -0
  697. package/lib/esm/common/gltf/GltfParser.js.map +1 -0
  698. package/lib/esm/common/gltf/GltfSchema.d.ts.map +1 -0
  699. package/lib/esm/common/gltf/GltfSchema.js.map +1 -0
  700. package/lib/esm/common/imdl/CompactEdges.d.ts +27 -0
  701. package/lib/esm/common/imdl/CompactEdges.d.ts.map +1 -0
  702. package/lib/esm/common/imdl/CompactEdges.js +92 -0
  703. package/lib/esm/common/imdl/CompactEdges.js.map +1 -0
  704. package/lib/esm/{imdl → common/imdl}/ImdlModel.d.ts +5 -0
  705. package/lib/esm/common/imdl/ImdlModel.d.ts.map +1 -0
  706. package/lib/esm/common/imdl/ImdlModel.js +67 -0
  707. package/lib/esm/common/imdl/ImdlModel.js.map +1 -0
  708. package/lib/{cjs → esm/common}/imdl/ImdlSchema.d.ts +68 -36
  709. package/lib/esm/common/imdl/ImdlSchema.d.ts.map +1 -0
  710. package/lib/esm/common/imdl/ImdlSchema.js +20 -0
  711. package/lib/esm/common/imdl/ImdlSchema.js.map +1 -0
  712. package/lib/esm/{imdl/ImdlParser.d.ts → common/imdl/ParseImdlDocument.d.ts} +13 -8
  713. package/lib/esm/common/imdl/ParseImdlDocument.d.ts.map +1 -0
  714. package/lib/esm/{imdl/ImdlParser.js → common/imdl/ParseImdlDocument.js} +40 -25
  715. package/lib/esm/common/imdl/ParseImdlDocument.js.map +1 -0
  716. package/lib/esm/common/render/AnimationNodeId.d.ts +11 -0
  717. package/lib/esm/common/render/AnimationNodeId.d.ts.map +1 -0
  718. package/lib/esm/common/render/AnimationNodeId.js +16 -0
  719. package/lib/esm/common/render/AnimationNodeId.js.map +1 -0
  720. package/lib/{cjs/render/RenderMaterial.d.ts → esm/common/render/MaterialParams.d.ts} +7 -20
  721. package/lib/esm/common/render/MaterialParams.d.ts.map +1 -0
  722. package/lib/esm/{render/RenderMaterial.js → common/render/MaterialParams.js} +1 -1
  723. package/lib/esm/common/render/MaterialParams.js.map +1 -0
  724. package/lib/esm/common/render/TextureParams.d.ts +30 -0
  725. package/lib/esm/common/render/TextureParams.d.ts.map +1 -0
  726. package/lib/esm/{render/RenderTexture.js → common/render/TextureParams.js} +1 -1
  727. package/lib/esm/common/render/TextureParams.js.map +1 -0
  728. package/lib/{cjs → esm/common}/render/primitives/AuxChannelTable.d.ts +8 -8
  729. package/lib/esm/common/render/primitives/AuxChannelTable.d.ts.map +1 -0
  730. package/lib/esm/{render → common/render}/primitives/AuxChannelTable.js +9 -9
  731. package/lib/esm/common/render/primitives/AuxChannelTable.js.map +1 -0
  732. package/lib/esm/common/render/primitives/DisplayParams.d.ts.map +1 -0
  733. package/lib/esm/common/render/primitives/DisplayParams.js.map +1 -0
  734. package/lib/esm/common/render/primitives/EdgeParams.d.ts +94 -0
  735. package/lib/esm/common/render/primitives/EdgeParams.d.ts.map +1 -0
  736. package/lib/esm/common/render/primitives/EdgeParams.js +42 -0
  737. package/lib/esm/common/render/primitives/EdgeParams.js.map +1 -0
  738. package/lib/esm/common/render/primitives/MeshParams.d.ts +20 -0
  739. package/lib/esm/common/render/primitives/MeshParams.d.ts.map +1 -0
  740. package/lib/esm/{imdl/ImdlSchema.js → common/render/primitives/MeshParams.js} +2 -2
  741. package/lib/esm/common/render/primitives/MeshParams.js.map +1 -0
  742. package/lib/esm/common/render/primitives/MeshPrimitive.d.ts +29 -0
  743. package/lib/esm/common/render/primitives/MeshPrimitive.d.ts.map +1 -0
  744. package/lib/esm/common/render/primitives/MeshPrimitive.js +15 -0
  745. package/lib/esm/common/render/primitives/MeshPrimitive.js.map +1 -0
  746. package/lib/esm/common/render/primitives/PointStringParams.d.ts +14 -0
  747. package/lib/esm/common/render/primitives/PointStringParams.d.ts.map +1 -0
  748. package/lib/esm/common/render/primitives/PointStringParams.js +9 -0
  749. package/lib/esm/common/render/primitives/PointStringParams.js.map +1 -0
  750. package/lib/esm/common/render/primitives/PolylineParams.d.ts +29 -0
  751. package/lib/esm/common/render/primitives/PolylineParams.d.ts.map +1 -0
  752. package/lib/esm/common/render/primitives/PolylineParams.js +9 -0
  753. package/lib/esm/common/render/primitives/PolylineParams.js.map +1 -0
  754. package/lib/{cjs → esm/common}/render/primitives/SurfaceParams.d.ts +1 -1
  755. package/lib/esm/common/render/primitives/SurfaceParams.d.ts.map +1 -0
  756. package/lib/esm/common/render/primitives/SurfaceParams.js.map +1 -0
  757. package/lib/esm/common/render/primitives/VertexIndices.d.ts +26 -0
  758. package/lib/esm/common/render/primitives/VertexIndices.d.ts.map +1 -0
  759. package/lib/esm/common/render/primitives/VertexIndices.js +60 -0
  760. package/lib/esm/common/render/primitives/VertexIndices.js.map +1 -0
  761. package/lib/esm/common/render/primitives/VertexTable.d.ts +45 -0
  762. package/lib/esm/common/render/primitives/VertexTable.d.ts.map +1 -0
  763. package/lib/esm/common/render/primitives/VertexTable.js +34 -0
  764. package/lib/esm/common/render/primitives/VertexTable.js.map +1 -0
  765. package/lib/{cjs → esm/common}/render/primitives/VertexTableSplitter.d.ts +20 -3
  766. package/lib/esm/common/render/primitives/VertexTableSplitter.d.ts.map +1 -0
  767. package/lib/esm/{render → common/render}/primitives/VertexTableSplitter.js +31 -21
  768. package/lib/esm/common/render/primitives/VertexTableSplitter.js.map +1 -0
  769. package/lib/esm/core-frontend.d.ts +45 -11
  770. package/lib/esm/core-frontend.d.ts.map +1 -1
  771. package/lib/esm/core-frontend.js +45 -11
  772. package/lib/esm/core-frontend.js.map +1 -1
  773. package/lib/esm/extension/ExtensionAdmin.js +1 -1
  774. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  775. package/lib/esm/extension/providers/ExtensionLoadScript.js.map +1 -1
  776. package/lib/esm/quantity-formatting/QuantityFormatter.js +1 -1
  777. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  778. package/lib/esm/render/CanvasDecoration.d.ts +6 -2
  779. package/lib/esm/render/CanvasDecoration.d.ts.map +1 -1
  780. package/lib/esm/render/CanvasDecoration.js.map +1 -1
  781. package/lib/esm/render/CreateRenderMaterialArgs.d.ts +24 -0
  782. package/lib/esm/render/CreateRenderMaterialArgs.d.ts.map +1 -0
  783. package/lib/esm/render/CreateRenderMaterialArgs.js +9 -0
  784. package/lib/esm/render/CreateRenderMaterialArgs.js.map +1 -0
  785. package/lib/{cjs/render/RenderTexture.d.ts → esm/render/CreateTextureArgs.d.ts} +4 -28
  786. package/lib/esm/render/CreateTextureArgs.d.ts.map +1 -0
  787. package/lib/esm/render/CreateTextureArgs.js +9 -0
  788. package/lib/esm/render/CreateTextureArgs.js.map +1 -0
  789. package/lib/esm/render/GraphicBranch.d.ts +5 -7
  790. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  791. package/lib/esm/render/GraphicBranch.js +0 -8
  792. package/lib/esm/render/GraphicBranch.js.map +1 -1
  793. package/lib/esm/render/InstancedGraphicParams.d.ts +3 -4
  794. package/lib/esm/render/InstancedGraphicParams.d.ts.map +1 -1
  795. package/lib/esm/render/InstancedGraphicParams.js.map +1 -1
  796. package/lib/esm/render/MockRender.d.ts +4 -4
  797. package/lib/esm/render/MockRender.d.ts.map +1 -1
  798. package/lib/esm/render/MockRender.js +1 -1
  799. package/lib/esm/render/MockRender.js.map +1 -1
  800. package/lib/esm/render/ParticleCollectionBuilder.d.ts.map +1 -1
  801. package/lib/esm/render/ParticleCollectionBuilder.js +5 -5
  802. package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
  803. package/lib/esm/render/Pixel.d.ts +57 -0
  804. package/lib/esm/render/Pixel.d.ts.map +1 -1
  805. package/lib/esm/render/Pixel.js +41 -0
  806. package/lib/esm/render/Pixel.js.map +1 -1
  807. package/lib/esm/render/RealityMeshParams.js +2 -2
  808. package/lib/esm/render/RealityMeshParams.js.map +1 -1
  809. package/lib/esm/render/RenderSystem.d.ts +24 -10
  810. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  811. package/lib/esm/render/RenderSystem.js +8 -9
  812. package/lib/esm/render/RenderSystem.js.map +1 -1
  813. package/lib/esm/render/RenderTarget.d.ts +1 -1
  814. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  815. package/lib/esm/render/RenderTarget.js.map +1 -1
  816. package/lib/esm/render/UpsampleRealityMeshParams.js.map +1 -1
  817. package/lib/esm/render/VisibleFeature.d.ts +1 -1
  818. package/lib/esm/render/VisibleFeature.d.ts.map +1 -1
  819. package/lib/esm/render/VisibleFeature.js.map +1 -1
  820. package/lib/esm/render/primitives/EdgeParams.d.ts +2 -89
  821. package/lib/esm/render/primitives/EdgeParams.d.ts.map +1 -1
  822. package/lib/esm/render/primitives/EdgeParams.js +38 -74
  823. package/lib/esm/render/primitives/EdgeParams.js.map +1 -1
  824. package/lib/esm/render/primitives/PointCloudPrimitive.d.ts +1 -0
  825. package/lib/esm/render/primitives/PointCloudPrimitive.d.ts.map +1 -1
  826. package/lib/esm/render/primitives/PointCloudPrimitive.js.map +1 -1
  827. package/lib/esm/render/primitives/PointStringParams.d.ts +3 -11
  828. package/lib/esm/render/primitives/PointStringParams.d.ts.map +1 -1
  829. package/lib/esm/render/primitives/PointStringParams.js +25 -28
  830. package/lib/esm/render/primitives/PointStringParams.js.map +1 -1
  831. package/lib/esm/render/primitives/Polyface.d.ts +1 -1
  832. package/lib/esm/render/primitives/Polyface.d.ts.map +1 -1
  833. package/lib/esm/render/primitives/Polyface.js.map +1 -1
  834. package/lib/esm/render/primitives/PolylineParams.d.ts +8 -37
  835. package/lib/esm/render/primitives/PolylineParams.d.ts.map +1 -1
  836. package/lib/esm/render/primitives/PolylineParams.js +34 -43
  837. package/lib/esm/render/primitives/PolylineParams.js.map +1 -1
  838. package/lib/esm/render/primitives/Strokes.d.ts +1 -1
  839. package/lib/esm/render/primitives/Strokes.d.ts.map +1 -1
  840. package/lib/esm/render/primitives/Strokes.js.map +1 -1
  841. package/lib/esm/render/primitives/VertexTableBuilder.d.ts +31 -0
  842. package/lib/esm/render/primitives/VertexTableBuilder.d.ts.map +1 -0
  843. package/lib/esm/render/primitives/{VertexTable.js → VertexTableBuilder.js} +62 -170
  844. package/lib/esm/render/primitives/VertexTableBuilder.js.map +1 -0
  845. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts +1 -1
  846. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  847. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  848. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts +1 -1
  849. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  850. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js +1 -1
  851. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  852. package/lib/esm/render/primitives/geometry/GeometryPrimitives.d.ts +1 -1
  853. package/lib/esm/render/primitives/geometry/GeometryPrimitives.d.ts.map +1 -1
  854. package/lib/esm/render/primitives/geometry/GeometryPrimitives.js +1 -1
  855. package/lib/esm/render/primitives/geometry/GeometryPrimitives.js.map +1 -1
  856. package/lib/esm/render/primitives/mesh/MeshBuilder.d.ts +2 -1
  857. package/lib/esm/render/primitives/mesh/MeshBuilder.d.ts.map +1 -1
  858. package/lib/esm/render/primitives/mesh/MeshBuilder.js +5 -2
  859. package/lib/esm/render/primitives/mesh/MeshBuilder.js.map +1 -1
  860. package/lib/esm/render/primitives/mesh/MeshBuilderMap.d.ts +6 -5
  861. package/lib/esm/render/primitives/mesh/MeshBuilderMap.d.ts.map +1 -1
  862. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js +8 -5
  863. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  864. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts +58 -31
  865. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  866. package/lib/esm/render/primitives/mesh/MeshPrimitives.js +26 -30
  867. package/lib/esm/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  868. package/lib/esm/render/webgl/BatchState.js +1 -1
  869. package/lib/esm/render/webgl/BatchState.js.map +1 -1
  870. package/lib/esm/render/webgl/BranchState.d.ts +3 -0
  871. package/lib/esm/render/webgl/BranchState.d.ts.map +1 -1
  872. package/lib/esm/render/webgl/BranchState.js +2 -0
  873. package/lib/esm/render/webgl/BranchState.js.map +1 -1
  874. package/lib/esm/render/webgl/CachedGeometry.d.ts +1 -1
  875. package/lib/esm/render/webgl/CachedGeometry.d.ts.map +1 -1
  876. package/lib/esm/render/webgl/CachedGeometry.js.map +1 -1
  877. package/lib/esm/render/webgl/ColorInfo.d.ts +1 -1
  878. package/lib/esm/render/webgl/ColorInfo.d.ts.map +1 -1
  879. package/lib/esm/render/webgl/ColorInfo.js.map +1 -1
  880. package/lib/esm/render/webgl/EdgeGeometry.d.ts +2 -2
  881. package/lib/esm/render/webgl/EdgeGeometry.d.ts.map +1 -1
  882. package/lib/esm/render/webgl/EdgeGeometry.js.map +1 -1
  883. package/lib/esm/render/webgl/FeatureOverrides.js +1 -1
  884. package/lib/esm/render/webgl/FeatureOverrides.js.map +1 -1
  885. package/lib/esm/render/webgl/Graphic.d.ts +7 -1
  886. package/lib/esm/render/webgl/Graphic.d.ts.map +1 -1
  887. package/lib/esm/render/webgl/Graphic.js +7 -2
  888. package/lib/esm/render/webgl/Graphic.js.map +1 -1
  889. package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts +1 -1
  890. package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -1
  891. package/lib/esm/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  892. package/lib/esm/render/webgl/InstancedGeometry.js.map +1 -1
  893. package/lib/esm/render/webgl/Material.d.ts +1 -1
  894. package/lib/esm/render/webgl/Material.d.ts.map +1 -1
  895. package/lib/esm/render/webgl/Material.js.map +1 -1
  896. package/lib/esm/render/webgl/Mesh.d.ts +2 -2
  897. package/lib/esm/render/webgl/Mesh.d.ts.map +1 -1
  898. package/lib/esm/render/webgl/Mesh.js +1 -1
  899. package/lib/esm/render/webgl/Mesh.js.map +1 -1
  900. package/lib/esm/render/webgl/MeshData.d.ts +2 -2
  901. package/lib/esm/render/webgl/MeshData.d.ts.map +1 -1
  902. package/lib/esm/render/webgl/MeshData.js.map +1 -1
  903. package/lib/esm/render/webgl/MeshGeometry.d.ts +1 -1
  904. package/lib/esm/render/webgl/MeshGeometry.d.ts.map +1 -1
  905. package/lib/esm/render/webgl/PointString.d.ts +1 -1
  906. package/lib/esm/render/webgl/PointString.d.ts.map +1 -1
  907. package/lib/esm/render/webgl/PointString.js.map +1 -1
  908. package/lib/esm/render/webgl/Polyline.d.ts +1 -1
  909. package/lib/esm/render/webgl/Polyline.d.ts.map +1 -1
  910. package/lib/esm/render/webgl/Polyline.js.map +1 -1
  911. package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
  912. package/lib/esm/render/webgl/RenderCommands.js +1 -1
  913. package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
  914. package/lib/esm/render/webgl/SceneCompositor.d.ts +2 -1
  915. package/lib/esm/render/webgl/SceneCompositor.d.ts.map +1 -1
  916. package/lib/esm/render/webgl/SceneCompositor.js +5 -2
  917. package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
  918. package/lib/esm/render/webgl/SurfaceGeometry.d.ts +1 -1
  919. package/lib/esm/render/webgl/SurfaceGeometry.d.ts.map +1 -1
  920. package/lib/esm/render/webgl/SurfaceGeometry.js +1 -1
  921. package/lib/esm/render/webgl/SurfaceGeometry.js.map +1 -1
  922. package/lib/esm/render/webgl/System.d.ts +7 -6
  923. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  924. package/lib/esm/render/webgl/System.js +2 -2
  925. package/lib/esm/render/webgl/System.js.map +1 -1
  926. package/lib/esm/render/webgl/Target.d.ts +1 -1
  927. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  928. package/lib/esm/render/webgl/Target.js +13 -11
  929. package/lib/esm/render/webgl/Target.js.map +1 -1
  930. package/lib/esm/render/webgl/Texture.d.ts +1 -1
  931. package/lib/esm/render/webgl/Texture.d.ts.map +1 -1
  932. package/lib/esm/render/webgl/Texture.js +1 -1
  933. package/lib/esm/render/webgl/Texture.js.map +1 -1
  934. package/lib/esm/render/webgl/UniformHandle.js +1 -1
  935. package/lib/esm/render/webgl/UniformHandle.js.map +1 -1
  936. package/lib/esm/render/webgl/VertexLUT.d.ts +2 -2
  937. package/lib/esm/render/webgl/VertexLUT.d.ts.map +1 -1
  938. package/lib/esm/render/webgl/VertexLUT.js.map +1 -1
  939. package/lib/esm/render/webgl/glsl/Animation.js.map +1 -1
  940. package/lib/esm/render/webgl/glsl/Atmosphere.js.map +1 -1
  941. package/lib/esm/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  942. package/lib/esm/render/webgl/glsl/RealityMesh.js +32 -19
  943. package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
  944. package/lib/esm/tile/B3dmReader.d.ts +1 -1
  945. package/lib/esm/tile/B3dmReader.d.ts.map +1 -1
  946. package/lib/esm/tile/B3dmReader.js +1 -1
  947. package/lib/esm/tile/B3dmReader.js.map +1 -1
  948. package/lib/esm/tile/DynamicIModelTile.js +1 -1
  949. package/lib/esm/tile/DynamicIModelTile.js.map +1 -1
  950. package/lib/esm/tile/FetchCloudStorage.d.ts +15 -0
  951. package/lib/esm/tile/FetchCloudStorage.d.ts.map +1 -0
  952. package/lib/esm/tile/FetchCloudStorage.js +31 -0
  953. package/lib/esm/tile/FetchCloudStorage.js.map +1 -0
  954. package/lib/esm/tile/GltfReader.d.ts +13 -4
  955. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  956. package/lib/esm/tile/GltfReader.js +81 -29
  957. package/lib/esm/tile/GltfReader.js.map +1 -1
  958. package/lib/esm/tile/IModelTile.d.ts.map +1 -1
  959. package/lib/esm/tile/IModelTile.js +5 -10
  960. package/lib/esm/tile/IModelTile.js.map +1 -1
  961. package/lib/esm/tile/IModelTileTree.d.ts +4 -1
  962. package/lib/esm/tile/IModelTileTree.d.ts.map +1 -1
  963. package/lib/esm/tile/IModelTileTree.js +16 -1
  964. package/lib/esm/tile/IModelTileTree.js.map +1 -1
  965. package/lib/esm/tile/ImdlDecoder.d.ts +52 -0
  966. package/lib/esm/tile/ImdlDecoder.d.ts.map +1 -0
  967. package/lib/esm/tile/ImdlDecoder.js +31 -0
  968. package/lib/esm/tile/ImdlDecoder.js.map +1 -0
  969. package/lib/{cjs/imdl → esm/tile}/ImdlGraphicsCreator.d.ts +1 -1
  970. package/lib/esm/tile/ImdlGraphicsCreator.d.ts.map +1 -0
  971. package/lib/esm/{imdl → tile}/ImdlGraphicsCreator.js +5 -5
  972. package/lib/esm/tile/ImdlGraphicsCreator.js.map +1 -0
  973. package/lib/esm/tile/ImdlParser.d.ts +26 -0
  974. package/lib/esm/tile/ImdlParser.d.ts.map +1 -0
  975. package/lib/esm/tile/ImdlParser.js +68 -0
  976. package/lib/esm/tile/ImdlParser.js.map +1 -0
  977. package/lib/esm/tile/ImdlReader.d.ts +6 -1
  978. package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
  979. package/lib/esm/tile/ImdlReader.js +13 -9
  980. package/lib/esm/tile/ImdlReader.js.map +1 -1
  981. package/lib/esm/tile/OPCFormatInterpreter.js +1 -1
  982. package/lib/esm/tile/OPCFormatInterpreter.js.map +1 -1
  983. package/lib/esm/tile/PntsReader.js +1 -1
  984. package/lib/esm/tile/PntsReader.js.map +1 -1
  985. package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
  986. package/lib/esm/tile/PrimaryTileTree.js +2 -1
  987. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  988. package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
  989. package/lib/esm/tile/RealityTile.d.ts +8 -3
  990. package/lib/esm/tile/RealityTile.d.ts.map +1 -1
  991. package/lib/esm/tile/RealityTile.js +4 -1
  992. package/lib/esm/tile/RealityTile.js.map +1 -1
  993. package/lib/esm/tile/RealityTileLoader.d.ts.map +1 -1
  994. package/lib/esm/tile/RealityTileLoader.js +10 -5
  995. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  996. package/lib/esm/tile/RealityTileTree.js +1 -1
  997. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  998. package/lib/esm/tile/ThreeDTileFormatInterpreter.js +1 -1
  999. package/lib/esm/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  1000. package/lib/esm/tile/TileAdmin.d.ts +14 -11
  1001. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  1002. package/lib/esm/tile/TileAdmin.js +10 -30
  1003. package/lib/esm/tile/TileAdmin.js.map +1 -1
  1004. package/lib/esm/tile/TileContent.d.ts +6 -0
  1005. package/lib/esm/tile/TileContent.d.ts.map +1 -1
  1006. package/lib/esm/tile/TileContent.js.map +1 -1
  1007. package/lib/esm/tile/TileStorage.js.map +1 -1
  1008. package/lib/esm/tile/internal.d.ts +9 -0
  1009. package/lib/esm/tile/internal.d.ts.map +1 -1
  1010. package/lib/esm/tile/internal.js +9 -0
  1011. package/lib/esm/tile/internal.js.map +1 -1
  1012. package/lib/esm/tile/map/ArcGisUtilities.d.ts +8 -1
  1013. package/lib/esm/tile/map/ArcGisUtilities.d.ts.map +1 -1
  1014. package/lib/esm/tile/map/ArcGisUtilities.js +21 -0
  1015. package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
  1016. package/lib/esm/tile/map/EllipsoidTerrainProvider.d.ts +6 -4
  1017. package/lib/esm/tile/map/EllipsoidTerrainProvider.d.ts.map +1 -1
  1018. package/lib/esm/tile/map/EllipsoidTerrainProvider.js +6 -4
  1019. package/lib/esm/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  1020. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts +2 -0
  1021. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts.map +1 -1
  1022. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js +4 -2
  1023. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  1024. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +55 -2
  1025. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  1026. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +96 -24
  1027. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  1028. package/lib/esm/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.d.ts +11 -0
  1029. package/lib/esm/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.d.ts.map +1 -0
  1030. package/lib/esm/{imdl/ImdlModel.js → tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.js} +1 -1
  1031. package/lib/esm/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.js.map +1 -0
  1032. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts +15 -0
  1033. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts.map +1 -0
  1034. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js +55 -0
  1035. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -0
  1036. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryRenderer.d.ts +47 -0
  1037. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryRenderer.d.ts.map +1 -0
  1038. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryRenderer.js +122 -0
  1039. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryRenderer.js.map +1 -0
  1040. package/lib/esm/tile/map/ImageryProviders/ArcGisGraphicsRenderer.d.ts +27 -0
  1041. package/lib/esm/tile/map/ImageryProviders/ArcGisGraphicsRenderer.d.ts.map +1 -0
  1042. package/lib/esm/tile/map/ImageryProviders/ArcGisGraphicsRenderer.js +131 -0
  1043. package/lib/esm/tile/map/ImageryProviders/ArcGisGraphicsRenderer.js.map +1 -0
  1044. package/lib/esm/tile/map/ImageryProviders/WebMercator.d.ts +6 -0
  1045. package/lib/esm/tile/map/ImageryProviders/WebMercator.d.ts.map +1 -0
  1046. package/lib/esm/tile/map/ImageryProviders/WebMercator.js +18 -0
  1047. package/lib/esm/tile/map/ImageryProviders/WebMercator.js.map +1 -0
  1048. package/lib/esm/tile/map/ImageryTileTree.d.ts +2 -1
  1049. package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
  1050. package/lib/esm/tile/map/ImageryTileTree.js +16 -9
  1051. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  1052. package/lib/esm/tile/map/MapFeatureInfo.d.ts +67 -7
  1053. package/lib/esm/tile/map/MapFeatureInfo.d.ts.map +1 -1
  1054. package/lib/esm/tile/map/MapFeatureInfo.js +14 -1
  1055. package/lib/esm/tile/map/MapFeatureInfo.js.map +1 -1
  1056. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  1057. package/lib/esm/tile/map/MapLayerImageryFormats.js +3 -0
  1058. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  1059. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +4 -1
  1060. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  1061. package/lib/esm/tile/map/MapLayerImageryProvider.js +3 -1
  1062. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  1063. package/lib/esm/tile/map/MapLayerSources.d.ts +4 -1
  1064. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  1065. package/lib/esm/tile/map/MapLayerSources.js +3 -0
  1066. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  1067. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  1068. package/lib/esm/tile/map/MapTile.js +9 -1
  1069. package/lib/esm/tile/map/MapTile.js.map +1 -1
  1070. package/lib/esm/tile/map/MapTileLoader.d.ts.map +1 -1
  1071. package/lib/esm/tile/map/MapTileLoader.js +1 -15
  1072. package/lib/esm/tile/map/MapTileLoader.js.map +1 -1
  1073. package/lib/esm/tile/map/MapTileTree.d.ts +12 -3
  1074. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  1075. package/lib/esm/tile/map/MapTileTree.js +34 -21
  1076. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  1077. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts +2 -3
  1078. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  1079. package/lib/esm/tile/map/MapTiledGraphicsProvider.js +3 -4
  1080. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  1081. package/lib/esm/tile/map/MapTilingScheme.d.ts +4 -4
  1082. package/lib/esm/tile/map/MapTilingScheme.d.ts.map +1 -1
  1083. package/lib/esm/tile/map/MapTilingScheme.js +4 -4
  1084. package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
  1085. package/lib/esm/tile/map/QuadId.js.map +1 -1
  1086. package/lib/esm/tools/ElementSetTool.js +1 -1
  1087. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  1088. package/lib/esm/tools/SelectTool.js +1 -1
  1089. package/lib/esm/tools/SelectTool.js.map +1 -1
  1090. package/lib/esm/tools/ToolAdmin.d.ts +8 -6
  1091. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  1092. package/lib/esm/tools/ToolAdmin.js +11 -8
  1093. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  1094. package/lib/esm/tools/ToolAssistance.d.ts +18 -0
  1095. package/lib/esm/tools/ToolAssistance.d.ts.map +1 -1
  1096. package/lib/esm/tools/ToolAssistance.js +8 -0
  1097. package/lib/esm/tools/ToolAssistance.js.map +1 -1
  1098. package/lib/esm/tools/ViewTool.d.ts.map +1 -1
  1099. package/lib/esm/tools/ViewTool.js +3 -2
  1100. package/lib/esm/tools/ViewTool.js.map +1 -1
  1101. package/lib/esm/workers/ImdlParser/Worker.d.ts +20 -0
  1102. package/lib/esm/workers/ImdlParser/Worker.d.ts.map +1 -0
  1103. package/lib/esm/workers/ImdlParser/Worker.js +30 -0
  1104. package/lib/esm/workers/ImdlParser/Worker.js.map +1 -0
  1105. package/lib/esm/workers/ImdlParser/webpack.config.js +40 -0
  1106. package/lib/esm/workers/RegisterWorker.d.ts +9 -0
  1107. package/lib/esm/workers/RegisterWorker.d.ts.map +1 -0
  1108. package/lib/esm/workers/RegisterWorker.js +32 -0
  1109. package/lib/esm/workers/RegisterWorker.js.map +1 -0
  1110. package/lib/public/scripts/parse-imdl-worker.js +1 -0
  1111. package/lib/workers/webpack/parse-imdl-worker.js +1 -0
  1112. package/package.json +32 -69
  1113. package/lib/cjs/FrontendLoggerCategory.d.ts.map +0 -1
  1114. package/lib/cjs/FrontendLoggerCategory.js.map +0 -1
  1115. package/lib/cjs/ImageUtil.d.ts.map +0 -1
  1116. package/lib/cjs/ImageUtil.js.map +0 -1
  1117. package/lib/cjs/ViewRect.d.ts.map +0 -1
  1118. package/lib/cjs/ViewRect.js.map +0 -1
  1119. package/lib/cjs/WebWorkerManager.d.ts +0 -49
  1120. package/lib/cjs/WebWorkerManager.d.ts.map +0 -1
  1121. package/lib/cjs/WebWorkerManager.js +0 -155
  1122. package/lib/cjs/WebWorkerManager.js.map +0 -1
  1123. package/lib/cjs/gltf/GltfModel.d.ts.map +0 -1
  1124. package/lib/cjs/gltf/GltfModel.js.map +0 -1
  1125. package/lib/cjs/gltf/GltfParser.d.ts.map +0 -1
  1126. package/lib/cjs/gltf/GltfParser.js.map +0 -1
  1127. package/lib/cjs/gltf/GltfSchema.d.ts.map +0 -1
  1128. package/lib/cjs/gltf/GltfSchema.js.map +0 -1
  1129. package/lib/cjs/imdl/ImdlGraphicsCreator.d.ts.map +0 -1
  1130. package/lib/cjs/imdl/ImdlGraphicsCreator.js.map +0 -1
  1131. package/lib/cjs/imdl/ImdlModel.d.ts.map +0 -1
  1132. package/lib/cjs/imdl/ImdlModel.js.map +0 -1
  1133. package/lib/cjs/imdl/ImdlParser.d.ts.map +0 -1
  1134. package/lib/cjs/imdl/ImdlParser.js.map +0 -1
  1135. package/lib/cjs/imdl/ImdlSchema.d.ts.map +0 -1
  1136. package/lib/cjs/imdl/ImdlSchema.js.map +0 -1
  1137. package/lib/cjs/render/RenderMaterial.d.ts.map +0 -1
  1138. package/lib/cjs/render/RenderMaterial.js.map +0 -1
  1139. package/lib/cjs/render/RenderTexture.d.ts.map +0 -1
  1140. package/lib/cjs/render/RenderTexture.js.map +0 -1
  1141. package/lib/cjs/render/primitives/AuxChannelTable.d.ts.map +0 -1
  1142. package/lib/cjs/render/primitives/AuxChannelTable.js.map +0 -1
  1143. package/lib/cjs/render/primitives/DisplayParams.d.ts.map +0 -1
  1144. package/lib/cjs/render/primitives/DisplayParams.js.map +0 -1
  1145. package/lib/cjs/render/primitives/SurfaceParams.d.ts.map +0 -1
  1146. package/lib/cjs/render/primitives/SurfaceParams.js.map +0 -1
  1147. package/lib/cjs/render/primitives/VertexTable.d.ts +0 -152
  1148. package/lib/cjs/render/primitives/VertexTable.d.ts.map +0 -1
  1149. package/lib/cjs/render/primitives/VertexTable.js.map +0 -1
  1150. package/lib/cjs/render/primitives/VertexTableSplitter.d.ts.map +0 -1
  1151. package/lib/cjs/render/primitives/VertexTableSplitter.js.map +0 -1
  1152. package/lib/cjs/render-primitives.d.ts +0 -21
  1153. package/lib/cjs/render-primitives.d.ts.map +0 -1
  1154. package/lib/cjs/render-primitives.js +0 -41
  1155. package/lib/cjs/render-primitives.js.map +0 -1
  1156. package/lib/esm/FrontendLoggerCategory.d.ts.map +0 -1
  1157. package/lib/esm/FrontendLoggerCategory.js.map +0 -1
  1158. package/lib/esm/ImageUtil.d.ts.map +0 -1
  1159. package/lib/esm/ImageUtil.js.map +0 -1
  1160. package/lib/esm/ViewRect.d.ts.map +0 -1
  1161. package/lib/esm/ViewRect.js.map +0 -1
  1162. package/lib/esm/WebWorkerManager.d.ts +0 -49
  1163. package/lib/esm/WebWorkerManager.d.ts.map +0 -1
  1164. package/lib/esm/WebWorkerManager.js +0 -150
  1165. package/lib/esm/WebWorkerManager.js.map +0 -1
  1166. package/lib/esm/gltf/GltfModel.d.ts.map +0 -1
  1167. package/lib/esm/gltf/GltfModel.js.map +0 -1
  1168. package/lib/esm/gltf/GltfParser.d.ts.map +0 -1
  1169. package/lib/esm/gltf/GltfParser.js.map +0 -1
  1170. package/lib/esm/gltf/GltfSchema.d.ts.map +0 -1
  1171. package/lib/esm/gltf/GltfSchema.js.map +0 -1
  1172. package/lib/esm/imdl/ImdlGraphicsCreator.d.ts.map +0 -1
  1173. package/lib/esm/imdl/ImdlGraphicsCreator.js.map +0 -1
  1174. package/lib/esm/imdl/ImdlModel.d.ts.map +0 -1
  1175. package/lib/esm/imdl/ImdlModel.js.map +0 -1
  1176. package/lib/esm/imdl/ImdlParser.d.ts.map +0 -1
  1177. package/lib/esm/imdl/ImdlParser.js.map +0 -1
  1178. package/lib/esm/imdl/ImdlSchema.d.ts.map +0 -1
  1179. package/lib/esm/imdl/ImdlSchema.js.map +0 -1
  1180. package/lib/esm/render/RenderMaterial.d.ts.map +0 -1
  1181. package/lib/esm/render/RenderMaterial.js.map +0 -1
  1182. package/lib/esm/render/RenderTexture.d.ts.map +0 -1
  1183. package/lib/esm/render/RenderTexture.js.map +0 -1
  1184. package/lib/esm/render/primitives/AuxChannelTable.d.ts.map +0 -1
  1185. package/lib/esm/render/primitives/AuxChannelTable.js.map +0 -1
  1186. package/lib/esm/render/primitives/DisplayParams.d.ts.map +0 -1
  1187. package/lib/esm/render/primitives/DisplayParams.js.map +0 -1
  1188. package/lib/esm/render/primitives/SurfaceParams.d.ts.map +0 -1
  1189. package/lib/esm/render/primitives/SurfaceParams.js.map +0 -1
  1190. package/lib/esm/render/primitives/VertexTable.d.ts +0 -152
  1191. package/lib/esm/render/primitives/VertexTable.d.ts.map +0 -1
  1192. package/lib/esm/render/primitives/VertexTable.js.map +0 -1
  1193. package/lib/esm/render/primitives/VertexTableSplitter.d.ts.map +0 -1
  1194. package/lib/esm/render/primitives/VertexTableSplitter.js.map +0 -1
  1195. package/lib/esm/render-primitives.d.ts +0 -21
  1196. package/lib/esm/render-primitives.d.ts.map +0 -1
  1197. package/lib/esm/render-primitives.js +0 -25
  1198. package/lib/esm/render-primitives.js.map +0 -1
  1199. /package/lib/cjs/{FrontendLoggerCategory.d.ts → common/FrontendLoggerCategory.d.ts} +0 -0
  1200. /package/lib/cjs/{FrontendLoggerCategory.js → common/FrontendLoggerCategory.js} +0 -0
  1201. /package/lib/cjs/{ImageUtil.d.ts → common/ImageUtil.d.ts} +0 -0
  1202. /package/lib/cjs/{ViewRect.d.ts → common/ViewRect.d.ts} +0 -0
  1203. /package/lib/cjs/{ViewRect.js → common/ViewRect.js} +0 -0
  1204. /package/lib/cjs/{gltf → common/gltf}/GltfModel.js +0 -0
  1205. /package/lib/cjs/{gltf → common/gltf}/GltfParser.d.ts +0 -0
  1206. /package/lib/cjs/{gltf → common/gltf}/GltfParser.js +0 -0
  1207. /package/lib/cjs/{gltf → common/gltf}/GltfSchema.d.ts +0 -0
  1208. /package/lib/cjs/{gltf → common/gltf}/GltfSchema.js +0 -0
  1209. /package/lib/cjs/{render → common/render}/primitives/DisplayParams.d.ts +0 -0
  1210. /package/lib/cjs/{render → common/render}/primitives/DisplayParams.js +0 -0
  1211. /package/lib/cjs/{render → common/render}/primitives/SurfaceParams.js +0 -0
  1212. /package/lib/esm/{FrontendLoggerCategory.d.ts → common/FrontendLoggerCategory.d.ts} +0 -0
  1213. /package/lib/esm/{FrontendLoggerCategory.js → common/FrontendLoggerCategory.js} +0 -0
  1214. /package/lib/esm/{ImageUtil.d.ts → common/ImageUtil.d.ts} +0 -0
  1215. /package/lib/esm/{ViewRect.d.ts → common/ViewRect.d.ts} +0 -0
  1216. /package/lib/esm/{ViewRect.js → common/ViewRect.js} +0 -0
  1217. /package/lib/esm/{gltf → common/gltf}/GltfModel.js +0 -0
  1218. /package/lib/esm/{gltf → common/gltf}/GltfParser.d.ts +0 -0
  1219. /package/lib/esm/{gltf → common/gltf}/GltfParser.js +0 -0
  1220. /package/lib/esm/{gltf → common/gltf}/GltfSchema.d.ts +0 -0
  1221. /package/lib/esm/{gltf → common/gltf}/GltfSchema.js +0 -0
  1222. /package/lib/esm/{render → common/render}/primitives/DisplayParams.d.ts +0 -0
  1223. /package/lib/esm/{render → common/render}/primitives/DisplayParams.js +0 -0
  1224. /package/lib/esm/{render → common/render}/primitives/SurfaceParams.js +0 -0
@@ -5,7 +5,7 @@
5
5
  /** @packageDocumentation
6
6
  * @module LocatingElements
7
7
  */
8
- import { Id64 } from "@itwin/core-bentley";
8
+ import { assert, Id64 } from "@itwin/core-bentley";
9
9
  import { Arc3d, LineSegment3d, LineString3d, Path, Point3d } from "@itwin/core-geometry";
10
10
  import { LinePixels } from "@itwin/core-common";
11
11
  import { IModelApp } from "./IModelApp";
@@ -108,37 +108,87 @@ export var HitDetailType;
108
108
  * @extensions
109
109
  */
110
110
  export class HitDetail {
111
- /** Create a new HitDetail from the inputs to and results of a locate operation.
112
- * @param testPoint The world coordinate space point that was used as the locate point.
113
- * @param viewport The view the locate operation was performed in.
114
- * @param hitSource The procedure that requested the locate operation.
115
- * @param hitPoint The approximate world coordinate location on the geometry identified by this HitDetail.
116
- * @param sourceId The source of the geometry, either a persistent element id or pickable decoration id.
117
- * @param priority The hit geometry priority/classification.
118
- * @param distXY The xy distance to hit in view coordinates.
119
- * @param distFraction The near plane distance fraction to hit.
120
- * @param subCategoryId The SubCategory for a persistent element hit.
121
- * @param geometryClass The GeometryClass for a persistent element hit.
122
- * @param iModel The IModelConnection from which the hit originated. This should almost always be left undefined, unless the hit is known to have originated from an iModel other than the one associated with the viewport.
123
- * @param modelId Optionally the Id of the [[ModelState]] from which the hit originated.
124
- * @param tileId Optionally the Id of the Tile from which the hit originated.
125
- * @param isClassifier Optionally whether the hit originated from a reality model classification.
111
+ /** The point in world coordinates that was used as the initial locate point. */
112
+ get testPoint() { return this._props.testPoint; }
113
+ /** The viewport in which the locate operation was performed. */
114
+ get viewport() { return this._props.viewport; }
115
+ /** The procedure that requested the locate operation. */
116
+ get hitSource() { return this._props.hitSource; }
117
+ /** The approximate location in world coordinates on the geometry identified by this HitDetail. */
118
+ get hitPoint() { return this._props.hitPoint; }
119
+ /** The source of the geometry. This may be a persistent element Id, or a transient Id used for, e.g., pickable decorations. */
120
+ get sourceId() { return this._props.sourceId; }
121
+ /** The hit geometry priority/classification. */
122
+ get priority() { return this._props.priority; }
123
+ /** The xy distance to the hit in view coordinates. */
124
+ get distXY() { return this._props.distXY; }
125
+ /** The distance in view coordinates between the hit and the near plane. */
126
+ get distFraction() { return this._props.distFraction; }
127
+ /** The [SubCategory]($backend) to which the hit geometry belongs. */
128
+ get subCategoryId() { return this._props.subCategoryId; }
129
+ /** The class of the hit geometry. */
130
+ get geometryClass() { return this._props.geometryClass; }
131
+ /** The Id of the [[ModelState]] from which the hit originated. */
132
+ get modelId() { return this._props.modelId; }
133
+ /** The IModelConnection from which the hit originated.
134
+ * This should almost always be left undefined, unless the hit is known to have originated from an iModel
135
+ * other than the one associated with the viewport.
136
+ * @internal
126
137
  */
127
- constructor(testPoint, viewport, hitSource, hitPoint, sourceId, priority, distXY, distFraction, subCategoryId, geometryClass, modelId, iModel, tileId, isClassifier) {
128
- this.testPoint = testPoint;
129
- this.viewport = viewport;
130
- this.hitSource = hitSource;
131
- this.hitPoint = hitPoint;
132
- this.sourceId = sourceId;
133
- this.priority = priority;
134
- this.distXY = distXY;
135
- this.distFraction = distFraction;
136
- this.subCategoryId = subCategoryId;
137
- this.geometryClass = geometryClass;
138
- this.modelId = modelId;
139
- this._iModel = iModel;
140
- this.tileId = tileId;
141
- this.isClassifier = undefined !== isClassifier ? isClassifier : false;
138
+ get sourceIModel() { return this._props.sourceIModel; }
139
+ /** @internal chiefly for debugging */
140
+ get tileId() { return this._props.tileId; }
141
+ /** True if the hit originated from a reality model classifier.
142
+ * @alpha
143
+ */
144
+ get isClassifier() { return this._props.isClassifier; }
145
+ /** Information about the [ViewAttachment]($backend) within which the hit geometry resides, if any.
146
+ * @note Only [[SheetViewState]]s can have view attachments.
147
+ * @beta
148
+ */
149
+ get viewAttachment() { return this._props.viewAttachment; }
150
+ /** @internal */
151
+ constructor(arg0, viewport, hitSource, hitPoint, sourceId, priority, distXY, distFraction, subCategoryId, geometryClass, modelId, sourceIModel, tileId, isClassifier) {
152
+ if (arg0 instanceof Point3d) {
153
+ assert(undefined !== viewport && undefined !== hitSource && undefined !== hitPoint && undefined !== sourceId);
154
+ assert(undefined !== priority && undefined !== distXY && undefined !== distFraction);
155
+ this._props = {
156
+ testPoint: arg0,
157
+ viewport,
158
+ hitSource,
159
+ hitPoint,
160
+ sourceId,
161
+ priority,
162
+ distXY,
163
+ distFraction,
164
+ subCategoryId,
165
+ geometryClass,
166
+ modelId,
167
+ sourceIModel,
168
+ tileId,
169
+ isClassifier,
170
+ };
171
+ }
172
+ else {
173
+ // Tempting to use { ...arg0 } but spread operator omits getters so, e.g., if input is a HitDetail we would lose all the properties.
174
+ this._props = {
175
+ testPoint: arg0.testPoint,
176
+ viewport: arg0.viewport,
177
+ hitSource: arg0.hitSource,
178
+ hitPoint: arg0.hitPoint,
179
+ sourceId: arg0.sourceId,
180
+ priority: arg0.priority,
181
+ distXY: arg0.distXY,
182
+ distFraction: arg0.distFraction,
183
+ subCategoryId: arg0.subCategoryId,
184
+ geometryClass: arg0.geometryClass,
185
+ modelId: arg0.modelId,
186
+ sourceIModel: arg0.sourceIModel,
187
+ tileId: arg0.tileId,
188
+ isClassifier: arg0.isClassifier,
189
+ viewAttachment: arg0.viewAttachment,
190
+ };
191
+ }
142
192
  }
143
193
  /** Get the type of HitDetail.
144
194
  * @returns HitDetailType.Hit if this is a HitDetail, HitDetailType.Snap if it is a SnapDetail
@@ -157,11 +207,10 @@ export class HitDetail {
157
207
  return this.modelId === this.sourceId;
158
208
  }
159
209
  // return whether the hit point is from map.
160
- get isMapHit() { return undefined !== this.viewport.mapLayerFromHit(this); }
210
+ get isMapHit() { return 0 !== this.viewport.mapLayerFromHit(this).length; }
161
211
  /** Create a deep copy of this HitDetail */
162
212
  clone() {
163
- const val = new HitDetail(this.testPoint, this.viewport, this.hitSource, this.hitPoint, this.sourceId, this.priority, this.distXY, this.distFraction, this.subCategoryId, this.geometryClass, this.modelId, this._iModel, this.tileId, this.isClassifier);
164
- return val;
213
+ return new HitDetail(this);
165
214
  }
166
215
  /** Draw this HitDetail as a Decoration. Causes the picked element to *flash* */
167
216
  draw(_context) {
@@ -178,11 +227,15 @@ export class HitDetail {
178
227
  * for example, if a [[TiledGraphicsProvider]] is used to display graphics from a different iModel in the viewport.
179
228
  * This HitDetail's element, subcategory, and model Ids are defined in the context of this IModelConnection.
180
229
  */
181
- get iModel() { return undefined !== this._iModel ? this._iModel : this.viewport.iModel; }
230
+ get iModel() {
231
+ return this.sourceIModel ?? this.viewport.iModel;
232
+ }
182
233
  /** Returns true if this hit originated from an [[IModelConnection]] other than the one associated with the [[Viewport]].
183
234
  * @see [[iModel]].
184
235
  */
185
- get isExternalIModelHit() { return this.iModel !== this.viewport.iModel; }
236
+ get isExternalIModelHit() {
237
+ return this.iModel !== this.viewport.iModel;
238
+ }
186
239
  }
187
240
  /** A SnapDetail is generated from the result of a snap request. In addition to the HitDetail about the reason the element was *picked*,
188
241
  * it holds the *exact* point on the element from the snapping logic, plus additional information that varies with the type of element and snap mode.
@@ -197,7 +250,7 @@ export class SnapDetail extends HitDetail {
197
250
  * @param snapPoint The snapped point in the element
198
251
  */
199
252
  constructor(from, snapMode = SnapMode.Nearest, heat = SnapHeat.None, snapPoint) {
200
- super(from.testPoint, from.viewport, from.hitSource, from.hitPoint, from.sourceId, from.priority, from.distXY, from.distFraction, from.subCategoryId, from.geometryClass, from.modelId, from.iModel, from.tileId, from.isClassifier);
253
+ super(from);
201
254
  this.snapMode = snapMode;
202
255
  this.heat = heat;
203
256
  this.snapPoint = Point3d.fromJSON(snapPoint ? snapPoint : from.hitPoint);
@@ -1 +1 @@
1
- {"version":3,"file":"HitDetail.js","sourceRoot":"","sources":["../../src/HitDetail.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 LocatingElements\r\n */\r\nimport { Id64 } from \"@itwin/core-bentley\";\r\nimport { Arc3d, CurvePrimitive, LineSegment3d, LineString3d, Path, Point3d, Transform, Vector3d, XYZProps } from \"@itwin/core-geometry\";\r\nimport { GeometryClass, LinePixels } from \"@itwin/core-common\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { GraphicType } from \"./render/GraphicBuilder\";\r\nimport { IconSprites, Sprite } from \"./Sprites\";\r\nimport { DecorateContext } from \"./ViewContext\";\r\nimport { ScreenViewport } from \"./Viewport\";\r\n\r\n/**\r\n * @public\r\n * @extensions\r\n */\r\nexport enum SnapMode {\r\n Nearest = 1,\r\n NearestKeypoint = 1 << 1,\r\n MidPoint = 1 << 2,\r\n Center = 1 << 3,\r\n Origin = 1 << 4,\r\n Bisector = 1 << 5,\r\n Intersection = 1 << 6,\r\n}\r\n\r\n/**\r\n * @public\r\n * @extensions\r\n */\r\nexport enum SnapHeat {\r\n None = 0,\r\n NotInRange = 1, // \"of interest\", but out of range\r\n InRange = 2,\r\n}\r\n\r\n/** The procedure that generated this Hit.\r\n * @public\r\n * @extensions\r\n */\r\nexport enum HitSource {\r\n None = 0,\r\n FromUser = 1,\r\n MotionLocate = 2,\r\n AccuSnap = 3,\r\n TentativeSnap = 4,\r\n DataPoint = 5,\r\n Application = 6,\r\n EditAction = 7,\r\n EditActionSS = 8,\r\n}\r\n\r\n/** What was being tested to generate this hit. This is not the element or\r\n * GeometricPrimitive that generated the Hit, it is an indication of whether it is an edge or interior hit.\r\n * @public\r\n * @extensions\r\n */\r\nexport enum HitGeomType {\r\n None = 0,\r\n Point = 1,\r\n Segment = 2,\r\n Curve = 3,\r\n Arc = 4,\r\n Surface = 5,\r\n}\r\n\r\n/** Classification of GeometricPrimitive that generated the Hit.\r\n * @public\r\n * @extensions\r\n */\r\nexport enum HitParentGeomType {\r\n None = 0,\r\n Wire = 1,\r\n Sheet = 2,\r\n Solid = 3,\r\n Mesh = 4,\r\n Text = 5,\r\n}\r\n\r\n/**\r\n * @public\r\n * @extensions\r\n */\r\nexport enum HitPriority {\r\n WireEdge = 0,\r\n PlanarEdge = 1,\r\n NonPlanarEdge = 2,\r\n SilhouetteEdge = 3,\r\n PlanarSurface = 4,\r\n NonPlanarSurface = 5,\r\n Unknown = 6,\r\n}\r\n\r\n/**\r\n * @public\r\n * @extensions\r\n */\r\nexport enum HitDetailType {\r\n Hit = 1,\r\n Snap = 2,\r\n Intersection = 3,\r\n}\r\n\r\n/** A HitDetail stores the result when locating geometry displayed in a view.\r\n * It holds an approximate location on an element (or decoration) from a *pick*.\r\n * @public\r\n * @extensions\r\n */\r\nexport class HitDetail {\r\n private readonly _iModel?: IModelConnection;\r\n /** @internal chiefly for debugging. */\r\n public readonly tileId?: string;\r\n /** @alpha */\r\n public readonly isClassifier: boolean;\r\n\r\n /** Create a new HitDetail from the inputs to and results of a locate operation.\r\n * @param testPoint The world coordinate space point that was used as the locate point.\r\n * @param viewport The view the locate operation was performed in.\r\n * @param hitSource The procedure that requested the locate operation.\r\n * @param hitPoint The approximate world coordinate location on the geometry identified by this HitDetail.\r\n * @param sourceId The source of the geometry, either a persistent element id or pickable decoration id.\r\n * @param priority The hit geometry priority/classification.\r\n * @param distXY The xy distance to hit in view coordinates.\r\n * @param distFraction The near plane distance fraction to hit.\r\n * @param subCategoryId The SubCategory for a persistent element hit.\r\n * @param geometryClass The GeometryClass for a persistent element hit.\r\n * @param iModel The IModelConnection from which the hit originated. This should almost always be left undefined, unless the hit is known to have originated from an iModel other than the one associated with the viewport.\r\n * @param modelId Optionally the Id of the [[ModelState]] from which the hit originated.\r\n * @param tileId Optionally the Id of the Tile from which the hit originated.\r\n * @param isClassifier Optionally whether the hit originated from a reality model classification.\r\n */\r\n public constructor(public readonly testPoint: Point3d, public readonly viewport: ScreenViewport, public readonly hitSource: HitSource,\r\n public readonly hitPoint: Point3d, public readonly sourceId: string, public readonly priority: HitPriority, public readonly distXY: number, public readonly distFraction: number,\r\n public readonly subCategoryId?: string, public readonly geometryClass?: GeometryClass, public readonly modelId?: string, iModel?: IModelConnection, tileId?: string, isClassifier?: boolean) {\r\n this._iModel = iModel;\r\n this.tileId = tileId;\r\n this.isClassifier = undefined !== isClassifier ? isClassifier : false;\r\n }\r\n\r\n /** Get the type of HitDetail.\r\n * @returns HitDetailType.Hit if this is a HitDetail, HitDetailType.Snap if it is a SnapDetail\r\n */\r\n public getHitType(): HitDetailType { return HitDetailType.Hit; }\r\n\r\n /** Get the *hit point* for this HitDetail. Returns the approximate point on the element that caused the hit when not a SnapDetail or IntersectDetail.\r\n * For a snap that is *hot*, the *exact* point on the Element for the snap mode is returned, otherwise the close point on the hit geometry is returned.\r\n */\r\n public getPoint(): Point3d { return this.hitPoint; }\r\n\r\n /** Determine if this HitPoint is from the same source as another HitDetail. */\r\n public isSameHit(otherHit?: HitDetail): boolean { return (undefined !== otherHit && this.sourceId === otherHit.sourceId && this.iModel === otherHit.iModel); }\r\n /** Return whether sourceId is for a persistent element and not a pickable decoration. */\r\n public get isElementHit(): boolean { return !Id64.isInvalid(this.sourceId) && !Id64.isTransient(this.sourceId); }\r\n // return whether the sourceId is for a model (reality models etc.)\r\n public get isModelHit(): boolean {\r\n return this.modelId === this.sourceId;\r\n }\r\n // return whether the hit point is from map.\r\n public get isMapHit(): boolean { return undefined !== this.viewport.mapLayerFromHit(this); }\r\n\r\n /** Create a deep copy of this HitDetail */\r\n public clone(): HitDetail {\r\n const val = new HitDetail(this.testPoint, this.viewport, this.hitSource, this.hitPoint, this.sourceId, this.priority, this.distXY, this.distFraction, this.subCategoryId, this.geometryClass, this.modelId, this._iModel, this.tileId, this.isClassifier);\r\n return val;\r\n }\r\n\r\n /** Draw this HitDetail as a Decoration. Causes the picked element to *flash* */\r\n public draw(_context: DecorateContext) {\r\n this.viewport.flashedId = this.sourceId;\r\n }\r\n\r\n /** Get the tooltip content for this HitDetail. */\r\n public async getToolTip(): Promise<HTMLElement | string> {\r\n let toolTipPromise = this.isElementHit ? IModelApp.viewManager.overrideElementToolTip(this) : IModelApp.viewManager.getDecorationToolTip(this);\r\n for (const toolTipProvider of IModelApp.viewManager.toolTipProviders)\r\n toolTipPromise = toolTipProvider.augmentToolTip(this, toolTipPromise);\r\n return toolTipPromise;\r\n }\r\n\r\n /** The IModelConnection from which the hit originated. In some cases this may not be the same as the iModel associated with the Viewport -\r\n * for example, if a [[TiledGraphicsProvider]] is used to display graphics from a different iModel in the viewport.\r\n * This HitDetail's element, subcategory, and model Ids are defined in the context of this IModelConnection.\r\n */\r\n public get iModel(): IModelConnection { return undefined !== this._iModel ? this._iModel : this.viewport.iModel; }\r\n\r\n /** Returns true if this hit originated from an [[IModelConnection]] other than the one associated with the [[Viewport]].\r\n * @see [[iModel]].\r\n */\r\n public get isExternalIModelHit(): boolean { return this.iModel !== this.viewport.iModel; }\r\n}\r\n\r\n/** A SnapDetail is generated from the result of a snap request. In addition to the HitDetail about the reason the element was *picked*,\r\n * it holds the *exact* point on the element from the snapping logic, plus additional information that varies with the type of element and snap mode.\r\n * @public\r\n * @extensions\r\n */\r\nexport class SnapDetail extends HitDetail {\r\n /** A sprite to show the user the type of snap performed */\r\n public sprite?: Sprite;\r\n /** HitPoint adjusted by snap */\r\n public readonly snapPoint: Point3d;\r\n /** AccuSnap/AccuDraw can adjust the point after the snap. */\r\n public readonly adjustedPoint: Point3d;\r\n /** Curve primitive for snap. */\r\n public primitive?: CurvePrimitive;\r\n /** Surface normal at snapPoint */\r\n public normal?: Vector3d;\r\n /** The HitGeomType of this SnapDetail */\r\n public geomType?: HitGeomType;\r\n /** The HitGeomType of this SnapDetail */\r\n public parentGeomType?: HitParentGeomType;\r\n\r\n /** Constructor for SnapDetail.\r\n * @param from The HitDetail that created this snap\r\n * @param snapMode The SnapMode used to create this SnapDetail\r\n * @param heat The SnapHeat of this SnapDetail\r\n * @param snapPoint The snapped point in the element\r\n */\r\n public constructor(from: HitDetail, public snapMode: SnapMode = SnapMode.Nearest, public heat: SnapHeat = SnapHeat.None, snapPoint?: XYZProps) {\r\n super(from.testPoint, from.viewport, from.hitSource, from.hitPoint, from.sourceId, from.priority, from.distXY, from.distFraction, from.subCategoryId, from.geometryClass, from.modelId, from.iModel, from.tileId, from.isClassifier);\r\n this.snapPoint = Point3d.fromJSON(snapPoint ? snapPoint : from.hitPoint);\r\n this.adjustedPoint = this.snapPoint.clone();\r\n this.sprite = IconSprites.getSpriteFromUrl(SnapDetail.getSnapSpriteUrl(snapMode));\r\n }\r\n\r\n /** Returns `HitDetailType.Snap` */\r\n public override getHitType(): HitDetailType { return HitDetailType.Snap; }\r\n /** Get the snap point if this SnapDetail is *hot*, the pick point otherwise. */\r\n public override getPoint(): Point3d { return this.isHot ? this.snapPoint : super.getPoint(); }\r\n /** Return true if the pick point was closer than the snap aperture from the generated snap point. */\r\n public get isHot(): boolean { return this.heat !== SnapHeat.None; }\r\n /** Determine whether the [[adjustedPoint]] is different than the [[snapPoint]]. This happens, for example, when points are adjusted for grids, acs plane snap, and AccuDraw. */\r\n public get isPointAdjusted(): boolean { return !this.adjustedPoint.isExactEqual(this.snapPoint); }\r\n /** Change the snap point. */\r\n public setSnapPoint(point: Point3d, heat: SnapHeat) {\r\n this.snapPoint.setFrom(point);\r\n this.adjustedPoint.setFrom(point);\r\n this.heat = heat;\r\n }\r\n\r\n /** Set curve primitive and HitGeometryType for this SnapDetail. */\r\n public setCurvePrimitive(primitive?: CurvePrimitive, localToWorld?: Transform, geomType?: HitGeomType): void {\r\n this.primitive = primitive;\r\n this.geomType = undefined;\r\n\r\n // Only HitGeomType.Point and HitGeomType.Surface are valid without a curve primitive.\r\n if (undefined === this.primitive) {\r\n if (HitGeomType.Point === geomType || HitGeomType.Surface === geomType)\r\n this.geomType = geomType;\r\n return;\r\n }\r\n\r\n if (undefined !== localToWorld)\r\n this.primitive.tryTransformInPlace(localToWorld);\r\n\r\n if (this.primitive instanceof Arc3d)\r\n this.geomType = HitGeomType.Arc;\r\n else if (this.primitive instanceof LineSegment3d)\r\n this.geomType = HitGeomType.Segment;\r\n else if (this.primitive instanceof LineString3d)\r\n this.geomType = HitGeomType.Segment;\r\n else\r\n this.geomType = HitGeomType.Curve;\r\n\r\n // Set curve primitive geometry type override...\r\n // - HitGeomType.Point with arc/ellipse denotes center.\r\n // - HitGeomType.Surface with any curve primitive denotes an interior hit.\r\n if (undefined !== geomType && HitGeomType.None !== geomType)\r\n this.geomType = geomType;\r\n }\r\n\r\n /** Make a copy of this SnapDetail. */\r\n public override clone(): SnapDetail {\r\n const val = new SnapDetail(this, this.snapMode, this.heat, this.snapPoint);\r\n val.sprite = this.sprite;\r\n val.geomType = this.geomType;\r\n val.parentGeomType = this.parentGeomType;\r\n val.adjustedPoint.setFrom(this.adjustedPoint);\r\n if (undefined !== this.primitive)\r\n val.primitive = this.primitive.clone();\r\n if (undefined !== this.normal)\r\n val.normal = this.normal.clone();\r\n return val;\r\n }\r\n\r\n public getCurvePrimitive(singleSegment: boolean = true): CurvePrimitive | undefined {\r\n if (!singleSegment || undefined === this.primitive)\r\n return this.primitive;\r\n\r\n if (this.primitive instanceof LineString3d) {\r\n const ls = this.primitive;\r\n if (ls.points.length > 2) {\r\n const loc = ls.closestPoint(this.snapPoint, false);\r\n const nSegments = ls.points.length - 1;\r\n const uSegRange = (1.0 / nSegments);\r\n let segmentNo = Math.floor(loc.fraction / uSegRange);\r\n if (segmentNo >= nSegments)\r\n segmentNo = nSegments - 1;\r\n return LineSegment3d.create(ls.points[segmentNo], ls.points[segmentNo + 1]);\r\n }\r\n }\r\n\r\n return this.primitive;\r\n }\r\n\r\n public override draw(context: DecorateContext) {\r\n if (undefined !== this.primitive) {\r\n let singleSegment = false;\r\n switch (this.snapMode) {\r\n case SnapMode.Center:\r\n case SnapMode.Origin:\r\n case SnapMode.Bisector:\r\n break; // Snap point for these is computed using entire linestring, not just the hit segment...\r\n\r\n default: {\r\n singleSegment = true;\r\n break;\r\n }\r\n }\r\n\r\n const builder = context.createGraphicBuilder(GraphicType.WorldOverlay);\r\n const outline = context.viewport.hilite.color.adjustedForContrast(context.viewport.view.backgroundColor, 50);\r\n const centerLine = context.viewport.hilite.color.adjustedForContrast(outline, 175);\r\n const path = Path.create(this.getCurvePrimitive(singleSegment)!);\r\n\r\n builder.setSymbology(outline, outline, 6);\r\n builder.addPath(path);\r\n\r\n builder.setSymbology(centerLine, centerLine, 2);\r\n builder.addPath(path);\r\n\r\n context.addDecorationFromBuilder(builder);\r\n return;\r\n }\r\n super.draw(context);\r\n }\r\n\r\n private static getSnapSpriteUrl(snapType: SnapMode): string {\r\n switch (snapType) {\r\n case SnapMode.Nearest: return `${IModelApp.publicPath}sprites/SnapPointOn.png`;\r\n case SnapMode.NearestKeypoint: return `${IModelApp.publicPath}sprites/SnapKeypoint.png`;\r\n case SnapMode.MidPoint: return `${IModelApp.publicPath}sprites/SnapMidpoint.png`;\r\n case SnapMode.Center: return `${IModelApp.publicPath}sprites/SnapCenter.png`;\r\n case SnapMode.Origin: return `${IModelApp.publicPath}sprites/SnapOrigin.png`;\r\n case SnapMode.Bisector: return `${IModelApp.publicPath}sprites/SnapBisector.png`;\r\n case SnapMode.Intersection: return `${IModelApp.publicPath}sprites/SnapIntersection.png`;\r\n }\r\n return \"\";\r\n }\r\n}\r\n\r\n/**\r\n * @public\r\n * @extensions\r\n */\r\nexport class IntersectDetail extends SnapDetail {\r\n public constructor(from: SnapDetail, heat: SnapHeat = SnapHeat.None, snapPoint: XYZProps, public readonly otherPrimitive: CurvePrimitive, public readonly otherId: string) {\r\n super(from, SnapMode.Intersection, heat, snapPoint);\r\n this.primitive = from.primitive;\r\n this.normal = from.normal; // Preserve normal from primary snap location for AccuDraw smart rotation...\r\n }\r\n\r\n public override draw(context: DecorateContext) {\r\n if (undefined !== this.primitive && undefined !== this.otherPrimitive) {\r\n const builder = context.createGraphicBuilder(GraphicType.WorldOverlay);\r\n const outline = context.viewport.hilite.color.adjustedForContrast(context.viewport.view.backgroundColor, 50);\r\n const centerLine = context.viewport.hilite.color.adjustedForContrast(outline, 175);\r\n const path1 = Path.create(this.primitive);\r\n const path2 = Path.create(this.otherPrimitive);\r\n\r\n builder.setSymbology(outline, outline, 6);\r\n builder.addPath(path1);\r\n builder.addPath(path2);\r\n\r\n builder.setSymbology(centerLine, centerLine, 2);\r\n builder.addPath(path1);\r\n builder.setSymbology(centerLine, centerLine, 2, LinePixels.Code2);\r\n builder.addPath(path2);\r\n\r\n context.addDecorationFromBuilder(builder);\r\n return;\r\n }\r\n super.draw(context);\r\n }\r\n}\r\n\r\n/** The result of a \"locate\" is a sorted list of objects that satisfied the search criteria (a HitList). Earlier hits in the list\r\n * are somehow *better* than those later on.\r\n * @public\r\n * @extensions\r\n */\r\nexport class HitList<T extends HitDetail> {\r\n public hits: T[] = [];\r\n public currHit = -1;\r\n public get length(): number { return this.hits.length; }\r\n public empty(): void {\r\n this.hits.length = 0;\r\n this.currHit = -1;\r\n }\r\n\r\n public resetCurrentHit(): void { this.currHit = -1; }\r\n\r\n /** Get a hit from a particular index into a HitList\r\n * return the requested hit from the HitList or undefined\r\n */\r\n public getHit(hitNum: number): T | undefined {\r\n if (hitNum < 0)\r\n hitNum = this.length - 1;\r\n\r\n return (hitNum >= this.length) ? undefined : this.hits[hitNum];\r\n }\r\n\r\n /** When setting one or more indices to undefined you must call dropNulls afterwards */\r\n public setHit(i: number, p: T | undefined): void {\r\n if (i < 0 || i >= this.length)\r\n return;\r\n this.hits[i] = p!;\r\n }\r\n\r\n public dropNulls(): void {\r\n const hits = this.hits;\r\n this.hits = [];\r\n for (const hit of hits)\r\n this.hits.push(hit);\r\n }\r\n\r\n public getNextHit(): T | undefined {\r\n this.currHit++;\r\n return this.getCurrentHit();\r\n }\r\n\r\n public getCurrentHit(): T | undefined { return -1 === this.currHit ? undefined : this.getHit(this.currHit); }\r\n\r\n public setCurrentHit(hit: T): void {\r\n this.resetCurrentHit();\r\n for (let thisHit; undefined !== (thisHit = this.getNextHit());) {\r\n if (thisHit === hit)\r\n return;\r\n }\r\n }\r\n\r\n /** remove the current hit from the list. */\r\n public removeCurrentHit() { this.removeHit(this.currHit); }\r\n\r\n /** remove a hit in the list. */\r\n public removeHit(hitNum: number) {\r\n if (hitNum < 0) // Support -1 == END\r\n hitNum = this.length - 1;\r\n\r\n if (hitNum <= this.currHit)\r\n this.currHit = -1;\r\n\r\n if (hitNum >= this.length) // Locate calls GetNextHit, which increments currHit, until it goes beyond the end of size of the array.\r\n return; // Then Reset call RemoteCurrentHit, which passes in currHit. When it is out of range, we do nothing.\r\n\r\n this.hits.splice(hitNum, 1);\r\n }\r\n\r\n /** search through list and remove any hits that contain a specified element id. */\r\n public removeHitsFrom(sourceId: string): boolean {\r\n let removedOne = false;\r\n\r\n // walk backwards through list so we don't have to worry about what happens on remove\r\n for (let i = this.length - 1; i >= 0; i--) {\r\n const thisHit = this.hits[i];\r\n if (thisHit && sourceId === thisHit.sourceId) {\r\n removedOne = true;\r\n this.removeHit(i);\r\n }\r\n }\r\n return removedOne;\r\n }\r\n\r\n private getPriorityZOverride(priority: HitPriority): number {\r\n switch (priority) {\r\n case HitPriority.WireEdge:\r\n case HitPriority.PlanarEdge:\r\n case HitPriority.NonPlanarEdge:\r\n return 0;\r\n case HitPriority.SilhouetteEdge:\r\n return 1;\r\n case HitPriority.PlanarSurface:\r\n case HitPriority.NonPlanarSurface:\r\n return 2;\r\n default:\r\n return 3;\r\n }\r\n }\r\n\r\n /** compare two hits for insertion into list. */\r\n public compare(hit1: HitDetail | undefined, hit2: HitDetail | undefined): -1 | 1 | 0 {\r\n if (!hit1 || !hit2)\r\n return 0;\r\n\r\n const zOverride1 = this.getPriorityZOverride(hit1.priority);\r\n const zOverride2 = this.getPriorityZOverride(hit2.priority);\r\n\r\n // Prefer edges over surfaces, this is more important than z because we know the edge isn't obscured...\r\n if (zOverride1 < zOverride2)\r\n return -1;\r\n if (zOverride1 > zOverride2)\r\n return 1;\r\n\r\n // Compare xy distance from pick point, prefer hits closer to center...\r\n if (hit1.distXY < hit2.distXY)\r\n return -1;\r\n if (hit1.distXY > hit2.distXY)\r\n return 1;\r\n\r\n // Compare distance fraction, prefer hits closer to eye...\r\n if (hit1.distFraction > hit2.distFraction)\r\n return -1;\r\n if (hit1.distFraction < hit2.distFraction)\r\n return 1;\r\n\r\n // Compare geometry class, prefer path/region hits over surface hits when all else is equal...\r\n if (hit1.priority < hit2.priority)\r\n return -1;\r\n if (hit1.priority > hit2.priority)\r\n return 1;\r\n\r\n return 0;\r\n }\r\n\r\n /** Add a new hit to the list. Hits are sorted according to their priority and distance. */\r\n public addHit(newHit: T): number {\r\n if (0 === this.hits.length) {\r\n this.hits.push(newHit);\r\n return 0;\r\n }\r\n let index = 0;\r\n for (; index < this.hits.length; ++index) {\r\n const oldHit = this.hits[index];\r\n const comparison = this.compare(newHit, oldHit);\r\n if (comparison < 0)\r\n break;\r\n }\r\n\r\n this.hits.splice(index, 0, newHit);\r\n return index;\r\n }\r\n\r\n /** Insert a new hit into the list at the supplied index. */\r\n public insertHit(i: number, hit: T): void {\r\n if (i < 0 || i >= this.length)\r\n this.hits.push(hit);\r\n else\r\n this.hits.splice(i, 0, hit);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"HitDetail.js","sourceRoot":"","sources":["../../src/HitDetail.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 LocatingElements\r\n */\r\nimport { assert, Id64, Id64String } from \"@itwin/core-bentley\";\r\nimport { Arc3d, CurvePrimitive, LineSegment3d, LineString3d, Path, Point3d, Transform, Vector3d, XYZProps } from \"@itwin/core-geometry\";\r\nimport { GeometryClass, LinePixels } from \"@itwin/core-common\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { GraphicType } from \"./render/GraphicBuilder\";\r\nimport { IconSprites, Sprite } from \"./Sprites\";\r\nimport { DecorateContext } from \"./ViewContext\";\r\nimport { ScreenViewport, Viewport } from \"./Viewport\";\r\n\r\n/**\r\n * @public\r\n * @extensions\r\n */\r\nexport enum SnapMode {\r\n Nearest = 1,\r\n NearestKeypoint = 1 << 1,\r\n MidPoint = 1 << 2,\r\n Center = 1 << 3,\r\n Origin = 1 << 4,\r\n Bisector = 1 << 5,\r\n Intersection = 1 << 6,\r\n}\r\n\r\n/**\r\n * @public\r\n * @extensions\r\n */\r\nexport enum SnapHeat {\r\n None = 0,\r\n NotInRange = 1, // \"of interest\", but out of range\r\n InRange = 2,\r\n}\r\n\r\n/** The procedure that generated this Hit.\r\n * @public\r\n * @extensions\r\n */\r\nexport enum HitSource {\r\n None = 0,\r\n FromUser = 1,\r\n MotionLocate = 2,\r\n AccuSnap = 3,\r\n TentativeSnap = 4,\r\n DataPoint = 5,\r\n Application = 6,\r\n EditAction = 7,\r\n EditActionSS = 8,\r\n}\r\n\r\n/** What was being tested to generate this hit. This is not the element or\r\n * GeometricPrimitive that generated the Hit, it is an indication of whether it is an edge or interior hit.\r\n * @public\r\n * @extensions\r\n */\r\nexport enum HitGeomType {\r\n None = 0,\r\n Point = 1,\r\n Segment = 2,\r\n Curve = 3,\r\n Arc = 4,\r\n Surface = 5,\r\n}\r\n\r\n/** Classification of GeometricPrimitive that generated the Hit.\r\n * @public\r\n * @extensions\r\n */\r\nexport enum HitParentGeomType {\r\n None = 0,\r\n Wire = 1,\r\n Sheet = 2,\r\n Solid = 3,\r\n Mesh = 4,\r\n Text = 5,\r\n}\r\n\r\n/**\r\n * @public\r\n * @extensions\r\n */\r\nexport enum HitPriority {\r\n WireEdge = 0,\r\n PlanarEdge = 1,\r\n NonPlanarEdge = 2,\r\n SilhouetteEdge = 3,\r\n PlanarSurface = 4,\r\n NonPlanarSurface = 5,\r\n Unknown = 6,\r\n}\r\n\r\n/**\r\n * @public\r\n * @extensions\r\n */\r\nexport enum HitDetailType {\r\n Hit = 1,\r\n Snap = 2,\r\n Intersection = 3,\r\n}\r\n\r\n/** Describes the [ViewAttachment]($backend), if any, from which the hit represented by a [[HitDetail]] originated.\r\n * @note Only [[SheetViewState]]s contain view attachments.\r\n * @beta\r\n */\r\nexport interface ViewAttachmentHitInfo {\r\n /** The element Id of the [ViewAttachment]($backend) from which the hit originated. */\r\n readonly id: Id64String;\r\n /** The viewport that renders the contents of the attached view into the [[ScreenViewport]].\r\n * @alpha\r\n */\r\n readonly viewport: Viewport;\r\n}\r\n\r\n/** Arguments supplied to the [[HitDetail]] constructor.\r\n * @public\r\n */\r\nexport interface HitDetailProps {\r\n /** The point in world coordinates that was used as the initial locate point. */\r\n readonly testPoint: Point3d;\r\n /** The viewport in which the locate operation was performed. */\r\n readonly viewport: ScreenViewport;\r\n /** The procedure that requested the locate operation. */\r\n readonly hitSource: HitSource;\r\n /** The approximate location in world coordinates on the geometry identified by this HitDetail. */\r\n readonly hitPoint: Point3d;\r\n /** The source of the geometry. This may be a persistent element Id, or a transient Id used for, e.g., pickable decorations. */\r\n readonly sourceId: Id64String;\r\n /** The hit geometry priority/classification. */\r\n readonly priority: HitPriority;\r\n /** The xy distance to the hit in view coordinates. */\r\n readonly distXY: number;\r\n /** The distance in view coordinates between the hit and the near plane. */\r\n readonly distFraction: number;\r\n /** The [SubCategory]($backend) to which the hit geometry belongs. */\r\n readonly subCategoryId?: Id64String;\r\n /** The class of the hit geometry. */\r\n readonly geometryClass?: GeometryClass;\r\n /** The Id of the [[ModelState]] from which the hit originated. */\r\n readonly modelId?: string;\r\n /** The IModelConnection from which the hit originated.\r\n * This should almost always be left undefined, unless the hit is known to have originated from an iModel\r\n * other than the one associated with the viewport.\r\n * @internal\r\n */\r\n readonly sourceIModel?: IModelConnection;\r\n /** @internal chiefly for debugging */\r\n readonly tileId?: string;\r\n /** True if the hit originated from a reality model classifier.\r\n * @alpha\r\n */\r\n readonly isClassifier?: boolean;\r\n /** Information about the [ViewAttachment]($backend) within which the hit geometry resides, if any.\r\n * @note Only [[SheetViewState]]s can have view attachments.\r\n * @beta\r\n */\r\n readonly viewAttachment?: ViewAttachmentHitInfo;\r\n}\r\n\r\n/** A HitDetail stores the result when locating geometry displayed in a view.\r\n * It holds an approximate location on an element (or decoration) from a *pick*.\r\n * @public\r\n * @extensions\r\n */\r\nexport class HitDetail {\r\n private readonly _props: HitDetailProps;\r\n\r\n /** The point in world coordinates that was used as the initial locate point. */\r\n public get testPoint(): Point3d { return this._props.testPoint; }\r\n /** The viewport in which the locate operation was performed. */\r\n public get viewport(): ScreenViewport { return this._props.viewport; }\r\n /** The procedure that requested the locate operation. */\r\n public get hitSource(): HitSource { return this._props.hitSource; }\r\n /** The approximate location in world coordinates on the geometry identified by this HitDetail. */\r\n public get hitPoint(): Point3d { return this._props.hitPoint; }\r\n /** The source of the geometry. This may be a persistent element Id, or a transient Id used for, e.g., pickable decorations. */\r\n public get sourceId(): Id64String { return this._props.sourceId; }\r\n /** The hit geometry priority/classification. */\r\n public get priority(): HitPriority { return this._props.priority; }\r\n /** The xy distance to the hit in view coordinates. */\r\n public get distXY(): number { return this._props.distXY; }\r\n /** The distance in view coordinates between the hit and the near plane. */\r\n public get distFraction(): number { return this._props.distFraction; }\r\n /** The [SubCategory]($backend) to which the hit geometry belongs. */\r\n public get subCategoryId(): Id64String | undefined { return this._props.subCategoryId; }\r\n /** The class of the hit geometry. */\r\n public get geometryClass(): GeometryClass | undefined { return this._props.geometryClass; }\r\n /** The Id of the [[ModelState]] from which the hit originated. */\r\n public get modelId(): string | undefined { return this._props.modelId; }\r\n /** The IModelConnection from which the hit originated.\r\n * This should almost always be left undefined, unless the hit is known to have originated from an iModel\r\n * other than the one associated with the viewport.\r\n * @internal\r\n */\r\n public get sourceIModel(): IModelConnection | undefined { return this._props.sourceIModel; }\r\n /** @internal chiefly for debugging */\r\n public get tileId(): string | undefined { return this._props.tileId; }\r\n /** True if the hit originated from a reality model classifier.\r\n * @alpha\r\n */\r\n public get isClassifier(): boolean | undefined { return this._props.isClassifier; }\r\n /** Information about the [ViewAttachment]($backend) within which the hit geometry resides, if any.\r\n * @note Only [[SheetViewState]]s can have view attachments.\r\n * @beta\r\n */\r\n public get viewAttachment(): ViewAttachmentHitInfo | undefined { return this._props.viewAttachment; }\r\n\r\n /** Create a new HitDetail from the inputs to and results of a locate operation. */\r\n public constructor(props: HitDetailProps);\r\n\r\n /** @deprecated in 4.1. Use the overload that takes a [[HitDetailProps]]. */\r\n public constructor(testPoint: Point3d, viewport: ScreenViewport, hitSource: HitSource, hitPoint: Point3d, sourceId: string, priority: HitPriority, distXY: number, distFraction: number, subCategoryId?: string, geometryClass?: GeometryClass, modelId?: string, sourceIModel?: IModelConnection, tileId?: string, isClassifier?: boolean);\r\n\r\n /** @internal */\r\n public constructor(arg0: Point3d | HitDetailProps, viewport?: ScreenViewport, hitSource?: HitSource, hitPoint?: Point3d, sourceId?: string, priority?: HitPriority, distXY?: number, distFraction?: number, subCategoryId?: string, geometryClass?: GeometryClass, modelId?: string, sourceIModel?: IModelConnection, tileId?: string, isClassifier?: boolean) {\r\n if (arg0 instanceof Point3d) {\r\n assert(undefined !== viewport && undefined !== hitSource && undefined !== hitPoint && undefined !== sourceId);\r\n assert(undefined !== priority && undefined !== distXY && undefined !== distFraction);\r\n\r\n this._props = {\r\n testPoint: arg0,\r\n viewport,\r\n hitSource,\r\n hitPoint,\r\n sourceId,\r\n priority,\r\n distXY,\r\n distFraction,\r\n subCategoryId,\r\n geometryClass,\r\n modelId,\r\n sourceIModel,\r\n tileId,\r\n isClassifier,\r\n };\r\n } else {\r\n // Tempting to use { ...arg0 } but spread operator omits getters so, e.g., if input is a HitDetail we would lose all the properties.\r\n this._props = {\r\n testPoint: arg0.testPoint,\r\n viewport: arg0.viewport,\r\n hitSource: arg0.hitSource,\r\n hitPoint: arg0.hitPoint,\r\n sourceId: arg0.sourceId,\r\n priority: arg0.priority,\r\n distXY: arg0.distXY,\r\n distFraction: arg0.distFraction,\r\n subCategoryId: arg0.subCategoryId,\r\n geometryClass: arg0.geometryClass,\r\n modelId: arg0.modelId,\r\n sourceIModel: arg0.sourceIModel,\r\n tileId: arg0.tileId,\r\n isClassifier: arg0.isClassifier,\r\n viewAttachment: arg0.viewAttachment,\r\n };\r\n }\r\n }\r\n\r\n /** Get the type of HitDetail.\r\n * @returns HitDetailType.Hit if this is a HitDetail, HitDetailType.Snap if it is a SnapDetail\r\n */\r\n public getHitType(): HitDetailType { return HitDetailType.Hit; }\r\n\r\n /** Get the *hit point* for this HitDetail. Returns the approximate point on the element that caused the hit when not a SnapDetail or IntersectDetail.\r\n * For a snap that is *hot*, the *exact* point on the Element for the snap mode is returned, otherwise the close point on the hit geometry is returned.\r\n */\r\n public getPoint(): Point3d { return this.hitPoint; }\r\n\r\n /** Determine if this HitPoint is from the same source as another HitDetail. */\r\n public isSameHit(otherHit?: HitDetail): boolean { return (undefined !== otherHit && this.sourceId === otherHit.sourceId && this.iModel === otherHit.iModel); }\r\n /** Return whether sourceId is for a persistent element and not a pickable decoration. */\r\n public get isElementHit(): boolean { return !Id64.isInvalid(this.sourceId) && !Id64.isTransient(this.sourceId); }\r\n // return whether the sourceId is for a model (reality models etc.)\r\n public get isModelHit(): boolean {\r\n return this.modelId === this.sourceId;\r\n }\r\n // return whether the hit point is from map.\r\n public get isMapHit(): boolean { return 0 !== this.viewport.mapLayerFromHit(this).length; }\r\n\r\n /** Create a deep copy of this HitDetail */\r\n public clone(): HitDetail {\r\n return new HitDetail(this);\r\n }\r\n\r\n /** Draw this HitDetail as a Decoration. Causes the picked element to *flash* */\r\n public draw(_context: DecorateContext) {\r\n this.viewport.flashedId = this.sourceId;\r\n }\r\n\r\n /** Get the tooltip content for this HitDetail. */\r\n public async getToolTip(): Promise<HTMLElement | string> {\r\n let toolTipPromise = this.isElementHit ? IModelApp.viewManager.overrideElementToolTip(this) : IModelApp.viewManager.getDecorationToolTip(this);\r\n for (const toolTipProvider of IModelApp.viewManager.toolTipProviders)\r\n toolTipPromise = toolTipProvider.augmentToolTip(this, toolTipPromise);\r\n return toolTipPromise;\r\n }\r\n\r\n /** The IModelConnection from which the hit originated. In some cases this may not be the same as the iModel associated with the Viewport -\r\n * for example, if a [[TiledGraphicsProvider]] is used to display graphics from a different iModel in the viewport.\r\n * This HitDetail's element, subcategory, and model Ids are defined in the context of this IModelConnection.\r\n */\r\n public get iModel(): IModelConnection {\r\n return this.sourceIModel ?? this.viewport.iModel;\r\n }\r\n\r\n /** Returns true if this hit originated from an [[IModelConnection]] other than the one associated with the [[Viewport]].\r\n * @see [[iModel]].\r\n */\r\n public get isExternalIModelHit(): boolean {\r\n return this.iModel !== this.viewport.iModel;\r\n }\r\n}\r\n\r\n/** A SnapDetail is generated from the result of a snap request. In addition to the HitDetail about the reason the element was *picked*,\r\n * it holds the *exact* point on the element from the snapping logic, plus additional information that varies with the type of element and snap mode.\r\n * @public\r\n * @extensions\r\n */\r\nexport class SnapDetail extends HitDetail {\r\n /** A sprite to show the user the type of snap performed */\r\n public sprite?: Sprite;\r\n /** HitPoint adjusted by snap */\r\n public readonly snapPoint: Point3d;\r\n /** AccuSnap/AccuDraw can adjust the point after the snap. */\r\n public readonly adjustedPoint: Point3d;\r\n /** Curve primitive for snap. */\r\n public primitive?: CurvePrimitive;\r\n /** Surface normal at snapPoint */\r\n public normal?: Vector3d;\r\n /** The HitGeomType of this SnapDetail */\r\n public geomType?: HitGeomType;\r\n /** The HitGeomType of this SnapDetail */\r\n public parentGeomType?: HitParentGeomType;\r\n\r\n /** Constructor for SnapDetail.\r\n * @param from The HitDetail that created this snap\r\n * @param snapMode The SnapMode used to create this SnapDetail\r\n * @param heat The SnapHeat of this SnapDetail\r\n * @param snapPoint The snapped point in the element\r\n */\r\n public constructor(from: HitDetail, public snapMode: SnapMode = SnapMode.Nearest, public heat: SnapHeat = SnapHeat.None, snapPoint?: XYZProps) {\r\n super(from);\r\n this.snapPoint = Point3d.fromJSON(snapPoint ? snapPoint : from.hitPoint);\r\n this.adjustedPoint = this.snapPoint.clone();\r\n this.sprite = IconSprites.getSpriteFromUrl(SnapDetail.getSnapSpriteUrl(snapMode));\r\n }\r\n\r\n /** Returns `HitDetailType.Snap` */\r\n public override getHitType(): HitDetailType { return HitDetailType.Snap; }\r\n /** Get the snap point if this SnapDetail is *hot*, the pick point otherwise. */\r\n public override getPoint(): Point3d { return this.isHot ? this.snapPoint : super.getPoint(); }\r\n /** Return true if the pick point was closer than the snap aperture from the generated snap point. */\r\n public get isHot(): boolean { return this.heat !== SnapHeat.None; }\r\n /** Determine whether the [[adjustedPoint]] is different than the [[snapPoint]]. This happens, for example, when points are adjusted for grids, acs plane snap, and AccuDraw. */\r\n public get isPointAdjusted(): boolean { return !this.adjustedPoint.isExactEqual(this.snapPoint); }\r\n /** Change the snap point. */\r\n public setSnapPoint(point: Point3d, heat: SnapHeat) {\r\n this.snapPoint.setFrom(point);\r\n this.adjustedPoint.setFrom(point);\r\n this.heat = heat;\r\n }\r\n\r\n /** Set curve primitive and HitGeometryType for this SnapDetail. */\r\n public setCurvePrimitive(primitive?: CurvePrimitive, localToWorld?: Transform, geomType?: HitGeomType): void {\r\n this.primitive = primitive;\r\n this.geomType = undefined;\r\n\r\n // Only HitGeomType.Point and HitGeomType.Surface are valid without a curve primitive.\r\n if (undefined === this.primitive) {\r\n if (HitGeomType.Point === geomType || HitGeomType.Surface === geomType)\r\n this.geomType = geomType;\r\n return;\r\n }\r\n\r\n if (undefined !== localToWorld)\r\n this.primitive.tryTransformInPlace(localToWorld);\r\n\r\n if (this.primitive instanceof Arc3d)\r\n this.geomType = HitGeomType.Arc;\r\n else if (this.primitive instanceof LineSegment3d)\r\n this.geomType = HitGeomType.Segment;\r\n else if (this.primitive instanceof LineString3d)\r\n this.geomType = HitGeomType.Segment;\r\n else\r\n this.geomType = HitGeomType.Curve;\r\n\r\n // Set curve primitive geometry type override...\r\n // - HitGeomType.Point with arc/ellipse denotes center.\r\n // - HitGeomType.Surface with any curve primitive denotes an interior hit.\r\n if (undefined !== geomType && HitGeomType.None !== geomType)\r\n this.geomType = geomType;\r\n }\r\n\r\n /** Make a copy of this SnapDetail. */\r\n public override clone(): SnapDetail {\r\n const val = new SnapDetail(this, this.snapMode, this.heat, this.snapPoint);\r\n val.sprite = this.sprite;\r\n val.geomType = this.geomType;\r\n val.parentGeomType = this.parentGeomType;\r\n val.adjustedPoint.setFrom(this.adjustedPoint);\r\n if (undefined !== this.primitive)\r\n val.primitive = this.primitive.clone();\r\n if (undefined !== this.normal)\r\n val.normal = this.normal.clone();\r\n return val;\r\n }\r\n\r\n public getCurvePrimitive(singleSegment: boolean = true): CurvePrimitive | undefined {\r\n if (!singleSegment || undefined === this.primitive)\r\n return this.primitive;\r\n\r\n if (this.primitive instanceof LineString3d) {\r\n const ls = this.primitive;\r\n if (ls.points.length > 2) {\r\n const loc = ls.closestPoint(this.snapPoint, false);\r\n const nSegments = ls.points.length - 1;\r\n const uSegRange = (1.0 / nSegments);\r\n let segmentNo = Math.floor(loc.fraction / uSegRange);\r\n if (segmentNo >= nSegments)\r\n segmentNo = nSegments - 1;\r\n return LineSegment3d.create(ls.points[segmentNo], ls.points[segmentNo + 1]);\r\n }\r\n }\r\n\r\n return this.primitive;\r\n }\r\n\r\n public override draw(context: DecorateContext) {\r\n if (undefined !== this.primitive) {\r\n let singleSegment = false;\r\n switch (this.snapMode) {\r\n case SnapMode.Center:\r\n case SnapMode.Origin:\r\n case SnapMode.Bisector:\r\n break; // Snap point for these is computed using entire linestring, not just the hit segment...\r\n\r\n default: {\r\n singleSegment = true;\r\n break;\r\n }\r\n }\r\n\r\n const builder = context.createGraphicBuilder(GraphicType.WorldOverlay);\r\n const outline = context.viewport.hilite.color.adjustedForContrast(context.viewport.view.backgroundColor, 50);\r\n const centerLine = context.viewport.hilite.color.adjustedForContrast(outline, 175);\r\n const path = Path.create(this.getCurvePrimitive(singleSegment)!);\r\n\r\n builder.setSymbology(outline, outline, 6);\r\n builder.addPath(path);\r\n\r\n builder.setSymbology(centerLine, centerLine, 2);\r\n builder.addPath(path);\r\n\r\n context.addDecorationFromBuilder(builder);\r\n return;\r\n }\r\n super.draw(context);\r\n }\r\n\r\n private static getSnapSpriteUrl(snapType: SnapMode): string {\r\n switch (snapType) {\r\n case SnapMode.Nearest: return `${IModelApp.publicPath}sprites/SnapPointOn.png`;\r\n case SnapMode.NearestKeypoint: return `${IModelApp.publicPath}sprites/SnapKeypoint.png`;\r\n case SnapMode.MidPoint: return `${IModelApp.publicPath}sprites/SnapMidpoint.png`;\r\n case SnapMode.Center: return `${IModelApp.publicPath}sprites/SnapCenter.png`;\r\n case SnapMode.Origin: return `${IModelApp.publicPath}sprites/SnapOrigin.png`;\r\n case SnapMode.Bisector: return `${IModelApp.publicPath}sprites/SnapBisector.png`;\r\n case SnapMode.Intersection: return `${IModelApp.publicPath}sprites/SnapIntersection.png`;\r\n }\r\n return \"\";\r\n }\r\n}\r\n\r\n/**\r\n * @public\r\n * @extensions\r\n */\r\nexport class IntersectDetail extends SnapDetail {\r\n public constructor(from: SnapDetail, heat: SnapHeat = SnapHeat.None, snapPoint: XYZProps, public readonly otherPrimitive: CurvePrimitive, public readonly otherId: string) {\r\n super(from, SnapMode.Intersection, heat, snapPoint);\r\n this.primitive = from.primitive;\r\n this.normal = from.normal; // Preserve normal from primary snap location for AccuDraw smart rotation...\r\n }\r\n\r\n public override draw(context: DecorateContext) {\r\n if (undefined !== this.primitive && undefined !== this.otherPrimitive) {\r\n const builder = context.createGraphicBuilder(GraphicType.WorldOverlay);\r\n const outline = context.viewport.hilite.color.adjustedForContrast(context.viewport.view.backgroundColor, 50);\r\n const centerLine = context.viewport.hilite.color.adjustedForContrast(outline, 175);\r\n const path1 = Path.create(this.primitive);\r\n const path2 = Path.create(this.otherPrimitive);\r\n\r\n builder.setSymbology(outline, outline, 6);\r\n builder.addPath(path1);\r\n builder.addPath(path2);\r\n\r\n builder.setSymbology(centerLine, centerLine, 2);\r\n builder.addPath(path1);\r\n builder.setSymbology(centerLine, centerLine, 2, LinePixels.Code2);\r\n builder.addPath(path2);\r\n\r\n context.addDecorationFromBuilder(builder);\r\n return;\r\n }\r\n super.draw(context);\r\n }\r\n}\r\n\r\n/** The result of a \"locate\" is a sorted list of objects that satisfied the search criteria (a HitList). Earlier hits in the list\r\n * are somehow *better* than those later on.\r\n * @public\r\n * @extensions\r\n */\r\nexport class HitList<T extends HitDetail> {\r\n public hits: T[] = [];\r\n public currHit = -1;\r\n public get length(): number { return this.hits.length; }\r\n public empty(): void {\r\n this.hits.length = 0;\r\n this.currHit = -1;\r\n }\r\n\r\n public resetCurrentHit(): void { this.currHit = -1; }\r\n\r\n /** Get a hit from a particular index into a HitList\r\n * return the requested hit from the HitList or undefined\r\n */\r\n public getHit(hitNum: number): T | undefined {\r\n if (hitNum < 0)\r\n hitNum = this.length - 1;\r\n\r\n return (hitNum >= this.length) ? undefined : this.hits[hitNum];\r\n }\r\n\r\n /** When setting one or more indices to undefined you must call dropNulls afterwards */\r\n public setHit(i: number, p: T | undefined): void {\r\n if (i < 0 || i >= this.length)\r\n return;\r\n this.hits[i] = p!;\r\n }\r\n\r\n public dropNulls(): void {\r\n const hits = this.hits;\r\n this.hits = [];\r\n for (const hit of hits)\r\n this.hits.push(hit);\r\n }\r\n\r\n public getNextHit(): T | undefined {\r\n this.currHit++;\r\n return this.getCurrentHit();\r\n }\r\n\r\n public getCurrentHit(): T | undefined { return -1 === this.currHit ? undefined : this.getHit(this.currHit); }\r\n\r\n public setCurrentHit(hit: T): void {\r\n this.resetCurrentHit();\r\n for (let thisHit; undefined !== (thisHit = this.getNextHit());) {\r\n if (thisHit === hit)\r\n return;\r\n }\r\n }\r\n\r\n /** remove the current hit from the list. */\r\n public removeCurrentHit() { this.removeHit(this.currHit); }\r\n\r\n /** remove a hit in the list. */\r\n public removeHit(hitNum: number) {\r\n if (hitNum < 0) // Support -1 == END\r\n hitNum = this.length - 1;\r\n\r\n if (hitNum <= this.currHit)\r\n this.currHit = -1;\r\n\r\n if (hitNum >= this.length) // Locate calls GetNextHit, which increments currHit, until it goes beyond the end of size of the array.\r\n return; // Then Reset call RemoteCurrentHit, which passes in currHit. When it is out of range, we do nothing.\r\n\r\n this.hits.splice(hitNum, 1);\r\n }\r\n\r\n /** search through list and remove any hits that contain a specified element id. */\r\n public removeHitsFrom(sourceId: string): boolean {\r\n let removedOne = false;\r\n\r\n // walk backwards through list so we don't have to worry about what happens on remove\r\n for (let i = this.length - 1; i >= 0; i--) {\r\n const thisHit = this.hits[i];\r\n if (thisHit && sourceId === thisHit.sourceId) {\r\n removedOne = true;\r\n this.removeHit(i);\r\n }\r\n }\r\n return removedOne;\r\n }\r\n\r\n private getPriorityZOverride(priority: HitPriority): number {\r\n switch (priority) {\r\n case HitPriority.WireEdge:\r\n case HitPriority.PlanarEdge:\r\n case HitPriority.NonPlanarEdge:\r\n return 0;\r\n case HitPriority.SilhouetteEdge:\r\n return 1;\r\n case HitPriority.PlanarSurface:\r\n case HitPriority.NonPlanarSurface:\r\n return 2;\r\n default:\r\n return 3;\r\n }\r\n }\r\n\r\n /** compare two hits for insertion into list. */\r\n public compare(hit1: HitDetail | undefined, hit2: HitDetail | undefined): -1 | 1 | 0 {\r\n if (!hit1 || !hit2)\r\n return 0;\r\n\r\n const zOverride1 = this.getPriorityZOverride(hit1.priority);\r\n const zOverride2 = this.getPriorityZOverride(hit2.priority);\r\n\r\n // Prefer edges over surfaces, this is more important than z because we know the edge isn't obscured...\r\n if (zOverride1 < zOverride2)\r\n return -1;\r\n if (zOverride1 > zOverride2)\r\n return 1;\r\n\r\n // Compare xy distance from pick point, prefer hits closer to center...\r\n if (hit1.distXY < hit2.distXY)\r\n return -1;\r\n if (hit1.distXY > hit2.distXY)\r\n return 1;\r\n\r\n // Compare distance fraction, prefer hits closer to eye...\r\n if (hit1.distFraction > hit2.distFraction)\r\n return -1;\r\n if (hit1.distFraction < hit2.distFraction)\r\n return 1;\r\n\r\n // Compare geometry class, prefer path/region hits over surface hits when all else is equal...\r\n if (hit1.priority < hit2.priority)\r\n return -1;\r\n if (hit1.priority > hit2.priority)\r\n return 1;\r\n\r\n return 0;\r\n }\r\n\r\n /** Add a new hit to the list. Hits are sorted according to their priority and distance. */\r\n public addHit(newHit: T): number {\r\n if (0 === this.hits.length) {\r\n this.hits.push(newHit);\r\n return 0;\r\n }\r\n let index = 0;\r\n for (; index < this.hits.length; ++index) {\r\n const oldHit = this.hits[index];\r\n const comparison = this.compare(newHit, oldHit);\r\n if (comparison < 0)\r\n break;\r\n }\r\n\r\n this.hits.splice(index, 0, newHit);\r\n return index;\r\n }\r\n\r\n /** Insert a new hit into the list at the supplied index. */\r\n public insertHit(i: number, hit: T): void {\r\n if (i < 0 || i >= this.length)\r\n this.hits.push(hit);\r\n else\r\n this.hits.splice(i, 0, hit);\r\n }\r\n}\r\n"]}
@@ -105,7 +105,7 @@ export interface IModelAppOptions {
105
105
  publicPath?: string;
106
106
  }
107
107
  /** Options for [[IModelApp.makeModalDiv]]
108
- * @internal
108
+ * @public
109
109
  */
110
110
  export interface ModalOptions {
111
111
  /** Width for the Modal dialog box. */
@@ -118,12 +118,14 @@ export interface ModalOptions {
118
118
  rootDiv?: HTMLElement;
119
119
  }
120
120
  /** Return type for [[IModelApp.makeModalDiv]]
121
- * @internal
121
+ * @public
122
122
  */
123
123
  export interface ModalReturn {
124
124
  /** The modal HTMLDivElement created. */
125
125
  modal: HTMLDivElement;
126
- /** 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. */
126
+ /** A function that can be set as an event handler to stop the modal dialog. This can be used if [[ModalOptions.autoClose]] or [[IModalOptions.closeBox]]
127
+ * were not enabled for the dialog.
128
+ */
127
129
  stop: (_ev: Event) => void;
128
130
  }
129
131
  /**
@@ -165,11 +167,9 @@ export declare class IModelApp {
165
167
  private static _realityDataAccess?;
166
168
  private static _publicPath;
167
169
  protected constructor();
168
- /** Event raised just before the frontend IModelApp is to be shut down */
170
+ /** Event raised just before the frontend IModelApp is to be [[shutdown]]. */
169
171
  static readonly onBeforeShutdown: BeEvent<() => void>;
170
- /** Event raised after IModelApp is finished starting up.
171
- * @internal
172
- */
172
+ /** Event raised after IModelApp [[startup]] completes. */
173
173
  static readonly onAfterStartup: BeEvent<() => void>;
174
174
  /** The AuthorizationClient used to obtain [AccessToken]($bentley)s. */
175
175
  static authorizationClient?: AuthorizationClient;
@@ -222,7 +222,12 @@ export declare class IModelApp {
222
222
  * @beta
223
223
  */
224
224
  static get realityDataAccess(): RealityDataAccess | undefined;
225
- /** @internal */
225
+ /** Whether the [renderSystem[]] has been successfully initialized.
226
+ * This will always be `false` before calling [[startup]] and after calling [[shutdown]].
227
+ * In rare circumstances (e.g., while executing in a headless test environment) it may remain `false` due to a failure to
228
+ * obtain a [WebGL rendering context](https://www.google.com/search?channel=fs&client=ubuntu-sn&q=mdn+webglrenderingcontext).
229
+ * As long as you have called [[startup]], you can generally assume it to be `true`.
230
+ */
226
231
  static get hasRenderSystem(): boolean;
227
232
  /** The [[UiAdmin]] for this session. */
228
233
  static get uiAdmin(): UiAdmin;
@@ -278,7 +283,9 @@ export declare class IModelApp {
278
283
  */
279
284
  static get animationInterval(): BeDuration | undefined;
280
285
  static set animationInterval(interval: BeDuration | undefined);
281
- /** @internal */
286
+ /** Request that the event loop execute on the next [animation frame](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame).
287
+ * There is generally no reason for applications to invoke this method directly.
288
+ */
282
289
  static requestNextAnimation(): void;
283
290
  /** @internal */
284
291
  private static clearIntervalAnimation;
@@ -298,9 +305,7 @@ export declare class IModelApp {
298
305
  /** @internal */
299
306
  static createRenderSys(opts?: RenderSystem.Options): RenderSystem;
300
307
  private static _setupRpcRequestContext;
301
- /** Shortcut for creating an HTMLElement with optional parent, className, id, innerHTML, innerText
302
- * @internal
303
- */
308
+ /** Shortcut for creating an HTMLElement with optional parent, className, id, innerHTML, innerText. */
304
309
  static makeHTMLElement<K extends keyof HTMLElementTagNameMap>(type: K, opt?: {
305
310
  /** The parent for the new HTMLElement */
306
311
  parent?: HTMLElement;
@@ -313,10 +318,9 @@ export declare class IModelApp {
313
318
  /** innerText for the new HTMLElement */
314
319
  innerText?: string;
315
320
  }): HTMLElementTagNameMap[K];
316
- /** Make a modal dialog on top of the root of the application. The returned HTMLDivElement will be placed topmost, all other application
321
+ /** Shortcut for making a modal dialog on top of the root of the application. The returned HTMLDivElement will be placed topmost, all other application
317
322
  * windows will be covered with a semi-transparent background that intercepts all key/mouse/touch events until the modal is dismissed.
318
323
  * @param options The options that describe how the modal should work.
319
- * @internal
320
324
  */
321
325
  static makeModalDiv(options: ModalOptions): ModalReturn;
322
326
  /** Applications may implement this method to supply a Logo Card.
@@ -1 +1 @@
1
- {"version":3,"file":"IModelApp.d.ts","sourceRoot":"","sources":["../../src/IModelApp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IModelApp.d.ts","sourceRoot":"","sources":["../../src/IModelApp.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ import * as displayStyleState from "./DisplayStyleState";
25
25
  import * as drawingViewState from "./DrawingViewState";
26
26
  import { ElementLocateManager } from "./ElementLocateManager";
27
27
  import { EntityState } from "./EntityState";
28
- import { FrontendLoggerCategory } from "./FrontendLoggerCategory";
28
+ import { FrontendLoggerCategory } from "./common/FrontendLoggerCategory";
29
29
  import * as modelselector from "./ModelSelectorState";
30
30
  import * as modelState from "./ModelState";
31
31
  import { NotificationManager } from "./NotificationManager";
@@ -106,8 +106,15 @@ class IModelApp {
106
106
  * @beta
107
107
  */
108
108
  static get realityDataAccess() { return this._realityDataAccess; }
109
- /** @internal */
110
- static get hasRenderSystem() { return this._renderSystem !== undefined && this._renderSystem.isValid; }
109
+ /** Whether the [renderSystem[]] has been successfully initialized.
110
+ * This will always be `false` before calling [[startup]] and after calling [[shutdown]].
111
+ * In rare circumstances (e.g., while executing in a headless test environment) it may remain `false` due to a failure to
112
+ * obtain a [WebGL rendering context](https://www.google.com/search?channel=fs&client=ubuntu-sn&q=mdn+webglrenderingcontext).
113
+ * As long as you have called [[startup]], you can generally assume it to be `true`.
114
+ */
115
+ static get hasRenderSystem() {
116
+ return this._renderSystem !== undefined && this._renderSystem.isValid;
117
+ }
111
118
  /** The [[UiAdmin]] for this session. */
112
119
  static get uiAdmin() { return this._uiAdmin; }
113
120
  /** The requested security options for the frontend. */
@@ -148,7 +155,7 @@ class IModelApp {
148
155
  * @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).
149
156
  */
150
157
  static queryRenderCompatibility() {
151
- return queryRenderCompatibility(true, System.createContext);
158
+ return queryRenderCompatibility(true, (canvas, useWebGL2, inputContextAttributes) => System.createContext(canvas, useWebGL2, inputContextAttributes));
152
159
  }
153
160
  /**
154
161
  * This method must be called before any other `@itwin/core-frontend` methods are used.
@@ -240,7 +247,7 @@ class IModelApp {
240
247
  window.iModelAppForDebugger = undefined;
241
248
  }
242
249
  this._wantEventLoop = false;
243
- window.removeEventListener("resize", IModelApp.requestNextAnimation);
250
+ window.removeEventListener("resize", () => IModelApp.requestNextAnimation());
244
251
  this.clearIntervalAnimation();
245
252
  [this.toolAdmin, this.viewManager, this.tileAdmin].forEach((sys) => sys.onShutDown());
246
253
  this.tools.shutdown();
@@ -268,14 +275,16 @@ class IModelApp {
268
275
  IModelApp.requestIntervalAnimation();
269
276
  }
270
277
  }
271
- /** @internal */
278
+ /** Request that the event loop execute on the next [animation frame](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame).
279
+ * There is generally no reason for applications to invoke this method directly.
280
+ */
272
281
  static requestNextAnimation() {
273
282
  // Only want to call requestAnimationFrame if it is defined. Need to check whether current iModelApp is a NoRenderApp.
274
283
  if (IModelApp._noRender)
275
284
  return;
276
285
  if (!IModelApp._animationRequested) {
277
286
  IModelApp._animationRequested = true;
278
- requestAnimationFrame(IModelApp.eventLoop);
287
+ requestAnimationFrame(() => IModelApp.eventLoop());
279
288
  }
280
289
  }
281
290
  /** @internal */
@@ -297,7 +306,7 @@ class IModelApp {
297
306
  static startEventLoop() {
298
307
  if (!IModelApp._wantEventLoop) {
299
308
  IModelApp._wantEventLoop = true;
300
- window.addEventListener("resize", IModelApp.requestNextAnimation);
309
+ window.addEventListener("resize", () => IModelApp.requestNextAnimation());
301
310
  IModelApp.requestIntervalAnimation();
302
311
  IModelApp.requestNextAnimation();
303
312
  }
@@ -320,7 +329,7 @@ class IModelApp {
320
329
  ToolAdmin.exceptionHandler(exception); // eslint-disable-line @typescript-eslint/no-floating-promises
321
330
  IModelApp._wantEventLoop = false;
322
331
  IModelApp._animationRequested = true; // unrecoverable after exception, don't request any further frames.
323
- window.removeEventListener("resize", IModelApp.requestNextAnimation);
332
+ window.removeEventListener("resize", () => IModelApp.requestNextAnimation());
324
333
  }
325
334
  }
326
335
  /** Get the user's access token for this IModelApp, or a blank string if none is available.
@@ -363,9 +372,7 @@ class IModelApp {
363
372
  return serialized;
364
373
  };
365
374
  }
366
- /** Shortcut for creating an HTMLElement with optional parent, className, id, innerHTML, innerText
367
- * @internal
368
- */
375
+ /** Shortcut for creating an HTMLElement with optional parent, className, id, innerHTML, innerText. */
369
376
  static makeHTMLElement(type, opt) {
370
377
  const el = document.createElement(type);
371
378
  if (undefined !== opt) {
@@ -382,10 +389,9 @@ class IModelApp {
382
389
  }
383
390
  return el;
384
391
  }
385
- /** Make a modal dialog on top of the root of the application. The returned HTMLDivElement will be placed topmost, all other application
392
+ /** Shortcut for making a modal dialog on top of the root of the application. The returned HTMLDivElement will be placed topmost, all other application
386
393
  * windows will be covered with a semi-transparent background that intercepts all key/mouse/touch events until the modal is dismissed.
387
394
  * @param options The options that describe how the modal should work.
388
- * @internal
389
395
  */
390
396
  static makeModalDiv(options) {
391
397
  const root = options.rootDiv ? options.rootDiv : document.body;
@@ -511,11 +517,9 @@ IModelApp._initialized = false;
511
517
  IModelApp._wantEventLoop = false;
512
518
  IModelApp._animationRequested = false;
513
519
  IModelApp._animationInterval = BeDuration.fromSeconds(1);
514
- /** Event raised just before the frontend IModelApp is to be shut down */
520
+ /** Event raised just before the frontend IModelApp is to be [[shutdown]]. */
515
521
  IModelApp.onBeforeShutdown = new BeEvent();
516
- /** Event raised after IModelApp is finished starting up.
517
- * @internal
518
- */
522
+ /** Event raised after IModelApp [[startup]] completes. */
519
523
  IModelApp.onAfterStartup = new BeEvent();
520
524
  /** The [[ToolRegistry]] for this session. */
521
525
  IModelApp.tools = new ToolRegistry();