@itwin/core-frontend 3.2.0-dev.34 → 3.2.0-dev.37

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 (760) hide show
  1. package/CHANGELOG.md +8 -1
  2. package/lib/cjs/AccuDraw.d.ts +2 -0
  3. package/lib/cjs/AccuDraw.d.ts.map +1 -1
  4. package/lib/cjs/AccuDraw.js +2 -0
  5. package/lib/cjs/AccuDraw.js.map +1 -1
  6. package/lib/cjs/AccuSnap.d.ts +1 -0
  7. package/lib/cjs/AccuSnap.d.ts.map +1 -1
  8. package/lib/cjs/AccuSnap.js +1 -0
  9. package/lib/cjs/AccuSnap.js.map +1 -1
  10. package/lib/cjs/ApproximateTerrainHeights.d.ts.map +1 -1
  11. package/lib/cjs/ApproximateTerrainHeights.js +4 -2
  12. package/lib/cjs/ApproximateTerrainHeights.js.map +1 -1
  13. package/lib/cjs/ApproximateTerrainHeightsProps.d.ts +1 -1
  14. package/lib/cjs/ApproximateTerrainHeightsProps.d.ts.map +1 -1
  15. package/lib/cjs/ApproximateTerrainHeightsProps.js +2 -2
  16. package/lib/cjs/ApproximateTerrainHeightsProps.js.map +1 -1
  17. package/lib/cjs/AuxCoordSys.d.ts +12 -2
  18. package/lib/cjs/AuxCoordSys.d.ts.map +1 -1
  19. package/lib/cjs/AuxCoordSys.js +12 -2
  20. package/lib/cjs/AuxCoordSys.js.map +1 -1
  21. package/lib/cjs/BingLocation.d.ts +1 -0
  22. package/lib/cjs/BingLocation.d.ts.map +1 -1
  23. package/lib/cjs/BingLocation.js +1 -0
  24. package/lib/cjs/BingLocation.js.map +1 -1
  25. package/lib/cjs/CategorySelectorState.d.ts +1 -0
  26. package/lib/cjs/CategorySelectorState.d.ts.map +1 -1
  27. package/lib/cjs/CategorySelectorState.js +1 -0
  28. package/lib/cjs/CategorySelectorState.js.map +1 -1
  29. package/lib/cjs/ChangeFlags.d.ts +1 -0
  30. package/lib/cjs/ChangeFlags.d.ts.map +1 -1
  31. package/lib/cjs/ChangeFlags.js +1 -0
  32. package/lib/cjs/ChangeFlags.js.map +1 -1
  33. package/lib/cjs/ContextRealityModelState.d.ts +1 -0
  34. package/lib/cjs/ContextRealityModelState.d.ts.map +1 -1
  35. package/lib/cjs/ContextRealityModelState.js +1 -0
  36. package/lib/cjs/ContextRealityModelState.js.map +1 -1
  37. package/lib/cjs/CoordSystem.d.ts +1 -0
  38. package/lib/cjs/CoordSystem.d.ts.map +1 -1
  39. package/lib/cjs/CoordSystem.js +1 -0
  40. package/lib/cjs/CoordSystem.js.map +1 -1
  41. package/lib/cjs/DisplayStyleState.d.ts +4 -0
  42. package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
  43. package/lib/cjs/DisplayStyleState.js +3 -0
  44. package/lib/cjs/DisplayStyleState.js.map +1 -1
  45. package/lib/cjs/DrawingViewState.d.ts +1 -0
  46. package/lib/cjs/DrawingViewState.d.ts.map +1 -1
  47. package/lib/cjs/DrawingViewState.js +1 -0
  48. package/lib/cjs/DrawingViewState.js.map +1 -1
  49. package/lib/cjs/ElementLocateManager.d.ts +23 -5
  50. package/lib/cjs/ElementLocateManager.d.ts.map +1 -1
  51. package/lib/cjs/ElementLocateManager.js +19 -4
  52. package/lib/cjs/ElementLocateManager.js.map +1 -1
  53. package/lib/cjs/EmphasizeElements.d.ts +1 -0
  54. package/lib/cjs/EmphasizeElements.d.ts.map +1 -1
  55. package/lib/cjs/EmphasizeElements.js +1 -0
  56. package/lib/cjs/EmphasizeElements.js.map +1 -1
  57. package/lib/cjs/EntityState.d.ts +2 -0
  58. package/lib/cjs/EntityState.d.ts.map +1 -1
  59. package/lib/cjs/EntityState.js +2 -0
  60. package/lib/cjs/EntityState.js.map +1 -1
  61. package/lib/cjs/FeatureOverrideProvider.d.ts +1 -0
  62. package/lib/cjs/FeatureOverrideProvider.d.ts.map +1 -1
  63. package/lib/cjs/FeatureOverrideProvider.js.map +1 -1
  64. package/lib/cjs/FlashSettings.d.ts +3 -0
  65. package/lib/cjs/FlashSettings.d.ts.map +1 -1
  66. package/lib/cjs/FlashSettings.js +2 -0
  67. package/lib/cjs/FlashSettings.js.map +1 -1
  68. package/lib/cjs/FrontendHubAccess.d.ts +4 -1
  69. package/lib/cjs/FrontendHubAccess.d.ts.map +1 -1
  70. package/lib/cjs/FrontendHubAccess.js.map +1 -1
  71. package/lib/cjs/FrontendLoggerCategory.d.ts +1 -0
  72. package/lib/cjs/FrontendLoggerCategory.d.ts.map +1 -1
  73. package/lib/cjs/FrontendLoggerCategory.js +1 -0
  74. package/lib/cjs/FrontendLoggerCategory.js.map +1 -1
  75. package/lib/cjs/FrustumAnimator.d.ts +1 -0
  76. package/lib/cjs/FrustumAnimator.d.ts.map +1 -1
  77. package/lib/cjs/FrustumAnimator.js +1 -0
  78. package/lib/cjs/FrustumAnimator.js.map +1 -1
  79. package/lib/cjs/FuzzySearch.d.ts +1 -0
  80. package/lib/cjs/FuzzySearch.d.ts.map +1 -1
  81. package/lib/cjs/FuzzySearch.js.map +1 -1
  82. package/lib/cjs/GlobeAnimator.d.ts +1 -0
  83. package/lib/cjs/GlobeAnimator.d.ts.map +1 -1
  84. package/lib/cjs/GlobeAnimator.js +1 -0
  85. package/lib/cjs/GlobeAnimator.js.map +1 -1
  86. package/lib/cjs/HitDetail.d.ts +26 -5
  87. package/lib/cjs/HitDetail.d.ts.map +1 -1
  88. package/lib/cjs/HitDetail.js +26 -5
  89. package/lib/cjs/HitDetail.js.map +1 -1
  90. package/lib/cjs/IModelApp.d.ts +7 -0
  91. package/lib/cjs/IModelApp.d.ts.map +1 -1
  92. package/lib/cjs/IModelApp.js +32 -20
  93. package/lib/cjs/IModelApp.js.map +1 -1
  94. package/lib/cjs/IModelConnection.d.ts +1 -0
  95. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  96. package/lib/cjs/IModelConnection.js +1 -0
  97. package/lib/cjs/IModelConnection.js.map +1 -1
  98. package/lib/cjs/ImageUtil.d.ts +11 -0
  99. package/lib/cjs/ImageUtil.d.ts.map +1 -1
  100. package/lib/cjs/ImageUtil.js +11 -0
  101. package/lib/cjs/ImageUtil.js.map +1 -1
  102. package/lib/cjs/IpcApp.d.ts +1 -0
  103. package/lib/cjs/IpcApp.d.ts.map +1 -1
  104. package/lib/cjs/IpcApp.js +1 -0
  105. package/lib/cjs/IpcApp.js.map +1 -1
  106. package/lib/cjs/MarginPercent.d.ts +1 -0
  107. package/lib/cjs/MarginPercent.d.ts.map +1 -1
  108. package/lib/cjs/MarginPercent.js +1 -0
  109. package/lib/cjs/MarginPercent.js.map +1 -1
  110. package/lib/cjs/Marker.d.ts +16 -3
  111. package/lib/cjs/Marker.d.ts.map +1 -1
  112. package/lib/cjs/Marker.js +3 -0
  113. package/lib/cjs/Marker.js.map +1 -1
  114. package/lib/cjs/ModelSelectorState.d.ts +1 -0
  115. package/lib/cjs/ModelSelectorState.d.ts.map +1 -1
  116. package/lib/cjs/ModelSelectorState.js +1 -0
  117. package/lib/cjs/ModelSelectorState.js.map +1 -1
  118. package/lib/cjs/ModelState.d.ts +10 -0
  119. package/lib/cjs/ModelState.d.ts.map +1 -1
  120. package/lib/cjs/ModelState.js +10 -0
  121. package/lib/cjs/ModelState.js.map +1 -1
  122. package/lib/cjs/NotificationManager.d.ts +11 -0
  123. package/lib/cjs/NotificationManager.d.ts.map +1 -1
  124. package/lib/cjs/NotificationManager.js +10 -0
  125. package/lib/cjs/NotificationManager.js.map +1 -1
  126. package/lib/cjs/PerModelCategoryVisibility.d.ts +1 -0
  127. package/lib/cjs/PerModelCategoryVisibility.d.ts.map +1 -1
  128. package/lib/cjs/PerModelCategoryVisibility.js +1 -0
  129. package/lib/cjs/PerModelCategoryVisibility.js.map +1 -1
  130. package/lib/cjs/SelectionSet.d.ts +7 -0
  131. package/lib/cjs/SelectionSet.d.ts.map +1 -1
  132. package/lib/cjs/SelectionSet.js +3 -0
  133. package/lib/cjs/SelectionSet.js.map +1 -1
  134. package/lib/cjs/SheetViewState.d.ts +1 -0
  135. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  136. package/lib/cjs/SheetViewState.js +1 -0
  137. package/lib/cjs/SheetViewState.js.map +1 -1
  138. package/lib/cjs/SpatialViewState.d.ts +2 -0
  139. package/lib/cjs/SpatialViewState.d.ts.map +1 -1
  140. package/lib/cjs/SpatialViewState.js +2 -0
  141. package/lib/cjs/SpatialViewState.js.map +1 -1
  142. package/lib/cjs/Sprites.d.ts +3 -0
  143. package/lib/cjs/Sprites.d.ts.map +1 -1
  144. package/lib/cjs/Sprites.js +3 -0
  145. package/lib/cjs/Sprites.js.map +1 -1
  146. package/lib/cjs/StandardView.d.ts +1 -0
  147. package/lib/cjs/StandardView.d.ts.map +1 -1
  148. package/lib/cjs/StandardView.js +1 -0
  149. package/lib/cjs/StandardView.js.map +1 -1
  150. package/lib/cjs/TentativePoint.d.ts +4 -1
  151. package/lib/cjs/TentativePoint.d.ts.map +1 -1
  152. package/lib/cjs/TentativePoint.js +4 -1
  153. package/lib/cjs/TentativePoint.js.map +1 -1
  154. package/lib/cjs/Tiles.d.ts +1 -0
  155. package/lib/cjs/Tiles.d.ts.map +1 -1
  156. package/lib/cjs/Tiles.js +1 -0
  157. package/lib/cjs/Tiles.js.map +1 -1
  158. package/lib/cjs/ViewAnimation.d.ts +6 -0
  159. package/lib/cjs/ViewAnimation.d.ts.map +1 -1
  160. package/lib/cjs/ViewAnimation.js.map +1 -1
  161. package/lib/cjs/ViewCreator2d.d.ts +2 -0
  162. package/lib/cjs/ViewCreator2d.d.ts.map +1 -1
  163. package/lib/cjs/ViewCreator2d.js +1 -0
  164. package/lib/cjs/ViewCreator2d.js.map +1 -1
  165. package/lib/cjs/ViewCreator3d.d.ts +2 -0
  166. package/lib/cjs/ViewCreator3d.d.ts.map +1 -1
  167. package/lib/cjs/ViewCreator3d.js +1 -0
  168. package/lib/cjs/ViewCreator3d.js.map +1 -1
  169. package/lib/cjs/ViewGlobalLocation.d.ts +3 -0
  170. package/lib/cjs/ViewGlobalLocation.d.ts.map +1 -1
  171. package/lib/cjs/ViewGlobalLocation.js +1 -0
  172. package/lib/cjs/ViewGlobalLocation.js.map +1 -1
  173. package/lib/cjs/ViewManager.d.ts +3 -0
  174. package/lib/cjs/ViewManager.d.ts.map +1 -1
  175. package/lib/cjs/ViewManager.js +1 -0
  176. package/lib/cjs/ViewManager.js.map +1 -1
  177. package/lib/cjs/ViewPose.d.ts +1 -0
  178. package/lib/cjs/ViewPose.d.ts.map +1 -1
  179. package/lib/cjs/ViewPose.js +1 -0
  180. package/lib/cjs/ViewPose.js.map +1 -1
  181. package/lib/cjs/ViewRect.d.ts +1 -0
  182. package/lib/cjs/ViewRect.d.ts.map +1 -1
  183. package/lib/cjs/ViewRect.js +1 -0
  184. package/lib/cjs/ViewRect.js.map +1 -1
  185. package/lib/cjs/ViewState.d.ts +4 -0
  186. package/lib/cjs/ViewState.d.ts.map +1 -1
  187. package/lib/cjs/ViewState.js +3 -0
  188. package/lib/cjs/ViewState.js.map +1 -1
  189. package/lib/cjs/ViewStatus.d.ts +1 -0
  190. package/lib/cjs/ViewStatus.d.ts.map +1 -1
  191. package/lib/cjs/ViewStatus.js +1 -0
  192. package/lib/cjs/ViewStatus.js.map +1 -1
  193. package/lib/cjs/ViewingSpace.d.ts +1 -0
  194. package/lib/cjs/ViewingSpace.d.ts.map +1 -1
  195. package/lib/cjs/ViewingSpace.js +1 -0
  196. package/lib/cjs/ViewingSpace.js.map +1 -1
  197. package/lib/cjs/core-frontend.d.ts +6 -5
  198. package/lib/cjs/core-frontend.d.ts.map +1 -1
  199. package/lib/cjs/core-frontend.js +7 -5
  200. package/lib/cjs/core-frontend.js.map +1 -1
  201. package/lib/cjs/extension/Extension.d.ts +22 -3
  202. package/lib/cjs/extension/Extension.d.ts.map +1 -1
  203. package/lib/cjs/extension/Extension.js +0 -8
  204. package/lib/cjs/extension/Extension.js.map +1 -1
  205. package/lib/cjs/extension/ExtensionAdmin.d.ts +1 -3
  206. package/lib/cjs/extension/ExtensionAdmin.d.ts.map +1 -1
  207. package/lib/cjs/extension/ExtensionAdmin.js +1 -4
  208. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  209. package/lib/cjs/extension/ExtensionRuntime.js +231 -59
  210. package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
  211. package/lib/cjs/render/CanvasDecoration.d.ts +2 -0
  212. package/lib/cjs/render/CanvasDecoration.d.ts.map +1 -1
  213. package/lib/cjs/render/CanvasDecoration.js.map +1 -1
  214. package/lib/cjs/render/Decorations.d.ts +1 -0
  215. package/lib/cjs/render/Decorations.d.ts.map +1 -1
  216. package/lib/cjs/render/Decorations.js +1 -0
  217. package/lib/cjs/render/Decorations.js.map +1 -1
  218. package/lib/cjs/render/FeatureSymbology.d.ts +1 -0
  219. package/lib/cjs/render/FeatureSymbology.d.ts.map +1 -1
  220. package/lib/cjs/render/FeatureSymbology.js +1 -0
  221. package/lib/cjs/render/FeatureSymbology.js.map +1 -1
  222. package/lib/cjs/render/GraphicBranch.d.ts +2 -0
  223. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  224. package/lib/cjs/render/GraphicBranch.js +1 -0
  225. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  226. package/lib/cjs/render/GraphicBuilder.d.ts +8 -0
  227. package/lib/cjs/render/GraphicBuilder.d.ts.map +1 -1
  228. package/lib/cjs/render/GraphicBuilder.js +2 -0
  229. package/lib/cjs/render/GraphicBuilder.js.map +1 -1
  230. package/lib/cjs/render/GraphicPrimitive.d.ts +14 -0
  231. package/lib/cjs/render/GraphicPrimitive.d.ts.map +1 -1
  232. package/lib/cjs/render/GraphicPrimitive.js.map +1 -1
  233. package/lib/cjs/render/ParticleCollectionBuilder.d.ts +3 -0
  234. package/lib/cjs/render/ParticleCollectionBuilder.d.ts.map +1 -1
  235. package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
  236. package/lib/cjs/render/Pixel.d.ts +1 -0
  237. package/lib/cjs/render/Pixel.d.ts.map +1 -1
  238. package/lib/cjs/render/Pixel.js +1 -0
  239. package/lib/cjs/render/Pixel.js.map +1 -1
  240. package/lib/cjs/render/RenderClipVolume.d.ts +1 -0
  241. package/lib/cjs/render/RenderClipVolume.d.ts.map +1 -1
  242. package/lib/cjs/render/RenderClipVolume.js +1 -0
  243. package/lib/cjs/render/RenderClipVolume.js.map +1 -1
  244. package/lib/cjs/render/RenderGraphic.d.ts +3 -0
  245. package/lib/cjs/render/RenderGraphic.d.ts.map +1 -1
  246. package/lib/cjs/render/RenderGraphic.js +2 -0
  247. package/lib/cjs/render/RenderGraphic.js.map +1 -1
  248. package/lib/cjs/render/RenderSystem.d.ts +1 -0
  249. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  250. package/lib/cjs/render/RenderSystem.js +1 -0
  251. package/lib/cjs/render/RenderSystem.js.map +1 -1
  252. package/lib/cjs/render/RenderTexture.d.ts +7 -0
  253. package/lib/cjs/render/RenderTexture.d.ts.map +1 -1
  254. package/lib/cjs/render/RenderTexture.js.map +1 -1
  255. package/lib/cjs/render/Scene.d.ts +1 -0
  256. package/lib/cjs/render/Scene.d.ts.map +1 -1
  257. package/lib/cjs/render/Scene.js +1 -0
  258. package/lib/cjs/render/Scene.js.map +1 -1
  259. package/lib/cjs/render/ScreenSpaceEffectBuilder.d.ts +10 -0
  260. package/lib/cjs/render/ScreenSpaceEffectBuilder.d.ts.map +1 -1
  261. package/lib/cjs/render/ScreenSpaceEffectBuilder.js +2 -0
  262. package/lib/cjs/render/ScreenSpaceEffectBuilder.js.map +1 -1
  263. package/lib/cjs/render/webgl/System.d.ts +1 -1
  264. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  265. package/lib/cjs/render/webgl/Target.js +4 -1
  266. package/lib/cjs/render/webgl/Target.js.map +1 -1
  267. package/lib/cjs/tile/DisclosedTileTreeSet.d.ts +2 -0
  268. package/lib/cjs/tile/DisclosedTileTreeSet.d.ts.map +1 -1
  269. package/lib/cjs/tile/DisclosedTileTreeSet.js +1 -0
  270. package/lib/cjs/tile/DisclosedTileTreeSet.js.map +1 -1
  271. package/lib/cjs/tile/ImdlReader.d.ts +1 -0
  272. package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
  273. package/lib/cjs/tile/ImdlReader.js +1 -0
  274. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  275. package/lib/cjs/tile/Tile.d.ts +5 -0
  276. package/lib/cjs/tile/Tile.d.ts.map +1 -1
  277. package/lib/cjs/tile/Tile.js +5 -0
  278. package/lib/cjs/tile/Tile.js.map +1 -1
  279. package/lib/cjs/tile/TileAdmin.d.ts +3 -0
  280. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  281. package/lib/cjs/tile/TileAdmin.js +1 -0
  282. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  283. package/lib/cjs/tile/TileContent.d.ts +1 -0
  284. package/lib/cjs/tile/TileContent.d.ts.map +1 -1
  285. package/lib/cjs/tile/TileContent.js.map +1 -1
  286. package/lib/cjs/tile/TileDrawArgs.d.ts +2 -0
  287. package/lib/cjs/tile/TileDrawArgs.d.ts.map +1 -1
  288. package/lib/cjs/tile/TileDrawArgs.js +1 -0
  289. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  290. package/lib/cjs/tile/TileParams.d.ts +1 -0
  291. package/lib/cjs/tile/TileParams.d.ts.map +1 -1
  292. package/lib/cjs/tile/TileParams.js.map +1 -1
  293. package/lib/cjs/tile/TileRequest.d.ts +1 -0
  294. package/lib/cjs/tile/TileRequest.d.ts.map +1 -1
  295. package/lib/cjs/tile/TileRequest.js +1 -0
  296. package/lib/cjs/tile/TileRequest.js.map +1 -1
  297. package/lib/cjs/tile/TileRequestChannel.d.ts +2 -0
  298. package/lib/cjs/tile/TileRequestChannel.d.ts.map +1 -1
  299. package/lib/cjs/tile/TileRequestChannel.js +2 -0
  300. package/lib/cjs/tile/TileRequestChannel.js.map +1 -1
  301. package/lib/cjs/tile/TileRequestChannels.d.ts +1 -0
  302. package/lib/cjs/tile/TileRequestChannels.d.ts.map +1 -1
  303. package/lib/cjs/tile/TileRequestChannels.js +1 -0
  304. package/lib/cjs/tile/TileRequestChannels.js.map +1 -1
  305. package/lib/cjs/tile/TileTree.d.ts +2 -0
  306. package/lib/cjs/tile/TileTree.d.ts.map +1 -1
  307. package/lib/cjs/tile/TileTree.js +2 -0
  308. package/lib/cjs/tile/TileTree.js.map +1 -1
  309. package/lib/cjs/tile/TileTreeOwner.d.ts +1 -0
  310. package/lib/cjs/tile/TileTreeOwner.d.ts.map +1 -1
  311. package/lib/cjs/tile/TileTreeOwner.js.map +1 -1
  312. package/lib/cjs/tile/TileTreeParams.d.ts +1 -0
  313. package/lib/cjs/tile/TileTreeParams.d.ts.map +1 -1
  314. package/lib/cjs/tile/TileTreeParams.js.map +1 -1
  315. package/lib/cjs/tile/TileTreeReference.d.ts +2 -0
  316. package/lib/cjs/tile/TileTreeReference.d.ts.map +1 -1
  317. package/lib/cjs/tile/TileTreeReference.js +2 -0
  318. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  319. package/lib/cjs/tile/TileTreeSupplier.d.ts +1 -0
  320. package/lib/cjs/tile/TileTreeSupplier.d.ts.map +1 -1
  321. package/lib/cjs/tile/TileTreeSupplier.js.map +1 -1
  322. package/lib/cjs/tile/TileUsageMarker.d.ts +1 -0
  323. package/lib/cjs/tile/TileUsageMarker.d.ts.map +1 -1
  324. package/lib/cjs/tile/TileUsageMarker.js +1 -0
  325. package/lib/cjs/tile/TileUsageMarker.js.map +1 -1
  326. package/lib/cjs/tile/TiledGraphicsProvider.d.ts +1 -0
  327. package/lib/cjs/tile/TiledGraphicsProvider.d.ts.map +1 -1
  328. package/lib/cjs/tile/TiledGraphicsProvider.js.map +1 -1
  329. package/lib/cjs/tile/map/BingElevation.d.ts +1 -0
  330. package/lib/cjs/tile/map/BingElevation.d.ts.map +1 -1
  331. package/lib/cjs/tile/map/BingElevation.js +1 -0
  332. package/lib/cjs/tile/map/BingElevation.js.map +1 -1
  333. package/lib/cjs/tools/ClipViewTool.d.ts +5 -3
  334. package/lib/cjs/tools/ClipViewTool.d.ts.map +1 -1
  335. package/lib/cjs/tools/ClipViewTool.js +4 -3
  336. package/lib/cjs/tools/ClipViewTool.js.map +1 -1
  337. package/lib/cjs/tools/EditManipulator.d.ts +1 -0
  338. package/lib/cjs/tools/EditManipulator.d.ts.map +1 -1
  339. package/lib/cjs/tools/EditManipulator.js +1 -0
  340. package/lib/cjs/tools/EditManipulator.js.map +1 -1
  341. package/lib/cjs/tools/EventController.d.ts +1 -0
  342. package/lib/cjs/tools/EventController.d.ts.map +1 -1
  343. package/lib/cjs/tools/EventController.js +1 -0
  344. package/lib/cjs/tools/EventController.js.map +1 -1
  345. package/lib/cjs/tools/PrimitiveTool.d.ts +1 -0
  346. package/lib/cjs/tools/PrimitiveTool.d.ts.map +1 -1
  347. package/lib/cjs/tools/PrimitiveTool.js +1 -0
  348. package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
  349. package/lib/cjs/tools/SelectTool.d.ts +3 -0
  350. package/lib/cjs/tools/SelectTool.d.ts.map +1 -1
  351. package/lib/cjs/tools/SelectTool.js +3 -0
  352. package/lib/cjs/tools/SelectTool.js.map +1 -1
  353. package/lib/cjs/tools/Tool.d.ts +41 -6
  354. package/lib/cjs/tools/Tool.d.ts.map +1 -1
  355. package/lib/cjs/tools/Tool.js +27 -4
  356. package/lib/cjs/tools/Tool.js.map +1 -1
  357. package/lib/cjs/tools/ToolAdmin.d.ts +9 -2
  358. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  359. package/lib/cjs/tools/ToolAdmin.js +9 -2
  360. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  361. package/lib/cjs/tools/ToolAssistance.d.ts +7 -0
  362. package/lib/cjs/tools/ToolAssistance.d.ts.map +1 -1
  363. package/lib/cjs/tools/ToolAssistance.js +3 -0
  364. package/lib/cjs/tools/ToolAssistance.js.map +1 -1
  365. package/lib/cjs/tools/ToolSettings.d.ts +1 -0
  366. package/lib/cjs/tools/ToolSettings.d.ts.map +1 -1
  367. package/lib/cjs/tools/ToolSettings.js +1 -0
  368. package/lib/cjs/tools/ToolSettings.js.map +1 -1
  369. package/lib/cjs/tools/ViewTool.d.ts +2 -0
  370. package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
  371. package/lib/cjs/tools/ViewTool.js +2 -0
  372. package/lib/cjs/tools/ViewTool.js.map +1 -1
  373. package/lib/esm/AccuDraw.d.ts +2 -0
  374. package/lib/esm/AccuDraw.d.ts.map +1 -1
  375. package/lib/esm/AccuDraw.js +2 -0
  376. package/lib/esm/AccuDraw.js.map +1 -1
  377. package/lib/esm/AccuSnap.d.ts +1 -0
  378. package/lib/esm/AccuSnap.d.ts.map +1 -1
  379. package/lib/esm/AccuSnap.js +1 -0
  380. package/lib/esm/AccuSnap.js.map +1 -1
  381. package/lib/esm/ApproximateTerrainHeights.d.ts.map +1 -1
  382. package/lib/esm/ApproximateTerrainHeights.js +4 -2
  383. package/lib/esm/ApproximateTerrainHeights.js.map +1 -1
  384. package/lib/esm/ApproximateTerrainHeightsProps.d.ts +1 -1
  385. package/lib/esm/ApproximateTerrainHeightsProps.d.ts.map +1 -1
  386. package/lib/esm/ApproximateTerrainHeightsProps.js +1 -1
  387. package/lib/esm/ApproximateTerrainHeightsProps.js.map +1 -1
  388. package/lib/esm/AuxCoordSys.d.ts +12 -2
  389. package/lib/esm/AuxCoordSys.d.ts.map +1 -1
  390. package/lib/esm/AuxCoordSys.js +12 -2
  391. package/lib/esm/AuxCoordSys.js.map +1 -1
  392. package/lib/esm/BingLocation.d.ts +1 -0
  393. package/lib/esm/BingLocation.d.ts.map +1 -1
  394. package/lib/esm/BingLocation.js +1 -0
  395. package/lib/esm/BingLocation.js.map +1 -1
  396. package/lib/esm/CategorySelectorState.d.ts +1 -0
  397. package/lib/esm/CategorySelectorState.d.ts.map +1 -1
  398. package/lib/esm/CategorySelectorState.js +1 -0
  399. package/lib/esm/CategorySelectorState.js.map +1 -1
  400. package/lib/esm/ChangeFlags.d.ts +1 -0
  401. package/lib/esm/ChangeFlags.d.ts.map +1 -1
  402. package/lib/esm/ChangeFlags.js +1 -0
  403. package/lib/esm/ChangeFlags.js.map +1 -1
  404. package/lib/esm/ContextRealityModelState.d.ts +1 -0
  405. package/lib/esm/ContextRealityModelState.d.ts.map +1 -1
  406. package/lib/esm/ContextRealityModelState.js +1 -0
  407. package/lib/esm/ContextRealityModelState.js.map +1 -1
  408. package/lib/esm/CoordSystem.d.ts +1 -0
  409. package/lib/esm/CoordSystem.d.ts.map +1 -1
  410. package/lib/esm/CoordSystem.js +1 -0
  411. package/lib/esm/CoordSystem.js.map +1 -1
  412. package/lib/esm/DisplayStyleState.d.ts +4 -0
  413. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  414. package/lib/esm/DisplayStyleState.js +3 -0
  415. package/lib/esm/DisplayStyleState.js.map +1 -1
  416. package/lib/esm/DrawingViewState.d.ts +1 -0
  417. package/lib/esm/DrawingViewState.d.ts.map +1 -1
  418. package/lib/esm/DrawingViewState.js +1 -0
  419. package/lib/esm/DrawingViewState.js.map +1 -1
  420. package/lib/esm/ElementLocateManager.d.ts +23 -5
  421. package/lib/esm/ElementLocateManager.d.ts.map +1 -1
  422. package/lib/esm/ElementLocateManager.js +19 -4
  423. package/lib/esm/ElementLocateManager.js.map +1 -1
  424. package/lib/esm/EmphasizeElements.d.ts +1 -0
  425. package/lib/esm/EmphasizeElements.d.ts.map +1 -1
  426. package/lib/esm/EmphasizeElements.js +1 -0
  427. package/lib/esm/EmphasizeElements.js.map +1 -1
  428. package/lib/esm/EntityState.d.ts +2 -0
  429. package/lib/esm/EntityState.d.ts.map +1 -1
  430. package/lib/esm/EntityState.js +2 -0
  431. package/lib/esm/EntityState.js.map +1 -1
  432. package/lib/esm/FeatureOverrideProvider.d.ts +1 -0
  433. package/lib/esm/FeatureOverrideProvider.d.ts.map +1 -1
  434. package/lib/esm/FeatureOverrideProvider.js.map +1 -1
  435. package/lib/esm/FlashSettings.d.ts +3 -0
  436. package/lib/esm/FlashSettings.d.ts.map +1 -1
  437. package/lib/esm/FlashSettings.js +2 -0
  438. package/lib/esm/FlashSettings.js.map +1 -1
  439. package/lib/esm/FrontendHubAccess.d.ts +4 -1
  440. package/lib/esm/FrontendHubAccess.d.ts.map +1 -1
  441. package/lib/esm/FrontendHubAccess.js.map +1 -1
  442. package/lib/esm/FrontendLoggerCategory.d.ts +1 -0
  443. package/lib/esm/FrontendLoggerCategory.d.ts.map +1 -1
  444. package/lib/esm/FrontendLoggerCategory.js +1 -0
  445. package/lib/esm/FrontendLoggerCategory.js.map +1 -1
  446. package/lib/esm/FrustumAnimator.d.ts +1 -0
  447. package/lib/esm/FrustumAnimator.d.ts.map +1 -1
  448. package/lib/esm/FrustumAnimator.js +1 -0
  449. package/lib/esm/FrustumAnimator.js.map +1 -1
  450. package/lib/esm/FuzzySearch.d.ts +1 -0
  451. package/lib/esm/FuzzySearch.d.ts.map +1 -1
  452. package/lib/esm/FuzzySearch.js.map +1 -1
  453. package/lib/esm/GlobeAnimator.d.ts +1 -0
  454. package/lib/esm/GlobeAnimator.d.ts.map +1 -1
  455. package/lib/esm/GlobeAnimator.js +1 -0
  456. package/lib/esm/GlobeAnimator.js.map +1 -1
  457. package/lib/esm/HitDetail.d.ts +26 -5
  458. package/lib/esm/HitDetail.d.ts.map +1 -1
  459. package/lib/esm/HitDetail.js +26 -5
  460. package/lib/esm/HitDetail.js.map +1 -1
  461. package/lib/esm/IModelApp.d.ts +7 -0
  462. package/lib/esm/IModelApp.d.ts.map +1 -1
  463. package/lib/esm/IModelApp.js +32 -20
  464. package/lib/esm/IModelApp.js.map +1 -1
  465. package/lib/esm/IModelConnection.d.ts +1 -0
  466. package/lib/esm/IModelConnection.d.ts.map +1 -1
  467. package/lib/esm/IModelConnection.js +1 -0
  468. package/lib/esm/IModelConnection.js.map +1 -1
  469. package/lib/esm/ImageUtil.d.ts +11 -0
  470. package/lib/esm/ImageUtil.d.ts.map +1 -1
  471. package/lib/esm/ImageUtil.js +11 -0
  472. package/lib/esm/ImageUtil.js.map +1 -1
  473. package/lib/esm/IpcApp.d.ts +1 -0
  474. package/lib/esm/IpcApp.d.ts.map +1 -1
  475. package/lib/esm/IpcApp.js +1 -0
  476. package/lib/esm/IpcApp.js.map +1 -1
  477. package/lib/esm/MarginPercent.d.ts +1 -0
  478. package/lib/esm/MarginPercent.d.ts.map +1 -1
  479. package/lib/esm/MarginPercent.js +1 -0
  480. package/lib/esm/MarginPercent.js.map +1 -1
  481. package/lib/esm/Marker.d.ts +16 -3
  482. package/lib/esm/Marker.d.ts.map +1 -1
  483. package/lib/esm/Marker.js +3 -0
  484. package/lib/esm/Marker.js.map +1 -1
  485. package/lib/esm/ModelSelectorState.d.ts +1 -0
  486. package/lib/esm/ModelSelectorState.d.ts.map +1 -1
  487. package/lib/esm/ModelSelectorState.js +1 -0
  488. package/lib/esm/ModelSelectorState.js.map +1 -1
  489. package/lib/esm/ModelState.d.ts +10 -0
  490. package/lib/esm/ModelState.d.ts.map +1 -1
  491. package/lib/esm/ModelState.js +10 -0
  492. package/lib/esm/ModelState.js.map +1 -1
  493. package/lib/esm/NotificationManager.d.ts +11 -0
  494. package/lib/esm/NotificationManager.d.ts.map +1 -1
  495. package/lib/esm/NotificationManager.js +10 -0
  496. package/lib/esm/NotificationManager.js.map +1 -1
  497. package/lib/esm/PerModelCategoryVisibility.d.ts +1 -0
  498. package/lib/esm/PerModelCategoryVisibility.d.ts.map +1 -1
  499. package/lib/esm/PerModelCategoryVisibility.js +1 -0
  500. package/lib/esm/PerModelCategoryVisibility.js.map +1 -1
  501. package/lib/esm/SelectionSet.d.ts +7 -0
  502. package/lib/esm/SelectionSet.d.ts.map +1 -1
  503. package/lib/esm/SelectionSet.js +3 -0
  504. package/lib/esm/SelectionSet.js.map +1 -1
  505. package/lib/esm/SheetViewState.d.ts +1 -0
  506. package/lib/esm/SheetViewState.d.ts.map +1 -1
  507. package/lib/esm/SheetViewState.js +1 -0
  508. package/lib/esm/SheetViewState.js.map +1 -1
  509. package/lib/esm/SpatialViewState.d.ts +2 -0
  510. package/lib/esm/SpatialViewState.d.ts.map +1 -1
  511. package/lib/esm/SpatialViewState.js +2 -0
  512. package/lib/esm/SpatialViewState.js.map +1 -1
  513. package/lib/esm/Sprites.d.ts +3 -0
  514. package/lib/esm/Sprites.d.ts.map +1 -1
  515. package/lib/esm/Sprites.js +3 -0
  516. package/lib/esm/Sprites.js.map +1 -1
  517. package/lib/esm/StandardView.d.ts +1 -0
  518. package/lib/esm/StandardView.d.ts.map +1 -1
  519. package/lib/esm/StandardView.js +1 -0
  520. package/lib/esm/StandardView.js.map +1 -1
  521. package/lib/esm/TentativePoint.d.ts +4 -1
  522. package/lib/esm/TentativePoint.d.ts.map +1 -1
  523. package/lib/esm/TentativePoint.js +4 -1
  524. package/lib/esm/TentativePoint.js.map +1 -1
  525. package/lib/esm/Tiles.d.ts +1 -0
  526. package/lib/esm/Tiles.d.ts.map +1 -1
  527. package/lib/esm/Tiles.js +1 -0
  528. package/lib/esm/Tiles.js.map +1 -1
  529. package/lib/esm/ViewAnimation.d.ts +6 -0
  530. package/lib/esm/ViewAnimation.d.ts.map +1 -1
  531. package/lib/esm/ViewAnimation.js.map +1 -1
  532. package/lib/esm/ViewCreator2d.d.ts +2 -0
  533. package/lib/esm/ViewCreator2d.d.ts.map +1 -1
  534. package/lib/esm/ViewCreator2d.js +1 -0
  535. package/lib/esm/ViewCreator2d.js.map +1 -1
  536. package/lib/esm/ViewCreator3d.d.ts +2 -0
  537. package/lib/esm/ViewCreator3d.d.ts.map +1 -1
  538. package/lib/esm/ViewCreator3d.js +1 -0
  539. package/lib/esm/ViewCreator3d.js.map +1 -1
  540. package/lib/esm/ViewGlobalLocation.d.ts +3 -0
  541. package/lib/esm/ViewGlobalLocation.d.ts.map +1 -1
  542. package/lib/esm/ViewGlobalLocation.js +1 -0
  543. package/lib/esm/ViewGlobalLocation.js.map +1 -1
  544. package/lib/esm/ViewManager.d.ts +3 -0
  545. package/lib/esm/ViewManager.d.ts.map +1 -1
  546. package/lib/esm/ViewManager.js +1 -0
  547. package/lib/esm/ViewManager.js.map +1 -1
  548. package/lib/esm/ViewPose.d.ts +1 -0
  549. package/lib/esm/ViewPose.d.ts.map +1 -1
  550. package/lib/esm/ViewPose.js +1 -0
  551. package/lib/esm/ViewPose.js.map +1 -1
  552. package/lib/esm/ViewRect.d.ts +1 -0
  553. package/lib/esm/ViewRect.d.ts.map +1 -1
  554. package/lib/esm/ViewRect.js +1 -0
  555. package/lib/esm/ViewRect.js.map +1 -1
  556. package/lib/esm/ViewState.d.ts +4 -0
  557. package/lib/esm/ViewState.d.ts.map +1 -1
  558. package/lib/esm/ViewState.js +3 -0
  559. package/lib/esm/ViewState.js.map +1 -1
  560. package/lib/esm/ViewStatus.d.ts +1 -0
  561. package/lib/esm/ViewStatus.d.ts.map +1 -1
  562. package/lib/esm/ViewStatus.js +1 -0
  563. package/lib/esm/ViewStatus.js.map +1 -1
  564. package/lib/esm/ViewingSpace.d.ts +1 -0
  565. package/lib/esm/ViewingSpace.d.ts.map +1 -1
  566. package/lib/esm/ViewingSpace.js +1 -0
  567. package/lib/esm/ViewingSpace.js.map +1 -1
  568. package/lib/esm/core-frontend.d.ts +6 -5
  569. package/lib/esm/core-frontend.d.ts.map +1 -1
  570. package/lib/esm/core-frontend.js +7 -5
  571. package/lib/esm/core-frontend.js.map +1 -1
  572. package/lib/esm/extension/Extension.d.ts +22 -3
  573. package/lib/esm/extension/Extension.d.ts.map +1 -1
  574. package/lib/esm/extension/Extension.js +1 -7
  575. package/lib/esm/extension/Extension.js.map +1 -1
  576. package/lib/esm/extension/ExtensionAdmin.d.ts +1 -3
  577. package/lib/esm/extension/ExtensionAdmin.d.ts.map +1 -1
  578. package/lib/esm/extension/ExtensionAdmin.js +1 -4
  579. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  580. package/lib/esm/extension/ExtensionRuntime.js +239 -59
  581. package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
  582. package/lib/esm/render/CanvasDecoration.d.ts +2 -0
  583. package/lib/esm/render/CanvasDecoration.d.ts.map +1 -1
  584. package/lib/esm/render/CanvasDecoration.js.map +1 -1
  585. package/lib/esm/render/Decorations.d.ts +1 -0
  586. package/lib/esm/render/Decorations.d.ts.map +1 -1
  587. package/lib/esm/render/Decorations.js +1 -0
  588. package/lib/esm/render/Decorations.js.map +1 -1
  589. package/lib/esm/render/FeatureSymbology.d.ts +1 -0
  590. package/lib/esm/render/FeatureSymbology.d.ts.map +1 -1
  591. package/lib/esm/render/FeatureSymbology.js +1 -0
  592. package/lib/esm/render/FeatureSymbology.js.map +1 -1
  593. package/lib/esm/render/GraphicBranch.d.ts +2 -0
  594. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  595. package/lib/esm/render/GraphicBranch.js +1 -0
  596. package/lib/esm/render/GraphicBranch.js.map +1 -1
  597. package/lib/esm/render/GraphicBuilder.d.ts +8 -0
  598. package/lib/esm/render/GraphicBuilder.d.ts.map +1 -1
  599. package/lib/esm/render/GraphicBuilder.js +2 -0
  600. package/lib/esm/render/GraphicBuilder.js.map +1 -1
  601. package/lib/esm/render/GraphicPrimitive.d.ts +14 -0
  602. package/lib/esm/render/GraphicPrimitive.d.ts.map +1 -1
  603. package/lib/esm/render/GraphicPrimitive.js.map +1 -1
  604. package/lib/esm/render/ParticleCollectionBuilder.d.ts +3 -0
  605. package/lib/esm/render/ParticleCollectionBuilder.d.ts.map +1 -1
  606. package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
  607. package/lib/esm/render/Pixel.d.ts +1 -0
  608. package/lib/esm/render/Pixel.d.ts.map +1 -1
  609. package/lib/esm/render/Pixel.js +1 -0
  610. package/lib/esm/render/Pixel.js.map +1 -1
  611. package/lib/esm/render/RenderClipVolume.d.ts +1 -0
  612. package/lib/esm/render/RenderClipVolume.d.ts.map +1 -1
  613. package/lib/esm/render/RenderClipVolume.js +1 -0
  614. package/lib/esm/render/RenderClipVolume.js.map +1 -1
  615. package/lib/esm/render/RenderGraphic.d.ts +3 -0
  616. package/lib/esm/render/RenderGraphic.d.ts.map +1 -1
  617. package/lib/esm/render/RenderGraphic.js +2 -0
  618. package/lib/esm/render/RenderGraphic.js.map +1 -1
  619. package/lib/esm/render/RenderSystem.d.ts +1 -0
  620. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  621. package/lib/esm/render/RenderSystem.js +1 -0
  622. package/lib/esm/render/RenderSystem.js.map +1 -1
  623. package/lib/esm/render/RenderTexture.d.ts +7 -0
  624. package/lib/esm/render/RenderTexture.d.ts.map +1 -1
  625. package/lib/esm/render/RenderTexture.js.map +1 -1
  626. package/lib/esm/render/Scene.d.ts +1 -0
  627. package/lib/esm/render/Scene.d.ts.map +1 -1
  628. package/lib/esm/render/Scene.js +1 -0
  629. package/lib/esm/render/Scene.js.map +1 -1
  630. package/lib/esm/render/ScreenSpaceEffectBuilder.d.ts +10 -0
  631. package/lib/esm/render/ScreenSpaceEffectBuilder.d.ts.map +1 -1
  632. package/lib/esm/render/ScreenSpaceEffectBuilder.js +2 -0
  633. package/lib/esm/render/ScreenSpaceEffectBuilder.js.map +1 -1
  634. package/lib/esm/render/webgl/System.d.ts +1 -1
  635. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  636. package/lib/esm/render/webgl/Target.js +4 -1
  637. package/lib/esm/render/webgl/Target.js.map +1 -1
  638. package/lib/esm/tile/DisclosedTileTreeSet.d.ts +2 -0
  639. package/lib/esm/tile/DisclosedTileTreeSet.d.ts.map +1 -1
  640. package/lib/esm/tile/DisclosedTileTreeSet.js +1 -0
  641. package/lib/esm/tile/DisclosedTileTreeSet.js.map +1 -1
  642. package/lib/esm/tile/ImdlReader.d.ts +1 -0
  643. package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
  644. package/lib/esm/tile/ImdlReader.js +1 -0
  645. package/lib/esm/tile/ImdlReader.js.map +1 -1
  646. package/lib/esm/tile/Tile.d.ts +5 -0
  647. package/lib/esm/tile/Tile.d.ts.map +1 -1
  648. package/lib/esm/tile/Tile.js +5 -0
  649. package/lib/esm/tile/Tile.js.map +1 -1
  650. package/lib/esm/tile/TileAdmin.d.ts +3 -0
  651. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  652. package/lib/esm/tile/TileAdmin.js +1 -0
  653. package/lib/esm/tile/TileAdmin.js.map +1 -1
  654. package/lib/esm/tile/TileContent.d.ts +1 -0
  655. package/lib/esm/tile/TileContent.d.ts.map +1 -1
  656. package/lib/esm/tile/TileContent.js.map +1 -1
  657. package/lib/esm/tile/TileDrawArgs.d.ts +2 -0
  658. package/lib/esm/tile/TileDrawArgs.d.ts.map +1 -1
  659. package/lib/esm/tile/TileDrawArgs.js +1 -0
  660. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  661. package/lib/esm/tile/TileParams.d.ts +1 -0
  662. package/lib/esm/tile/TileParams.d.ts.map +1 -1
  663. package/lib/esm/tile/TileParams.js.map +1 -1
  664. package/lib/esm/tile/TileRequest.d.ts +1 -0
  665. package/lib/esm/tile/TileRequest.d.ts.map +1 -1
  666. package/lib/esm/tile/TileRequest.js +1 -0
  667. package/lib/esm/tile/TileRequest.js.map +1 -1
  668. package/lib/esm/tile/TileRequestChannel.d.ts +2 -0
  669. package/lib/esm/tile/TileRequestChannel.d.ts.map +1 -1
  670. package/lib/esm/tile/TileRequestChannel.js +2 -0
  671. package/lib/esm/tile/TileRequestChannel.js.map +1 -1
  672. package/lib/esm/tile/TileRequestChannels.d.ts +1 -0
  673. package/lib/esm/tile/TileRequestChannels.d.ts.map +1 -1
  674. package/lib/esm/tile/TileRequestChannels.js +1 -0
  675. package/lib/esm/tile/TileRequestChannels.js.map +1 -1
  676. package/lib/esm/tile/TileTree.d.ts +2 -0
  677. package/lib/esm/tile/TileTree.d.ts.map +1 -1
  678. package/lib/esm/tile/TileTree.js +2 -0
  679. package/lib/esm/tile/TileTree.js.map +1 -1
  680. package/lib/esm/tile/TileTreeOwner.d.ts +1 -0
  681. package/lib/esm/tile/TileTreeOwner.d.ts.map +1 -1
  682. package/lib/esm/tile/TileTreeOwner.js.map +1 -1
  683. package/lib/esm/tile/TileTreeParams.d.ts +1 -0
  684. package/lib/esm/tile/TileTreeParams.d.ts.map +1 -1
  685. package/lib/esm/tile/TileTreeParams.js.map +1 -1
  686. package/lib/esm/tile/TileTreeReference.d.ts +2 -0
  687. package/lib/esm/tile/TileTreeReference.d.ts.map +1 -1
  688. package/lib/esm/tile/TileTreeReference.js +2 -0
  689. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  690. package/lib/esm/tile/TileTreeSupplier.d.ts +1 -0
  691. package/lib/esm/tile/TileTreeSupplier.d.ts.map +1 -1
  692. package/lib/esm/tile/TileTreeSupplier.js.map +1 -1
  693. package/lib/esm/tile/TileUsageMarker.d.ts +1 -0
  694. package/lib/esm/tile/TileUsageMarker.d.ts.map +1 -1
  695. package/lib/esm/tile/TileUsageMarker.js +1 -0
  696. package/lib/esm/tile/TileUsageMarker.js.map +1 -1
  697. package/lib/esm/tile/TiledGraphicsProvider.d.ts +1 -0
  698. package/lib/esm/tile/TiledGraphicsProvider.d.ts.map +1 -1
  699. package/lib/esm/tile/TiledGraphicsProvider.js.map +1 -1
  700. package/lib/esm/tile/map/BingElevation.d.ts +1 -0
  701. package/lib/esm/tile/map/BingElevation.d.ts.map +1 -1
  702. package/lib/esm/tile/map/BingElevation.js +1 -0
  703. package/lib/esm/tile/map/BingElevation.js.map +1 -1
  704. package/lib/esm/tools/ClipViewTool.d.ts +5 -3
  705. package/lib/esm/tools/ClipViewTool.d.ts.map +1 -1
  706. package/lib/esm/tools/ClipViewTool.js +4 -3
  707. package/lib/esm/tools/ClipViewTool.js.map +1 -1
  708. package/lib/esm/tools/EditManipulator.d.ts +1 -0
  709. package/lib/esm/tools/EditManipulator.d.ts.map +1 -1
  710. package/lib/esm/tools/EditManipulator.js +1 -0
  711. package/lib/esm/tools/EditManipulator.js.map +1 -1
  712. package/lib/esm/tools/EventController.d.ts +1 -0
  713. package/lib/esm/tools/EventController.d.ts.map +1 -1
  714. package/lib/esm/tools/EventController.js +1 -0
  715. package/lib/esm/tools/EventController.js.map +1 -1
  716. package/lib/esm/tools/PrimitiveTool.d.ts +1 -0
  717. package/lib/esm/tools/PrimitiveTool.d.ts.map +1 -1
  718. package/lib/esm/tools/PrimitiveTool.js +1 -0
  719. package/lib/esm/tools/PrimitiveTool.js.map +1 -1
  720. package/lib/esm/tools/SelectTool.d.ts +3 -0
  721. package/lib/esm/tools/SelectTool.d.ts.map +1 -1
  722. package/lib/esm/tools/SelectTool.js +3 -0
  723. package/lib/esm/tools/SelectTool.js.map +1 -1
  724. package/lib/esm/tools/Tool.d.ts +41 -6
  725. package/lib/esm/tools/Tool.d.ts.map +1 -1
  726. package/lib/esm/tools/Tool.js +27 -4
  727. package/lib/esm/tools/Tool.js.map +1 -1
  728. package/lib/esm/tools/ToolAdmin.d.ts +9 -2
  729. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  730. package/lib/esm/tools/ToolAdmin.js +9 -2
  731. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  732. package/lib/esm/tools/ToolAssistance.d.ts +7 -0
  733. package/lib/esm/tools/ToolAssistance.d.ts.map +1 -1
  734. package/lib/esm/tools/ToolAssistance.js +3 -0
  735. package/lib/esm/tools/ToolAssistance.js.map +1 -1
  736. package/lib/esm/tools/ToolSettings.d.ts +1 -0
  737. package/lib/esm/tools/ToolSettings.d.ts.map +1 -1
  738. package/lib/esm/tools/ToolSettings.js +1 -0
  739. package/lib/esm/tools/ToolSettings.js.map +1 -1
  740. package/lib/esm/tools/ViewTool.d.ts +2 -0
  741. package/lib/esm/tools/ViewTool.d.ts.map +1 -1
  742. package/lib/esm/tools/ViewTool.js +2 -0
  743. package/lib/esm/tools/ViewTool.js.map +1 -1
  744. package/package.json +32 -21
  745. package/lib/cjs/extension/ExtensionLoader.d.ts +0 -26
  746. package/lib/cjs/extension/ExtensionLoader.d.ts.map +0 -1
  747. package/lib/cjs/extension/ExtensionLoader.js +0 -10
  748. package/lib/cjs/extension/ExtensionLoader.js.map +0 -1
  749. package/lib/cjs/extension/extensions.d.ts +0 -19
  750. package/lib/cjs/extension/extensions.d.ts.map +0 -1
  751. package/lib/cjs/extension/extensions.js +0 -36
  752. package/lib/cjs/extension/extensions.js.map +0 -1
  753. package/lib/esm/extension/ExtensionLoader.d.ts +0 -26
  754. package/lib/esm/extension/ExtensionLoader.d.ts.map +0 -1
  755. package/lib/esm/extension/ExtensionLoader.js +0 -9
  756. package/lib/esm/extension/ExtensionLoader.js.map +0 -1
  757. package/lib/esm/extension/extensions.d.ts +0 -19
  758. package/lib/esm/extension/extensions.d.ts.map +0 -1
  759. package/lib/esm/extension/extensions.js +0 -24
  760. package/lib/esm/extension/extensions.js.map +0 -1
