@itwin/core-frontend 3.2.0-dev.36 → 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 (738) 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/AuxCoordSys.d.ts +12 -2
  11. package/lib/cjs/AuxCoordSys.d.ts.map +1 -1
  12. package/lib/cjs/AuxCoordSys.js +12 -2
  13. package/lib/cjs/AuxCoordSys.js.map +1 -1
  14. package/lib/cjs/BingLocation.d.ts +1 -0
  15. package/lib/cjs/BingLocation.d.ts.map +1 -1
  16. package/lib/cjs/BingLocation.js +1 -0
  17. package/lib/cjs/BingLocation.js.map +1 -1
  18. package/lib/cjs/CategorySelectorState.d.ts +1 -0
  19. package/lib/cjs/CategorySelectorState.d.ts.map +1 -1
  20. package/lib/cjs/CategorySelectorState.js +1 -0
  21. package/lib/cjs/CategorySelectorState.js.map +1 -1
  22. package/lib/cjs/ChangeFlags.d.ts +1 -0
  23. package/lib/cjs/ChangeFlags.d.ts.map +1 -1
  24. package/lib/cjs/ChangeFlags.js +1 -0
  25. package/lib/cjs/ChangeFlags.js.map +1 -1
  26. package/lib/cjs/ContextRealityModelState.d.ts +1 -0
  27. package/lib/cjs/ContextRealityModelState.d.ts.map +1 -1
  28. package/lib/cjs/ContextRealityModelState.js +1 -0
  29. package/lib/cjs/ContextRealityModelState.js.map +1 -1
  30. package/lib/cjs/CoordSystem.d.ts +1 -0
  31. package/lib/cjs/CoordSystem.d.ts.map +1 -1
  32. package/lib/cjs/CoordSystem.js +1 -0
  33. package/lib/cjs/CoordSystem.js.map +1 -1
  34. package/lib/cjs/DisplayStyleState.d.ts +4 -0
  35. package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
  36. package/lib/cjs/DisplayStyleState.js +3 -0
  37. package/lib/cjs/DisplayStyleState.js.map +1 -1
  38. package/lib/cjs/DrawingViewState.d.ts +1 -0
  39. package/lib/cjs/DrawingViewState.d.ts.map +1 -1
  40. package/lib/cjs/DrawingViewState.js +1 -0
  41. package/lib/cjs/DrawingViewState.js.map +1 -1
  42. package/lib/cjs/ElementLocateManager.d.ts +23 -5
  43. package/lib/cjs/ElementLocateManager.d.ts.map +1 -1
  44. package/lib/cjs/ElementLocateManager.js +19 -4
  45. package/lib/cjs/ElementLocateManager.js.map +1 -1
  46. package/lib/cjs/EmphasizeElements.d.ts +1 -0
  47. package/lib/cjs/EmphasizeElements.d.ts.map +1 -1
  48. package/lib/cjs/EmphasizeElements.js +1 -0
  49. package/lib/cjs/EmphasizeElements.js.map +1 -1
  50. package/lib/cjs/EntityState.d.ts +2 -0
  51. package/lib/cjs/EntityState.d.ts.map +1 -1
  52. package/lib/cjs/EntityState.js +2 -0
  53. package/lib/cjs/EntityState.js.map +1 -1
  54. package/lib/cjs/FeatureOverrideProvider.d.ts +1 -0
  55. package/lib/cjs/FeatureOverrideProvider.d.ts.map +1 -1
  56. package/lib/cjs/FeatureOverrideProvider.js.map +1 -1
  57. package/lib/cjs/FlashSettings.d.ts +3 -0
  58. package/lib/cjs/FlashSettings.d.ts.map +1 -1
  59. package/lib/cjs/FlashSettings.js +2 -0
  60. package/lib/cjs/FlashSettings.js.map +1 -1
  61. package/lib/cjs/FrontendHubAccess.d.ts +4 -1
  62. package/lib/cjs/FrontendHubAccess.d.ts.map +1 -1
  63. package/lib/cjs/FrontendHubAccess.js.map +1 -1
  64. package/lib/cjs/FrontendLoggerCategory.d.ts +1 -0
  65. package/lib/cjs/FrontendLoggerCategory.d.ts.map +1 -1
  66. package/lib/cjs/FrontendLoggerCategory.js +1 -0
  67. package/lib/cjs/FrontendLoggerCategory.js.map +1 -1
  68. package/lib/cjs/FrustumAnimator.d.ts +1 -0
  69. package/lib/cjs/FrustumAnimator.d.ts.map +1 -1
  70. package/lib/cjs/FrustumAnimator.js +1 -0
  71. package/lib/cjs/FrustumAnimator.js.map +1 -1
  72. package/lib/cjs/FuzzySearch.d.ts +1 -0
  73. package/lib/cjs/FuzzySearch.d.ts.map +1 -1
  74. package/lib/cjs/FuzzySearch.js.map +1 -1
  75. package/lib/cjs/GlobeAnimator.d.ts +1 -0
  76. package/lib/cjs/GlobeAnimator.d.ts.map +1 -1
  77. package/lib/cjs/GlobeAnimator.js +1 -0
  78. package/lib/cjs/GlobeAnimator.js.map +1 -1
  79. package/lib/cjs/HitDetail.d.ts +26 -5
  80. package/lib/cjs/HitDetail.d.ts.map +1 -1
  81. package/lib/cjs/HitDetail.js +26 -5
  82. package/lib/cjs/HitDetail.js.map +1 -1
  83. package/lib/cjs/IModelApp.d.ts +7 -0
  84. package/lib/cjs/IModelApp.d.ts.map +1 -1
  85. package/lib/cjs/IModelApp.js +32 -20
  86. package/lib/cjs/IModelApp.js.map +1 -1
  87. package/lib/cjs/IModelConnection.d.ts +1 -0
  88. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  89. package/lib/cjs/IModelConnection.js +1 -0
  90. package/lib/cjs/IModelConnection.js.map +1 -1
  91. package/lib/cjs/ImageUtil.d.ts +11 -0
  92. package/lib/cjs/ImageUtil.d.ts.map +1 -1
  93. package/lib/cjs/ImageUtil.js +11 -0
  94. package/lib/cjs/ImageUtil.js.map +1 -1
  95. package/lib/cjs/IpcApp.d.ts +1 -0
  96. package/lib/cjs/IpcApp.d.ts.map +1 -1
  97. package/lib/cjs/IpcApp.js +1 -0
  98. package/lib/cjs/IpcApp.js.map +1 -1
  99. package/lib/cjs/MarginPercent.d.ts +1 -0
  100. package/lib/cjs/MarginPercent.d.ts.map +1 -1
  101. package/lib/cjs/MarginPercent.js +1 -0
  102. package/lib/cjs/MarginPercent.js.map +1 -1
  103. package/lib/cjs/Marker.d.ts +16 -3
  104. package/lib/cjs/Marker.d.ts.map +1 -1
  105. package/lib/cjs/Marker.js +3 -0
  106. package/lib/cjs/Marker.js.map +1 -1
  107. package/lib/cjs/ModelSelectorState.d.ts +1 -0
  108. package/lib/cjs/ModelSelectorState.d.ts.map +1 -1
  109. package/lib/cjs/ModelSelectorState.js +1 -0
  110. package/lib/cjs/ModelSelectorState.js.map +1 -1
  111. package/lib/cjs/ModelState.d.ts +10 -0
  112. package/lib/cjs/ModelState.d.ts.map +1 -1
  113. package/lib/cjs/ModelState.js +10 -0
  114. package/lib/cjs/ModelState.js.map +1 -1
  115. package/lib/cjs/NotificationManager.d.ts +11 -0
  116. package/lib/cjs/NotificationManager.d.ts.map +1 -1
  117. package/lib/cjs/NotificationManager.js +10 -0
  118. package/lib/cjs/NotificationManager.js.map +1 -1
  119. package/lib/cjs/PerModelCategoryVisibility.d.ts +1 -0
  120. package/lib/cjs/PerModelCategoryVisibility.d.ts.map +1 -1
  121. package/lib/cjs/PerModelCategoryVisibility.js +1 -0
  122. package/lib/cjs/PerModelCategoryVisibility.js.map +1 -1
  123. package/lib/cjs/SelectionSet.d.ts +7 -0
  124. package/lib/cjs/SelectionSet.d.ts.map +1 -1
  125. package/lib/cjs/SelectionSet.js +3 -0
  126. package/lib/cjs/SelectionSet.js.map +1 -1
  127. package/lib/cjs/SheetViewState.d.ts +1 -0
  128. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  129. package/lib/cjs/SheetViewState.js +1 -0
  130. package/lib/cjs/SheetViewState.js.map +1 -1
  131. package/lib/cjs/SpatialViewState.d.ts +2 -0
  132. package/lib/cjs/SpatialViewState.d.ts.map +1 -1
  133. package/lib/cjs/SpatialViewState.js +2 -0
  134. package/lib/cjs/SpatialViewState.js.map +1 -1
  135. package/lib/cjs/Sprites.d.ts +3 -0
  136. package/lib/cjs/Sprites.d.ts.map +1 -1
  137. package/lib/cjs/Sprites.js +3 -0
  138. package/lib/cjs/Sprites.js.map +1 -1
  139. package/lib/cjs/StandardView.d.ts +1 -0
  140. package/lib/cjs/StandardView.d.ts.map +1 -1
  141. package/lib/cjs/StandardView.js +1 -0
  142. package/lib/cjs/StandardView.js.map +1 -1
  143. package/lib/cjs/TentativePoint.d.ts +4 -1
  144. package/lib/cjs/TentativePoint.d.ts.map +1 -1
  145. package/lib/cjs/TentativePoint.js +4 -1
  146. package/lib/cjs/TentativePoint.js.map +1 -1
  147. package/lib/cjs/Tiles.d.ts +1 -0
  148. package/lib/cjs/Tiles.d.ts.map +1 -1
  149. package/lib/cjs/Tiles.js +1 -0
  150. package/lib/cjs/Tiles.js.map +1 -1
  151. package/lib/cjs/ViewAnimation.d.ts +6 -0
  152. package/lib/cjs/ViewAnimation.d.ts.map +1 -1
  153. package/lib/cjs/ViewAnimation.js.map +1 -1
  154. package/lib/cjs/ViewCreator2d.d.ts +2 -0
  155. package/lib/cjs/ViewCreator2d.d.ts.map +1 -1
  156. package/lib/cjs/ViewCreator2d.js +1 -0
  157. package/lib/cjs/ViewCreator2d.js.map +1 -1
  158. package/lib/cjs/ViewCreator3d.d.ts +2 -0
  159. package/lib/cjs/ViewCreator3d.d.ts.map +1 -1
  160. package/lib/cjs/ViewCreator3d.js +1 -0
  161. package/lib/cjs/ViewCreator3d.js.map +1 -1
  162. package/lib/cjs/ViewGlobalLocation.d.ts +3 -0
  163. package/lib/cjs/ViewGlobalLocation.d.ts.map +1 -1
  164. package/lib/cjs/ViewGlobalLocation.js +1 -0
  165. package/lib/cjs/ViewGlobalLocation.js.map +1 -1
  166. package/lib/cjs/ViewManager.d.ts +3 -0
  167. package/lib/cjs/ViewManager.d.ts.map +1 -1
  168. package/lib/cjs/ViewManager.js +1 -0
  169. package/lib/cjs/ViewManager.js.map +1 -1
  170. package/lib/cjs/ViewPose.d.ts +1 -0
  171. package/lib/cjs/ViewPose.d.ts.map +1 -1
  172. package/lib/cjs/ViewPose.js +1 -0
  173. package/lib/cjs/ViewPose.js.map +1 -1
  174. package/lib/cjs/ViewRect.d.ts +1 -0
  175. package/lib/cjs/ViewRect.d.ts.map +1 -1
  176. package/lib/cjs/ViewRect.js +1 -0
  177. package/lib/cjs/ViewRect.js.map +1 -1
  178. package/lib/cjs/ViewState.d.ts +4 -0
  179. package/lib/cjs/ViewState.d.ts.map +1 -1
  180. package/lib/cjs/ViewState.js +3 -0
  181. package/lib/cjs/ViewState.js.map +1 -1
  182. package/lib/cjs/ViewStatus.d.ts +1 -0
  183. package/lib/cjs/ViewStatus.d.ts.map +1 -1
  184. package/lib/cjs/ViewStatus.js +1 -0
  185. package/lib/cjs/ViewStatus.js.map +1 -1
  186. package/lib/cjs/ViewingSpace.d.ts +1 -0
  187. package/lib/cjs/ViewingSpace.d.ts.map +1 -1
  188. package/lib/cjs/ViewingSpace.js +1 -0
  189. package/lib/cjs/ViewingSpace.js.map +1 -1
  190. package/lib/cjs/core-frontend.d.ts +6 -5
  191. package/lib/cjs/core-frontend.d.ts.map +1 -1
  192. package/lib/cjs/core-frontend.js +7 -5
  193. package/lib/cjs/core-frontend.js.map +1 -1
  194. package/lib/cjs/extension/Extension.d.ts +22 -3
  195. package/lib/cjs/extension/Extension.d.ts.map +1 -1
  196. package/lib/cjs/extension/Extension.js +0 -8
  197. package/lib/cjs/extension/Extension.js.map +1 -1
  198. package/lib/cjs/extension/ExtensionAdmin.d.ts +1 -3
  199. package/lib/cjs/extension/ExtensionAdmin.d.ts.map +1 -1
  200. package/lib/cjs/extension/ExtensionAdmin.js +1 -4
  201. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  202. package/lib/cjs/extension/ExtensionRuntime.js +231 -59
  203. package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
  204. package/lib/cjs/render/CanvasDecoration.d.ts +2 -0
  205. package/lib/cjs/render/CanvasDecoration.d.ts.map +1 -1
  206. package/lib/cjs/render/CanvasDecoration.js.map +1 -1
  207. package/lib/cjs/render/Decorations.d.ts +1 -0
  208. package/lib/cjs/render/Decorations.d.ts.map +1 -1
  209. package/lib/cjs/render/Decorations.js +1 -0
  210. package/lib/cjs/render/Decorations.js.map +1 -1
  211. package/lib/cjs/render/FeatureSymbology.d.ts +1 -0
  212. package/lib/cjs/render/FeatureSymbology.d.ts.map +1 -1
  213. package/lib/cjs/render/FeatureSymbology.js +1 -0
  214. package/lib/cjs/render/FeatureSymbology.js.map +1 -1
  215. package/lib/cjs/render/GraphicBranch.d.ts +2 -0
  216. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  217. package/lib/cjs/render/GraphicBranch.js +1 -0
  218. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  219. package/lib/cjs/render/GraphicBuilder.d.ts +8 -0
  220. package/lib/cjs/render/GraphicBuilder.d.ts.map +1 -1
  221. package/lib/cjs/render/GraphicBuilder.js +2 -0
  222. package/lib/cjs/render/GraphicBuilder.js.map +1 -1
  223. package/lib/cjs/render/GraphicPrimitive.d.ts +14 -0
  224. package/lib/cjs/render/GraphicPrimitive.d.ts.map +1 -1
  225. package/lib/cjs/render/GraphicPrimitive.js.map +1 -1
  226. package/lib/cjs/render/ParticleCollectionBuilder.d.ts +3 -0
  227. package/lib/cjs/render/ParticleCollectionBuilder.d.ts.map +1 -1
  228. package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
  229. package/lib/cjs/render/Pixel.d.ts +1 -0
  230. package/lib/cjs/render/Pixel.d.ts.map +1 -1
  231. package/lib/cjs/render/Pixel.js +1 -0
  232. package/lib/cjs/render/Pixel.js.map +1 -1
  233. package/lib/cjs/render/RenderClipVolume.d.ts +1 -0
  234. package/lib/cjs/render/RenderClipVolume.d.ts.map +1 -1
  235. package/lib/cjs/render/RenderClipVolume.js +1 -0
  236. package/lib/cjs/render/RenderClipVolume.js.map +1 -1
  237. package/lib/cjs/render/RenderGraphic.d.ts +3 -0
  238. package/lib/cjs/render/RenderGraphic.d.ts.map +1 -1
  239. package/lib/cjs/render/RenderGraphic.js +2 -0
  240. package/lib/cjs/render/RenderGraphic.js.map +1 -1
  241. package/lib/cjs/render/RenderSystem.d.ts +1 -0
  242. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  243. package/lib/cjs/render/RenderSystem.js +1 -0
  244. package/lib/cjs/render/RenderSystem.js.map +1 -1
  245. package/lib/cjs/render/RenderTexture.d.ts +7 -0
  246. package/lib/cjs/render/RenderTexture.d.ts.map +1 -1
  247. package/lib/cjs/render/RenderTexture.js.map +1 -1
  248. package/lib/cjs/render/Scene.d.ts +1 -0
  249. package/lib/cjs/render/Scene.d.ts.map +1 -1
  250. package/lib/cjs/render/Scene.js +1 -0
  251. package/lib/cjs/render/Scene.js.map +1 -1
  252. package/lib/cjs/render/ScreenSpaceEffectBuilder.d.ts +10 -0
  253. package/lib/cjs/render/ScreenSpaceEffectBuilder.d.ts.map +1 -1
  254. package/lib/cjs/render/ScreenSpaceEffectBuilder.js +2 -0
  255. package/lib/cjs/render/ScreenSpaceEffectBuilder.js.map +1 -1
  256. package/lib/cjs/tile/DisclosedTileTreeSet.d.ts +2 -0
  257. package/lib/cjs/tile/DisclosedTileTreeSet.d.ts.map +1 -1
  258. package/lib/cjs/tile/DisclosedTileTreeSet.js +1 -0
  259. package/lib/cjs/tile/DisclosedTileTreeSet.js.map +1 -1
  260. package/lib/cjs/tile/ImdlReader.d.ts +1 -0
  261. package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
  262. package/lib/cjs/tile/ImdlReader.js +1 -0
  263. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  264. package/lib/cjs/tile/Tile.d.ts +5 -0
  265. package/lib/cjs/tile/Tile.d.ts.map +1 -1
  266. package/lib/cjs/tile/Tile.js +5 -0
  267. package/lib/cjs/tile/Tile.js.map +1 -1
  268. package/lib/cjs/tile/TileAdmin.d.ts +3 -0
  269. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  270. package/lib/cjs/tile/TileAdmin.js +1 -0
  271. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  272. package/lib/cjs/tile/TileContent.d.ts +1 -0
  273. package/lib/cjs/tile/TileContent.d.ts.map +1 -1
  274. package/lib/cjs/tile/TileContent.js.map +1 -1
  275. package/lib/cjs/tile/TileDrawArgs.d.ts +2 -0
  276. package/lib/cjs/tile/TileDrawArgs.d.ts.map +1 -1
  277. package/lib/cjs/tile/TileDrawArgs.js +1 -0
  278. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  279. package/lib/cjs/tile/TileParams.d.ts +1 -0
  280. package/lib/cjs/tile/TileParams.d.ts.map +1 -1
  281. package/lib/cjs/tile/TileParams.js.map +1 -1
  282. package/lib/cjs/tile/TileRequest.d.ts +1 -0
  283. package/lib/cjs/tile/TileRequest.d.ts.map +1 -1
  284. package/lib/cjs/tile/TileRequest.js +1 -0
  285. package/lib/cjs/tile/TileRequest.js.map +1 -1
  286. package/lib/cjs/tile/TileRequestChannel.d.ts +2 -0
  287. package/lib/cjs/tile/TileRequestChannel.d.ts.map +1 -1
  288. package/lib/cjs/tile/TileRequestChannel.js +2 -0
  289. package/lib/cjs/tile/TileRequestChannel.js.map +1 -1
  290. package/lib/cjs/tile/TileRequestChannels.d.ts +1 -0
  291. package/lib/cjs/tile/TileRequestChannels.d.ts.map +1 -1
  292. package/lib/cjs/tile/TileRequestChannels.js +1 -0
  293. package/lib/cjs/tile/TileRequestChannels.js.map +1 -1
  294. package/lib/cjs/tile/TileTree.d.ts +2 -0
  295. package/lib/cjs/tile/TileTree.d.ts.map +1 -1
  296. package/lib/cjs/tile/TileTree.js +2 -0
  297. package/lib/cjs/tile/TileTree.js.map +1 -1
  298. package/lib/cjs/tile/TileTreeOwner.d.ts +1 -0
  299. package/lib/cjs/tile/TileTreeOwner.d.ts.map +1 -1
  300. package/lib/cjs/tile/TileTreeOwner.js.map +1 -1
  301. package/lib/cjs/tile/TileTreeParams.d.ts +1 -0
  302. package/lib/cjs/tile/TileTreeParams.d.ts.map +1 -1
  303. package/lib/cjs/tile/TileTreeParams.js.map +1 -1
  304. package/lib/cjs/tile/TileTreeReference.d.ts +2 -0
  305. package/lib/cjs/tile/TileTreeReference.d.ts.map +1 -1
  306. package/lib/cjs/tile/TileTreeReference.js +2 -0
  307. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  308. package/lib/cjs/tile/TileTreeSupplier.d.ts +1 -0
  309. package/lib/cjs/tile/TileTreeSupplier.d.ts.map +1 -1
  310. package/lib/cjs/tile/TileTreeSupplier.js.map +1 -1
  311. package/lib/cjs/tile/TileUsageMarker.d.ts +1 -0
  312. package/lib/cjs/tile/TileUsageMarker.d.ts.map +1 -1
  313. package/lib/cjs/tile/TileUsageMarker.js +1 -0
  314. package/lib/cjs/tile/TileUsageMarker.js.map +1 -1
  315. package/lib/cjs/tile/TiledGraphicsProvider.d.ts +1 -0
  316. package/lib/cjs/tile/TiledGraphicsProvider.d.ts.map +1 -1
  317. package/lib/cjs/tile/TiledGraphicsProvider.js.map +1 -1
  318. package/lib/cjs/tile/map/BingElevation.d.ts +1 -0
  319. package/lib/cjs/tile/map/BingElevation.d.ts.map +1 -1
  320. package/lib/cjs/tile/map/BingElevation.js +1 -0
  321. package/lib/cjs/tile/map/BingElevation.js.map +1 -1
  322. package/lib/cjs/tools/ClipViewTool.d.ts +5 -3
  323. package/lib/cjs/tools/ClipViewTool.d.ts.map +1 -1
  324. package/lib/cjs/tools/ClipViewTool.js +4 -3
  325. package/lib/cjs/tools/ClipViewTool.js.map +1 -1
  326. package/lib/cjs/tools/EditManipulator.d.ts +1 -0
  327. package/lib/cjs/tools/EditManipulator.d.ts.map +1 -1
  328. package/lib/cjs/tools/EditManipulator.js +1 -0
  329. package/lib/cjs/tools/EditManipulator.js.map +1 -1
  330. package/lib/cjs/tools/EventController.d.ts +1 -0
  331. package/lib/cjs/tools/EventController.d.ts.map +1 -1
  332. package/lib/cjs/tools/EventController.js +1 -0
  333. package/lib/cjs/tools/EventController.js.map +1 -1
  334. package/lib/cjs/tools/PrimitiveTool.d.ts +1 -0
  335. package/lib/cjs/tools/PrimitiveTool.d.ts.map +1 -1
  336. package/lib/cjs/tools/PrimitiveTool.js +1 -0
  337. package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
  338. package/lib/cjs/tools/SelectTool.d.ts +3 -0
  339. package/lib/cjs/tools/SelectTool.d.ts.map +1 -1
  340. package/lib/cjs/tools/SelectTool.js +3 -0
  341. package/lib/cjs/tools/SelectTool.js.map +1 -1
  342. package/lib/cjs/tools/Tool.d.ts +41 -6
  343. package/lib/cjs/tools/Tool.d.ts.map +1 -1
  344. package/lib/cjs/tools/Tool.js +27 -4
  345. package/lib/cjs/tools/Tool.js.map +1 -1
  346. package/lib/cjs/tools/ToolAdmin.d.ts +9 -2
  347. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  348. package/lib/cjs/tools/ToolAdmin.js +9 -2
  349. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  350. package/lib/cjs/tools/ToolAssistance.d.ts +7 -0
  351. package/lib/cjs/tools/ToolAssistance.d.ts.map +1 -1
  352. package/lib/cjs/tools/ToolAssistance.js +3 -0
  353. package/lib/cjs/tools/ToolAssistance.js.map +1 -1
  354. package/lib/cjs/tools/ToolSettings.d.ts +1 -0
  355. package/lib/cjs/tools/ToolSettings.d.ts.map +1 -1
  356. package/lib/cjs/tools/ToolSettings.js +1 -0
  357. package/lib/cjs/tools/ToolSettings.js.map +1 -1
  358. package/lib/cjs/tools/ViewTool.d.ts +2 -0
  359. package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
  360. package/lib/cjs/tools/ViewTool.js +2 -0
  361. package/lib/cjs/tools/ViewTool.js.map +1 -1
  362. package/lib/esm/AccuDraw.d.ts +2 -0
  363. package/lib/esm/AccuDraw.d.ts.map +1 -1
  364. package/lib/esm/AccuDraw.js +2 -0
  365. package/lib/esm/AccuDraw.js.map +1 -1
  366. package/lib/esm/AccuSnap.d.ts +1 -0
  367. package/lib/esm/AccuSnap.d.ts.map +1 -1
  368. package/lib/esm/AccuSnap.js +1 -0
  369. package/lib/esm/AccuSnap.js.map +1 -1
  370. package/lib/esm/AuxCoordSys.d.ts +12 -2
  371. package/lib/esm/AuxCoordSys.d.ts.map +1 -1
  372. package/lib/esm/AuxCoordSys.js +12 -2
  373. package/lib/esm/AuxCoordSys.js.map +1 -1
  374. package/lib/esm/BingLocation.d.ts +1 -0
  375. package/lib/esm/BingLocation.d.ts.map +1 -1
  376. package/lib/esm/BingLocation.js +1 -0
  377. package/lib/esm/BingLocation.js.map +1 -1
  378. package/lib/esm/CategorySelectorState.d.ts +1 -0
  379. package/lib/esm/CategorySelectorState.d.ts.map +1 -1
  380. package/lib/esm/CategorySelectorState.js +1 -0
  381. package/lib/esm/CategorySelectorState.js.map +1 -1
  382. package/lib/esm/ChangeFlags.d.ts +1 -0
  383. package/lib/esm/ChangeFlags.d.ts.map +1 -1
  384. package/lib/esm/ChangeFlags.js +1 -0
  385. package/lib/esm/ChangeFlags.js.map +1 -1
  386. package/lib/esm/ContextRealityModelState.d.ts +1 -0
  387. package/lib/esm/ContextRealityModelState.d.ts.map +1 -1
  388. package/lib/esm/ContextRealityModelState.js +1 -0
  389. package/lib/esm/ContextRealityModelState.js.map +1 -1
  390. package/lib/esm/CoordSystem.d.ts +1 -0
  391. package/lib/esm/CoordSystem.d.ts.map +1 -1
  392. package/lib/esm/CoordSystem.js +1 -0
  393. package/lib/esm/CoordSystem.js.map +1 -1
  394. package/lib/esm/DisplayStyleState.d.ts +4 -0
  395. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  396. package/lib/esm/DisplayStyleState.js +3 -0
  397. package/lib/esm/DisplayStyleState.js.map +1 -1
  398. package/lib/esm/DrawingViewState.d.ts +1 -0
  399. package/lib/esm/DrawingViewState.d.ts.map +1 -1
  400. package/lib/esm/DrawingViewState.js +1 -0
  401. package/lib/esm/DrawingViewState.js.map +1 -1
  402. package/lib/esm/ElementLocateManager.d.ts +23 -5
  403. package/lib/esm/ElementLocateManager.d.ts.map +1 -1
  404. package/lib/esm/ElementLocateManager.js +19 -4
  405. package/lib/esm/ElementLocateManager.js.map +1 -1
  406. package/lib/esm/EmphasizeElements.d.ts +1 -0
  407. package/lib/esm/EmphasizeElements.d.ts.map +1 -1
  408. package/lib/esm/EmphasizeElements.js +1 -0
  409. package/lib/esm/EmphasizeElements.js.map +1 -1
  410. package/lib/esm/EntityState.d.ts +2 -0
  411. package/lib/esm/EntityState.d.ts.map +1 -1
  412. package/lib/esm/EntityState.js +2 -0
  413. package/lib/esm/EntityState.js.map +1 -1
  414. package/lib/esm/FeatureOverrideProvider.d.ts +1 -0
  415. package/lib/esm/FeatureOverrideProvider.d.ts.map +1 -1
  416. package/lib/esm/FeatureOverrideProvider.js.map +1 -1
  417. package/lib/esm/FlashSettings.d.ts +3 -0
  418. package/lib/esm/FlashSettings.d.ts.map +1 -1
  419. package/lib/esm/FlashSettings.js +2 -0
  420. package/lib/esm/FlashSettings.js.map +1 -1
  421. package/lib/esm/FrontendHubAccess.d.ts +4 -1
  422. package/lib/esm/FrontendHubAccess.d.ts.map +1 -1
  423. package/lib/esm/FrontendHubAccess.js.map +1 -1
  424. package/lib/esm/FrontendLoggerCategory.d.ts +1 -0
  425. package/lib/esm/FrontendLoggerCategory.d.ts.map +1 -1
  426. package/lib/esm/FrontendLoggerCategory.js +1 -0
  427. package/lib/esm/FrontendLoggerCategory.js.map +1 -1
  428. package/lib/esm/FrustumAnimator.d.ts +1 -0
  429. package/lib/esm/FrustumAnimator.d.ts.map +1 -1
  430. package/lib/esm/FrustumAnimator.js +1 -0
  431. package/lib/esm/FrustumAnimator.js.map +1 -1
  432. package/lib/esm/FuzzySearch.d.ts +1 -0
  433. package/lib/esm/FuzzySearch.d.ts.map +1 -1
  434. package/lib/esm/FuzzySearch.js.map +1 -1
  435. package/lib/esm/GlobeAnimator.d.ts +1 -0
  436. package/lib/esm/GlobeAnimator.d.ts.map +1 -1
  437. package/lib/esm/GlobeAnimator.js +1 -0
  438. package/lib/esm/GlobeAnimator.js.map +1 -1
  439. package/lib/esm/HitDetail.d.ts +26 -5
  440. package/lib/esm/HitDetail.d.ts.map +1 -1
  441. package/lib/esm/HitDetail.js +26 -5
  442. package/lib/esm/HitDetail.js.map +1 -1
  443. package/lib/esm/IModelApp.d.ts +7 -0
  444. package/lib/esm/IModelApp.d.ts.map +1 -1
  445. package/lib/esm/IModelApp.js +32 -20
  446. package/lib/esm/IModelApp.js.map +1 -1
  447. package/lib/esm/IModelConnection.d.ts +1 -0
  448. package/lib/esm/IModelConnection.d.ts.map +1 -1
  449. package/lib/esm/IModelConnection.js +1 -0
  450. package/lib/esm/IModelConnection.js.map +1 -1
  451. package/lib/esm/ImageUtil.d.ts +11 -0
  452. package/lib/esm/ImageUtil.d.ts.map +1 -1
  453. package/lib/esm/ImageUtil.js +11 -0
  454. package/lib/esm/ImageUtil.js.map +1 -1
  455. package/lib/esm/IpcApp.d.ts +1 -0
  456. package/lib/esm/IpcApp.d.ts.map +1 -1
  457. package/lib/esm/IpcApp.js +1 -0
  458. package/lib/esm/IpcApp.js.map +1 -1
  459. package/lib/esm/MarginPercent.d.ts +1 -0
  460. package/lib/esm/MarginPercent.d.ts.map +1 -1
  461. package/lib/esm/MarginPercent.js +1 -0
  462. package/lib/esm/MarginPercent.js.map +1 -1
  463. package/lib/esm/Marker.d.ts +16 -3
  464. package/lib/esm/Marker.d.ts.map +1 -1
  465. package/lib/esm/Marker.js +3 -0
  466. package/lib/esm/Marker.js.map +1 -1
  467. package/lib/esm/ModelSelectorState.d.ts +1 -0
  468. package/lib/esm/ModelSelectorState.d.ts.map +1 -1
  469. package/lib/esm/ModelSelectorState.js +1 -0
  470. package/lib/esm/ModelSelectorState.js.map +1 -1
  471. package/lib/esm/ModelState.d.ts +10 -0
  472. package/lib/esm/ModelState.d.ts.map +1 -1
  473. package/lib/esm/ModelState.js +10 -0
  474. package/lib/esm/ModelState.js.map +1 -1
  475. package/lib/esm/NotificationManager.d.ts +11 -0
  476. package/lib/esm/NotificationManager.d.ts.map +1 -1
  477. package/lib/esm/NotificationManager.js +10 -0
  478. package/lib/esm/NotificationManager.js.map +1 -1
  479. package/lib/esm/PerModelCategoryVisibility.d.ts +1 -0
  480. package/lib/esm/PerModelCategoryVisibility.d.ts.map +1 -1
  481. package/lib/esm/PerModelCategoryVisibility.js +1 -0
  482. package/lib/esm/PerModelCategoryVisibility.js.map +1 -1
  483. package/lib/esm/SelectionSet.d.ts +7 -0
  484. package/lib/esm/SelectionSet.d.ts.map +1 -1
  485. package/lib/esm/SelectionSet.js +3 -0
  486. package/lib/esm/SelectionSet.js.map +1 -1
  487. package/lib/esm/SheetViewState.d.ts +1 -0
  488. package/lib/esm/SheetViewState.d.ts.map +1 -1
  489. package/lib/esm/SheetViewState.js +1 -0
  490. package/lib/esm/SheetViewState.js.map +1 -1
  491. package/lib/esm/SpatialViewState.d.ts +2 -0
  492. package/lib/esm/SpatialViewState.d.ts.map +1 -1
  493. package/lib/esm/SpatialViewState.js +2 -0
  494. package/lib/esm/SpatialViewState.js.map +1 -1
  495. package/lib/esm/Sprites.d.ts +3 -0
  496. package/lib/esm/Sprites.d.ts.map +1 -1
  497. package/lib/esm/Sprites.js +3 -0
  498. package/lib/esm/Sprites.js.map +1 -1
  499. package/lib/esm/StandardView.d.ts +1 -0
  500. package/lib/esm/StandardView.d.ts.map +1 -1
  501. package/lib/esm/StandardView.js +1 -0
  502. package/lib/esm/StandardView.js.map +1 -1
  503. package/lib/esm/TentativePoint.d.ts +4 -1
  504. package/lib/esm/TentativePoint.d.ts.map +1 -1
  505. package/lib/esm/TentativePoint.js +4 -1
  506. package/lib/esm/TentativePoint.js.map +1 -1
  507. package/lib/esm/Tiles.d.ts +1 -0
  508. package/lib/esm/Tiles.d.ts.map +1 -1
  509. package/lib/esm/Tiles.js +1 -0
  510. package/lib/esm/Tiles.js.map +1 -1
  511. package/lib/esm/ViewAnimation.d.ts +6 -0
  512. package/lib/esm/ViewAnimation.d.ts.map +1 -1
  513. package/lib/esm/ViewAnimation.js.map +1 -1
  514. package/lib/esm/ViewCreator2d.d.ts +2 -0
  515. package/lib/esm/ViewCreator2d.d.ts.map +1 -1
  516. package/lib/esm/ViewCreator2d.js +1 -0
  517. package/lib/esm/ViewCreator2d.js.map +1 -1
  518. package/lib/esm/ViewCreator3d.d.ts +2 -0
  519. package/lib/esm/ViewCreator3d.d.ts.map +1 -1
  520. package/lib/esm/ViewCreator3d.js +1 -0
  521. package/lib/esm/ViewCreator3d.js.map +1 -1
  522. package/lib/esm/ViewGlobalLocation.d.ts +3 -0
  523. package/lib/esm/ViewGlobalLocation.d.ts.map +1 -1
  524. package/lib/esm/ViewGlobalLocation.js +1 -0
  525. package/lib/esm/ViewGlobalLocation.js.map +1 -1
  526. package/lib/esm/ViewManager.d.ts +3 -0
  527. package/lib/esm/ViewManager.d.ts.map +1 -1
  528. package/lib/esm/ViewManager.js +1 -0
  529. package/lib/esm/ViewManager.js.map +1 -1
  530. package/lib/esm/ViewPose.d.ts +1 -0
  531. package/lib/esm/ViewPose.d.ts.map +1 -1
  532. package/lib/esm/ViewPose.js +1 -0
  533. package/lib/esm/ViewPose.js.map +1 -1
  534. package/lib/esm/ViewRect.d.ts +1 -0
  535. package/lib/esm/ViewRect.d.ts.map +1 -1
  536. package/lib/esm/ViewRect.js +1 -0
  537. package/lib/esm/ViewRect.js.map +1 -1
  538. package/lib/esm/ViewState.d.ts +4 -0
  539. package/lib/esm/ViewState.d.ts.map +1 -1
  540. package/lib/esm/ViewState.js +3 -0
  541. package/lib/esm/ViewState.js.map +1 -1
  542. package/lib/esm/ViewStatus.d.ts +1 -0
  543. package/lib/esm/ViewStatus.d.ts.map +1 -1
  544. package/lib/esm/ViewStatus.js +1 -0
  545. package/lib/esm/ViewStatus.js.map +1 -1
  546. package/lib/esm/ViewingSpace.d.ts +1 -0
  547. package/lib/esm/ViewingSpace.d.ts.map +1 -1
  548. package/lib/esm/ViewingSpace.js +1 -0
  549. package/lib/esm/ViewingSpace.js.map +1 -1
  550. package/lib/esm/core-frontend.d.ts +6 -5
  551. package/lib/esm/core-frontend.d.ts.map +1 -1
  552. package/lib/esm/core-frontend.js +7 -5
  553. package/lib/esm/core-frontend.js.map +1 -1
  554. package/lib/esm/extension/Extension.d.ts +22 -3
  555. package/lib/esm/extension/Extension.d.ts.map +1 -1
  556. package/lib/esm/extension/Extension.js +1 -7
  557. package/lib/esm/extension/Extension.js.map +1 -1
  558. package/lib/esm/extension/ExtensionAdmin.d.ts +1 -3
  559. package/lib/esm/extension/ExtensionAdmin.d.ts.map +1 -1
  560. package/lib/esm/extension/ExtensionAdmin.js +1 -4
  561. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  562. package/lib/esm/extension/ExtensionRuntime.js +239 -59
  563. package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
  564. package/lib/esm/render/CanvasDecoration.d.ts +2 -0
  565. package/lib/esm/render/CanvasDecoration.d.ts.map +1 -1
  566. package/lib/esm/render/CanvasDecoration.js.map +1 -1
  567. package/lib/esm/render/Decorations.d.ts +1 -0
  568. package/lib/esm/render/Decorations.d.ts.map +1 -1
  569. package/lib/esm/render/Decorations.js +1 -0
  570. package/lib/esm/render/Decorations.js.map +1 -1
  571. package/lib/esm/render/FeatureSymbology.d.ts +1 -0
  572. package/lib/esm/render/FeatureSymbology.d.ts.map +1 -1
  573. package/lib/esm/render/FeatureSymbology.js +1 -0
  574. package/lib/esm/render/FeatureSymbology.js.map +1 -1
  575. package/lib/esm/render/GraphicBranch.d.ts +2 -0
  576. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  577. package/lib/esm/render/GraphicBranch.js +1 -0
  578. package/lib/esm/render/GraphicBranch.js.map +1 -1
  579. package/lib/esm/render/GraphicBuilder.d.ts +8 -0
  580. package/lib/esm/render/GraphicBuilder.d.ts.map +1 -1
  581. package/lib/esm/render/GraphicBuilder.js +2 -0
  582. package/lib/esm/render/GraphicBuilder.js.map +1 -1
  583. package/lib/esm/render/GraphicPrimitive.d.ts +14 -0
  584. package/lib/esm/render/GraphicPrimitive.d.ts.map +1 -1
  585. package/lib/esm/render/GraphicPrimitive.js.map +1 -1
  586. package/lib/esm/render/ParticleCollectionBuilder.d.ts +3 -0
  587. package/lib/esm/render/ParticleCollectionBuilder.d.ts.map +1 -1
  588. package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
  589. package/lib/esm/render/Pixel.d.ts +1 -0
  590. package/lib/esm/render/Pixel.d.ts.map +1 -1
  591. package/lib/esm/render/Pixel.js +1 -0
  592. package/lib/esm/render/Pixel.js.map +1 -1
  593. package/lib/esm/render/RenderClipVolume.d.ts +1 -0
  594. package/lib/esm/render/RenderClipVolume.d.ts.map +1 -1
  595. package/lib/esm/render/RenderClipVolume.js +1 -0
  596. package/lib/esm/render/RenderClipVolume.js.map +1 -1
  597. package/lib/esm/render/RenderGraphic.d.ts +3 -0
  598. package/lib/esm/render/RenderGraphic.d.ts.map +1 -1
  599. package/lib/esm/render/RenderGraphic.js +2 -0
  600. package/lib/esm/render/RenderGraphic.js.map +1 -1
  601. package/lib/esm/render/RenderSystem.d.ts +1 -0
  602. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  603. package/lib/esm/render/RenderSystem.js +1 -0
  604. package/lib/esm/render/RenderSystem.js.map +1 -1
  605. package/lib/esm/render/RenderTexture.d.ts +7 -0
  606. package/lib/esm/render/RenderTexture.d.ts.map +1 -1
  607. package/lib/esm/render/RenderTexture.js.map +1 -1
  608. package/lib/esm/render/Scene.d.ts +1 -0
  609. package/lib/esm/render/Scene.d.ts.map +1 -1
  610. package/lib/esm/render/Scene.js +1 -0
  611. package/lib/esm/render/Scene.js.map +1 -1
  612. package/lib/esm/render/ScreenSpaceEffectBuilder.d.ts +10 -0
  613. package/lib/esm/render/ScreenSpaceEffectBuilder.d.ts.map +1 -1
  614. package/lib/esm/render/ScreenSpaceEffectBuilder.js +2 -0
  615. package/lib/esm/render/ScreenSpaceEffectBuilder.js.map +1 -1
  616. package/lib/esm/tile/DisclosedTileTreeSet.d.ts +2 -0
  617. package/lib/esm/tile/DisclosedTileTreeSet.d.ts.map +1 -1
  618. package/lib/esm/tile/DisclosedTileTreeSet.js +1 -0
  619. package/lib/esm/tile/DisclosedTileTreeSet.js.map +1 -1
  620. package/lib/esm/tile/ImdlReader.d.ts +1 -0
  621. package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
  622. package/lib/esm/tile/ImdlReader.js +1 -0
  623. package/lib/esm/tile/ImdlReader.js.map +1 -1
  624. package/lib/esm/tile/Tile.d.ts +5 -0
  625. package/lib/esm/tile/Tile.d.ts.map +1 -1
  626. package/lib/esm/tile/Tile.js +5 -0
  627. package/lib/esm/tile/Tile.js.map +1 -1
  628. package/lib/esm/tile/TileAdmin.d.ts +3 -0
  629. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  630. package/lib/esm/tile/TileAdmin.js +1 -0
  631. package/lib/esm/tile/TileAdmin.js.map +1 -1
  632. package/lib/esm/tile/TileContent.d.ts +1 -0
  633. package/lib/esm/tile/TileContent.d.ts.map +1 -1
  634. package/lib/esm/tile/TileContent.js.map +1 -1
  635. package/lib/esm/tile/TileDrawArgs.d.ts +2 -0
  636. package/lib/esm/tile/TileDrawArgs.d.ts.map +1 -1
  637. package/lib/esm/tile/TileDrawArgs.js +1 -0
  638. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  639. package/lib/esm/tile/TileParams.d.ts +1 -0
  640. package/lib/esm/tile/TileParams.d.ts.map +1 -1
  641. package/lib/esm/tile/TileParams.js.map +1 -1
  642. package/lib/esm/tile/TileRequest.d.ts +1 -0
  643. package/lib/esm/tile/TileRequest.d.ts.map +1 -1
  644. package/lib/esm/tile/TileRequest.js +1 -0
  645. package/lib/esm/tile/TileRequest.js.map +1 -1
  646. package/lib/esm/tile/TileRequestChannel.d.ts +2 -0
  647. package/lib/esm/tile/TileRequestChannel.d.ts.map +1 -1
  648. package/lib/esm/tile/TileRequestChannel.js +2 -0
  649. package/lib/esm/tile/TileRequestChannel.js.map +1 -1
  650. package/lib/esm/tile/TileRequestChannels.d.ts +1 -0
  651. package/lib/esm/tile/TileRequestChannels.d.ts.map +1 -1
  652. package/lib/esm/tile/TileRequestChannels.js +1 -0
  653. package/lib/esm/tile/TileRequestChannels.js.map +1 -1
  654. package/lib/esm/tile/TileTree.d.ts +2 -0
  655. package/lib/esm/tile/TileTree.d.ts.map +1 -1
  656. package/lib/esm/tile/TileTree.js +2 -0
  657. package/lib/esm/tile/TileTree.js.map +1 -1
  658. package/lib/esm/tile/TileTreeOwner.d.ts +1 -0
  659. package/lib/esm/tile/TileTreeOwner.d.ts.map +1 -1
  660. package/lib/esm/tile/TileTreeOwner.js.map +1 -1
  661. package/lib/esm/tile/TileTreeParams.d.ts +1 -0
  662. package/lib/esm/tile/TileTreeParams.d.ts.map +1 -1
  663. package/lib/esm/tile/TileTreeParams.js.map +1 -1
  664. package/lib/esm/tile/TileTreeReference.d.ts +2 -0
  665. package/lib/esm/tile/TileTreeReference.d.ts.map +1 -1
  666. package/lib/esm/tile/TileTreeReference.js +2 -0
  667. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  668. package/lib/esm/tile/TileTreeSupplier.d.ts +1 -0
  669. package/lib/esm/tile/TileTreeSupplier.d.ts.map +1 -1
  670. package/lib/esm/tile/TileTreeSupplier.js.map +1 -1
  671. package/lib/esm/tile/TileUsageMarker.d.ts +1 -0
  672. package/lib/esm/tile/TileUsageMarker.d.ts.map +1 -1
  673. package/lib/esm/tile/TileUsageMarker.js +1 -0
  674. package/lib/esm/tile/TileUsageMarker.js.map +1 -1
  675. package/lib/esm/tile/TiledGraphicsProvider.d.ts +1 -0
  676. package/lib/esm/tile/TiledGraphicsProvider.d.ts.map +1 -1
  677. package/lib/esm/tile/TiledGraphicsProvider.js.map +1 -1
  678. package/lib/esm/tile/map/BingElevation.d.ts +1 -0
  679. package/lib/esm/tile/map/BingElevation.d.ts.map +1 -1
  680. package/lib/esm/tile/map/BingElevation.js +1 -0
  681. package/lib/esm/tile/map/BingElevation.js.map +1 -1
  682. package/lib/esm/tools/ClipViewTool.d.ts +5 -3
  683. package/lib/esm/tools/ClipViewTool.d.ts.map +1 -1
  684. package/lib/esm/tools/ClipViewTool.js +4 -3
  685. package/lib/esm/tools/ClipViewTool.js.map +1 -1
  686. package/lib/esm/tools/EditManipulator.d.ts +1 -0
  687. package/lib/esm/tools/EditManipulator.d.ts.map +1 -1
  688. package/lib/esm/tools/EditManipulator.js +1 -0
  689. package/lib/esm/tools/EditManipulator.js.map +1 -1
  690. package/lib/esm/tools/EventController.d.ts +1 -0
  691. package/lib/esm/tools/EventController.d.ts.map +1 -1
  692. package/lib/esm/tools/EventController.js +1 -0
  693. package/lib/esm/tools/EventController.js.map +1 -1
  694. package/lib/esm/tools/PrimitiveTool.d.ts +1 -0
  695. package/lib/esm/tools/PrimitiveTool.d.ts.map +1 -1
  696. package/lib/esm/tools/PrimitiveTool.js +1 -0
  697. package/lib/esm/tools/PrimitiveTool.js.map +1 -1
  698. package/lib/esm/tools/SelectTool.d.ts +3 -0
  699. package/lib/esm/tools/SelectTool.d.ts.map +1 -1
  700. package/lib/esm/tools/SelectTool.js +3 -0
  701. package/lib/esm/tools/SelectTool.js.map +1 -1
  702. package/lib/esm/tools/Tool.d.ts +41 -6
  703. package/lib/esm/tools/Tool.d.ts.map +1 -1
  704. package/lib/esm/tools/Tool.js +27 -4
  705. package/lib/esm/tools/Tool.js.map +1 -1
  706. package/lib/esm/tools/ToolAdmin.d.ts +9 -2
  707. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  708. package/lib/esm/tools/ToolAdmin.js +9 -2
  709. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  710. package/lib/esm/tools/ToolAssistance.d.ts +7 -0
  711. package/lib/esm/tools/ToolAssistance.d.ts.map +1 -1
  712. package/lib/esm/tools/ToolAssistance.js +3 -0
  713. package/lib/esm/tools/ToolAssistance.js.map +1 -1
  714. package/lib/esm/tools/ToolSettings.d.ts +1 -0
  715. package/lib/esm/tools/ToolSettings.d.ts.map +1 -1
  716. package/lib/esm/tools/ToolSettings.js +1 -0
  717. package/lib/esm/tools/ToolSettings.js.map +1 -1
  718. package/lib/esm/tools/ViewTool.d.ts +2 -0
  719. package/lib/esm/tools/ViewTool.d.ts.map +1 -1
  720. package/lib/esm/tools/ViewTool.js +2 -0
  721. package/lib/esm/tools/ViewTool.js.map +1 -1
  722. package/package.json +32 -21
  723. package/lib/cjs/extension/ExtensionLoader.d.ts +0 -26
  724. package/lib/cjs/extension/ExtensionLoader.d.ts.map +0 -1
  725. package/lib/cjs/extension/ExtensionLoader.js +0 -10
  726. package/lib/cjs/extension/ExtensionLoader.js.map +0 -1
  727. package/lib/cjs/extension/extensions.d.ts +0 -19
  728. package/lib/cjs/extension/extensions.d.ts.map +0 -1
  729. package/lib/cjs/extension/extensions.js +0 -36
  730. package/lib/cjs/extension/extensions.js.map +0 -1
  731. package/lib/esm/extension/ExtensionLoader.d.ts +0 -26
  732. package/lib/esm/extension/ExtensionLoader.d.ts.map +0 -1
  733. package/lib/esm/extension/ExtensionLoader.js +0 -9
  734. package/lib/esm/extension/ExtensionLoader.js.map +0 -1
  735. package/lib/esm/extension/extensions.d.ts +0 -19
  736. package/lib/esm/extension/extensions.d.ts.map +0 -1
  737. package/lib/esm/extension/extensions.js +0 -24
  738. package/lib/esm/extension/extensions.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PerModelCategoryVisibility.js","sourceRoot":"","sources":["../../src/PerModelCategoryVisibility.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Views\r\n */\r\n\r\nimport { compareStrings, Id64, Id64Arg, Id64String, SortedArray } from \"@itwin/core-bentley\";\r\nimport { FeatureSymbology } from \"./render/FeatureSymbology\";\r\nimport { Viewport } from \"./Viewport\";\r\n\r\n/** Per-model category visibility permits the visibility of categories within a [[Viewport]] displaying a [[SpatialViewState]] to be overridden in\r\n * the context of individual [[GeometricModelState]]s.\r\n * If a category's visibility is overridden for a given model, then elements belonging to that category within that model will be displayed or hidden regardless of the category's inclusion in the Viewport's [[CategorySelectorState]].\r\n * The override affects geometry on all subcategories belonging to the overridden category. That is, if the category is overridden to be visible, then geometry on all subcategories of the category\r\n * will be visible, regardless of any [SubCategoryOverride]($common)s applied by the view's [[DisplayStyleState]].\r\n * @see [[Viewport.perModelCategoryVisibility]] to define the per-model category visibility for a viewport.\r\n * @public\r\n */\r\nexport namespace PerModelCategoryVisibility {\r\n /** Describes whether and how a category's visibility is overridden. */\r\n export enum Override {\r\n /** The category's visibility is not overridden; its visibility is wholly controlled by the [[Viewport]]'s [[CategorySelectorState]]. */\r\n None,\r\n /** The category is overridden to be visible. */\r\n Show,\r\n /** The category is overridden to be invisible. */\r\n Hide,\r\n }\r\n\r\n /** Describes one visibility override in a [[PerModelCategoryVisibility.Overrides]]. */\r\n export interface OverrideEntry {\r\n /** The Id of the [[GeometricModelState]] in which the override applies. */\r\n readonly modelId: Id64String;\r\n /** The Id of the [SpatialCategory]($backend) whose visibility is overridden. */\r\n readonly categoryId: Id64String;\r\n /** Whether the category is visible in the context of the model. */\r\n readonly visible: boolean;\r\n }\r\n\r\n /** Describes a set of per-model category visibility overrides. Changes to these overrides invoke the [[Viewport.onViewedCategoriesPerModelChanged]] event.\r\n * @see [[Viewport.perModelCategoryVisibility]].\r\n */\r\n export interface Overrides {\r\n /** Returns the override state of the specified category within the specified model. */\r\n getOverride(modelId: Id64String, categoryId: Id64String): Override;\r\n /** Changes the override state of one or more categories for one or more models. */\r\n setOverride(modelIds: Id64Arg, categoryIds: Id64Arg, override: Override): void;\r\n /** Removes all overrides for the specified models, or for all models if `modelIds` is undefined. */\r\n clearOverrides(modelIds?: Id64Arg): void;\r\n /** An iterator over all of the visibility overrides. */\r\n [Symbol.iterator]: () => Iterator<OverrideEntry>;\r\n /** Populate the symbology overrides based on the per-model category visibility. */\r\n addOverrides(fs: FeatureSymbology.Overrides, ovrs: Id64.Uint32Map<Id64.Uint32Set>): void;\r\n }\r\n\r\n export function createOverrides(viewport: Viewport): PerModelCategoryVisibility.Overrides {\r\n return new PerModelCategoryVisibilityOverrides(viewport);\r\n }\r\n}\r\n\r\nclass PerModelCategoryVisibilityOverride {\r\n public modelId: Id64String;\r\n public categoryId: Id64String;\r\n public visible: boolean;\r\n\r\n public constructor(modelId: Id64String, categoryId: Id64String, visible: boolean) {\r\n this.modelId = modelId;\r\n this.categoryId = categoryId;\r\n this.visible = visible;\r\n }\r\n\r\n public reset(modelId: Id64String, categoryId: Id64String, visible: boolean): void {\r\n this.modelId = modelId;\r\n this.categoryId = categoryId;\r\n this.visible = visible;\r\n }\r\n}\r\n\r\nfunction compareCategoryOverrides(lhs: PerModelCategoryVisibilityOverride, rhs: PerModelCategoryVisibilityOverride): number {\r\n const cmp = compareStrings(lhs.modelId, rhs.modelId);\r\n return 0 === cmp ? compareStrings(lhs.categoryId, rhs.categoryId) : cmp;\r\n}\r\n\r\n/** The Viewport-specific implementation of PerModelCategoryVisibility.Overrides. */\r\nclass PerModelCategoryVisibilityOverrides extends SortedArray<PerModelCategoryVisibilityOverride> implements PerModelCategoryVisibility.Overrides {\r\n private readonly _scratch = new PerModelCategoryVisibilityOverride(\"0\", \"0\", false);\r\n private readonly _vp: Viewport;\r\n\r\n public constructor(vp: Viewport) {\r\n super(compareCategoryOverrides);\r\n this._vp = vp;\r\n }\r\n\r\n public getOverride(modelId: Id64String, categoryId: Id64String): PerModelCategoryVisibility.Override {\r\n this._scratch.reset(modelId, categoryId, false);\r\n const ovr = this.findEqual(this._scratch);\r\n if (undefined !== ovr)\r\n return ovr.visible ? PerModelCategoryVisibility.Override.Show : PerModelCategoryVisibility.Override.Hide;\r\n else\r\n return PerModelCategoryVisibility.Override.None;\r\n }\r\n\r\n public setOverride(modelIds: Id64Arg, categoryIds: Id64Arg, override: PerModelCategoryVisibility.Override): void {\r\n const ovr = this._scratch;\r\n let changed = false;\r\n for (const modelId of Id64.iterable(modelIds)) {\r\n for (const categoryId of Id64.iterable(categoryIds)) {\r\n ovr.reset(modelId, categoryId, false);\r\n const index = this.indexOf(ovr);\r\n if (-1 === index) {\r\n if (PerModelCategoryVisibility.Override.None !== override) {\r\n this.insert(new PerModelCategoryVisibilityOverride(modelId, categoryId, PerModelCategoryVisibility.Override.Show === override));\r\n changed = true;\r\n }\r\n } else {\r\n if (PerModelCategoryVisibility.Override.None === override) {\r\n this._array.splice(index, 1);\r\n changed = true;\r\n } else if (this._array[index].visible !== (PerModelCategoryVisibility.Override.Show === override)) {\r\n this._array[index].visible = (PerModelCategoryVisibility.Override.Show === override);\r\n changed = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (changed) {\r\n this._vp.setViewedCategoriesPerModelChanged();\r\n\r\n if (PerModelCategoryVisibility.Override.None !== override) {\r\n // Ensure subcategories loaded.\r\n this._vp.subcategories.push(this._vp.iModel.subcategories, categoryIds, () => this._vp.setViewedCategoriesPerModelChanged());\r\n }\r\n }\r\n }\r\n\r\n public clearOverrides(modelIds?: Id64Arg): void {\r\n if (undefined === modelIds) {\r\n if (0 < this.length) {\r\n this.clear();\r\n this._vp.setViewedCategoriesPerModelChanged();\r\n }\r\n\r\n return;\r\n }\r\n\r\n for (let i = 0; i < this.length;) {\r\n const ovr = this._array[i];\r\n let removed = false;\r\n for (const modelId of Id64.iterable(modelIds)) {\r\n if (modelId === ovr.modelId) {\r\n this._array.splice(i, 1);\r\n this._vp.setViewedCategoriesPerModelChanged();\r\n removed = true;\r\n break;\r\n }\r\n }\r\n\r\n if (!removed)\r\n ++i;\r\n }\r\n }\r\n\r\n public addOverrides(fs: FeatureSymbology.Overrides, ovrs: Id64.Uint32Map<Id64.Uint32Set>): void {\r\n const cache = this._vp.iModel.subcategories;\r\n\r\n for (const ovr of this._array) {\r\n const subcats = cache.getSubCategories(ovr.categoryId);\r\n if (undefined === subcats)\r\n continue;\r\n\r\n // It's pointless to override for models which aren't displayed...except if we do this, and then someone enables that model,\r\n // we would need to regenerate our symbology overrides in response. Preferably people wouldn't bother overriding models that\r\n // they don't want us to draw...\r\n /* if (!this._vp.view.viewsModel(ovr.modelId))\r\n continue; */\r\n\r\n // ###TODO: Avoid recomputing upper and lower portions of modelId if modelId repeated.\r\n // (Array is sorted first by modelId).\r\n // Also avoid computing if no effective overrides.\r\n const modelLo = Id64.getLowerUint32(ovr.modelId);\r\n const modelHi = Id64.getUpperUint32(ovr.modelId);\r\n\r\n for (const subcat of subcats) {\r\n const subcatLo = Id64.getLowerUint32(subcat);\r\n const subcatHi = Id64.getUpperUint32(subcat);\r\n const vis = fs.isSubCategoryVisible(subcatLo, subcatHi);\r\n if (vis !== ovr.visible) {\r\n // Only care if visibility differs from that defined for entire view\r\n let entry = ovrs.get(modelLo, modelHi);\r\n if (undefined === entry) {\r\n entry = new Id64.Uint32Set();\r\n ovrs.set(modelLo, modelHi, entry);\r\n }\r\n\r\n entry.add(subcatLo, subcatHi);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"PerModelCategoryVisibility.js","sourceRoot":"","sources":["../../src/PerModelCategoryVisibility.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Views\r\n */\r\n\r\nimport { compareStrings, Id64, Id64Arg, Id64String, SortedArray } from \"@itwin/core-bentley\";\r\nimport { FeatureSymbology } from \"./render/FeatureSymbology\";\r\nimport { Viewport } from \"./Viewport\";\r\n\r\n/** Per-model category visibility permits the visibility of categories within a [[Viewport]] displaying a [[SpatialViewState]] to be overridden in\r\n * the context of individual [[GeometricModelState]]s.\r\n * If a category's visibility is overridden for a given model, then elements belonging to that category within that model will be displayed or hidden regardless of the category's inclusion in the Viewport's [[CategorySelectorState]].\r\n * The override affects geometry on all subcategories belonging to the overridden category. That is, if the category is overridden to be visible, then geometry on all subcategories of the category\r\n * will be visible, regardless of any [SubCategoryOverride]($common)s applied by the view's [[DisplayStyleState]].\r\n * @see [[Viewport.perModelCategoryVisibility]] to define the per-model category visibility for a viewport.\r\n * @public\r\n * @extensions\r\n */\r\nexport namespace PerModelCategoryVisibility {\r\n /** Describes whether and how a category's visibility is overridden. */\r\n export enum Override {\r\n /** The category's visibility is not overridden; its visibility is wholly controlled by the [[Viewport]]'s [[CategorySelectorState]]. */\r\n None,\r\n /** The category is overridden to be visible. */\r\n Show,\r\n /** The category is overridden to be invisible. */\r\n Hide,\r\n }\r\n\r\n /** Describes one visibility override in a [[PerModelCategoryVisibility.Overrides]]. */\r\n export interface OverrideEntry {\r\n /** The Id of the [[GeometricModelState]] in which the override applies. */\r\n readonly modelId: Id64String;\r\n /** The Id of the [SpatialCategory]($backend) whose visibility is overridden. */\r\n readonly categoryId: Id64String;\r\n /** Whether the category is visible in the context of the model. */\r\n readonly visible: boolean;\r\n }\r\n\r\n /** Describes a set of per-model category visibility overrides. Changes to these overrides invoke the [[Viewport.onViewedCategoriesPerModelChanged]] event.\r\n * @see [[Viewport.perModelCategoryVisibility]].\r\n */\r\n export interface Overrides {\r\n /** Returns the override state of the specified category within the specified model. */\r\n getOverride(modelId: Id64String, categoryId: Id64String): Override;\r\n /** Changes the override state of one or more categories for one or more models. */\r\n setOverride(modelIds: Id64Arg, categoryIds: Id64Arg, override: Override): void;\r\n /** Removes all overrides for the specified models, or for all models if `modelIds` is undefined. */\r\n clearOverrides(modelIds?: Id64Arg): void;\r\n /** An iterator over all of the visibility overrides. */\r\n [Symbol.iterator]: () => Iterator<OverrideEntry>;\r\n /** Populate the symbology overrides based on the per-model category visibility. */\r\n addOverrides(fs: FeatureSymbology.Overrides, ovrs: Id64.Uint32Map<Id64.Uint32Set>): void;\r\n }\r\n\r\n export function createOverrides(viewport: Viewport): PerModelCategoryVisibility.Overrides {\r\n return new PerModelCategoryVisibilityOverrides(viewport);\r\n }\r\n}\r\n\r\nclass PerModelCategoryVisibilityOverride {\r\n public modelId: Id64String;\r\n public categoryId: Id64String;\r\n public visible: boolean;\r\n\r\n public constructor(modelId: Id64String, categoryId: Id64String, visible: boolean) {\r\n this.modelId = modelId;\r\n this.categoryId = categoryId;\r\n this.visible = visible;\r\n }\r\n\r\n public reset(modelId: Id64String, categoryId: Id64String, visible: boolean): void {\r\n this.modelId = modelId;\r\n this.categoryId = categoryId;\r\n this.visible = visible;\r\n }\r\n}\r\n\r\nfunction compareCategoryOverrides(lhs: PerModelCategoryVisibilityOverride, rhs: PerModelCategoryVisibilityOverride): number {\r\n const cmp = compareStrings(lhs.modelId, rhs.modelId);\r\n return 0 === cmp ? compareStrings(lhs.categoryId, rhs.categoryId) : cmp;\r\n}\r\n\r\n/** The Viewport-specific implementation of PerModelCategoryVisibility.Overrides. */\r\nclass PerModelCategoryVisibilityOverrides extends SortedArray<PerModelCategoryVisibilityOverride> implements PerModelCategoryVisibility.Overrides {\r\n private readonly _scratch = new PerModelCategoryVisibilityOverride(\"0\", \"0\", false);\r\n private readonly _vp: Viewport;\r\n\r\n public constructor(vp: Viewport) {\r\n super(compareCategoryOverrides);\r\n this._vp = vp;\r\n }\r\n\r\n public getOverride(modelId: Id64String, categoryId: Id64String): PerModelCategoryVisibility.Override {\r\n this._scratch.reset(modelId, categoryId, false);\r\n const ovr = this.findEqual(this._scratch);\r\n if (undefined !== ovr)\r\n return ovr.visible ? PerModelCategoryVisibility.Override.Show : PerModelCategoryVisibility.Override.Hide;\r\n else\r\n return PerModelCategoryVisibility.Override.None;\r\n }\r\n\r\n public setOverride(modelIds: Id64Arg, categoryIds: Id64Arg, override: PerModelCategoryVisibility.Override): void {\r\n const ovr = this._scratch;\r\n let changed = false;\r\n for (const modelId of Id64.iterable(modelIds)) {\r\n for (const categoryId of Id64.iterable(categoryIds)) {\r\n ovr.reset(modelId, categoryId, false);\r\n const index = this.indexOf(ovr);\r\n if (-1 === index) {\r\n if (PerModelCategoryVisibility.Override.None !== override) {\r\n this.insert(new PerModelCategoryVisibilityOverride(modelId, categoryId, PerModelCategoryVisibility.Override.Show === override));\r\n changed = true;\r\n }\r\n } else {\r\n if (PerModelCategoryVisibility.Override.None === override) {\r\n this._array.splice(index, 1);\r\n changed = true;\r\n } else if (this._array[index].visible !== (PerModelCategoryVisibility.Override.Show === override)) {\r\n this._array[index].visible = (PerModelCategoryVisibility.Override.Show === override);\r\n changed = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (changed) {\r\n this._vp.setViewedCategoriesPerModelChanged();\r\n\r\n if (PerModelCategoryVisibility.Override.None !== override) {\r\n // Ensure subcategories loaded.\r\n this._vp.subcategories.push(this._vp.iModel.subcategories, categoryIds, () => this._vp.setViewedCategoriesPerModelChanged());\r\n }\r\n }\r\n }\r\n\r\n public clearOverrides(modelIds?: Id64Arg): void {\r\n if (undefined === modelIds) {\r\n if (0 < this.length) {\r\n this.clear();\r\n this._vp.setViewedCategoriesPerModelChanged();\r\n }\r\n\r\n return;\r\n }\r\n\r\n for (let i = 0; i < this.length;) {\r\n const ovr = this._array[i];\r\n let removed = false;\r\n for (const modelId of Id64.iterable(modelIds)) {\r\n if (modelId === ovr.modelId) {\r\n this._array.splice(i, 1);\r\n this._vp.setViewedCategoriesPerModelChanged();\r\n removed = true;\r\n break;\r\n }\r\n }\r\n\r\n if (!removed)\r\n ++i;\r\n }\r\n }\r\n\r\n public addOverrides(fs: FeatureSymbology.Overrides, ovrs: Id64.Uint32Map<Id64.Uint32Set>): void {\r\n const cache = this._vp.iModel.subcategories;\r\n\r\n for (const ovr of this._array) {\r\n const subcats = cache.getSubCategories(ovr.categoryId);\r\n if (undefined === subcats)\r\n continue;\r\n\r\n // It's pointless to override for models which aren't displayed...except if we do this, and then someone enables that model,\r\n // we would need to regenerate our symbology overrides in response. Preferably people wouldn't bother overriding models that\r\n // they don't want us to draw...\r\n /* if (!this._vp.view.viewsModel(ovr.modelId))\r\n continue; */\r\n\r\n // ###TODO: Avoid recomputing upper and lower portions of modelId if modelId repeated.\r\n // (Array is sorted first by modelId).\r\n // Also avoid computing if no effective overrides.\r\n const modelLo = Id64.getLowerUint32(ovr.modelId);\r\n const modelHi = Id64.getUpperUint32(ovr.modelId);\r\n\r\n for (const subcat of subcats) {\r\n const subcatLo = Id64.getLowerUint32(subcat);\r\n const subcatHi = Id64.getUpperUint32(subcat);\r\n const vis = fs.isSubCategoryVisible(subcatLo, subcatHi);\r\n if (vis !== ovr.visible) {\r\n // Only care if visibility differs from that defined for entire view\r\n let entry = ovrs.get(modelLo, modelHi);\r\n if (undefined === entry) {\r\n entry = new Id64.Uint32Set();\r\n ovrs.set(modelLo, modelHi, entry);\r\n }\r\n\r\n entry.add(subcatLo, subcatHi);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n"]}