@@ -14,7 +14,10 @@ const core_common_1 = require("@itwin/core-common");
14
14
  const IModelApp_1 = require("./IModelApp");
15
15
  const GraphicBuilder_1 = require("./render/GraphicBuilder");
16
16
  const Sprites_1 = require("./Sprites");
17
- /** @public */
17
+ /**
18
+ * @public
19
+ * @extensions
20
+ */
18
21
  var SnapMode;
19
22
  (function (SnapMode) {
20
23
  SnapMode[SnapMode["Nearest"] = 1] = "Nearest";
@@ -25,7 +28,10 @@ var SnapMode;
25
28
  SnapMode[SnapMode["Bisector"] = 32] = "Bisector";
26
29
  SnapMode[SnapMode["Intersection"] = 64] = "Intersection";
27
30
  })(SnapMode = exports.SnapMode || (exports.SnapMode = {}));
28
- /** @public */
31
+ /**
32
+ * @public
33
+ * @extensions
34
+ */
29
35
  var SnapHeat;
30
36
  (function (SnapHeat) {
31
37
  SnapHeat[SnapHeat["None"] = 0] = "None";
@@ -34,6 +40,7 @@ var SnapHeat;
34
40
  })(SnapHeat = exports.SnapHeat || (exports.SnapHeat = {}));