@@ -5,6 +5,7 @@ import { BeEvent, Id64, Id64Arg, Id64String } from "@itwin/core-bentley";
5
5
  import { IModelConnection } from "./IModelConnection";
6
6
  /** Identifies the type of changes made to the [[SelectionSet]] to produce a [[SelectionSetEvent]].
7
7
  * @public
8
+ * @extensions
8
9
  */
9
10
  export declare enum SelectionSetEventType {
10
11
  /** Elements have been added to the set. */
@@ -18,6 +19,7 @@ export declare enum SelectionSetEventType {
18
19
  }
19
20
  /** Passed to [[SelectionSet.onChanged]] event listeners when elements are added to the selection set.
20
21
  * @public
22
+ * @extensions
21
23
  */
22
24
  export interface SelectAddEvent {
23
25
  type: SelectionSetEventType.Add;
@@ -28,6 +30,7 @@ export interface SelectAddEvent {
28
30
  }
29
31
  /** Passed to [[SelectionSet.onChanged]] event listeners when elements are removed from the selection set.
30
32
  * @public
33
+ * @extensions
31
34
  */
32
35
  export interface SelectRemoveEvent {
33
36
  /** The type of operation that produced this event. */
@@ -39,6 +42,7 @@ export interface SelectRemoveEvent {
39
42
  }
40
43
  /** Passed to [[SelectionSet.onChanged]] event listeners when elements are simultaneously added to and removed from the selection set.
41
44
  * @public
45
+ * @extensions
42
46
  */
43
47
  export interface SelectReplaceEvent {
44
48
  type: SelectionSetEventType.Replace;
@@ -61,6 +65,7 @@ export interface SelectReplaceEvent {
61
65
  * }
62
66
  * ```
63
67
  * @public
68
+ * @extensions
64
69
  */
65
70
  export declare type SelectionSetEvent = SelectAddEvent | SelectRemoveEvent | SelectReplaceEvent;
66
71
  /** A set of *hilited* elements for an [[IModelConnection]], by element id.
@@ -73,6 +78,7 @@ export declare type SelectionSetEvent = SelectAddEvent | SelectRemoveEvent | Sel
73
78
  * @see [[IModelConnection.hilited]] for the HiliteSet associated with an iModel.
74
79
  * @see [Hilite.Settings]($common) for customization of the hilite effect.
75
80
  * @public
81
+ * @extensions
76
82
  */
77
83
  export declare class HiliteSet {
78
84
  iModel: IModelConnection;
@@ -114,6 +120,7 @@ export declare class HiliteSet {
114
120
  * Selected elements are displayed with a customizable hilite effect within a [[Viewport]].
115
121
  * @see [Hilite.Settings]($common) for customization of the hilite effect.
116
122
  * @public
123
+ * @extensions
117
124
  */
118
125
  export declare class SelectionSet {
119
126
  iModel: IModelConnection;
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionSet.d.ts","sourceRoot":"","sources":["../../src/SelectionSet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectionSet.d.ts","sourceRoot":"","sources":["../../src/SelectionSet.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ const core_bentley_1 = require("@itwin/core-bentley");
12
12
  const IModelApp_1 = require("./IModelApp");
13
13
  /** Identifies the type of changes made to the [[SelectionSet]] to produce a [[SelectionSetEvent]].
14
14
  * @public
15
+ * @extensions
15
16
  */
16
17
  var SelectionSetEventType;
17
18
  (function (SelectionSetEventType) {
@@ -106,6 +107,7 @@ class HilitedElementIds extends HilitedIds {
106
107
  * @see [[IModelConnection.hilited]] for the HiliteSet associated with an iModel.
107
108
  * @see [Hilite.Settings]($common) for customization of the hilite effect.
108
109
  * @public
110
+ * @extensions
109
111
  */
110
112
  class HiliteSet {
111
113
  /** Construct a HiliteSet
@@ -155,6 +157,7 @@ exports.HiliteSet = HiliteSet;
155
157
  * Selected elements are displayed with a customizable hilite effect within a [[Viewport]].
156
158
  * @see [Hilite.Settings]($common) for customization of the hilite effect.
157
159
  * @public
160
+ * @extensions
158
161
  */
159
162
  class SelectionSet {
160
163
  constructor(iModel) {
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionSet.js","sourceRoot":"","sources":["../../src/SelectionSet.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 SelectionSet\r\n */\r\nimport { BeEvent, Id64, Id64Arg, Id64String } from \"@itwin/core-bentley\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\n\r\n/** Identifies the type of changes made to the [[SelectionSet]] to produce a [[SelectionSetEvent]].\r\n * @public\r\n */\r\nexport enum SelectionSetEventType {\r\n /** Elements have been added to the set. */\r\n Add,\r\n /** Elements have been removed from the set. */\r\n Remove,\r\n /** Some elements have been added to the set and others have been removed. */\r\n Replace,\r\n /** All elements are about to be removed from the set. */\r\n Clear,\r\n}\r\n\r\n/** Passed to [[SelectionSet.onChanged]] event listeners when elements are added to the selection set.\r\n * @public\r\n */\r\nexport interface SelectAddEvent {\r\n type: SelectionSetEventType.Add;\r\n /** The Ids of the elements added to the set. */\r\n added: Id64Arg;\r\n /** The affected SelectionSet. */\r\n set: SelectionSet;\r\n}\r\n\r\n/** Passed to [[SelectionSet.onChanged]] event listeners when elements are removed from the selection set.\r\n * @public\r\n */\r\nexport interface SelectRemoveEvent {\r\n /** The type of operation that produced this event. */\r\n type: SelectionSetEventType.Remove | SelectionSetEventType.Clear;\r\n /** The element Ids removed from the set. */\r\n removed: Id64Arg;\r\n /** The affected SelectionSet. */\r\n set: SelectionSet;\r\n}\r\n\r\n/** Passed to [[SelectionSet.onChanged]] event listeners when elements are simultaneously added to and removed from the selection set.\r\n * @public\r\n */\r\nexport interface SelectReplaceEvent {\r\n type: SelectionSetEventType.Replace;\r\n /** The element Ids added to the set. */\r\n added: Id64Arg;\r\n /** The element Ids removed from the set. */\r\n removed: Id64Arg;\r\n /** The affected SelectionSet. */\r\n set: SelectionSet;\r\n}\r\n\r\n/** Payload sent to [[SelectionSet.onChanged]] event listeners to describe how the contents of the set have changed.\r\n * The `type` property of the event serves as a type assertion. For example, the following code will output the added and/or removed Ids:\r\n * ```ts\r\n * processSelectionSetEvent(ev: SelectionSetEvent): void {\r\n * if (SelectionSetEventType.Add === ev.type || SelectionSetEventType.Replace === ev.type)\r\n * console.log(\"Added \" + ev.added.size + \" elements\");\r\n *\r\n * if (SelectionSetEventType.Add !== ev.type)\r\n * console.log(\"Removed \" + ev.removed.size + \" elements\");\r\n * }\r\n * ```\r\n * @public\r\n */\r\nexport type SelectionSetEvent = SelectAddEvent | SelectRemoveEvent | SelectReplaceEvent;\r\n\r\n/** Tracks a set of hilited entities. When the set changes, notifies ViewManager so that symbology overrides can be updated in active Viewports.\r\n * @internal\r\n */\r\nclass HilitedIds extends Id64.Uint32Set {\r\n protected _iModel: IModelConnection;\r\n protected _changing = false;\r\n\r\n public constructor(iModel: IModelConnection) {\r\n super();\r\n this._iModel = iModel;\r\n }\r\n\r\n public override add(low: number, high: number) {\r\n super.add(low, high);\r\n this.onChanged();\r\n }\r\n\r\n public override delete(low: number, high: number) {\r\n super.delete(low, high);\r\n this.onChanged();\r\n }\r\n\r\n public override clear() {\r\n super.clear();\r\n this.onChanged();\r\n }\r\n\r\n public override addIds(ids: Id64Arg) {\r\n this.change(() => super.addIds(ids));\r\n }\r\n\r\n public override deleteIds(ids: Id64Arg) {\r\n this.change(() => super.deleteIds(ids));\r\n }\r\n\r\n protected onChanged() {\r\n if (!this._changing)\r\n IModelApp.viewManager.onSelectionSetChanged(this._iModel);\r\n }\r\n\r\n protected change(func: () => void) {\r\n const changing = this._changing;\r\n this._changing = false;\r\n func();\r\n this._changing = changing;\r\n this.onChanged();\r\n }\r\n}\r\n\r\n/** Keeps the set of hilited elements in sync with the selection set.\r\n * @internal\r\n */\r\nclass HilitedElementIds extends HilitedIds {\r\n private _removeListener?: () => void;\r\n\r\n public constructor(iModel: IModelConnection, syncWithSelectionSet = true) {\r\n super(iModel);\r\n this.wantSyncWithSelectionSet = syncWithSelectionSet;\r\n }\r\n\r\n public get wantSyncWithSelectionSet(): boolean { return undefined !== this._removeListener; }\r\n public set wantSyncWithSelectionSet(want: boolean) {\r\n if (want === this.wantSyncWithSelectionSet)\r\n return;\r\n\r\n if (want) {\r\n const set = this._iModel.selectionSet;\r\n this._removeListener = set.onChanged.addListener((ev) => this.change(() => this.processSelectionSetEvent(ev)));\r\n this.processSelectionSetEvent({\r\n set,\r\n type: SelectionSetEventType.Add,\r\n added: set.elements,\r\n });\r\n } else {\r\n this._removeListener!();\r\n this._removeListener = undefined;\r\n }\r\n }\r\n\r\n private processSelectionSetEvent(ev: SelectionSetEvent): void {\r\n if (SelectionSetEventType.Add !== ev.type)\r\n this.deleteIds(ev.removed);\r\n\r\n if (ev.type === SelectionSetEventType.Add || ev.type === SelectionSetEventType.Replace)\r\n this.addIds(ev.added);\r\n }\r\n}\r\n\r\n/** A set of *hilited* elements for an [[IModelConnection]], by element id.\r\n * Hilited elements are displayed with a customizable hilite effect within a [[Viewport]].\r\n * The set exposes 3 types of elements in 3 separate collections: geometric elements, subcategories, and geometric models.\r\n * @note Typically, elements are hilited by virtue of their presence in the IModelConnection's [[SelectionSet]]. The HiliteSet allows additional\r\n * elements to be displayed with the hilite effect without adding them to the [[SelectionSet]]. If you add elements to the HiliteSet directly, you\r\n * are also responsible for removing them as appropriate.\r\n * @note Support for subcategories and geometric models in the HiliteSet is currently `beta`.\r\n * @see [[IModelConnection.hilited]] for the HiliteSet associated with an iModel.\r\n * @see [Hilite.Settings]($common) for customization of the hilite effect.\r\n * @public\r\n */\r\nexport class HiliteSet {\r\n private readonly _elements: HilitedElementIds;\r\n\r\n /** The set of hilited subcategories.\r\n * @beta\r\n */\r\n public readonly subcategories: Id64.Uint32Set;\r\n /** The set of hilited [[GeometricModelState]]s.\r\n * @beta\r\n */\r\n public readonly models: Id64.Uint32Set;\r\n /** The set of hilited elements. */\r\n public get elements(): Id64.Uint32Set { return this._elements; }\r\n\r\n /** Construct a HiliteSet\r\n * @param iModel The iModel containing the entities to be hilited.\r\n * @param syncWithSelectionSet If true, the contents of the `elements` set will be synchronized with those in the `iModel`'s [[SelectionSet]].\r\n * @internal\r\n */\r\n public constructor(public iModel: IModelConnection, syncWithSelectionSet = true) {\r\n this._elements = new HilitedElementIds(iModel, syncWithSelectionSet);\r\n this.subcategories = new HilitedIds(iModel);\r\n this.models = new HilitedIds(iModel);\r\n }\r\n\r\n /** Control whether the hilited elements will be synchronized with the contents of the [[SelectionSet]].\r\n * By default they are synchronized. Applications that override this take responsibility for managing the set of hilited entities.\r\n * When turning synchronization off, the contents of the HiliteSet will remain unchanged.\r\n * When turning synchronization on, the current contents of the HiliteSet will be preserved, and the contents of the selection set will be added to them.\r\n */\r\n public get wantSyncWithSelectionSet(): boolean { return this._elements.wantSyncWithSelectionSet; }\r\n public set wantSyncWithSelectionSet(want: boolean) { this._elements.wantSyncWithSelectionSet = want; }\r\n\r\n /** Remove all elements from the hilited set. */\r\n public clear() {\r\n this.elements.clear();\r\n this.subcategories.clear();\r\n this.models.clear();\r\n }\r\n\r\n /** Returns true if nothing is hilited. */\r\n public get isEmpty(): boolean { return this.elements.isEmpty && this.subcategories.isEmpty && this.models.isEmpty; }\r\n\r\n /** Toggle the hilited state of one or more elements.\r\n * @param arg the ID(s) of the elements whose state is to be toggled.\r\n * @param onOff True to add the elements to the hilited set, false to remove them.\r\n */\r\n public setHilite(arg: Id64Arg, onOff: boolean): void {\r\n for (const id of Id64.iterable(arg)) {\r\n if (onOff)\r\n this.elements.addId(id);\r\n else\r\n this.elements.deleteId(id);\r\n }\r\n\r\n IModelApp.viewManager.onSelectionSetChanged(this.iModel);\r\n }\r\n}\r\n\r\n/** A set of *currently selected* elements for an IModelConnection.\r\n * Selected elements are displayed with a customizable hilite effect within a [[Viewport]].\r\n * @see [Hilite.Settings]($common) for customization of the hilite effect.\r\n * @public\r\n */\r\nexport class SelectionSet {\r\n private _elements = new Set<string>();\r\n\r\n /** The IDs of the selected elements.\r\n * @note Do not modify this set directly. Instead, use methods like [[SelectionSet.add]].\r\n */\r\n public get elements(): Set<string> { return this._elements; }\r\n\r\n /** Called whenever elements are added or removed from this SelectionSet */\r\n public readonly onChanged = new BeEvent<(ev: SelectionSetEvent) => void>();\r\n\r\n public constructor(public iModel: IModelConnection) { }\r\n\r\n private sendChangedEvent(ev: SelectionSetEvent) {\r\n IModelApp.viewManager.onSelectionSetChanged(this.iModel);\r\n this.onChanged.raiseEvent(ev);\r\n }\r\n\r\n /** Get the number of entries in this selection set. */\r\n public get size() { return this.elements.size; }\r\n\r\n /** Check whether there are any selected elements. */\r\n public get isActive() { return this.size !== 0; }\r\n\r\n /** Return true if elemId is in this SelectionSet.\r\n * @see [[isSelected]]\r\n */\r\n public has(elemId?: string) { return !!elemId && this.elements.has(elemId); }\r\n\r\n /** Query whether an Id is in the selection set.\r\n * @see [[has]]\r\n */\r\n public isSelected(elemId?: Id64String): boolean { return !!elemId && this.elements.has(elemId); }\r\n\r\n /** Clear current selection set.\r\n * @note raises the [[onChanged]] event with [[SelectionSetEventType.Clear]].\r\n */\r\n public emptyAll(): void {\r\n if (!this.isActive)\r\n return;\r\n\r\n const removed = this._elements;\r\n this._elements = new Set<string>();\r\n this.sendChangedEvent({ set: this, type: SelectionSetEventType.Clear, removed });\r\n }\r\n\r\n /**\r\n * Add one or more Ids to the current selection set.\r\n * @param elem The set of Ids to add.\r\n * @returns true if any elements were added.\r\n */\r\n public add(elem: Id64Arg): boolean {\r\n return this._add(elem);\r\n }\r\n\r\n private _add(elem: Id64Arg, sendEvent = true): boolean {\r\n const oldSize = this.elements.size;\r\n for (const id of Id64.iterable(elem))\r\n this.elements.add(id);\r\n\r\n const changed = oldSize !== this.elements.size;\r\n if (sendEvent && changed)\r\n this.sendChangedEvent({ type: SelectionSetEventType.Add, set: this, added: elem });\r\n\r\n return changed;\r\n }\r\n\r\n /**\r\n * Remove one or more Ids from the current selection set.\r\n * @param elem The set of Ids to remove.\r\n * @returns true if any elements were removed.\r\n */\r\n public remove(elem: Id64Arg): boolean {\r\n return this._remove(elem);\r\n }\r\n\r\n private _remove(elem: Id64Arg, sendEvent = true): boolean {\r\n const oldSize = this.elements.size;\r\n for (const id of Id64.iterable(elem))\r\n this.elements.delete(id);\r\n\r\n const changed = oldSize !== this.elements.size;\r\n if (sendEvent && changed)\r\n this.sendChangedEvent({ type: SelectionSetEventType.Remove, set: this, removed: elem });\r\n\r\n return changed;\r\n }\r\n\r\n /**\r\n * Add one set of Ids, and remove another set of Ids. Any Ids that are in both sets are removed.\r\n * @returns True if any Ids were either added or removed.\r\n */\r\n public addAndRemove(adds: Id64Arg, removes: Id64Arg): boolean {\r\n const added = this._add(adds, false);\r\n const removed = this._remove(removes, false);\r\n\r\n if (added && removed)\r\n this.sendChangedEvent({ type: SelectionSetEventType.Replace, set: this, added: adds, removed: removes });\r\n else if (added)\r\n this.sendChangedEvent({ type: SelectionSetEventType.Add, set: this, added: adds });\r\n else if (removed)\r\n this.sendChangedEvent({ type: SelectionSetEventType.Remove, set: this, removed: removes });\r\n\r\n return (added || removed);\r\n }\r\n\r\n /** Invert the state of a set of Ids in the SelectionSet */\r\n public invert(elem: Id64Arg): boolean {\r\n const elementsToAdd = new Set<string>();\r\n const elementsToRemove = new Set<string>();\r\n for (const id of Id64.iterable(elem)) {\r\n if (this.elements.has(id))\r\n elementsToRemove.add(id);\r\n else\r\n elementsToAdd.add(id);\r\n }\r\n\r\n return this.addAndRemove(elementsToAdd, elementsToRemove);\r\n }\r\n\r\n /** Change selection set to be the supplied set of Ids. */\r\n public replace(elem: Id64Arg): void {\r\n if (areEqual(this.elements, elem))\r\n return;\r\n\r\n const removed = this._elements;\r\n this._elements = new Set<string>();\r\n this._add(elem, false);\r\n\r\n if (0 < removed.size) {\r\n for (const id of Id64.iterable(elem)) {\r\n if (removed.has(id))\r\n removed.delete(id);\r\n }\r\n }\r\n\r\n this.sendChangedEvent({ type: SelectionSetEventType.Replace, set: this, added: elem, removed });\r\n }\r\n}\r\n\r\nfunction areEqual(lhs: Set<string>, rhs: Id64Arg): boolean {\r\n // Size is unreliable if input can contain duplicates...\r\n if (Array.isArray(rhs))\r\n rhs = Id64.toIdSet(rhs);\r\n\r\n if (lhs.size !== Id64.sizeOf(rhs))\r\n return false;\r\n\r\n for (const id of Id64.iterable(rhs))\r\n if (!lhs.has(id))\r\n return false;\r\n\r\n return true;\r\n}\r\n"]}
1
+ {"version":3,"file":"SelectionSet.js","sourceRoot":"","sources":["../../src/SelectionSet.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 SelectionSet\r\n */\r\nimport { BeEvent, Id64, Id64Arg, Id64String } from \"@itwin/core-bentley\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\n\r\n/** Identifies the type of changes made to the [[SelectionSet]] to produce a [[SelectionSetEvent]].\r\n * @public\r\n * @extensions\r\n */\r\nexport enum SelectionSetEventType {\r\n /** Elements have been added to the set. */\r\n Add,\r\n /** Elements have been removed from the set. */\r\n Remove,\r\n /** Some elements have been added to the set and others have been removed. */\r\n Replace,\r\n /** All elements are about to be removed from the set. */\r\n Clear,\r\n}\r\n\r\n/** Passed to [[SelectionSet.onChanged]] event listeners when elements are added to the selection set.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface SelectAddEvent {\r\n type: SelectionSetEventType.Add;\r\n /** The Ids of the elements added to the set. */\r\n added: Id64Arg;\r\n /** The affected SelectionSet. */\r\n set: SelectionSet;\r\n}\r\n\r\n/** Passed to [[SelectionSet.onChanged]] event listeners when elements are removed from the selection set.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface SelectRemoveEvent {\r\n /** The type of operation that produced this event. */\r\n type: SelectionSetEventType.Remove | SelectionSetEventType.Clear;\r\n /** The element Ids removed from the set. */\r\n removed: Id64Arg;\r\n /** The affected SelectionSet. */\r\n set: SelectionSet;\r\n}\r\n\r\n/** Passed to [[SelectionSet.onChanged]] event listeners when elements are simultaneously added to and removed from the selection set.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface SelectReplaceEvent {\r\n type: SelectionSetEventType.Replace;\r\n /** The element Ids added to the set. */\r\n added: Id64Arg;\r\n /** The element Ids removed from the set. */\r\n removed: Id64Arg;\r\n /** The affected SelectionSet. */\r\n set: SelectionSet;\r\n}\r\n\r\n/** Payload sent to [[SelectionSet.onChanged]] event listeners to describe how the contents of the set have changed.\r\n * The `type` property of the event serves as a type assertion. For example, the following code will output the added and/or removed Ids:\r\n * ```ts\r\n * processSelectionSetEvent(ev: SelectionSetEvent): void {\r\n * if (SelectionSetEventType.Add === ev.type || SelectionSetEventType.Replace === ev.type)\r\n * console.log(\"Added \" + ev.added.size + \" elements\");\r\n *\r\n * if (SelectionSetEventType.Add !== ev.type)\r\n * console.log(\"Removed \" + ev.removed.size + \" elements\");\r\n * }\r\n * ```\r\n * @public\r\n * @extensions\r\n */\r\nexport type SelectionSetEvent = SelectAddEvent | SelectRemoveEvent | SelectReplaceEvent;\r\n\r\n/** Tracks a set of hilited entities. When the set changes, notifies ViewManager so that symbology overrides can be updated in active Viewports.\r\n * @internal\r\n */\r\nclass HilitedIds extends Id64.Uint32Set {\r\n protected _iModel: IModelConnection;\r\n protected _changing = false;\r\n\r\n public constructor(iModel: IModelConnection) {\r\n super();\r\n this._iModel = iModel;\r\n }\r\n\r\n public override add(low: number, high: number) {\r\n super.add(low, high);\r\n this.onChanged();\r\n }\r\n\r\n public override delete(low: number, high: number) {\r\n super.delete(low, high);\r\n this.onChanged();\r\n }\r\n\r\n public override clear() {\r\n super.clear();\r\n this.onChanged();\r\n }\r\n\r\n public override addIds(ids: Id64Arg) {\r\n this.change(() => super.addIds(ids));\r\n }\r\n\r\n public override deleteIds(ids: Id64Arg) {\r\n this.change(() => super.deleteIds(ids));\r\n }\r\n\r\n protected onChanged() {\r\n if (!this._changing)\r\n IModelApp.viewManager.onSelectionSetChanged(this._iModel);\r\n }\r\n\r\n protected change(func: () => void) {\r\n const changing = this._changing;\r\n this._changing = false;\r\n func();\r\n this._changing = changing;\r\n this.onChanged();\r\n }\r\n}\r\n\r\n/** Keeps the set of hilited elements in sync with the selection set.\r\n * @internal\r\n */\r\nclass HilitedElementIds extends HilitedIds {\r\n private _removeListener?: () => void;\r\n\r\n public constructor(iModel: IModelConnection, syncWithSelectionSet = true) {\r\n super(iModel);\r\n this.wantSyncWithSelectionSet = syncWithSelectionSet;\r\n }\r\n\r\n public get wantSyncWithSelectionSet(): boolean { return undefined !== this._removeListener; }\r\n public set wantSyncWithSelectionSet(want: boolean) {\r\n if (want === this.wantSyncWithSelectionSet)\r\n return;\r\n\r\n if (want) {\r\n const set = this._iModel.selectionSet;\r\n this._removeListener = set.onChanged.addListener((ev) => this.change(() => this.processSelectionSetEvent(ev)));\r\n this.processSelectionSetEvent({\r\n set,\r\n type: SelectionSetEventType.Add,\r\n added: set.elements,\r\n });\r\n } else {\r\n this._removeListener!();\r\n this._removeListener = undefined;\r\n }\r\n }\r\n\r\n private processSelectionSetEvent(ev: SelectionSetEvent): void {\r\n if (SelectionSetEventType.Add !== ev.type)\r\n this.deleteIds(ev.removed);\r\n\r\n if (ev.type === SelectionSetEventType.Add || ev.type === SelectionSetEventType.Replace)\r\n this.addIds(ev.added);\r\n }\r\n}\r\n\r\n/** A set of *hilited* elements for an [[IModelConnection]], by element id.\r\n * Hilited elements are displayed with a customizable hilite effect within a [[Viewport]].\r\n * The set exposes 3 types of elements in 3 separate collections: geometric elements, subcategories, and geometric models.\r\n * @note Typically, elements are hilited by virtue of their presence in the IModelConnection's [[SelectionSet]]. The HiliteSet allows additional\r\n * elements to be displayed with the hilite effect without adding them to the [[SelectionSet]]. If you add elements to the HiliteSet directly, you\r\n * are also responsible for removing them as appropriate.\r\n * @note Support for subcategories and geometric models in the HiliteSet is currently `beta`.\r\n * @see [[IModelConnection.hilited]] for the HiliteSet associated with an iModel.\r\n * @see [Hilite.Settings]($common) for customization of the hilite effect.\r\n * @public\r\n * @extensions\r\n */\r\nexport class HiliteSet {\r\n private readonly _elements: HilitedElementIds;\r\n\r\n /** The set of hilited subcategories.\r\n * @beta\r\n */\r\n public readonly subcategories: Id64.Uint32Set;\r\n /** The set of hilited [[GeometricModelState]]s.\r\n * @beta\r\n */\r\n public readonly models: Id64.Uint32Set;\r\n /** The set of hilited elements. */\r\n public get elements(): Id64.Uint32Set { return this._elements; }\r\n\r\n /** Construct a HiliteSet\r\n * @param iModel The iModel containing the entities to be hilited.\r\n * @param syncWithSelectionSet If true, the contents of the `elements` set will be synchronized with those in the `iModel`'s [[SelectionSet]].\r\n * @internal\r\n */\r\n public constructor(public iModel: IModelConnection, syncWithSelectionSet = true) {\r\n this._elements = new HilitedElementIds(iModel, syncWithSelectionSet);\r\n this.subcategories = new HilitedIds(iModel);\r\n this.models = new HilitedIds(iModel);\r\n }\r\n\r\n /** Control whether the hilited elements will be synchronized with the contents of the [[SelectionSet]].\r\n * By default they are synchronized. Applications that override this take responsibility for managing the set of hilited entities.\r\n * When turning synchronization off, the contents of the HiliteSet will remain unchanged.\r\n * When turning synchronization on, the current contents of the HiliteSet will be preserved, and the contents of the selection set will be added to them.\r\n */\r\n public get wantSyncWithSelectionSet(): boolean { return this._elements.wantSyncWithSelectionSet; }\r\n public set wantSyncWithSelectionSet(want: boolean) { this._elements.wantSyncWithSelectionSet = want; }\r\n\r\n /** Remove all elements from the hilited set. */\r\n public clear() {\r\n this.elements.clear();\r\n this.subcategories.clear();\r\n this.models.clear();\r\n }\r\n\r\n /** Returns true if nothing is hilited. */\r\n public get isEmpty(): boolean { return this.elements.isEmpty && this.subcategories.isEmpty && this.models.isEmpty; }\r\n\r\n /** Toggle the hilited state of one or more elements.\r\n * @param arg the ID(s) of the elements whose state is to be toggled.\r\n * @param onOff True to add the elements to the hilited set, false to remove them.\r\n */\r\n public setHilite(arg: Id64Arg, onOff: boolean): void {\r\n for (const id of Id64.iterable(arg)) {\r\n if (onOff)\r\n this.elements.addId(id);\r\n else\r\n this.elements.deleteId(id);\r\n }\r\n\r\n IModelApp.viewManager.onSelectionSetChanged(this.iModel);\r\n }\r\n}\r\n\r\n/** A set of *currently selected* elements for an IModelConnection.\r\n * Selected elements are displayed with a customizable hilite effect within a [[Viewport]].\r\n * @see [Hilite.Settings]($common) for customization of the hilite effect.\r\n * @public\r\n * @extensions\r\n */\r\nexport class SelectionSet {\r\n private _elements = new Set<string>();\r\n\r\n /** The IDs of the selected elements.\r\n * @note Do not modify this set directly. Instead, use methods like [[SelectionSet.add]].\r\n */\r\n public get elements(): Set<string> { return this._elements; }\r\n\r\n /** Called whenever elements are added or removed from this SelectionSet */\r\n public readonly onChanged = new BeEvent<(ev: SelectionSetEvent) => void>();\r\n\r\n public constructor(public iModel: IModelConnection) { }\r\n\r\n private sendChangedEvent(ev: SelectionSetEvent) {\r\n IModelApp.viewManager.onSelectionSetChanged(this.iModel);\r\n this.onChanged.raiseEvent(ev);\r\n }\r\n\r\n /** Get the number of entries in this selection set. */\r\n public get size() { return this.elements.size; }\r\n\r\n /** Check whether there are any selected elements. */\r\n public get isActive() { return this.size !== 0; }\r\n\r\n /** Return true if elemId is in this SelectionSet.\r\n * @see [[isSelected]]\r\n */\r\n public has(elemId?: string) { return !!elemId && this.elements.has(elemId); }\r\n\r\n /** Query whether an Id is in the selection set.\r\n * @see [[has]]\r\n */\r\n public isSelected(elemId?: Id64String): boolean { return !!elemId && this.elements.has(elemId); }\r\n\r\n /** Clear current selection set.\r\n * @note raises the [[onChanged]] event with [[SelectionSetEventType.Clear]].\r\n */\r\n public emptyAll(): void {\r\n if (!this.isActive)\r\n return;\r\n\r\n const removed = this._elements;\r\n this._elements = new Set<string>();\r\n this.sendChangedEvent({ set: this, type: SelectionSetEventType.Clear, removed });\r\n }\r\n\r\n /**\r\n * Add one or more Ids to the current selection set.\r\n * @param elem The set of Ids to add.\r\n * @returns true if any elements were added.\r\n */\r\n public add(elem: Id64Arg): boolean {\r\n return this._add(elem);\r\n }\r\n\r\n private _add(elem: Id64Arg, sendEvent = true): boolean {\r\n const oldSize = this.elements.size;\r\n for (const id of Id64.iterable(elem))\r\n this.elements.add(id);\r\n\r\n const changed = oldSize !== this.elements.size;\r\n if (sendEvent && changed)\r\n this.sendChangedEvent({ type: SelectionSetEventType.Add, set: this, added: elem });\r\n\r\n return changed;\r\n }\r\n\r\n /**\r\n * Remove one or more Ids from the current selection set.\r\n * @param elem The set of Ids to remove.\r\n * @returns true if any elements were removed.\r\n */\r\n public remove(elem: Id64Arg): boolean {\r\n return this._remove(elem);\r\n }\r\n\r\n private _remove(elem: Id64Arg, sendEvent = true): boolean {\r\n const oldSize = this.elements.size;\r\n for (const id of Id64.iterable(elem))\r\n this.elements.delete(id);\r\n\r\n const changed = oldSize !== this.elements.size;\r\n if (sendEvent && changed)\r\n this.sendChangedEvent({ type: SelectionSetEventType.Remove, set: this, removed: elem });\r\n\r\n return changed;\r\n }\r\n\r\n /**\r\n * Add one set of Ids, and remove another set of Ids. Any Ids that are in both sets are removed.\r\n * @returns True if any Ids were either added or removed.\r\n */\r\n public addAndRemove(adds: Id64Arg, removes: Id64Arg): boolean {\r\n const added = this._add(adds, false);\r\n const removed = this._remove(removes, false);\r\n\r\n if (added && removed)\r\n this.sendChangedEvent({ type: SelectionSetEventType.Replace, set: this, added: adds, removed: removes });\r\n else if (added)\r\n this.sendChangedEvent({ type: SelectionSetEventType.Add, set: this, added: adds });\r\n else if (removed)\r\n this.sendChangedEvent({ type: SelectionSetEventType.Remove, set: this, removed: removes });\r\n\r\n return (added || removed);\r\n }\r\n\r\n /** Invert the state of a set of Ids in the SelectionSet */\r\n public invert(elem: Id64Arg): boolean {\r\n const elementsToAdd = new Set<string>();\r\n const elementsToRemove = new Set<string>();\r\n for (const id of Id64.iterable(elem)) {\r\n if (this.elements.has(id))\r\n elementsToRemove.add(id);\r\n else\r\n elementsToAdd.add(id);\r\n }\r\n\r\n return this.addAndRemove(elementsToAdd, elementsToRemove);\r\n }\r\n\r\n /** Change selection set to be the supplied set of Ids. */\r\n public replace(elem: Id64Arg): void {\r\n if (areEqual(this.elements, elem))\r\n return;\r\n\r\n const removed = this._elements;\r\n this._elements = new Set<string>();\r\n this._add(elem, false);\r\n\r\n if (0 < removed.size) {\r\n for (const id of Id64.iterable(elem)) {\r\n if (removed.has(id))\r\n removed.delete(id);\r\n }\r\n }\r\n\r\n this.sendChangedEvent({ type: SelectionSetEventType.Replace, set: this, added: elem, removed });\r\n }\r\n}\r\n\r\nfunction areEqual(lhs: Set<string>, rhs: Id64Arg): boolean {\r\n // Size is unreliable if input can contain duplicates...\r\n if (Array.isArray(rhs))\r\n rhs = Id64.toIdSet(rhs);\r\n\r\n if (lhs.size !== Id64.sizeOf(rhs))\r\n return false;\r\n\r\n for (const id of Id64.iterable(rhs))\r\n if (!lhs.has(id))\r\n return false;\r\n\r\n return true;\r\n}\r\n"]}
@@ -15,6 +15,7 @@ import { DrawingViewState } from "./DrawingViewState";
15
15
  import { DisclosedTileTreeSet } from "./tile/internal";
16
16
  /** A view of a [SheetModel]($backend).
17
17
  * @public
18
+ * @extensions
18
19
  */
19
20
  export declare class SheetViewState extends ViewState2d {
20
21
  /** The width and height of the sheet in world coordinates. */
@@ -1 +1 @@
1
- {"version":3,"file":"SheetViewState.d.ts","sourceRoot":"","sources":["../../src/SheetViewState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SheetViewState.d.ts","sourceRoot":"","sources":["../../src/SheetViewState.ts"],"names":[],"mappings":"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"}
@@ -210,6 +210,7 @@ class ViewAttachments {
210
210
  }
211
211
  /** A view of a [SheetModel]($backend).
212
212
  * @public
213
+ * @extensions
213
214
  */
214
215
  class SheetViewState extends ViewState_1.ViewState2d {
215
216
  constructor(props, iModel, categories, displayStyle, sheetProps, attachments) {