35
41
  /** The procedure that generated this Hit.
36
42
  * @public
43
+ * @extensions
37
44
  */
38
45
  var HitSource;
39
46
  (function (HitSource) {
@@ -50,6 +57,7 @@ var HitSource;
50
57
  /** What was being tested to generate this hit. This is not the element or
51
58
  * GeometricPrimitive that generated the Hit, it is an indication of whether it is an edge or interior hit.
52
59
  * @public
60
+ * @extensions
53
61
  */
54
62
  var HitGeomType;
55
63
  (function (HitGeomType) {
@@ -62,6 +70,7 @@ var HitGeomType;
62
70
  })(HitGeomType = exports.HitGeomType || (exports.HitGeomType = {}));
63
71
  /** Classification of GeometricPrimitive that generated the Hit.
64
72
  * @public
73
+ * @extensions
65
74
  */
66
75
  var HitParentGeomType;
67
76
  (function (HitParentGeomType) {
@@ -72,7 +81,10 @@ var HitParentGeomType;
72
81
  HitParentGeomType[HitParentGeomType["Mesh"] = 4] = "Mesh";
73
82
  HitParentGeomType[HitParentGeomType["Text"] = 5] = "Text";
74
83
  })(HitParentGeomType = exports.HitParentGeomType || (exports.HitParentGeomType = {}));
75
- /** @public */
84
+ /**
85
+ * @public
86
+ * @extensions
87
+ */
76
88
  var HitPriority;
77
89
  (function (HitPriority) {
78
90
  HitPriority[HitPriority["WireEdge"] = 0] = "WireEdge";
@@ -83,7 +95,10 @@ var HitPriority;
83
95
  HitPriority[HitPriority["NonPlanarSurface"] = 5] = "NonPlanarSurface";
84
96
  HitPriority[HitPriority["Unknown"] = 6] = "Unknown";
85
97
  })(HitPriority = exports.HitPriority || (exports.HitPriority = {}));
86
- /** @public */
98
+ /**
99
+ * @public
100
+ * @extensions
101
+ */
87
102
  var HitDetailType;
88
103
  (function (HitDetailType) {
89
104
  HitDetailType[HitDetailType["Hit"] = 1] = "Hit";
@@ -93,6 +108,7 @@ var HitDetailType;
93
108
  /** A HitDetail stores the result when locating geometry displayed in a view.
94
109
  * It holds an approximate location on an element (or decoration) from a *pick*.
95
110
  * @public
111
+ * @extensions
96
112
  */
97
113
  class HitDetail {
98
114
  /** Create a new HitDetail from the inputs to and results of a locate operation.
@@ -175,6 +191,7 @@ exports.HitDetail = HitDetail;
175
191
  /** A SnapDetail is generated from the result of a snap request. In addition to the HitDetail about the reason the element was *picked*,
176
192
  * 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.
177
193
  * @public
194
+ * @extensions
178
195
  */
179
196
  class SnapDetail extends HitDetail {
180
197
  /** Constructor for SnapDetail.
@@ -297,7 +314,10 @@ class SnapDetail extends HitDetail {
297
314
  }
298
315
  }
299
316
  exports.SnapDetail = SnapDetail;
300
- /** @public */
317
+ /**
318
+ * @public
319
+ * @extensions
320
+ */
301
321
  class IntersectDetail extends SnapDetail {
302
322
  constructor(from, heat = SnapHeat.None, snapPoint, otherPrimitive, otherId) {
303
323
  super(from, SnapMode.Intersection, heat, snapPoint);
@@ -330,6 +350,7 @@ exports.IntersectDetail = IntersectDetail;
330
350
  /** The result of a "locate" is a sorted list of objects that satisfied the search criteria (a HitList). Earlier hits in the list
331
351
  * are somehow *better* than those later on.
332
352
  * @public
353
+ * @extensions
333
354
  */
334
355
  class HitList {
335
356
  constructor() {
@@ -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/** @public */\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/** @public */\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 */\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 */\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 */\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/** @public */\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/** @public */\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 */\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 */\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) { this.snapPoint.setFrom(point); this.adjustedPoint.setFrom(point); this.heat = heat; }\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/** @public */\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 */\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 { this.hits.length = 0; this.currHit = -1; }\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) hitNum = this.length - 1;\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 { this.currHit++; return this.getCurrentHit(); }\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) return -1;\r\n if (zOverride1 > zOverride2) return 1;\r\n\r\n // Compare xy distance from pick point, prefer hits closer to center...\r\n if (hit1.distXY < hit2.distXY) return -1;\r\n if (hit1.distXY > hit2.distXY) return 1;\r\n\r\n // Compare distance fraction, prefer hits closer to eye...\r\n if (hit1.distFraction > hit2.distFraction) return -1;\r\n if (hit1.distFraction < hit2.distFraction) 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) return -1;\r\n if (hit1.priority > hit2.priority) 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 { 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) { this.snapPoint.setFrom(point); this.adjustedPoint.setFrom(point); this.heat = heat; }\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 { this.hits.length = 0; this.currHit = -1; }\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) hitNum = this.length - 1;\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 { this.currHit++; return this.getCurrentHit(); }\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) return -1;\r\n if (zOverride1 > zOverride2) return 1;\r\n\r\n // Compare xy distance from pick point, prefer hits closer to center...\r\n if (hit1.distXY < hit2.distXY) return -1;\r\n if (hit1.distXY > hit2.distXY) return 1;\r\n\r\n // Compare distance fraction, prefer hits closer to eye...\r\n if (hit1.distFraction > hit2.distFraction) return -1;\r\n if (hit1.distFraction < hit2.distFraction) 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) return -1;\r\n if (hit1.priority > hit2.priority) 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"]}
@@ -25,6 +25,7 @@ import { UserPreferencesAccess } from "./UserPreferences";
25
25
  import { ViewManager } from "./ViewManager";
26
26
  /** Options that can be supplied with [[IModelAppOptions]] to customize frontend security.
27
27
  * @public
28
+ * @extensions
28
29
  */
29
30
  export interface FrontendSecurityOptions {
30
31
  /** Configures protection from Cross Site Request Forgery attacks. */
@@ -339,5 +340,11 @@ export declare class IModelApp {
339
340
  * @beta
340
341
  */
341
342
  static translateStatus(status: number): string;
343
+ /**
344
+ * Creates an instance of the ExtensionAdmin
345
+ * and registers an event to execute after startup is complete
346
+ * @returns an instance of ExtensionAdmin
347
+ */
348
+ private static _createExtensionAdmin;
342
349
  }
343
350
  //# sourceMappingURL=IModelApp.d.ts.map
@@ -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,6 +25,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  __setModuleDefault(result, mod);
26
26
  return result;
27
27
  };
28
+ var _a;
28
29
  Object.defineProperty(exports, "__esModule", { value: true });
29
30
  exports.IModelApp = exports.ITWINJS_CORE_VERSION = void 0;
30
31
  /** @public */
@@ -181,23 +182,23 @@ class IModelApp {
181
182
  * @param opts The options for configuring IModelApp
182
183
  */
183
184
  static async startup(opts) {
184
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
185
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
185
186
  if (this._initialized)
186
187
  return; // we're already initialized, do nothing.
187
188
  this._initialized = true;
188
189
  opts = opts !== null && opts !== void 0 ? opts : {};
189
- this._securityOptions = (_a = opts.security) !== null && _a !== void 0 ? _a : {};
190
+ this._securityOptions = (_b = opts.security) !== null && _b !== void 0 ? _b : {};
190
191
  if (process.env.NODE_ENV === "development") {
191
192
  // Make IModelApp globally accessible for debugging purposes. We'll remove it on shutdown.
192
193
  window.iModelAppForDebugger = this;
193
194
  }
194
- this.sessionId = (_b = opts.sessionId) !== null && _b !== void 0 ? _b : core_bentley_1.Guid.createValue();
195
- this._applicationId = (_c = opts.applicationId) !== null && _c !== void 0 ? _c : "2686"; // Default to product id of iTwin.js
196
- this._applicationVersion = (_d = opts.applicationVersion) !== null && _d !== void 0 ? _d : "1.0.0";
195
+ this.sessionId = (_c = opts.sessionId) !== null && _c !== void 0 ? _c : core_bentley_1.Guid.createValue();
196
+ this._applicationId = (_d = opts.applicationId) !== null && _d !== void 0 ? _d : "2686"; // Default to product id of iTwin.js
197
+ this._applicationVersion = (_e = opts.applicationVersion) !== null && _e !== void 0 ? _e : "1.0.0";
197
198
  this.authorizationClient = opts.authorizationClient;
198
199
  this._hubAccess = opts.hubAccess;
199
200
  this._setupRpcRequestContext();
200
- this._localization = (_e = opts.localization) !== null && _e !== void 0 ? _e : new core_i18n_1.ITwinLocalization();
201
+ this._localization = (_f = opts.localization) !== null && _f !== void 0 ? _f : new core_i18n_1.ITwinLocalization();
201
202
  const toolsNs = "CoreTools";
202
203
  await this.localization.initialize(["iModelJs", toolsNs]);
203
204
  [
@@ -223,19 +224,19 @@ class IModelApp {
223
224
  this._renderSystem = (opts.renderSys instanceof RenderSystem_1.RenderSystem) ? opts.renderSys : this.createRenderSys(opts.renderSys);
224
225
  if (opts.userPreferences)
225
226
  this._userPreferences = opts.userPreferences;
226
- this._viewManager = (_f = opts.viewManager) !== null && _f !== void 0 ? _f : new ViewManager_1.ViewManager();
227
+ this._viewManager = (_g = opts.viewManager) !== null && _g !== void 0 ? _g : new ViewManager_1.ViewManager();
227
228
  this._tileAdmin = await internal_1.TileAdmin.create(opts.tileAdmin);
228
- this._notifications = (_g = opts.notifications) !== null && _g !== void 0 ? _g : new NotificationManager_1.NotificationManager();
229
- this._toolAdmin = (_h = opts.toolAdmin) !== null && _h !== void 0 ? _h : new ToolAdmin_1.ToolAdmin();
230
- this._accuDraw = (_j = opts.accuDraw) !== null && _j !== void 0 ? _j : new AccuDraw_1.AccuDraw();
231
- this._accuSnap = (_k = opts.accuSnap) !== null && _k !== void 0 ? _k : new AccuSnap_1.AccuSnap();
232
- this._locateManager = (_l = opts.locateManager) !== null && _l !== void 0 ? _l : new ElementLocateManager_1.ElementLocateManager();
233
- this._tentativePoint = (_m = opts.tentativePoint) !== null && _m !== void 0 ? _m : new TentativePoint_1.TentativePoint();
234
- this._quantityFormatter = (_o = opts.quantityFormatter) !== null && _o !== void 0 ? _o : new QuantityFormatter_1.QuantityFormatter();
235
- this._uiAdmin = (_p = opts.uiAdmin) !== null && _p !== void 0 ? _p : new appui_abstract_1.UiAdmin();
229
+ this._notifications = (_h = opts.notifications) !== null && _h !== void 0 ? _h : new NotificationManager_1.NotificationManager();
230
+ this._toolAdmin = (_j = opts.toolAdmin) !== null && _j !== void 0 ? _j : new ToolAdmin_1.ToolAdmin();
231
+ this._accuDraw = (_k = opts.accuDraw) !== null && _k !== void 0 ? _k : new AccuDraw_1.AccuDraw();
232
+ this._accuSnap = (_l = opts.accuSnap) !== null && _l !== void 0 ? _l : new AccuSnap_1.AccuSnap();
233
+ this._locateManager = (_m = opts.locateManager) !== null && _m !== void 0 ? _m : new ElementLocateManager_1.ElementLocateManager();
234
+ this._tentativePoint = (_o = opts.tentativePoint) !== null && _o !== void 0 ? _o : new TentativePoint_1.TentativePoint();
235
+ this._quantityFormatter = (_p = opts.quantityFormatter) !== null && _p !== void 0 ? _p : new QuantityFormatter_1.QuantityFormatter();
236
+ this._uiAdmin = (_q = opts.uiAdmin) !== null && _q !== void 0 ? _q : new appui_abstract_1.UiAdmin();
236
237
  this._mapLayerFormatRegistry = new internal_1.MapLayerFormatRegistry(opts.mapLayerOptions);
237
238
  this._realityDataAccess = opts.realityDataAccess;
238
- this._publicPath = (_q = opts.publicPath) !== null && _q !== void 0 ? _q : "";
239
+ this._publicPath = (_r = opts.publicPath) !== null && _r !== void 0 ? _r : "";
239
240
  [
240
241
  this.renderSystem,
241
242
  this.viewManager,
@@ -345,9 +346,9 @@ class IModelApp {
345
346
  * returned by this method may change over time throughout the course of a session.
346
347
  */
347
348
  static async getAccessToken() {
348
- var _a, _b;
349
+ var _b, _c;
349
350
  try {
350
- return (_b = (await ((_a = this.authorizationClient) === null || _a === void 0 ? void 0 : _a.getAccessToken()))) !== null && _b !== void 0 ? _b : "";
351
+ return (_c = (await ((_b = this.authorizationClient) === null || _b === void 0 ? void 0 : _b.getAccessToken()))) !== null && _c !== void 0 ? _c : "";
351
352
  }
352
353
  catch (e) {
353
354
  return "";
@@ -484,7 +485,7 @@ class IModelApp {
484
485
  */
485
486
  static formatElementToolTip(msg) {
486
487
  let out = "";
487
- msg.forEach((line) => { var _a; return out += `${(_a = IModelApp.localization) === null || _a === void 0 ? void 0 : _a.getLocalizedKeys(line)}<br>`; });
488
+ msg.forEach((line) => { var _b; return out += `${(_b = IModelApp.localization) === null || _b === void 0 ? void 0 : _b.getLocalizedKeys(line)}<br>`; });
488
489
  const div = document.createElement("div");
489
490
  div.innerHTML = out;
490
491
  return div;
@@ -510,8 +511,19 @@ class IModelApp {
510
511
  }
511
512
  return this.localization.getLocalizedString(`iModelJs:${key.scope}.${key.val}`, key);
512
513
  }
514
+ /**
515
+ * Creates an instance of the ExtensionAdmin
516
+ * and registers an event to execute after startup is complete
517
+ * @returns an instance of ExtensionAdmin
518
+ */
519
+ static _createExtensionAdmin() {
520
+ const extensionAdmin = new ExtensionAdmin_1.ExtensionAdmin();
521
+ IModelApp.onAfterStartup.addListener(extensionAdmin.onStartup);
522
+ return extensionAdmin;
523
+ }
513
524
  }
514
525
  exports.IModelApp = IModelApp;
526
+ _a = IModelApp;
515
527
  IModelApp._initialized = false;
516
528
  IModelApp._wantEventLoop = false;
517
529
  IModelApp._animationRequested = false;
@@ -529,7 +541,7 @@ IModelApp.tools = new Tool_1.ToolRegistry();
529
541
  */
530
542
  IModelApp.telemetry = new core_telemetry_1.TelemetryManager();
531
543
  /** @alpha */
532
- IModelApp.extensionAdmin = new ExtensionAdmin_1.ExtensionAdmin();
544
+ IModelApp.extensionAdmin = _a._createExtensionAdmin();
533
545
  /** Map of classFullName to EntityState class */
534
546
  IModelApp._entityClasses = new Map();
535
547
  //# sourceMappingURL=IModelApp.js.map