@itwin/core-frontend 3.2.0-dev.8 → 3.3.0-dev.1

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 (1218) hide show
  1. package/CHANGELOG.md +60 -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/BriefcaseConnection.d.ts +35 -1
  26. package/lib/cjs/BriefcaseConnection.d.ts.map +1 -1
  27. package/lib/cjs/BriefcaseConnection.js +52 -1
  28. package/lib/cjs/BriefcaseConnection.js.map +1 -1
  29. package/lib/cjs/CategorySelectorState.d.ts +1 -0
  30. package/lib/cjs/CategorySelectorState.d.ts.map +1 -1
  31. package/lib/cjs/CategorySelectorState.js +1 -0
  32. package/lib/cjs/CategorySelectorState.js.map +1 -1
  33. package/lib/cjs/ChangeFlags.d.ts +1 -0
  34. package/lib/cjs/ChangeFlags.d.ts.map +1 -1
  35. package/lib/cjs/ChangeFlags.js +1 -0
  36. package/lib/cjs/ChangeFlags.js.map +1 -1
  37. package/lib/cjs/ContextRealityModelState.d.ts +1 -0
  38. package/lib/cjs/ContextRealityModelState.d.ts.map +1 -1
  39. package/lib/cjs/ContextRealityModelState.js +1 -0
  40. package/lib/cjs/ContextRealityModelState.js.map +1 -1
  41. package/lib/cjs/CoordSystem.d.ts +1 -0
  42. package/lib/cjs/CoordSystem.d.ts.map +1 -1
  43. package/lib/cjs/CoordSystem.js +1 -0
  44. package/lib/cjs/CoordSystem.js.map +1 -1
  45. package/lib/cjs/DisplayStyleState.d.ts +4 -0
  46. package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
  47. package/lib/cjs/DisplayStyleState.js +9 -4
  48. package/lib/cjs/DisplayStyleState.js.map +1 -1
  49. package/lib/cjs/DrawingViewState.d.ts +5 -2
  50. package/lib/cjs/DrawingViewState.d.ts.map +1 -1
  51. package/lib/cjs/DrawingViewState.js +34 -3
  52. package/lib/cjs/DrawingViewState.js.map +1 -1
  53. package/lib/cjs/ElementLocateManager.d.ts +23 -5
  54. package/lib/cjs/ElementLocateManager.d.ts.map +1 -1
  55. package/lib/cjs/ElementLocateManager.js +19 -4
  56. package/lib/cjs/ElementLocateManager.js.map +1 -1
  57. package/lib/cjs/EmphasizeElements.d.ts +1 -0
  58. package/lib/cjs/EmphasizeElements.d.ts.map +1 -1
  59. package/lib/cjs/EmphasizeElements.js +1 -0
  60. package/lib/cjs/EmphasizeElements.js.map +1 -1
  61. package/lib/cjs/EntityState.d.ts +2 -0
  62. package/lib/cjs/EntityState.d.ts.map +1 -1
  63. package/lib/cjs/EntityState.js +2 -0
  64. package/lib/cjs/EntityState.js.map +1 -1
  65. package/lib/cjs/FeatureOverrideProvider.d.ts +1 -0
  66. package/lib/cjs/FeatureOverrideProvider.d.ts.map +1 -1
  67. package/lib/cjs/FeatureOverrideProvider.js.map +1 -1
  68. package/lib/cjs/FlashSettings.d.ts +3 -0
  69. package/lib/cjs/FlashSettings.d.ts.map +1 -1
  70. package/lib/cjs/FlashSettings.js +2 -0
  71. package/lib/cjs/FlashSettings.js.map +1 -1
  72. package/lib/cjs/FrontendHubAccess.d.ts +4 -1
  73. package/lib/cjs/FrontendHubAccess.d.ts.map +1 -1
  74. package/lib/cjs/FrontendHubAccess.js.map +1 -1
  75. package/lib/cjs/FrontendLoggerCategory.d.ts +6 -1
  76. package/lib/cjs/FrontendLoggerCategory.d.ts.map +1 -1
  77. package/lib/cjs/FrontendLoggerCategory.js +5 -0
  78. package/lib/cjs/FrontendLoggerCategory.js.map +1 -1
  79. package/lib/cjs/FrustumAnimator.d.ts +2 -0
  80. package/lib/cjs/FrustumAnimator.d.ts.map +1 -1
  81. package/lib/cjs/FrustumAnimator.js +2 -0
  82. package/lib/cjs/FrustumAnimator.js.map +1 -1
  83. package/lib/cjs/FuzzySearch.d.ts +1 -0
  84. package/lib/cjs/FuzzySearch.d.ts.map +1 -1
  85. package/lib/cjs/FuzzySearch.js.map +1 -1
  86. package/lib/cjs/GlobeAnimator.d.ts +1 -0
  87. package/lib/cjs/GlobeAnimator.d.ts.map +1 -1
  88. package/lib/cjs/GlobeAnimator.js +1 -0
  89. package/lib/cjs/GlobeAnimator.js.map +1 -1
  90. package/lib/cjs/HitDetail.d.ts +26 -5
  91. package/lib/cjs/HitDetail.d.ts.map +1 -1
  92. package/lib/cjs/HitDetail.js +26 -5
  93. package/lib/cjs/HitDetail.js.map +1 -1
  94. package/lib/cjs/IModelApp.d.ts +9 -0
  95. package/lib/cjs/IModelApp.d.ts.map +1 -1
  96. package/lib/cjs/IModelApp.js +38 -23
  97. package/lib/cjs/IModelApp.js.map +1 -1
  98. package/lib/cjs/IModelConnection.d.ts +11 -2
  99. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  100. package/lib/cjs/IModelConnection.js +23 -2
  101. package/lib/cjs/IModelConnection.js.map +1 -1
  102. package/lib/cjs/ImageUtil.d.ts +15 -2
  103. package/lib/cjs/ImageUtil.d.ts.map +1 -1
  104. package/lib/cjs/ImageUtil.js +19 -4
  105. package/lib/cjs/ImageUtil.js.map +1 -1
  106. package/lib/cjs/IpcApp.d.ts +1 -0
  107. package/lib/cjs/IpcApp.d.ts.map +1 -1
  108. package/lib/cjs/IpcApp.js +1 -0
  109. package/lib/cjs/IpcApp.js.map +1 -1
  110. package/lib/cjs/MarginPercent.d.ts +1 -0
  111. package/lib/cjs/MarginPercent.d.ts.map +1 -1
  112. package/lib/cjs/MarginPercent.js +1 -0
  113. package/lib/cjs/MarginPercent.js.map +1 -1
  114. package/lib/cjs/Marker.d.ts +16 -3
  115. package/lib/cjs/Marker.d.ts.map +1 -1
  116. package/lib/cjs/Marker.js +3 -0
  117. package/lib/cjs/Marker.js.map +1 -1
  118. package/lib/cjs/ModelSelectorState.d.ts +1 -0
  119. package/lib/cjs/ModelSelectorState.d.ts.map +1 -1
  120. package/lib/cjs/ModelSelectorState.js +1 -0
  121. package/lib/cjs/ModelSelectorState.js.map +1 -1
  122. package/lib/cjs/ModelState.d.ts +10 -0
  123. package/lib/cjs/ModelState.d.ts.map +1 -1
  124. package/lib/cjs/ModelState.js +10 -0
  125. package/lib/cjs/ModelState.js.map +1 -1
  126. package/lib/cjs/NotificationManager.d.ts +11 -0
  127. package/lib/cjs/NotificationManager.d.ts.map +1 -1
  128. package/lib/cjs/NotificationManager.js +10 -0
  129. package/lib/cjs/NotificationManager.js.map +1 -1
  130. package/lib/cjs/PerModelCategoryVisibility.d.ts +1 -0
  131. package/lib/cjs/PerModelCategoryVisibility.d.ts.map +1 -1
  132. package/lib/cjs/PerModelCategoryVisibility.js +1 -0
  133. package/lib/cjs/PerModelCategoryVisibility.js.map +1 -1
  134. package/lib/cjs/SelectionSet.d.ts +7 -0
  135. package/lib/cjs/SelectionSet.d.ts.map +1 -1
  136. package/lib/cjs/SelectionSet.js +3 -0
  137. package/lib/cjs/SelectionSet.js.map +1 -1
  138. package/lib/cjs/SheetViewState.d.ts +6 -5
  139. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  140. package/lib/cjs/SheetViewState.js +58 -6
  141. package/lib/cjs/SheetViewState.js.map +1 -1
  142. package/lib/cjs/SpatialViewState.d.ts +7 -2
  143. package/lib/cjs/SpatialViewState.d.ts.map +1 -1
  144. package/lib/cjs/SpatialViewState.js +17 -3
  145. package/lib/cjs/SpatialViewState.js.map +1 -1
  146. package/lib/cjs/Sprites.d.ts +3 -0
  147. package/lib/cjs/Sprites.d.ts.map +1 -1
  148. package/lib/cjs/Sprites.js +3 -0
  149. package/lib/cjs/Sprites.js.map +1 -1
  150. package/lib/cjs/StandardView.d.ts +1 -0
  151. package/lib/cjs/StandardView.d.ts.map +1 -1
  152. package/lib/cjs/StandardView.js +1 -0
  153. package/lib/cjs/StandardView.js.map +1 -1
  154. package/lib/cjs/SubCategoriesCache.d.ts +14 -7
  155. package/lib/cjs/SubCategoriesCache.d.ts.map +1 -1
  156. package/lib/cjs/SubCategoriesCache.js +36 -8
  157. package/lib/cjs/SubCategoriesCache.js.map +1 -1
  158. package/lib/cjs/TentativePoint.d.ts +4 -1
  159. package/lib/cjs/TentativePoint.d.ts.map +1 -1
  160. package/lib/cjs/TentativePoint.js +4 -1
  161. package/lib/cjs/TentativePoint.js.map +1 -1
  162. package/lib/cjs/Tiles.d.ts +1 -0
  163. package/lib/cjs/Tiles.d.ts.map +1 -1
  164. package/lib/cjs/Tiles.js +1 -0
  165. package/lib/cjs/Tiles.js.map +1 -1
  166. package/lib/cjs/ViewAnimation.d.ts +6 -0
  167. package/lib/cjs/ViewAnimation.d.ts.map +1 -1
  168. package/lib/cjs/ViewAnimation.js.map +1 -1
  169. package/lib/cjs/ViewCreator2d.d.ts +2 -0
  170. package/lib/cjs/ViewCreator2d.d.ts.map +1 -1
  171. package/lib/cjs/ViewCreator2d.js +1 -0
  172. package/lib/cjs/ViewCreator2d.js.map +1 -1
  173. package/lib/cjs/ViewCreator3d.d.ts +2 -8
  174. package/lib/cjs/ViewCreator3d.d.ts.map +1 -1
  175. package/lib/cjs/ViewCreator3d.js +12 -38
  176. package/lib/cjs/ViewCreator3d.js.map +1 -1
  177. package/lib/cjs/ViewGlobalLocation.d.ts +3 -0
  178. package/lib/cjs/ViewGlobalLocation.d.ts.map +1 -1
  179. package/lib/cjs/ViewGlobalLocation.js +1 -0
  180. package/lib/cjs/ViewGlobalLocation.js.map +1 -1
  181. package/lib/cjs/ViewManager.d.ts +3 -0
  182. package/lib/cjs/ViewManager.d.ts.map +1 -1
  183. package/lib/cjs/ViewManager.js +2 -0
  184. package/lib/cjs/ViewManager.js.map +1 -1
  185. package/lib/cjs/ViewPose.d.ts +1 -0
  186. package/lib/cjs/ViewPose.d.ts.map +1 -1
  187. package/lib/cjs/ViewPose.js +1 -0
  188. package/lib/cjs/ViewPose.js.map +1 -1
  189. package/lib/cjs/ViewRect.d.ts +1 -0
  190. package/lib/cjs/ViewRect.d.ts.map +1 -1
  191. package/lib/cjs/ViewRect.js +1 -0
  192. package/lib/cjs/ViewRect.js.map +1 -1
  193. package/lib/cjs/ViewState.d.ts +17 -2
  194. package/lib/cjs/ViewState.d.ts.map +1 -1
  195. package/lib/cjs/ViewState.js +40 -9
  196. package/lib/cjs/ViewState.js.map +1 -1
  197. package/lib/cjs/ViewStatus.d.ts +1 -0
  198. package/lib/cjs/ViewStatus.d.ts.map +1 -1
  199. package/lib/cjs/ViewStatus.js +1 -0
  200. package/lib/cjs/ViewStatus.js.map +1 -1
  201. package/lib/cjs/ViewingSpace.d.ts +1 -0
  202. package/lib/cjs/ViewingSpace.d.ts.map +1 -1
  203. package/lib/cjs/ViewingSpace.js +1 -0
  204. package/lib/cjs/ViewingSpace.js.map +1 -1
  205. package/lib/cjs/Viewport.d.ts +6 -2
  206. package/lib/cjs/Viewport.d.ts.map +1 -1
  207. package/lib/cjs/Viewport.js +12 -4
  208. package/lib/cjs/Viewport.js.map +1 -1
  209. package/lib/cjs/ViewportSync.d.ts +119 -0
  210. package/lib/cjs/ViewportSync.d.ts.map +1 -0
  211. package/lib/cjs/ViewportSync.js +187 -0
  212. package/lib/cjs/ViewportSync.js.map +1 -0
  213. package/lib/cjs/core-frontend.d.ts +10 -6
  214. package/lib/cjs/core-frontend.d.ts.map +1 -1
  215. package/lib/cjs/core-frontend.js +11 -6
  216. package/lib/cjs/core-frontend.js.map +1 -1
  217. package/lib/cjs/extension/Extension.d.ts +24 -15
  218. package/lib/cjs/extension/Extension.d.ts.map +1 -1
  219. package/lib/cjs/extension/Extension.js +0 -8
  220. package/lib/cjs/extension/Extension.js.map +1 -1
  221. package/lib/cjs/extension/ExtensionAdmin.d.ts +21 -44
  222. package/lib/cjs/extension/ExtensionAdmin.d.ts.map +1 -1
  223. package/lib/cjs/extension/ExtensionAdmin.js +55 -64
  224. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  225. package/lib/cjs/extension/ExtensionRuntime.js +231 -59
  226. package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
  227. package/lib/cjs/extension/providers/ExtensionLoadScript.d.ts +10 -0
  228. package/lib/cjs/extension/providers/ExtensionLoadScript.d.ts.map +1 -0
  229. package/lib/cjs/extension/providers/ExtensionLoadScript.js +55 -0
  230. package/lib/cjs/extension/providers/ExtensionLoadScript.js.map +1 -0
  231. package/lib/cjs/extension/providers/ExtensionServiceClient.d.ts +52 -0
  232. package/lib/cjs/extension/providers/ExtensionServiceClient.d.ts.map +1 -0
  233. package/lib/cjs/extension/providers/ExtensionServiceClient.js +131 -0
  234. package/lib/cjs/extension/providers/ExtensionServiceClient.js.map +1 -0
  235. package/lib/cjs/extension/providers/LocalExtensionProvider.d.ts +26 -0
  236. package/lib/cjs/extension/providers/LocalExtensionProvider.d.ts.map +1 -0
  237. package/lib/cjs/extension/providers/LocalExtensionProvider.js +24 -0
  238. package/lib/cjs/extension/providers/LocalExtensionProvider.js.map +1 -0
  239. package/lib/cjs/extension/providers/RemoteExtensionProvider.d.ts +36 -0
  240. package/lib/cjs/extension/providers/RemoteExtensionProvider.d.ts.map +1 -0
  241. package/lib/cjs/extension/providers/RemoteExtensionProvider.js +53 -0
  242. package/lib/cjs/extension/providers/RemoteExtensionProvider.js.map +1 -0
  243. package/lib/cjs/extension/providers/ServiceExtensionProvider.d.ts +37 -0
  244. package/lib/cjs/extension/providers/ServiceExtensionProvider.d.ts.map +1 -0
  245. package/lib/cjs/extension/providers/ServiceExtensionProvider.js +84 -0
  246. package/lib/cjs/extension/providers/ServiceExtensionProvider.js.map +1 -0
  247. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  248. package/lib/cjs/quantity-formatting/QuantityFormatter.js +2 -1
  249. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  250. package/lib/cjs/render/CanvasDecoration.d.ts +2 -0
  251. package/lib/cjs/render/CanvasDecoration.d.ts.map +1 -1
  252. package/lib/cjs/render/CanvasDecoration.js.map +1 -1
  253. package/lib/cjs/render/Decorations.d.ts +1 -0
  254. package/lib/cjs/render/Decorations.d.ts.map +1 -1
  255. package/lib/cjs/render/Decorations.js +1 -0
  256. package/lib/cjs/render/Decorations.js.map +1 -1
  257. package/lib/cjs/render/FeatureSymbology.d.ts +1 -0
  258. package/lib/cjs/render/FeatureSymbology.d.ts.map +1 -1
  259. package/lib/cjs/render/FeatureSymbology.js +1 -0
  260. package/lib/cjs/render/FeatureSymbology.js.map +1 -1
  261. package/lib/cjs/render/GraphicBranch.d.ts +2 -0
  262. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  263. package/lib/cjs/render/GraphicBranch.js +1 -0
  264. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  265. package/lib/cjs/render/GraphicBuilder.d.ts +33 -2
  266. package/lib/cjs/render/GraphicBuilder.d.ts.map +1 -1
  267. package/lib/cjs/render/GraphicBuilder.js +26 -0
  268. package/lib/cjs/render/GraphicBuilder.js.map +1 -1
  269. package/lib/cjs/render/GraphicPrimitive.d.ts +14 -0
  270. package/lib/cjs/render/GraphicPrimitive.d.ts.map +1 -1
  271. package/lib/cjs/render/GraphicPrimitive.js.map +1 -1
  272. package/lib/cjs/render/ParticleCollectionBuilder.d.ts +3 -0
  273. package/lib/cjs/render/ParticleCollectionBuilder.d.ts.map +1 -1
  274. package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
  275. package/lib/cjs/render/Pixel.d.ts +1 -0
  276. package/lib/cjs/render/Pixel.d.ts.map +1 -1
  277. package/lib/cjs/render/Pixel.js +1 -0
  278. package/lib/cjs/render/Pixel.js.map +1 -1
  279. package/lib/cjs/render/RenderClipVolume.d.ts +1 -0
  280. package/lib/cjs/render/RenderClipVolume.d.ts.map +1 -1
  281. package/lib/cjs/render/RenderClipVolume.js +1 -0
  282. package/lib/cjs/render/RenderClipVolume.js.map +1 -1
  283. package/lib/cjs/render/RenderGraphic.d.ts +3 -0
  284. package/lib/cjs/render/RenderGraphic.d.ts.map +1 -1
  285. package/lib/cjs/render/RenderGraphic.js +2 -0
  286. package/lib/cjs/render/RenderGraphic.js.map +1 -1
  287. package/lib/cjs/render/RenderSystem.d.ts +4 -3
  288. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  289. package/lib/cjs/render/RenderSystem.js +4 -3
  290. package/lib/cjs/render/RenderSystem.js.map +1 -1
  291. package/lib/cjs/render/RenderTexture.d.ts +7 -0
  292. package/lib/cjs/render/RenderTexture.d.ts.map +1 -1
  293. package/lib/cjs/render/RenderTexture.js.map +1 -1
  294. package/lib/cjs/render/Scene.d.ts +1 -0
  295. package/lib/cjs/render/Scene.d.ts.map +1 -1
  296. package/lib/cjs/render/Scene.js +1 -0
  297. package/lib/cjs/render/Scene.js.map +1 -1
  298. package/lib/cjs/render/ScreenSpaceEffectBuilder.d.ts +10 -0
  299. package/lib/cjs/render/ScreenSpaceEffectBuilder.d.ts.map +1 -1
  300. package/lib/cjs/render/ScreenSpaceEffectBuilder.js +2 -0
  301. package/lib/cjs/render/ScreenSpaceEffectBuilder.js.map +1 -1
  302. package/lib/cjs/render/primitives/VertexKey.d.ts +4 -2
  303. package/lib/cjs/render/primitives/VertexKey.d.ts.map +1 -1
  304. package/lib/cjs/render/primitives/VertexKey.js +23 -12
  305. package/lib/cjs/render/primitives/VertexKey.js.map +1 -1
  306. package/lib/cjs/render/primitives/VertexTable.d.ts +1 -1
  307. package/lib/cjs/render/primitives/VertexTable.js +30 -2
  308. package/lib/cjs/render/primitives/VertexTable.js.map +1 -1
  309. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts +12 -4
  310. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  311. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js +20 -15
  312. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  313. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts +2 -1
  314. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  315. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js +6 -1
  316. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  317. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.d.ts +14 -12
  318. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.d.ts.map +1 -1
  319. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.js +26 -25
  320. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.js.map +1 -1
  321. package/lib/cjs/render/primitives/mesh/MeshBuilder.d.ts +8 -8
  322. package/lib/cjs/render/primitives/mesh/MeshBuilder.d.ts.map +1 -1
  323. package/lib/cjs/render/primitives/mesh/MeshBuilder.js +15 -15
  324. package/lib/cjs/render/primitives/mesh/MeshBuilder.js.map +1 -1
  325. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.d.ts +11 -6
  326. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.d.ts.map +1 -1
  327. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js +12 -15
  328. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  329. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts +1 -1
  330. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  331. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js +6 -2
  332. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  333. package/lib/cjs/render/webgl/AttributeMap.js +1 -1
  334. package/lib/cjs/render/webgl/CachedGeometry.d.ts +7 -1
  335. package/lib/cjs/render/webgl/CachedGeometry.d.ts.map +1 -1
  336. package/lib/cjs/render/webgl/CachedGeometry.js +20 -10
  337. package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
  338. package/lib/cjs/render/webgl/DrawCommand.d.ts.map +1 -1
  339. package/lib/cjs/render/webgl/DrawCommand.js +2 -1
  340. package/lib/cjs/render/webgl/DrawCommand.js.map +1 -1
  341. package/lib/cjs/render/webgl/InstancedGeometry.d.ts +1 -0
  342. package/lib/cjs/render/webgl/InstancedGeometry.d.ts.map +1 -1
  343. package/lib/cjs/render/webgl/InstancedGeometry.js +1 -0
  344. package/lib/cjs/render/webgl/InstancedGeometry.js.map +1 -1
  345. package/lib/cjs/render/webgl/RealityMesh.d.ts +14 -11
  346. package/lib/cjs/render/webgl/RealityMesh.d.ts.map +1 -1
  347. package/lib/cjs/render/webgl/RealityMesh.js +26 -17
  348. package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
  349. package/lib/cjs/render/webgl/SceneCompositor.d.ts +2 -0
  350. package/lib/cjs/render/webgl/SceneCompositor.d.ts.map +1 -1
  351. package/lib/cjs/render/webgl/SceneCompositor.js +219 -52
  352. package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
  353. package/lib/cjs/render/webgl/ShaderBuilder.d.ts +5 -4
  354. package/lib/cjs/render/webgl/ShaderBuilder.d.ts.map +1 -1
  355. package/lib/cjs/render/webgl/ShaderBuilder.js +7 -6
  356. package/lib/cjs/render/webgl/ShaderBuilder.js.map +1 -1
  357. package/lib/cjs/render/webgl/System.d.ts +4 -4
  358. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  359. package/lib/cjs/render/webgl/System.js +6 -6
  360. package/lib/cjs/render/webgl/System.js.map +1 -1
  361. package/lib/cjs/render/webgl/Target.d.ts +6 -1
  362. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  363. package/lib/cjs/render/webgl/Target.js +64 -13
  364. package/lib/cjs/render/webgl/Target.js.map +1 -1
  365. package/lib/cjs/render/webgl/Technique.d.ts +4 -2
  366. package/lib/cjs/render/webgl/Technique.d.ts.map +1 -1
  367. package/lib/cjs/render/webgl/Technique.js +166 -135
  368. package/lib/cjs/render/webgl/Technique.js.map +1 -1
  369. package/lib/cjs/render/webgl/TechniqueFlags.d.ts +7 -3
  370. package/lib/cjs/render/webgl/TechniqueFlags.d.ts.map +1 -1
  371. package/lib/cjs/render/webgl/TechniqueFlags.js +17 -4
  372. package/lib/cjs/render/webgl/TechniqueFlags.js.map +1 -1
  373. package/lib/cjs/render/webgl/TechniqueId.d.ts +8 -7
  374. package/lib/cjs/render/webgl/TechniqueId.d.ts.map +1 -1
  375. package/lib/cjs/render/webgl/TechniqueId.js.map +1 -1
  376. package/lib/cjs/render/webgl/glsl/Animation.d.ts.map +1 -1
  377. package/lib/cjs/render/webgl/glsl/Animation.js +2 -0
  378. package/lib/cjs/render/webgl/glsl/Animation.js.map +1 -1
  379. package/lib/cjs/render/webgl/glsl/Blur.d.ts +2 -1
  380. package/lib/cjs/render/webgl/glsl/Blur.d.ts.map +1 -1
  381. package/lib/cjs/render/webgl/glsl/Blur.js +38 -6
  382. package/lib/cjs/render/webgl/glsl/Blur.js.map +1 -1
  383. package/lib/cjs/render/webgl/glsl/Color.d.ts.map +1 -1
  384. package/lib/cjs/render/webgl/glsl/Color.js +8 -7
  385. package/lib/cjs/render/webgl/glsl/Color.js.map +1 -1
  386. package/lib/cjs/render/webgl/glsl/CopyStencil.js +1 -1
  387. package/lib/cjs/render/webgl/glsl/Decode.d.ts +2 -1
  388. package/lib/cjs/render/webgl/glsl/Decode.d.ts.map +1 -1
  389. package/lib/cjs/render/webgl/glsl/Decode.js +16 -2
  390. package/lib/cjs/render/webgl/glsl/Decode.js.map +1 -1
  391. package/lib/cjs/render/webgl/glsl/Edge.d.ts +2 -2
  392. package/lib/cjs/render/webgl/glsl/Edge.d.ts.map +1 -1
  393. package/lib/cjs/render/webgl/glsl/Edge.js +6 -19
  394. package/lib/cjs/render/webgl/glsl/Edge.js.map +1 -1
  395. package/lib/cjs/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
  396. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js +0 -2
  397. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  398. package/lib/cjs/render/webgl/glsl/PointString.d.ts +3 -3
  399. package/lib/cjs/render/webgl/glsl/PointString.d.ts.map +1 -1
  400. package/lib/cjs/render/webgl/glsl/PointString.js +6 -6
  401. package/lib/cjs/render/webgl/glsl/PointString.js.map +1 -1
  402. package/lib/cjs/render/webgl/glsl/Polyline.d.ts +3 -3
  403. package/lib/cjs/render/webgl/glsl/Polyline.d.ts.map +1 -1
  404. package/lib/cjs/render/webgl/glsl/Polyline.js +6 -21
  405. package/lib/cjs/render/webgl/glsl/Polyline.js.map +1 -1
  406. package/lib/cjs/render/webgl/glsl/Surface.d.ts +2 -2
  407. package/lib/cjs/render/webgl/glsl/Surface.d.ts.map +1 -1
  408. package/lib/cjs/render/webgl/glsl/Surface.js +50 -34
  409. package/lib/cjs/render/webgl/glsl/Surface.js.map +1 -1
  410. package/lib/cjs/render/webgl/glsl/Vertex.d.ts +3 -3
  411. package/lib/cjs/render/webgl/glsl/Vertex.d.ts.map +1 -1
  412. package/lib/cjs/render/webgl/glsl/Vertex.js +143 -57
  413. package/lib/cjs/render/webgl/glsl/Vertex.js.map +1 -1
  414. package/lib/cjs/tile/ClassifierTileTree.d.ts.map +1 -1
  415. package/lib/cjs/tile/ClassifierTileTree.js +3 -4
  416. package/lib/cjs/tile/ClassifierTileTree.js.map +1 -1
  417. package/lib/cjs/tile/DisclosedTileTreeSet.d.ts +2 -0
  418. package/lib/cjs/tile/DisclosedTileTreeSet.d.ts.map +1 -1
  419. package/lib/cjs/tile/DisclosedTileTreeSet.js +1 -0
  420. package/lib/cjs/tile/DisclosedTileTreeSet.js.map +1 -1
  421. package/lib/cjs/tile/DynamicIModelTile.js +4 -2
  422. package/lib/cjs/tile/DynamicIModelTile.js.map +1 -1
  423. package/lib/cjs/tile/GltfReader.d.ts +19 -9
  424. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  425. package/lib/cjs/tile/GltfReader.js +24 -7
  426. package/lib/cjs/tile/GltfReader.js.map +1 -1
  427. package/lib/cjs/tile/IModelTile.js +1 -1
  428. package/lib/cjs/tile/IModelTile.js.map +1 -1
  429. package/lib/cjs/tile/IModelTileRequestChannels.d.ts +3 -3
  430. package/lib/cjs/tile/IModelTileRequestChannels.d.ts.map +1 -1
  431. package/lib/cjs/tile/IModelTileRequestChannels.js +7 -11
  432. package/lib/cjs/tile/IModelTileRequestChannels.js.map +1 -1
  433. package/lib/cjs/tile/IModelTileTree.d.ts +3 -3
  434. package/lib/cjs/tile/IModelTileTree.d.ts.map +1 -1
  435. package/lib/cjs/tile/IModelTileTree.js +1 -1
  436. package/lib/cjs/tile/IModelTileTree.js.map +1 -1
  437. package/lib/cjs/tile/ImdlReader.d.ts +2 -0
  438. package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
  439. package/lib/cjs/tile/ImdlReader.js +2 -0
  440. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  441. package/lib/cjs/tile/OPCFormatInterpreter.d.ts.map +1 -1
  442. package/lib/cjs/tile/OPCFormatInterpreter.js +1 -2
  443. package/lib/cjs/tile/OPCFormatInterpreter.js.map +1 -1
  444. package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
  445. package/lib/cjs/tile/PrimaryTileTree.js +4 -4
  446. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  447. package/lib/cjs/tile/RealityTileLoader.d.ts +1 -1
  448. package/lib/cjs/tile/RealityTileLoader.d.ts.map +1 -1
  449. package/lib/cjs/tile/RealityTileLoader.js +34 -6
  450. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  451. package/lib/cjs/tile/Tile.d.ts +5 -0
  452. package/lib/cjs/tile/Tile.d.ts.map +1 -1
  453. package/lib/cjs/tile/Tile.js +5 -0
  454. package/lib/cjs/tile/Tile.js.map +1 -1
  455. package/lib/cjs/tile/TileAdmin.d.ts +18 -1
  456. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  457. package/lib/cjs/tile/TileAdmin.js +26 -19
  458. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  459. package/lib/cjs/tile/TileContent.d.ts +1 -0
  460. package/lib/cjs/tile/TileContent.d.ts.map +1 -1
  461. package/lib/cjs/tile/TileContent.js.map +1 -1
  462. package/lib/cjs/tile/TileDrawArgs.d.ts +2 -0
  463. package/lib/cjs/tile/TileDrawArgs.d.ts.map +1 -1
  464. package/lib/cjs/tile/TileDrawArgs.js +1 -0
  465. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  466. package/lib/cjs/tile/TileParams.d.ts +1 -0
  467. package/lib/cjs/tile/TileParams.d.ts.map +1 -1
  468. package/lib/cjs/tile/TileParams.js.map +1 -1
  469. package/lib/cjs/tile/TileRequest.d.ts +1 -0
  470. package/lib/cjs/tile/TileRequest.d.ts.map +1 -1
  471. package/lib/cjs/tile/TileRequest.js +1 -0
  472. package/lib/cjs/tile/TileRequest.js.map +1 -1
  473. package/lib/cjs/tile/TileRequestChannel.d.ts +2 -0
  474. package/lib/cjs/tile/TileRequestChannel.d.ts.map +1 -1
  475. package/lib/cjs/tile/TileRequestChannel.js +2 -0
  476. package/lib/cjs/tile/TileRequestChannel.js.map +1 -1
  477. package/lib/cjs/tile/TileRequestChannels.d.ts +1 -4
  478. package/lib/cjs/tile/TileRequestChannels.d.ts.map +1 -1
  479. package/lib/cjs/tile/TileRequestChannels.js +2 -6
  480. package/lib/cjs/tile/TileRequestChannels.js.map +1 -1
  481. package/lib/cjs/tile/TileTree.d.ts +2 -0
  482. package/lib/cjs/tile/TileTree.d.ts.map +1 -1
  483. package/lib/cjs/tile/TileTree.js +2 -0
  484. package/lib/cjs/tile/TileTree.js.map +1 -1
  485. package/lib/cjs/tile/TileTreeOwner.d.ts +1 -0
  486. package/lib/cjs/tile/TileTreeOwner.d.ts.map +1 -1
  487. package/lib/cjs/tile/TileTreeOwner.js.map +1 -1
  488. package/lib/cjs/tile/TileTreeParams.d.ts +1 -0
  489. package/lib/cjs/tile/TileTreeParams.d.ts.map +1 -1
  490. package/lib/cjs/tile/TileTreeParams.js.map +1 -1
  491. package/lib/cjs/tile/TileTreeReference.d.ts +2 -0
  492. package/lib/cjs/tile/TileTreeReference.d.ts.map +1 -1
  493. package/lib/cjs/tile/TileTreeReference.js +2 -0
  494. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  495. package/lib/cjs/tile/TileTreeSupplier.d.ts +1 -0
  496. package/lib/cjs/tile/TileTreeSupplier.d.ts.map +1 -1
  497. package/lib/cjs/tile/TileTreeSupplier.js.map +1 -1
  498. package/lib/cjs/tile/TileUsageMarker.d.ts +1 -0
  499. package/lib/cjs/tile/TileUsageMarker.d.ts.map +1 -1
  500. package/lib/cjs/tile/TileUsageMarker.js +1 -0
  501. package/lib/cjs/tile/TileUsageMarker.js.map +1 -1
  502. package/lib/cjs/tile/TiledGraphicsProvider.d.ts +1 -0
  503. package/lib/cjs/tile/TiledGraphicsProvider.d.ts.map +1 -1
  504. package/lib/cjs/tile/TiledGraphicsProvider.js.map +1 -1
  505. package/lib/cjs/tile/internal.d.ts +0 -2
  506. package/lib/cjs/tile/internal.d.ts.map +1 -1
  507. package/lib/cjs/tile/internal.js +0 -2
  508. package/lib/cjs/tile/internal.js.map +1 -1
  509. package/lib/cjs/tile/map/ArcGisUtilities.d.ts +2 -1
  510. package/lib/cjs/tile/map/ArcGisUtilities.d.ts.map +1 -1
  511. package/lib/cjs/tile/map/ArcGisUtilities.js +31 -20
  512. package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
  513. package/lib/cjs/tile/map/BingElevation.d.ts +1 -0
  514. package/lib/cjs/tile/map/BingElevation.d.ts.map +1 -1
  515. package/lib/cjs/tile/map/BingElevation.js +1 -0
  516. package/lib/cjs/tile/map/BingElevation.js.map +1 -1
  517. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -1
  518. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  519. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +50 -27
  520. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  521. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +0 -1
  522. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  523. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +12 -10
  524. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  525. package/lib/cjs/tile/map/MapLayerAuthentication.d.ts +20 -9
  526. package/lib/cjs/tile/map/MapLayerAuthentication.d.ts.map +1 -1
  527. package/lib/cjs/tile/map/MapLayerAuthentication.js +0 -8
  528. package/lib/cjs/tile/map/MapLayerAuthentication.js.map +1 -1
  529. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts +24 -6
  530. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  531. package/lib/cjs/tile/map/MapLayerFormatRegistry.js +28 -7
  532. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  533. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  534. package/lib/cjs/tile/map/MapLayerImageryFormats.js +1 -3
  535. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  536. package/lib/cjs/tile/map/MapLayerSources.d.ts +1 -1
  537. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  538. package/lib/cjs/tile/map/MapLayerSources.js +1 -1
  539. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  540. package/lib/cjs/tile/map/MapTile.js +2 -2
  541. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  542. package/lib/cjs/tile/map/MapTileLoader.js +1 -1
  543. package/lib/cjs/tile/map/MapTileLoader.js.map +1 -1
  544. package/lib/cjs/tile/map/MapTileTree.js +2 -2
  545. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  546. package/lib/cjs/tile/map/WmsCapabilities.d.ts +3 -2
  547. package/lib/cjs/tile/map/WmsCapabilities.d.ts.map +1 -1
  548. package/lib/cjs/tile/map/WmsCapabilities.js +11 -10
  549. package/lib/cjs/tile/map/WmsCapabilities.js.map +1 -1
  550. package/lib/cjs/tools/ClipViewTool.d.ts +5 -3
  551. package/lib/cjs/tools/ClipViewTool.d.ts.map +1 -1
  552. package/lib/cjs/tools/ClipViewTool.js +4 -3
  553. package/lib/cjs/tools/ClipViewTool.js.map +1 -1
  554. package/lib/cjs/tools/EditManipulator.d.ts +1 -0
  555. package/lib/cjs/tools/EditManipulator.d.ts.map +1 -1
  556. package/lib/cjs/tools/EditManipulator.js +1 -0
  557. package/lib/cjs/tools/EditManipulator.js.map +1 -1
  558. package/lib/cjs/tools/EventController.d.ts +1 -0
  559. package/lib/cjs/tools/EventController.d.ts.map +1 -1
  560. package/lib/cjs/tools/EventController.js +1 -0
  561. package/lib/cjs/tools/EventController.js.map +1 -1
  562. package/lib/cjs/tools/PrimitiveTool.d.ts +4 -0
  563. package/lib/cjs/tools/PrimitiveTool.d.ts.map +1 -1
  564. package/lib/cjs/tools/PrimitiveTool.js +7 -0
  565. package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
  566. package/lib/cjs/tools/SelectTool.d.ts +3 -0
  567. package/lib/cjs/tools/SelectTool.d.ts.map +1 -1
  568. package/lib/cjs/tools/SelectTool.js +3 -0
  569. package/lib/cjs/tools/SelectTool.js.map +1 -1
  570. package/lib/cjs/tools/Tool.d.ts +41 -6
  571. package/lib/cjs/tools/Tool.d.ts.map +1 -1
  572. package/lib/cjs/tools/Tool.js +27 -4
  573. package/lib/cjs/tools/Tool.js.map +1 -1
  574. package/lib/cjs/tools/ToolAdmin.d.ts +16 -22
  575. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  576. package/lib/cjs/tools/ToolAdmin.js +47 -8
  577. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  578. package/lib/cjs/tools/ToolAssistance.d.ts +7 -0
  579. package/lib/cjs/tools/ToolAssistance.d.ts.map +1 -1
  580. package/lib/cjs/tools/ToolAssistance.js +3 -0
  581. package/lib/cjs/tools/ToolAssistance.js.map +1 -1
  582. package/lib/cjs/tools/ToolSettings.d.ts +3 -0
  583. package/lib/cjs/tools/ToolSettings.d.ts.map +1 -1
  584. package/lib/cjs/tools/ToolSettings.js +3 -0
  585. package/lib/cjs/tools/ToolSettings.js.map +1 -1
  586. package/lib/cjs/tools/ViewTool.d.ts +3 -1
  587. package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
  588. package/lib/cjs/tools/ViewTool.js +9 -5
  589. package/lib/cjs/tools/ViewTool.js.map +1 -1
  590. package/lib/esm/AccuDraw.d.ts +2 -0
  591. package/lib/esm/AccuDraw.d.ts.map +1 -1
  592. package/lib/esm/AccuDraw.js +2 -0
  593. package/lib/esm/AccuDraw.js.map +1 -1
  594. package/lib/esm/AccuSnap.d.ts +1 -0
  595. package/lib/esm/AccuSnap.d.ts.map +1 -1
  596. package/lib/esm/AccuSnap.js +1 -0
  597. package/lib/esm/AccuSnap.js.map +1 -1
  598. package/lib/esm/ApproximateTerrainHeights.d.ts.map +1 -1
  599. package/lib/esm/ApproximateTerrainHeights.js +4 -2
  600. package/lib/esm/ApproximateTerrainHeights.js.map +1 -1
  601. package/lib/esm/ApproximateTerrainHeightsProps.d.ts +1 -1
  602. package/lib/esm/ApproximateTerrainHeightsProps.d.ts.map +1 -1
  603. package/lib/esm/ApproximateTerrainHeightsProps.js +1 -1
  604. package/lib/esm/ApproximateTerrainHeightsProps.js.map +1 -1
  605. package/lib/esm/AuxCoordSys.d.ts +12 -2
  606. package/lib/esm/AuxCoordSys.d.ts.map +1 -1
  607. package/lib/esm/AuxCoordSys.js +12 -2
  608. package/lib/esm/AuxCoordSys.js.map +1 -1
  609. package/lib/esm/BingLocation.d.ts +1 -0
  610. package/lib/esm/BingLocation.d.ts.map +1 -1
  611. package/lib/esm/BingLocation.js +1 -0
  612. package/lib/esm/BingLocation.js.map +1 -1
  613. package/lib/esm/BriefcaseConnection.d.ts +35 -1
  614. package/lib/esm/BriefcaseConnection.d.ts.map +1 -1
  615. package/lib/esm/BriefcaseConnection.js +50 -0
  616. package/lib/esm/BriefcaseConnection.js.map +1 -1
  617. package/lib/esm/CategorySelectorState.d.ts +1 -0
  618. package/lib/esm/CategorySelectorState.d.ts.map +1 -1
  619. package/lib/esm/CategorySelectorState.js +1 -0
  620. package/lib/esm/CategorySelectorState.js.map +1 -1
  621. package/lib/esm/ChangeFlags.d.ts +1 -0
  622. package/lib/esm/ChangeFlags.d.ts.map +1 -1
  623. package/lib/esm/ChangeFlags.js +1 -0
  624. package/lib/esm/ChangeFlags.js.map +1 -1
  625. package/lib/esm/ContextRealityModelState.d.ts +1 -0
  626. package/lib/esm/ContextRealityModelState.d.ts.map +1 -1
  627. package/lib/esm/ContextRealityModelState.js +1 -0
  628. package/lib/esm/ContextRealityModelState.js.map +1 -1
  629. package/lib/esm/CoordSystem.d.ts +1 -0
  630. package/lib/esm/CoordSystem.d.ts.map +1 -1
  631. package/lib/esm/CoordSystem.js +1 -0
  632. package/lib/esm/CoordSystem.js.map +1 -1
  633. package/lib/esm/DisplayStyleState.d.ts +4 -0
  634. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  635. package/lib/esm/DisplayStyleState.js +9 -4
  636. package/lib/esm/DisplayStyleState.js.map +1 -1
  637. package/lib/esm/DrawingViewState.d.ts +5 -2
  638. package/lib/esm/DrawingViewState.d.ts.map +1 -1
  639. package/lib/esm/DrawingViewState.js +34 -3
  640. package/lib/esm/DrawingViewState.js.map +1 -1
  641. package/lib/esm/ElementLocateManager.d.ts +23 -5
  642. package/lib/esm/ElementLocateManager.d.ts.map +1 -1
  643. package/lib/esm/ElementLocateManager.js +19 -4
  644. package/lib/esm/ElementLocateManager.js.map +1 -1
  645. package/lib/esm/EmphasizeElements.d.ts +1 -0
  646. package/lib/esm/EmphasizeElements.d.ts.map +1 -1
  647. package/lib/esm/EmphasizeElements.js +1 -0
  648. package/lib/esm/EmphasizeElements.js.map +1 -1
  649. package/lib/esm/EntityState.d.ts +2 -0
  650. package/lib/esm/EntityState.d.ts.map +1 -1
  651. package/lib/esm/EntityState.js +2 -0
  652. package/lib/esm/EntityState.js.map +1 -1
  653. package/lib/esm/FeatureOverrideProvider.d.ts +1 -0
  654. package/lib/esm/FeatureOverrideProvider.d.ts.map +1 -1
  655. package/lib/esm/FeatureOverrideProvider.js.map +1 -1
  656. package/lib/esm/FlashSettings.d.ts +3 -0
  657. package/lib/esm/FlashSettings.d.ts.map +1 -1
  658. package/lib/esm/FlashSettings.js +2 -0
  659. package/lib/esm/FlashSettings.js.map +1 -1
  660. package/lib/esm/FrontendHubAccess.d.ts +4 -1
  661. package/lib/esm/FrontendHubAccess.d.ts.map +1 -1
  662. package/lib/esm/FrontendHubAccess.js.map +1 -1
  663. package/lib/esm/FrontendLoggerCategory.d.ts +6 -1
  664. package/lib/esm/FrontendLoggerCategory.d.ts.map +1 -1
  665. package/lib/esm/FrontendLoggerCategory.js +5 -0
  666. package/lib/esm/FrontendLoggerCategory.js.map +1 -1
  667. package/lib/esm/FrustumAnimator.d.ts +2 -0
  668. package/lib/esm/FrustumAnimator.d.ts.map +1 -1
  669. package/lib/esm/FrustumAnimator.js +2 -0
  670. package/lib/esm/FrustumAnimator.js.map +1 -1
  671. package/lib/esm/FuzzySearch.d.ts +1 -0
  672. package/lib/esm/FuzzySearch.d.ts.map +1 -1
  673. package/lib/esm/FuzzySearch.js.map +1 -1
  674. package/lib/esm/GlobeAnimator.d.ts +1 -0
  675. package/lib/esm/GlobeAnimator.d.ts.map +1 -1
  676. package/lib/esm/GlobeAnimator.js +1 -0
  677. package/lib/esm/GlobeAnimator.js.map +1 -1
  678. package/lib/esm/HitDetail.d.ts +26 -5
  679. package/lib/esm/HitDetail.d.ts.map +1 -1
  680. package/lib/esm/HitDetail.js +26 -5
  681. package/lib/esm/HitDetail.js.map +1 -1
  682. package/lib/esm/IModelApp.d.ts +9 -0
  683. package/lib/esm/IModelApp.d.ts.map +1 -1
  684. package/lib/esm/IModelApp.js +37 -22
  685. package/lib/esm/IModelApp.js.map +1 -1
  686. package/lib/esm/IModelConnection.d.ts +11 -2
  687. package/lib/esm/IModelConnection.d.ts.map +1 -1
  688. package/lib/esm/IModelConnection.js +23 -2
  689. package/lib/esm/IModelConnection.js.map +1 -1
  690. package/lib/esm/ImageUtil.d.ts +15 -2
  691. package/lib/esm/ImageUtil.d.ts.map +1 -1
  692. package/lib/esm/ImageUtil.js +19 -4
  693. package/lib/esm/ImageUtil.js.map +1 -1
  694. package/lib/esm/IpcApp.d.ts +1 -0
  695. package/lib/esm/IpcApp.d.ts.map +1 -1
  696. package/lib/esm/IpcApp.js +1 -0
  697. package/lib/esm/IpcApp.js.map +1 -1
  698. package/lib/esm/MarginPercent.d.ts +1 -0
  699. package/lib/esm/MarginPercent.d.ts.map +1 -1
  700. package/lib/esm/MarginPercent.js +1 -0
  701. package/lib/esm/MarginPercent.js.map +1 -1
  702. package/lib/esm/Marker.d.ts +16 -3
  703. package/lib/esm/Marker.d.ts.map +1 -1
  704. package/lib/esm/Marker.js +3 -0
  705. package/lib/esm/Marker.js.map +1 -1
  706. package/lib/esm/ModelSelectorState.d.ts +1 -0
  707. package/lib/esm/ModelSelectorState.d.ts.map +1 -1
  708. package/lib/esm/ModelSelectorState.js +1 -0
  709. package/lib/esm/ModelSelectorState.js.map +1 -1
  710. package/lib/esm/ModelState.d.ts +10 -0
  711. package/lib/esm/ModelState.d.ts.map +1 -1
  712. package/lib/esm/ModelState.js +10 -0
  713. package/lib/esm/ModelState.js.map +1 -1
  714. package/lib/esm/NotificationManager.d.ts +11 -0
  715. package/lib/esm/NotificationManager.d.ts.map +1 -1
  716. package/lib/esm/NotificationManager.js +10 -0
  717. package/lib/esm/NotificationManager.js.map +1 -1
  718. package/lib/esm/PerModelCategoryVisibility.d.ts +1 -0
  719. package/lib/esm/PerModelCategoryVisibility.d.ts.map +1 -1
  720. package/lib/esm/PerModelCategoryVisibility.js +1 -0
  721. package/lib/esm/PerModelCategoryVisibility.js.map +1 -1
  722. package/lib/esm/SelectionSet.d.ts +7 -0
  723. package/lib/esm/SelectionSet.d.ts.map +1 -1
  724. package/lib/esm/SelectionSet.js +3 -0
  725. package/lib/esm/SelectionSet.js.map +1 -1
  726. package/lib/esm/SheetViewState.d.ts +6 -5
  727. package/lib/esm/SheetViewState.d.ts.map +1 -1
  728. package/lib/esm/SheetViewState.js +59 -7
  729. package/lib/esm/SheetViewState.js.map +1 -1
  730. package/lib/esm/SpatialViewState.d.ts +7 -2
  731. package/lib/esm/SpatialViewState.d.ts.map +1 -1
  732. package/lib/esm/SpatialViewState.js +18 -4
  733. package/lib/esm/SpatialViewState.js.map +1 -1
  734. package/lib/esm/Sprites.d.ts +3 -0
  735. package/lib/esm/Sprites.d.ts.map +1 -1
  736. package/lib/esm/Sprites.js +3 -0
  737. package/lib/esm/Sprites.js.map +1 -1
  738. package/lib/esm/StandardView.d.ts +1 -0
  739. package/lib/esm/StandardView.d.ts.map +1 -1
  740. package/lib/esm/StandardView.js +1 -0
  741. package/lib/esm/StandardView.js.map +1 -1
  742. package/lib/esm/SubCategoriesCache.d.ts +14 -7
  743. package/lib/esm/SubCategoriesCache.d.ts.map +1 -1
  744. package/lib/esm/SubCategoriesCache.js +37 -9
  745. package/lib/esm/SubCategoriesCache.js.map +1 -1
  746. package/lib/esm/TentativePoint.d.ts +4 -1
  747. package/lib/esm/TentativePoint.d.ts.map +1 -1
  748. package/lib/esm/TentativePoint.js +4 -1
  749. package/lib/esm/TentativePoint.js.map +1 -1
  750. package/lib/esm/Tiles.d.ts +1 -0
  751. package/lib/esm/Tiles.d.ts.map +1 -1
  752. package/lib/esm/Tiles.js +1 -0
  753. package/lib/esm/Tiles.js.map +1 -1
  754. package/lib/esm/ViewAnimation.d.ts +6 -0
  755. package/lib/esm/ViewAnimation.d.ts.map +1 -1
  756. package/lib/esm/ViewAnimation.js.map +1 -1
  757. package/lib/esm/ViewCreator2d.d.ts +2 -0
  758. package/lib/esm/ViewCreator2d.d.ts.map +1 -1
  759. package/lib/esm/ViewCreator2d.js +1 -0
  760. package/lib/esm/ViewCreator2d.js.map +1 -1
  761. package/lib/esm/ViewCreator3d.d.ts +2 -8
  762. package/lib/esm/ViewCreator3d.d.ts.map +1 -1
  763. package/lib/esm/ViewCreator3d.js +12 -38
  764. package/lib/esm/ViewCreator3d.js.map +1 -1
  765. package/lib/esm/ViewGlobalLocation.d.ts +3 -0
  766. package/lib/esm/ViewGlobalLocation.d.ts.map +1 -1
  767. package/lib/esm/ViewGlobalLocation.js +1 -0
  768. package/lib/esm/ViewGlobalLocation.js.map +1 -1
  769. package/lib/esm/ViewManager.d.ts +3 -0
  770. package/lib/esm/ViewManager.d.ts.map +1 -1
  771. package/lib/esm/ViewManager.js +2 -0
  772. package/lib/esm/ViewManager.js.map +1 -1
  773. package/lib/esm/ViewPose.d.ts +1 -0
  774. package/lib/esm/ViewPose.d.ts.map +1 -1
  775. package/lib/esm/ViewPose.js +1 -0
  776. package/lib/esm/ViewPose.js.map +1 -1
  777. package/lib/esm/ViewRect.d.ts +1 -0
  778. package/lib/esm/ViewRect.d.ts.map +1 -1
  779. package/lib/esm/ViewRect.js +1 -0
  780. package/lib/esm/ViewRect.js.map +1 -1
  781. package/lib/esm/ViewState.d.ts +17 -2
  782. package/lib/esm/ViewState.d.ts.map +1 -1
  783. package/lib/esm/ViewState.js +41 -10
  784. package/lib/esm/ViewState.js.map +1 -1
  785. package/lib/esm/ViewStatus.d.ts +1 -0
  786. package/lib/esm/ViewStatus.d.ts.map +1 -1
  787. package/lib/esm/ViewStatus.js +1 -0
  788. package/lib/esm/ViewStatus.js.map +1 -1
  789. package/lib/esm/ViewingSpace.d.ts +1 -0
  790. package/lib/esm/ViewingSpace.d.ts.map +1 -1
  791. package/lib/esm/ViewingSpace.js +1 -0
  792. package/lib/esm/ViewingSpace.js.map +1 -1
  793. package/lib/esm/Viewport.d.ts +6 -2
  794. package/lib/esm/Viewport.d.ts.map +1 -1
  795. package/lib/esm/Viewport.js +12 -4
  796. package/lib/esm/Viewport.js.map +1 -1
  797. package/lib/esm/ViewportSync.d.ts +119 -0
  798. package/lib/esm/ViewportSync.d.ts.map +1 -0
  799. package/lib/esm/ViewportSync.js +177 -0
  800. package/lib/esm/ViewportSync.js.map +1 -0
  801. package/lib/esm/core-frontend.d.ts +10 -6
  802. package/lib/esm/core-frontend.d.ts.map +1 -1
  803. package/lib/esm/core-frontend.js +11 -6
  804. package/lib/esm/core-frontend.js.map +1 -1
  805. package/lib/esm/extension/Extension.d.ts +24 -15
  806. package/lib/esm/extension/Extension.d.ts.map +1 -1
  807. package/lib/esm/extension/Extension.js +1 -7
  808. package/lib/esm/extension/Extension.js.map +1 -1
  809. package/lib/esm/extension/ExtensionAdmin.d.ts +21 -44
  810. package/lib/esm/extension/ExtensionAdmin.d.ts.map +1 -1
  811. package/lib/esm/extension/ExtensionAdmin.js +55 -64
  812. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  813. package/lib/esm/extension/ExtensionRuntime.js +239 -59
  814. package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
  815. package/lib/esm/extension/providers/ExtensionLoadScript.d.ts +10 -0
  816. package/lib/esm/extension/providers/ExtensionLoadScript.d.ts.map +1 -0
  817. package/lib/esm/extension/providers/ExtensionLoadScript.js +51 -0
  818. package/lib/esm/extension/providers/ExtensionLoadScript.js.map +1 -0
  819. package/lib/esm/extension/providers/ExtensionServiceClient.d.ts +52 -0
  820. package/lib/esm/extension/providers/ExtensionServiceClient.d.ts.map +1 -0
  821. package/lib/esm/extension/providers/ExtensionServiceClient.js +127 -0
  822. package/lib/esm/extension/providers/ExtensionServiceClient.js.map +1 -0
  823. package/lib/esm/extension/providers/LocalExtensionProvider.d.ts +26 -0
  824. package/lib/esm/extension/providers/LocalExtensionProvider.d.ts.map +1 -0
  825. package/lib/esm/extension/providers/LocalExtensionProvider.js +20 -0
  826. package/lib/esm/extension/providers/LocalExtensionProvider.js.map +1 -0
  827. package/lib/esm/extension/providers/RemoteExtensionProvider.d.ts +36 -0
  828. package/lib/esm/extension/providers/RemoteExtensionProvider.d.ts.map +1 -0
  829. package/lib/esm/extension/providers/RemoteExtensionProvider.js +49 -0
  830. package/lib/esm/extension/providers/RemoteExtensionProvider.js.map +1 -0
  831. package/lib/esm/extension/providers/ServiceExtensionProvider.d.ts +37 -0
  832. package/lib/esm/extension/providers/ServiceExtensionProvider.d.ts.map +1 -0
  833. package/lib/esm/extension/providers/ServiceExtensionProvider.js +80 -0
  834. package/lib/esm/extension/providers/ServiceExtensionProvider.js.map +1 -0
  835. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  836. package/lib/esm/quantity-formatting/QuantityFormatter.js +3 -2
  837. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  838. package/lib/esm/render/CanvasDecoration.d.ts +2 -0
  839. package/lib/esm/render/CanvasDecoration.d.ts.map +1 -1
  840. package/lib/esm/render/CanvasDecoration.js.map +1 -1
  841. package/lib/esm/render/Decorations.d.ts +1 -0
  842. package/lib/esm/render/Decorations.d.ts.map +1 -1
  843. package/lib/esm/render/Decorations.js +1 -0
  844. package/lib/esm/render/Decorations.js.map +1 -1
  845. package/lib/esm/render/FeatureSymbology.d.ts +1 -0
  846. package/lib/esm/render/FeatureSymbology.d.ts.map +1 -1
  847. package/lib/esm/render/FeatureSymbology.js +1 -0
  848. package/lib/esm/render/FeatureSymbology.js.map +1 -1
  849. package/lib/esm/render/GraphicBranch.d.ts +2 -0
  850. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  851. package/lib/esm/render/GraphicBranch.js +1 -0
  852. package/lib/esm/render/GraphicBranch.js.map +1 -1
  853. package/lib/esm/render/GraphicBuilder.d.ts +33 -2
  854. package/lib/esm/render/GraphicBuilder.d.ts.map +1 -1
  855. package/lib/esm/render/GraphicBuilder.js +27 -1
  856. package/lib/esm/render/GraphicBuilder.js.map +1 -1
  857. package/lib/esm/render/GraphicPrimitive.d.ts +14 -0
  858. package/lib/esm/render/GraphicPrimitive.d.ts.map +1 -1
  859. package/lib/esm/render/GraphicPrimitive.js.map +1 -1
  860. package/lib/esm/render/ParticleCollectionBuilder.d.ts +3 -0
  861. package/lib/esm/render/ParticleCollectionBuilder.d.ts.map +1 -1
  862. package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
  863. package/lib/esm/render/Pixel.d.ts +1 -0
  864. package/lib/esm/render/Pixel.d.ts.map +1 -1
  865. package/lib/esm/render/Pixel.js +1 -0
  866. package/lib/esm/render/Pixel.js.map +1 -1
  867. package/lib/esm/render/RenderClipVolume.d.ts +1 -0
  868. package/lib/esm/render/RenderClipVolume.d.ts.map +1 -1
  869. package/lib/esm/render/RenderClipVolume.js +1 -0
  870. package/lib/esm/render/RenderClipVolume.js.map +1 -1
  871. package/lib/esm/render/RenderGraphic.d.ts +3 -0
  872. package/lib/esm/render/RenderGraphic.d.ts.map +1 -1
  873. package/lib/esm/render/RenderGraphic.js +2 -0
  874. package/lib/esm/render/RenderGraphic.js.map +1 -1
  875. package/lib/esm/render/RenderSystem.d.ts +4 -3
  876. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  877. package/lib/esm/render/RenderSystem.js +4 -3
  878. package/lib/esm/render/RenderSystem.js.map +1 -1
  879. package/lib/esm/render/RenderTexture.d.ts +7 -0
  880. package/lib/esm/render/RenderTexture.d.ts.map +1 -1
  881. package/lib/esm/render/RenderTexture.js.map +1 -1
  882. package/lib/esm/render/Scene.d.ts +1 -0
  883. package/lib/esm/render/Scene.d.ts.map +1 -1
  884. package/lib/esm/render/Scene.js +1 -0
  885. package/lib/esm/render/Scene.js.map +1 -1
  886. package/lib/esm/render/ScreenSpaceEffectBuilder.d.ts +10 -0
  887. package/lib/esm/render/ScreenSpaceEffectBuilder.d.ts.map +1 -1
  888. package/lib/esm/render/ScreenSpaceEffectBuilder.js +2 -0
  889. package/lib/esm/render/ScreenSpaceEffectBuilder.js.map +1 -1
  890. package/lib/esm/render/primitives/VertexKey.d.ts +4 -2
  891. package/lib/esm/render/primitives/VertexKey.d.ts.map +1 -1
  892. package/lib/esm/render/primitives/VertexKey.js +24 -13
  893. package/lib/esm/render/primitives/VertexKey.js.map +1 -1
  894. package/lib/esm/render/primitives/VertexTable.d.ts +1 -1
  895. package/lib/esm/render/primitives/VertexTable.js +30 -2
  896. package/lib/esm/render/primitives/VertexTable.js.map +1 -1
  897. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts +12 -4
  898. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  899. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js +20 -15
  900. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  901. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts +2 -1
  902. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  903. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js +7 -2
  904. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  905. package/lib/esm/render/primitives/geometry/GeometryPrimitives.d.ts +14 -12
  906. package/lib/esm/render/primitives/geometry/GeometryPrimitives.d.ts.map +1 -1
  907. package/lib/esm/render/primitives/geometry/GeometryPrimitives.js +26 -25
  908. package/lib/esm/render/primitives/geometry/GeometryPrimitives.js.map +1 -1
  909. package/lib/esm/render/primitives/mesh/MeshBuilder.d.ts +8 -8
  910. package/lib/esm/render/primitives/mesh/MeshBuilder.d.ts.map +1 -1
  911. package/lib/esm/render/primitives/mesh/MeshBuilder.js +15 -15
  912. package/lib/esm/render/primitives/mesh/MeshBuilder.js.map +1 -1
  913. package/lib/esm/render/primitives/mesh/MeshBuilderMap.d.ts +11 -6
  914. package/lib/esm/render/primitives/mesh/MeshBuilderMap.d.ts.map +1 -1
  915. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js +13 -16
  916. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  917. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts +1 -1
  918. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  919. package/lib/esm/render/primitives/mesh/MeshPrimitives.js +6 -2
  920. package/lib/esm/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  921. package/lib/esm/render/webgl/AttributeMap.js +1 -1
  922. package/lib/esm/render/webgl/CachedGeometry.d.ts +7 -1
  923. package/lib/esm/render/webgl/CachedGeometry.d.ts.map +1 -1
  924. package/lib/esm/render/webgl/CachedGeometry.js +19 -9
  925. package/lib/esm/render/webgl/CachedGeometry.js.map +1 -1
  926. package/lib/esm/render/webgl/DrawCommand.d.ts.map +1 -1
  927. package/lib/esm/render/webgl/DrawCommand.js +2 -1
  928. package/lib/esm/render/webgl/DrawCommand.js.map +1 -1
  929. package/lib/esm/render/webgl/InstancedGeometry.d.ts +1 -0
  930. package/lib/esm/render/webgl/InstancedGeometry.d.ts.map +1 -1
  931. package/lib/esm/render/webgl/InstancedGeometry.js +1 -0
  932. package/lib/esm/render/webgl/InstancedGeometry.js.map +1 -1
  933. package/lib/esm/render/webgl/RealityMesh.d.ts +14 -11
  934. package/lib/esm/render/webgl/RealityMesh.d.ts.map +1 -1
  935. package/lib/esm/render/webgl/RealityMesh.js +27 -18
  936. package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
  937. package/lib/esm/render/webgl/SceneCompositor.d.ts +2 -0
  938. package/lib/esm/render/webgl/SceneCompositor.d.ts.map +1 -1
  939. package/lib/esm/render/webgl/SceneCompositor.js +220 -53
  940. package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
  941. package/lib/esm/render/webgl/ShaderBuilder.d.ts +5 -4
  942. package/lib/esm/render/webgl/ShaderBuilder.d.ts.map +1 -1
  943. package/lib/esm/render/webgl/ShaderBuilder.js +7 -6
  944. package/lib/esm/render/webgl/ShaderBuilder.js.map +1 -1
  945. package/lib/esm/render/webgl/System.d.ts +4 -4
  946. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  947. package/lib/esm/render/webgl/System.js +6 -6
  948. package/lib/esm/render/webgl/System.js.map +1 -1
  949. package/lib/esm/render/webgl/Target.d.ts +6 -1
  950. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  951. package/lib/esm/render/webgl/Target.js +64 -13
  952. package/lib/esm/render/webgl/Target.js.map +1 -1
  953. package/lib/esm/render/webgl/Technique.d.ts +4 -2
  954. package/lib/esm/render/webgl/Technique.d.ts.map +1 -1
  955. package/lib/esm/render/webgl/Technique.js +166 -135
  956. package/lib/esm/render/webgl/Technique.js.map +1 -1
  957. package/lib/esm/render/webgl/TechniqueFlags.d.ts +7 -3
  958. package/lib/esm/render/webgl/TechniqueFlags.d.ts.map +1 -1
  959. package/lib/esm/render/webgl/TechniqueFlags.js +17 -4
  960. package/lib/esm/render/webgl/TechniqueFlags.js.map +1 -1
  961. package/lib/esm/render/webgl/TechniqueId.d.ts +8 -7
  962. package/lib/esm/render/webgl/TechniqueId.d.ts.map +1 -1
  963. package/lib/esm/render/webgl/TechniqueId.js.map +1 -1
  964. package/lib/esm/render/webgl/glsl/Animation.d.ts.map +1 -1
  965. package/lib/esm/render/webgl/glsl/Animation.js +2 -0
  966. package/lib/esm/render/webgl/glsl/Animation.js.map +1 -1
  967. package/lib/esm/render/webgl/glsl/Blur.d.ts +2 -1
  968. package/lib/esm/render/webgl/glsl/Blur.d.ts.map +1 -1
  969. package/lib/esm/render/webgl/glsl/Blur.js +38 -6
  970. package/lib/esm/render/webgl/glsl/Blur.js.map +1 -1
  971. package/lib/esm/render/webgl/glsl/Color.d.ts.map +1 -1
  972. package/lib/esm/render/webgl/glsl/Color.js +8 -7
  973. package/lib/esm/render/webgl/glsl/Color.js.map +1 -1
  974. package/lib/esm/render/webgl/glsl/CopyStencil.js +1 -1
  975. package/lib/esm/render/webgl/glsl/Decode.d.ts +2 -1
  976. package/lib/esm/render/webgl/glsl/Decode.d.ts.map +1 -1
  977. package/lib/esm/render/webgl/glsl/Decode.js +15 -1
  978. package/lib/esm/render/webgl/glsl/Decode.js.map +1 -1
  979. package/lib/esm/render/webgl/glsl/Edge.d.ts +2 -2
  980. package/lib/esm/render/webgl/glsl/Edge.d.ts.map +1 -1
  981. package/lib/esm/render/webgl/glsl/Edge.js +7 -20
  982. package/lib/esm/render/webgl/glsl/Edge.js.map +1 -1
  983. package/lib/esm/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
  984. package/lib/esm/render/webgl/glsl/FeatureSymbology.js +1 -3
  985. package/lib/esm/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  986. package/lib/esm/render/webgl/glsl/PointString.d.ts +3 -3
  987. package/lib/esm/render/webgl/glsl/PointString.d.ts.map +1 -1
  988. package/lib/esm/render/webgl/glsl/PointString.js +6 -6
  989. package/lib/esm/render/webgl/glsl/PointString.js.map +1 -1
  990. package/lib/esm/render/webgl/glsl/Polyline.d.ts +3 -3
  991. package/lib/esm/render/webgl/glsl/Polyline.d.ts.map +1 -1
  992. package/lib/esm/render/webgl/glsl/Polyline.js +7 -22
  993. package/lib/esm/render/webgl/glsl/Polyline.js.map +1 -1
  994. package/lib/esm/render/webgl/glsl/Surface.d.ts +2 -2
  995. package/lib/esm/render/webgl/glsl/Surface.d.ts.map +1 -1
  996. package/lib/esm/render/webgl/glsl/Surface.js +51 -35
  997. package/lib/esm/render/webgl/glsl/Surface.js.map +1 -1
  998. package/lib/esm/render/webgl/glsl/Vertex.d.ts +3 -3
  999. package/lib/esm/render/webgl/glsl/Vertex.d.ts.map +1 -1
  1000. package/lib/esm/render/webgl/glsl/Vertex.js +142 -56
  1001. package/lib/esm/render/webgl/glsl/Vertex.js.map +1 -1
  1002. package/lib/esm/tile/ClassifierTileTree.d.ts.map +1 -1
  1003. package/lib/esm/tile/ClassifierTileTree.js +3 -4
  1004. package/lib/esm/tile/ClassifierTileTree.js.map +1 -1
  1005. package/lib/esm/tile/DisclosedTileTreeSet.d.ts +2 -0
  1006. package/lib/esm/tile/DisclosedTileTreeSet.d.ts.map +1 -1
  1007. package/lib/esm/tile/DisclosedTileTreeSet.js +1 -0
  1008. package/lib/esm/tile/DisclosedTileTreeSet.js.map +1 -1
  1009. package/lib/esm/tile/DynamicIModelTile.js +4 -2
  1010. package/lib/esm/tile/DynamicIModelTile.js.map +1 -1
  1011. package/lib/esm/tile/GltfReader.d.ts +19 -9
  1012. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  1013. package/lib/esm/tile/GltfReader.js +23 -6
  1014. package/lib/esm/tile/GltfReader.js.map +1 -1
  1015. package/lib/esm/tile/IModelTile.js +1 -1
  1016. package/lib/esm/tile/IModelTile.js.map +1 -1
  1017. package/lib/esm/tile/IModelTileRequestChannels.d.ts +3 -3
  1018. package/lib/esm/tile/IModelTileRequestChannels.d.ts.map +1 -1
  1019. package/lib/esm/tile/IModelTileRequestChannels.js +7 -11
  1020. package/lib/esm/tile/IModelTileRequestChannels.js.map +1 -1
  1021. package/lib/esm/tile/IModelTileTree.d.ts +3 -3
  1022. package/lib/esm/tile/IModelTileTree.d.ts.map +1 -1
  1023. package/lib/esm/tile/IModelTileTree.js +1 -1
  1024. package/lib/esm/tile/IModelTileTree.js.map +1 -1
  1025. package/lib/esm/tile/ImdlReader.d.ts +2 -0
  1026. package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
  1027. package/lib/esm/tile/ImdlReader.js +2 -0
  1028. package/lib/esm/tile/ImdlReader.js.map +1 -1
  1029. package/lib/esm/tile/OPCFormatInterpreter.d.ts.map +1 -1
  1030. package/lib/esm/tile/OPCFormatInterpreter.js +2 -3
  1031. package/lib/esm/tile/OPCFormatInterpreter.js.map +1 -1
  1032. package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
  1033. package/lib/esm/tile/PrimaryTileTree.js +5 -5
  1034. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  1035. package/lib/esm/tile/RealityTileLoader.d.ts +1 -1
  1036. package/lib/esm/tile/RealityTileLoader.d.ts.map +1 -1
  1037. package/lib/esm/tile/RealityTileLoader.js +36 -8
  1038. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  1039. package/lib/esm/tile/Tile.d.ts +5 -0
  1040. package/lib/esm/tile/Tile.d.ts.map +1 -1
  1041. package/lib/esm/tile/Tile.js +5 -0
  1042. package/lib/esm/tile/Tile.js.map +1 -1
  1043. package/lib/esm/tile/TileAdmin.d.ts +18 -1
  1044. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  1045. package/lib/esm/tile/TileAdmin.js +27 -20
  1046. package/lib/esm/tile/TileAdmin.js.map +1 -1
  1047. package/lib/esm/tile/TileContent.d.ts +1 -0
  1048. package/lib/esm/tile/TileContent.d.ts.map +1 -1
  1049. package/lib/esm/tile/TileContent.js.map +1 -1
  1050. package/lib/esm/tile/TileDrawArgs.d.ts +2 -0
  1051. package/lib/esm/tile/TileDrawArgs.d.ts.map +1 -1
  1052. package/lib/esm/tile/TileDrawArgs.js +1 -0
  1053. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  1054. package/lib/esm/tile/TileParams.d.ts +1 -0
  1055. package/lib/esm/tile/TileParams.d.ts.map +1 -1
  1056. package/lib/esm/tile/TileParams.js.map +1 -1
  1057. package/lib/esm/tile/TileRequest.d.ts +1 -0
  1058. package/lib/esm/tile/TileRequest.d.ts.map +1 -1
  1059. package/lib/esm/tile/TileRequest.js +1 -0
  1060. package/lib/esm/tile/TileRequest.js.map +1 -1
  1061. package/lib/esm/tile/TileRequestChannel.d.ts +2 -0
  1062. package/lib/esm/tile/TileRequestChannel.d.ts.map +1 -1
  1063. package/lib/esm/tile/TileRequestChannel.js +2 -0
  1064. package/lib/esm/tile/TileRequestChannel.js.map +1 -1
  1065. package/lib/esm/tile/TileRequestChannels.d.ts +1 -4
  1066. package/lib/esm/tile/TileRequestChannels.d.ts.map +1 -1
  1067. package/lib/esm/tile/TileRequestChannels.js +2 -6
  1068. package/lib/esm/tile/TileRequestChannels.js.map +1 -1
  1069. package/lib/esm/tile/TileTree.d.ts +2 -0
  1070. package/lib/esm/tile/TileTree.d.ts.map +1 -1
  1071. package/lib/esm/tile/TileTree.js +2 -0
  1072. package/lib/esm/tile/TileTree.js.map +1 -1
  1073. package/lib/esm/tile/TileTreeOwner.d.ts +1 -0
  1074. package/lib/esm/tile/TileTreeOwner.d.ts.map +1 -1
  1075. package/lib/esm/tile/TileTreeOwner.js.map +1 -1
  1076. package/lib/esm/tile/TileTreeParams.d.ts +1 -0
  1077. package/lib/esm/tile/TileTreeParams.d.ts.map +1 -1
  1078. package/lib/esm/tile/TileTreeParams.js.map +1 -1
  1079. package/lib/esm/tile/TileTreeReference.d.ts +2 -0
  1080. package/lib/esm/tile/TileTreeReference.d.ts.map +1 -1
  1081. package/lib/esm/tile/TileTreeReference.js +2 -0
  1082. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  1083. package/lib/esm/tile/TileTreeSupplier.d.ts +1 -0
  1084. package/lib/esm/tile/TileTreeSupplier.d.ts.map +1 -1
  1085. package/lib/esm/tile/TileTreeSupplier.js.map +1 -1
  1086. package/lib/esm/tile/TileUsageMarker.d.ts +1 -0
  1087. package/lib/esm/tile/TileUsageMarker.d.ts.map +1 -1
  1088. package/lib/esm/tile/TileUsageMarker.js +1 -0
  1089. package/lib/esm/tile/TileUsageMarker.js.map +1 -1
  1090. package/lib/esm/tile/TiledGraphicsProvider.d.ts +1 -0
  1091. package/lib/esm/tile/TiledGraphicsProvider.d.ts.map +1 -1
  1092. package/lib/esm/tile/TiledGraphicsProvider.js.map +1 -1
  1093. package/lib/esm/tile/internal.d.ts +0 -2
  1094. package/lib/esm/tile/internal.d.ts.map +1 -1
  1095. package/lib/esm/tile/internal.js +0 -2
  1096. package/lib/esm/tile/internal.js.map +1 -1
  1097. package/lib/esm/tile/map/ArcGisUtilities.d.ts +2 -1
  1098. package/lib/esm/tile/map/ArcGisUtilities.d.ts.map +1 -1
  1099. package/lib/esm/tile/map/ArcGisUtilities.js +32 -21
  1100. package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
  1101. package/lib/esm/tile/map/BingElevation.d.ts +1 -0
  1102. package/lib/esm/tile/map/BingElevation.d.ts.map +1 -1
  1103. package/lib/esm/tile/map/BingElevation.js +1 -0
  1104. package/lib/esm/tile/map/BingElevation.js.map +1 -1
  1105. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -1
  1106. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  1107. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +51 -28
  1108. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  1109. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +0 -1
  1110. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  1111. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +12 -10
  1112. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  1113. package/lib/esm/tile/map/MapLayerAuthentication.d.ts +20 -9
  1114. package/lib/esm/tile/map/MapLayerAuthentication.d.ts.map +1 -1
  1115. package/lib/esm/tile/map/MapLayerAuthentication.js +1 -7
  1116. package/lib/esm/tile/map/MapLayerAuthentication.js.map +1 -1
  1117. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts +24 -6
  1118. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  1119. package/lib/esm/tile/map/MapLayerFormatRegistry.js +28 -7
  1120. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  1121. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  1122. package/lib/esm/tile/map/MapLayerImageryFormats.js +2 -4
  1123. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  1124. package/lib/esm/tile/map/MapLayerSources.d.ts +1 -1
  1125. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  1126. package/lib/esm/tile/map/MapLayerSources.js +1 -1
  1127. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  1128. package/lib/esm/tile/map/MapTile.js +2 -2
  1129. package/lib/esm/tile/map/MapTile.js.map +1 -1
  1130. package/lib/esm/tile/map/MapTileLoader.js +1 -1
  1131. package/lib/esm/tile/map/MapTileLoader.js.map +1 -1
  1132. package/lib/esm/tile/map/MapTileTree.js +2 -2
  1133. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  1134. package/lib/esm/tile/map/WmsCapabilities.d.ts +3 -2
  1135. package/lib/esm/tile/map/WmsCapabilities.d.ts.map +1 -1
  1136. package/lib/esm/tile/map/WmsCapabilities.js +11 -10
  1137. package/lib/esm/tile/map/WmsCapabilities.js.map +1 -1
  1138. package/lib/esm/tools/ClipViewTool.d.ts +5 -3
  1139. package/lib/esm/tools/ClipViewTool.d.ts.map +1 -1
  1140. package/lib/esm/tools/ClipViewTool.js +4 -3
  1141. package/lib/esm/tools/ClipViewTool.js.map +1 -1
  1142. package/lib/esm/tools/EditManipulator.d.ts +1 -0
  1143. package/lib/esm/tools/EditManipulator.d.ts.map +1 -1
  1144. package/lib/esm/tools/EditManipulator.js +1 -0
  1145. package/lib/esm/tools/EditManipulator.js.map +1 -1
  1146. package/lib/esm/tools/EventController.d.ts +1 -0
  1147. package/lib/esm/tools/EventController.d.ts.map +1 -1
  1148. package/lib/esm/tools/EventController.js +1 -0
  1149. package/lib/esm/tools/EventController.js.map +1 -1
  1150. package/lib/esm/tools/PrimitiveTool.d.ts +4 -0
  1151. package/lib/esm/tools/PrimitiveTool.d.ts.map +1 -1
  1152. package/lib/esm/tools/PrimitiveTool.js +7 -0
  1153. package/lib/esm/tools/PrimitiveTool.js.map +1 -1
  1154. package/lib/esm/tools/SelectTool.d.ts +3 -0
  1155. package/lib/esm/tools/SelectTool.d.ts.map +1 -1
  1156. package/lib/esm/tools/SelectTool.js +3 -0
  1157. package/lib/esm/tools/SelectTool.js.map +1 -1
  1158. package/lib/esm/tools/Tool.d.ts +41 -6
  1159. package/lib/esm/tools/Tool.d.ts.map +1 -1
  1160. package/lib/esm/tools/Tool.js +27 -4
  1161. package/lib/esm/tools/Tool.js.map +1 -1
  1162. package/lib/esm/tools/ToolAdmin.d.ts +16 -22
  1163. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  1164. package/lib/esm/tools/ToolAdmin.js +48 -9
  1165. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  1166. package/lib/esm/tools/ToolAssistance.d.ts +7 -0
  1167. package/lib/esm/tools/ToolAssistance.d.ts.map +1 -1
  1168. package/lib/esm/tools/ToolAssistance.js +3 -0
  1169. package/lib/esm/tools/ToolAssistance.js.map +1 -1
  1170. package/lib/esm/tools/ToolSettings.d.ts +3 -0
  1171. package/lib/esm/tools/ToolSettings.d.ts.map +1 -1
  1172. package/lib/esm/tools/ToolSettings.js +3 -0
  1173. package/lib/esm/tools/ToolSettings.js.map +1 -1
  1174. package/lib/esm/tools/ViewTool.d.ts +3 -1
  1175. package/lib/esm/tools/ViewTool.d.ts.map +1 -1
  1176. package/lib/esm/tools/ViewTool.js +9 -5
  1177. package/lib/esm/tools/ViewTool.js.map +1 -1
  1178. package/package.json +34 -25
  1179. package/lib/cjs/TwoWayViewportSync.d.ts +0 -51
  1180. package/lib/cjs/TwoWayViewportSync.d.ts.map +0 -1
  1181. package/lib/cjs/TwoWayViewportSync.js +0 -87
  1182. package/lib/cjs/TwoWayViewportSync.js.map +0 -1
  1183. package/lib/cjs/extension/ExtensionLoader.d.ts +0 -26
  1184. package/lib/cjs/extension/ExtensionLoader.d.ts.map +0 -1
  1185. package/lib/cjs/extension/ExtensionLoader.js +0 -10
  1186. package/lib/cjs/extension/ExtensionLoader.js.map +0 -1
  1187. package/lib/cjs/extension/extensions.d.ts +0 -19
  1188. package/lib/cjs/extension/extensions.d.ts.map +0 -1
  1189. package/lib/cjs/extension/extensions.js +0 -36
  1190. package/lib/cjs/extension/extensions.js.map +0 -1
  1191. package/lib/cjs/tile/map/ArcGisTokenGenerator.d.ts +0 -35
  1192. package/lib/cjs/tile/map/ArcGisTokenGenerator.d.ts.map +0 -1
  1193. package/lib/cjs/tile/map/ArcGisTokenGenerator.js +0 -116
  1194. package/lib/cjs/tile/map/ArcGisTokenGenerator.js.map +0 -1
  1195. package/lib/cjs/tile/map/ArcGisTokenManager.d.ts +0 -13
  1196. package/lib/cjs/tile/map/ArcGisTokenManager.d.ts.map +0 -1
  1197. package/lib/cjs/tile/map/ArcGisTokenManager.js +0 -39
  1198. package/lib/cjs/tile/map/ArcGisTokenManager.js.map +0 -1
  1199. package/lib/esm/TwoWayViewportSync.d.ts +0 -51
  1200. package/lib/esm/TwoWayViewportSync.d.ts.map +0 -1
  1201. package/lib/esm/TwoWayViewportSync.js +0 -82
  1202. package/lib/esm/TwoWayViewportSync.js.map +0 -1
  1203. package/lib/esm/extension/ExtensionLoader.d.ts +0 -26
  1204. package/lib/esm/extension/ExtensionLoader.d.ts.map +0 -1
  1205. package/lib/esm/extension/ExtensionLoader.js +0 -9
  1206. package/lib/esm/extension/ExtensionLoader.js.map +0 -1
  1207. package/lib/esm/extension/extensions.d.ts +0 -19
  1208. package/lib/esm/extension/extensions.d.ts.map +0 -1
  1209. package/lib/esm/extension/extensions.js +0 -24
  1210. package/lib/esm/extension/extensions.js.map +0 -1
  1211. package/lib/esm/tile/map/ArcGisTokenGenerator.d.ts +0 -35
  1212. package/lib/esm/tile/map/ArcGisTokenGenerator.d.ts.map +0 -1
  1213. package/lib/esm/tile/map/ArcGisTokenGenerator.js +0 -112
  1214. package/lib/esm/tile/map/ArcGisTokenGenerator.js.map +0 -1
  1215. package/lib/esm/tile/map/ArcGisTokenManager.d.ts +0 -13
  1216. package/lib/esm/tile/map/ArcGisTokenManager.d.ts.map +0 -1
  1217. package/lib/esm/tile/map/ArcGisTokenManager.js +0 -35
  1218. package/lib/esm/tile/map/ArcGisTokenManager.js.map +0 -1
@@ -8,14 +8,20 @@ import { IModelConnection } from "./IModelConnection";
8
8
  import { DecorateContext } from "./ViewContext";
9
9
  import { Viewport } from "./Viewport";
10
10
  import { ViewState } from "./ViewState";
11
- /** @public */
11
+ /**
12
+ * @public
13
+ * @extensions
14
+ */
12
15
  export declare enum ACSType {
13
16
  None = 0,
14
17
  Rectangular = 1,
15
18
  Cylindrical = 2,
16
19
  Spherical = 3
17
20
  }
18
- /** @public */
21
+ /**
22
+ * @public
23
+ * @extensions
24
+ */
19
25
  export declare enum ACSDisplayOptions {
20
26
  None = 0,
21
27
  Active = 1,
@@ -26,6 +32,7 @@ export declare enum ACSDisplayOptions {
26
32
  }
27
33
  /** The state of an AuxCoordSystem element in the frontend
28
34
  * @public
35
+ * @extensions
29
36
  */
30
37
  export declare abstract class AuxCoordSystemState extends ElementState implements AuxCoordSystemProps {
31
38
  /** @internal */
@@ -65,6 +72,7 @@ export declare abstract class AuxCoordSystemState extends ElementState implement
65
72
  }
66
73
  /** The state of an AuxCoordSystem2d element in the frontend
67
74
  * @public
75
+ * @extensions
68
76
  */
69
77
  export declare class AuxCoordSystem2dState extends AuxCoordSystemState implements AuxCoordSystem2dProps {
70
78
  /** @internal */
@@ -81,6 +89,7 @@ export declare class AuxCoordSystem2dState extends AuxCoordSystemState implement
81
89
  }
82
90
  /** The state of an AuxCoordSystem3d element in the frontend
83
91
  * @public
92
+ * @extensions
84
93
  */
85
94
  export declare class AuxCoordSystem3dState extends AuxCoordSystemState implements AuxCoordSystem3dProps {
86
95
  /** @internal */
@@ -99,6 +108,7 @@ export declare class AuxCoordSystem3dState extends AuxCoordSystemState implement
99
108
  }
100
109
  /** The state of an AuxCoordSystemSpatial element in the frontend
101
110
  * @public
111
+ * @extensions
102
112
  */
103
113
  export declare class AuxCoordSystemSpatialState extends AuxCoordSystem3dState {
104
114
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"AuxCoordSys.d.ts","sourceRoot":"","sources":["../../src/AuxCoordSys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuxCoordSys.d.ts","sourceRoot":"","sources":["../../src/AuxCoordSys.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,10 @@ const core_common_1 = require("@itwin/core-common");
14
14
  const EntityState_1 = require("./EntityState");
15
15
  const GraphicBuilder_1 = require("./render/GraphicBuilder");
16
16
  const CoordSystem_1 = require("./CoordSystem");
17
- /** @public */
17
+ /**
18
+ * @public
19
+ * @extensions
20
+ */
18
21
  var ACSType;
19
22
  (function (ACSType) {
20
23
  ACSType[ACSType["None"] = 0] = "None";
@@ -22,7 +25,10 @@ var ACSType;
22
25
  ACSType[ACSType["Cylindrical"] = 2] = "Cylindrical";
23
26
  ACSType[ACSType["Spherical"] = 3] = "Spherical";
24
27
  })(ACSType = exports.ACSType || (exports.ACSType = {}));
25
- /** @public */
28
+ /**
29
+ * @public
30
+ * @extensions
31
+ */
26
32
  var ACSDisplayOptions;
27
33
  (function (ACSDisplayOptions) {
28
34
  ACSDisplayOptions[ACSDisplayOptions["None"] = 0] = "None";
@@ -34,6 +40,7 @@ var ACSDisplayOptions;
34
40
  })(ACSDisplayOptions = exports.ACSDisplayOptions || (exports.ACSDisplayOptions = {}));
35
41
  /** The state of an AuxCoordSystem element in the frontend
36
42
  * @public
43
+ * @extensions
37
44
  */
38
45
  class AuxCoordSystemState extends EntityState_1.ElementState {
39
46
  constructor(props, iModel) {
@@ -230,6 +237,7 @@ class AuxCoordSystemState extends EntityState_1.ElementState {
230
237
  exports.AuxCoordSystemState = AuxCoordSystemState;
231
238
  /** The state of an AuxCoordSystem2d element in the frontend
232
239
  * @public
240
+ * @extensions
233
241
  */
234
242
  class AuxCoordSystem2dState extends AuxCoordSystemState {
235
243
  constructor(props, iModel) {
@@ -258,6 +266,7 @@ class AuxCoordSystem2dState extends AuxCoordSystemState {
258
266
  exports.AuxCoordSystem2dState = AuxCoordSystem2dState;
259
267
  /** The state of an AuxCoordSystem3d element in the frontend
260
268
  * @public
269
+ * @extensions
261
270
  */
262
271
  class AuxCoordSystem3dState extends AuxCoordSystemState {
263
272
  constructor(props, iModel) {
@@ -293,6 +302,7 @@ class AuxCoordSystem3dState extends AuxCoordSystemState {
293
302
  exports.AuxCoordSystem3dState = AuxCoordSystem3dState;
294
303
  /** The state of an AuxCoordSystemSpatial element in the frontend
295
304
  * @public
305
+ * @extensions
296
306
  */
297
307
  class AuxCoordSystemSpatialState extends AuxCoordSystem3dState {
298
308
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"AuxCoordSys.js","sourceRoot":"","sources":["../../src/AuxCoordSys.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 { JsonUtils } from \"@itwin/core-bentley\";\r\nimport { Angle, AngleSweep, Arc3d, Matrix3d, Point2d, Point3d, Transform, Vector3d, XAndY, XYAndZ, YawPitchRollAngles } from \"@itwin/core-geometry\";\r\nimport {\r\n AuxCoordSystem2dProps, AuxCoordSystem3dProps, AuxCoordSystemProps, BisCodeSpec, Code, ColorDef, IModel, LinePixels, Npc,\r\n} from \"@itwin/core-common\";\r\nimport { ElementState } from \"./EntityState\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { GraphicBuilder, GraphicType } from \"./render/GraphicBuilder\";\r\nimport { DecorateContext } from \"./ViewContext\";\r\nimport { CoordSystem } from \"./CoordSystem\";\r\nimport { Viewport } from \"./Viewport\";\r\nimport { ViewState } from \"./ViewState\";\r\n\r\n/** @public */\r\nexport enum ACSType {\r\n None = 0,\r\n Rectangular = 1,\r\n Cylindrical = 2,\r\n Spherical = 3,\r\n}\r\n\r\n/** @public */\r\nexport enum ACSDisplayOptions {\r\n None = 0, // used for testing individual bits.\r\n Active = (1 << 0),\r\n Deemphasized = (1 << 1),\r\n Hilite = (1 << 2),\r\n CheckVisible = (1 << 3),\r\n Dynamics = (1 << 4),\r\n}\r\n\r\nconst enum ACSDisplaySizes { // eslint-disable-line no-restricted-syntax\r\n TriadSizeInches = 0.6,\r\n ArrowBaseStart = 0.3,\r\n ArrowBaseWidth = 0.2,\r\n ArrowTipEnd = 1.25,\r\n ArrowTipStart = 0.85,\r\n ArrowTipFlange = 0.75,\r\n ArrowTipWidth = 0.4,\r\n ZAxisLength = 0.65,\r\n LabelStart = 0.4,\r\n LabelEnd = 0.8,\r\n LabelWidth = 0.15,\r\n}\r\n\r\n/** The state of an AuxCoordSystem element in the frontend\r\n * @public\r\n */\r\nexport abstract class AuxCoordSystemState extends ElementState implements AuxCoordSystemProps {\r\n /** @internal */\r\n public static override get className() { return \"AuxCoordSystem\"; }\r\n public type: number;\r\n public description?: string;\r\n\r\n public static fromProps(props: AuxCoordSystemProps, iModel: IModelConnection): AuxCoordSystemState {\r\n const name = props.classFullName.toLowerCase();\r\n if (name.endsWith(\"system2d\"))\r\n return new AuxCoordSystem2dState(props, iModel);\r\n\r\n if (name.endsWith(\"system3d\"))\r\n return new AuxCoordSystem3dState(props, iModel);\r\n\r\n return new AuxCoordSystemSpatialState(props, iModel);\r\n }\r\n\r\n /** Create a new AuxCoordSystemState.\r\n * @param acsName the name for the new AuxCoordSystem\r\n * @param iModel the iModel for which the ACS applies.\r\n * @note call this method with the appropriate subclass (e.g. AuxCoordSystemSpatialState, AuxCoordSystem2dState, etc), not on AuxCoordSystemState directly\r\n */\r\n public static createNew(acsName: string, iModel: IModelConnection): AuxCoordSystemState {\r\n const myCode = new Code({ spec: BisCodeSpec.auxCoordSystemSpatial, scope: IModel.dictionaryId.toString(), value: acsName });\r\n return new AuxCoordSystemSpatialState({ model: IModel.dictionaryId, code: myCode, classFullName: this.classFullName }, iModel);\r\n }\r\n\r\n public constructor(props: AuxCoordSystemProps, iModel: IModelConnection) {\r\n super(props, iModel);\r\n this.type = JsonUtils.asInt(props.type, ACSType.None);\r\n this.description = props.description;\r\n }\r\n public override toJSON(): AuxCoordSystemProps {\r\n const val = super.toJSON() as AuxCoordSystemProps;\r\n val.type = this.type;\r\n val.description = this.description;\r\n return val;\r\n }\r\n\r\n public isValidForView(view: ViewState): boolean {\r\n if (view.isSpatialView())\r\n return this instanceof AuxCoordSystemSpatialState;\r\n return (view.is3d() === this.is3d);\r\n }\r\n\r\n public abstract getOrigin(result?: Point3d): Point3d;\r\n public abstract setOrigin(val: XYAndZ | XAndY): void;\r\n /** get a *copy of* the rotation matrix for this ACS. */\r\n public abstract getRotation(result?: Matrix3d): Matrix3d;\r\n public abstract setRotation(val: Matrix3d): void;\r\n public get is3d(): boolean { return this instanceof AuxCoordSystem3dState; }\r\n\r\n public drawGrid(context: DecorateContext): void {\r\n // Called for active ACS when grid orientation is GridOrientationType::ACS.\r\n const view = context.viewport.view;\r\n const fixedRepsAuto = Point2d.create(); // limit grid to project extents\r\n context.drawStandardGrid(this.getOrigin(), this.getRotation(), view.getGridSpacing(), view.getGridsPerRef(), false, fixedRepsAuto);\r\n }\r\n\r\n /** Returns the value, clamped to the supplied range. */\r\n private static limitRange(min: number, max: number, val: number): number { return Math.max(min, Math.min(max, val)); }\r\n\r\n /**\r\n * Given an origin point, returns whether the point falls within the view or not. If adjustOrigin is set to true, a point outside\r\n * the view will be modified to fall within the appropriate range.\r\n */\r\n public static isOriginInView(drawOrigin: Point3d, viewport: Viewport, adjustOrigin: boolean): boolean {\r\n const testPtView = viewport.worldToView(drawOrigin);\r\n const frustum = viewport.getFrustum(CoordSystem.View);\r\n const screenRange = Point3d.create();\r\n screenRange.x = frustum.points[Npc._000].distance(frustum.points[Npc._100]);\r\n screenRange.y = frustum.points[Npc._000].distance(frustum.points[Npc._010]);\r\n screenRange.z = frustum.points[Npc._000].distance(frustum.points[Npc._001]);\r\n\r\n // Check if current acs origin is outside view...\r\n const inView = (!((testPtView.x < 0 || testPtView.x > screenRange.x) || (testPtView.y < 0 || testPtView.y > screenRange.y)));\r\n\r\n if (!adjustOrigin)\r\n return inView;\r\n\r\n if (!inView) {\r\n const offset = viewport.pixelsFromInches(ACSDisplaySizes.TriadSizeInches);\r\n testPtView.x = AuxCoordSystemState.limitRange(offset, screenRange.x - offset, testPtView.x);\r\n testPtView.y = AuxCoordSystemState.limitRange(offset, screenRange.y - offset, testPtView.y);\r\n }\r\n\r\n // Limit point to NPC box to prevent triad from being clipped from display...\r\n const originPtNpc = viewport.viewToNpc(testPtView);\r\n originPtNpc.x = AuxCoordSystemState.limitRange(0, 1, originPtNpc.x);\r\n originPtNpc.y = AuxCoordSystemState.limitRange(0, 1, originPtNpc.y);\r\n originPtNpc.z = AuxCoordSystemState.limitRange(0, 1, originPtNpc.z);\r\n viewport.npcToView(originPtNpc, testPtView);\r\n viewport.viewToWorld(testPtView, drawOrigin);\r\n\r\n return inView;\r\n }\r\n\r\n private getAdjustedColor(inColor: ColorDef, isFill: boolean, viewport: Viewport, options: ACSDisplayOptions): ColorDef {\r\n let color;\r\n if ((options & ACSDisplayOptions.Hilite) !== ACSDisplayOptions.None) {\r\n color = viewport.hilite.color;\r\n } else if ((options & ACSDisplayOptions.Active) !== ACSDisplayOptions.None) {\r\n color = inColor.equals(ColorDef.white) ? viewport.getContrastToBackgroundColor() : inColor;\r\n } else {\r\n color = ColorDef.from(150, 150, 150, 0);\r\n }\r\n\r\n color = color.adjustedForContrast(viewport.view.backgroundColor);\r\n\r\n if (isFill)\r\n color = color.withTransparency((options & (ACSDisplayOptions.Deemphasized | ACSDisplayOptions.Dynamics)) !== ACSDisplayOptions.None ? 225 : 200);\r\n else\r\n color = color.withTransparency((options & ACSDisplayOptions.Deemphasized) !== ACSDisplayOptions.None ? 150 : 75);\r\n\r\n return color;\r\n }\r\n\r\n private addAxisLabel(builder: GraphicBuilder, axis: number, options: ACSDisplayOptions, vp: Viewport) {\r\n const color = ColorDef.white;\r\n const lineColor = this.getAdjustedColor(color, false, vp, options);\r\n builder.setSymbology(lineColor, lineColor, 2);\r\n\r\n const linePts1: Point3d[] = [];\r\n if (0 === axis) {\r\n linePts1[0] = Point3d.create(ACSDisplaySizes.LabelStart, -ACSDisplaySizes.LabelWidth);\r\n linePts1[1] = Point3d.create(ACSDisplaySizes.LabelEnd, ACSDisplaySizes.LabelWidth);\r\n } else {\r\n linePts1[0] = Point3d.create(0.0, ACSDisplaySizes.LabelStart);\r\n linePts1[1] = Point3d.create(0.0, (ACSDisplaySizes.LabelStart + ACSDisplaySizes.LabelEnd) * 0.5);\r\n }\r\n builder.addLineString(linePts1);\r\n\r\n const linePts2: Point3d[] = []; // NOTE: Don't use same point array, addPointString/addLineString don't deep copy...\r\n if (0 === axis) {\r\n linePts2[0] = Point3d.create(ACSDisplaySizes.LabelStart, ACSDisplaySizes.LabelWidth);\r\n linePts2[1] = Point3d.create(ACSDisplaySizes.LabelEnd, -ACSDisplaySizes.LabelWidth);\r\n } else {\r\n linePts2[0] = Point3d.create(ACSDisplaySizes.LabelWidth, ACSDisplaySizes.LabelEnd);\r\n linePts2[1] = Point3d.create(0.0, (ACSDisplaySizes.LabelStart + ACSDisplaySizes.LabelEnd) * 0.5);\r\n linePts2[2] = Point3d.create(-ACSDisplaySizes.LabelWidth, ACSDisplaySizes.LabelEnd);\r\n }\r\n builder.addLineString(linePts2);\r\n }\r\n\r\n private addAxis(builder: GraphicBuilder, axis: number, options: ACSDisplayOptions, vp: Viewport) {\r\n const color = (0 === axis ? ColorDef.red : (1 === axis ? ColorDef.green : ColorDef.blue));\r\n const lineColor = this.getAdjustedColor(color, false, vp, options);\r\n const fillColor = this.getAdjustedColor(color, true, vp, options);\r\n\r\n if (axis === 2) {\r\n builder.setSymbology(lineColor, lineColor, 6);\r\n builder.addPointString([Point3d.create(0.0, 0.0, ACSDisplaySizes.ZAxisLength)]); // NOTE: ACS origin point will be drawn separately as a pickable world decoration...\r\n\r\n const linePts2: Point3d[] = [Point3d.create(), Point3d.create()]; // NOTE: Don't use same point array, addPointString/addLineString don't deep copy...\r\n linePts2[1].z = ACSDisplaySizes.ZAxisLength;\r\n builder.setSymbology(lineColor, lineColor, 1, (options & ACSDisplayOptions.Dynamics) === ACSDisplayOptions.None ? LinePixels.Solid : LinePixels.Code2);\r\n builder.addLineString(linePts2);\r\n\r\n const scale = ACSDisplaySizes.ArrowTipWidth / 2;\r\n const center = Point3d.create();\r\n const viewRMatrix = vp.rotation;\r\n\r\n const xVec = viewRMatrix.getRow(0);\r\n const yVec = viewRMatrix.getRow(1);\r\n\r\n builder.placement.matrix.multiplyTransposeVectorInPlace(xVec);\r\n builder.placement.matrix.multiplyTransposeVectorInPlace(yVec);\r\n\r\n xVec.normalize(xVec);\r\n yVec.normalize(yVec);\r\n\r\n const ellipse = Arc3d.createScaledXYColumns(center, Matrix3d.createColumns(xVec, yVec, Vector3d.create()), scale, scale, AngleSweep.createStartEnd(Angle.createRadians(0), Angle.createRadians(Math.PI * 2)));\r\n builder.addArc(ellipse, false, false);\r\n\r\n builder.setBlankingFill(fillColor);\r\n builder.addArc(ellipse, true, true);\r\n return;\r\n }\r\n\r\n const shapePts: Point3d[] = [];\r\n shapePts[0] = Point3d.create(ACSDisplaySizes.ArrowTipEnd, 0.0);\r\n shapePts[1] = Point3d.create(ACSDisplaySizes.ArrowTipFlange, ACSDisplaySizes.ArrowTipWidth);\r\n shapePts[2] = Point3d.create(ACSDisplaySizes.ArrowTipStart, ACSDisplaySizes.ArrowBaseWidth);\r\n shapePts[3] = Point3d.create(ACSDisplaySizes.ArrowBaseStart, ACSDisplaySizes.ArrowBaseWidth);\r\n shapePts[4] = Point3d.create(ACSDisplaySizes.ArrowBaseStart, -ACSDisplaySizes.ArrowBaseWidth);\r\n shapePts[5] = Point3d.create(ACSDisplaySizes.ArrowTipStart, -ACSDisplaySizes.ArrowBaseWidth);\r\n shapePts[6] = Point3d.create(ACSDisplaySizes.ArrowTipFlange, -ACSDisplaySizes.ArrowTipWidth);\r\n shapePts[7] = shapePts[0].clone();\r\n if (1 === axis) { shapePts.forEach((tmpPt) => { tmpPt.set(tmpPt.y, tmpPt.x); }); }\r\n\r\n builder.setSymbology(lineColor, lineColor, 1, (options & ACSDisplayOptions.Dynamics) === ACSDisplayOptions.None ? LinePixels.Solid : LinePixels.Code2);\r\n builder.addLineString(shapePts);\r\n\r\n this.addAxisLabel(builder, axis, options, vp);\r\n\r\n builder.setBlankingFill(fillColor);\r\n builder.addShape(shapePts);\r\n }\r\n\r\n /** Returns a GraphicBuilder for this AuxCoordSystemState. */\r\n private createGraphicBuilder(context: DecorateContext, options: ACSDisplayOptions): GraphicBuilder {\r\n const checkOutOfView = (options & ACSDisplayOptions.CheckVisible) !== ACSDisplayOptions.None;\r\n const drawOrigin = this.getOrigin();\r\n\r\n if (checkOutOfView && !AuxCoordSystemState.isOriginInView(drawOrigin, context.viewport, true))\r\n options = options | ACSDisplayOptions.Deemphasized;\r\n\r\n let pixelSize = context.viewport.pixelsFromInches(ACSDisplaySizes.TriadSizeInches);\r\n\r\n if ((options & ACSDisplayOptions.Deemphasized) !== ACSDisplayOptions.None)\r\n pixelSize *= 0.8;\r\n else if ((options & ACSDisplayOptions.Active) !== ACSDisplayOptions.None)\r\n pixelSize *= 0.9;\r\n\r\n const exaggerate = context.viewport.view.getAspectRatioSkew();\r\n const scale = context.getPixelSizeAtPoint(drawOrigin) * pixelSize;\r\n const rMatrix = this.getRotation();\r\n\r\n rMatrix.transposeInPlace();\r\n rMatrix.scaleColumns(scale, scale / exaggerate, scale, rMatrix);\r\n const transform = Transform.createRefs(drawOrigin, rMatrix);\r\n\r\n const builder = context.createGraphicBuilder(GraphicType.WorldOverlay, transform);\r\n const vp = context.viewport;\r\n this.addAxis(builder, 0, options, vp);\r\n this.addAxis(builder, 1, options, vp);\r\n this.addAxis(builder, 2, options, vp);\r\n return builder;\r\n }\r\n\r\n public display(context: DecorateContext, options: ACSDisplayOptions) {\r\n const builder = this.createGraphicBuilder(context, options);\r\n if (undefined !== builder)\r\n context.addDecorationFromBuilder(builder);\r\n }\r\n}\r\n\r\n/** The state of an AuxCoordSystem2d element in the frontend\r\n * @public\r\n */\r\nexport class AuxCoordSystem2dState extends AuxCoordSystemState implements AuxCoordSystem2dProps {\r\n /** @internal */\r\n public static override get className() { return \"AuxCoordSystem2d\"; }\r\n public readonly origin: Point2d;\r\n public angle: number; // in degrees\r\n private readonly _rMatrix: Matrix3d;\r\n\r\n constructor(props: AuxCoordSystem2dProps, iModel: IModelConnection) {\r\n super(props, iModel);\r\n this.origin = Point2d.fromJSON(props.origin);\r\n this.angle = JsonUtils.asDouble(props.angle);\r\n this._rMatrix = Matrix3d.createRotationAroundVector(Vector3d.unitZ(), Angle.createDegrees(this.angle))!;\r\n }\r\n\r\n public override toJSON(): AuxCoordSystem2dProps {\r\n const val = super.toJSON() as AuxCoordSystem2dProps;\r\n val.origin = this.origin;\r\n val.angle = this.angle;\r\n return val;\r\n }\r\n\r\n public getOrigin(result?: Point3d): Point3d { return Point3d.createFrom(this.origin, result); }\r\n public setOrigin(val: XYAndZ | XAndY): void { this.origin.setFrom(val); }\r\n public getRotation(result?: Matrix3d): Matrix3d { return this._rMatrix.clone(result); }\r\n public setRotation(val: Matrix3d): void {\r\n this._rMatrix.setFrom(val);\r\n const angle = YawPitchRollAngles.createFromMatrix3d(val);\r\n this.angle = (undefined !== angle ? angle.yaw.degrees : 0.0);\r\n }\r\n}\r\n\r\n/** The state of an AuxCoordSystem3d element in the frontend\r\n * @public\r\n */\r\nexport class AuxCoordSystem3dState extends AuxCoordSystemState implements AuxCoordSystem3dProps {\r\n /** @internal */\r\n public static override get className() { return \"AuxCoordSystem3d\"; }\r\n public readonly origin: Point3d;\r\n public yaw: number; // in degrees\r\n public pitch: number; // in degrees\r\n public roll: number; // in degrees\r\n private readonly _rMatrix: Matrix3d;\r\n\r\n constructor(props: AuxCoordSystem3dProps, iModel: IModelConnection) {\r\n super(props, iModel);\r\n this.origin = Point3d.fromJSON(props.origin);\r\n this.yaw = JsonUtils.asDouble(props.yaw);\r\n this.pitch = JsonUtils.asDouble(props.pitch);\r\n this.roll = JsonUtils.asDouble(props.roll);\r\n const angles = new YawPitchRollAngles(Angle.createDegrees(this.yaw), Angle.createDegrees(this.pitch), Angle.createDegrees(this.roll));\r\n this._rMatrix = angles.toMatrix3d();\r\n }\r\n\r\n public override toJSON(): AuxCoordSystem3dProps {\r\n const val = super.toJSON() as AuxCoordSystem3dProps;\r\n val.origin = this.origin;\r\n val.yaw = this.yaw;\r\n val.pitch = this.pitch;\r\n val.roll = this.roll;\r\n return val;\r\n }\r\n\r\n public getOrigin(result?: Point3d): Point3d { return Point3d.createFrom(this.origin, result); }\r\n public setOrigin(val: XYAndZ | XAndY): void { this.origin.setFrom(val); }\r\n public getRotation(result?: Matrix3d): Matrix3d { return this._rMatrix.clone(result); }\r\n public setRotation(rMatrix: Matrix3d): void {\r\n this._rMatrix.setFrom(rMatrix);\r\n const angles = YawPitchRollAngles.createFromMatrix3d(rMatrix);\r\n this.yaw = (undefined !== angles ? angles.yaw.degrees : 0.0);\r\n this.pitch = (undefined !== angles ? angles.pitch.degrees : 0.0);\r\n this.roll = (undefined !== angles ? angles.roll.degrees : 0.0);\r\n }\r\n}\r\n\r\n/** The state of an AuxCoordSystemSpatial element in the frontend\r\n * @public\r\n */\r\nexport class AuxCoordSystemSpatialState extends AuxCoordSystem3dState {\r\n /** @internal */\r\n public static override get className() { return \"AuxCoordSystemSpatial\"; }\r\n}\r\n"]}
1
+ {"version":3,"file":"AuxCoordSys.js","sourceRoot":"","sources":["../../src/AuxCoordSys.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 { JsonUtils } from \"@itwin/core-bentley\";\r\nimport { Angle, AngleSweep, Arc3d, Matrix3d, Point2d, Point3d, Transform, Vector3d, XAndY, XYAndZ, YawPitchRollAngles } from \"@itwin/core-geometry\";\r\nimport {\r\n AuxCoordSystem2dProps, AuxCoordSystem3dProps, AuxCoordSystemProps, BisCodeSpec, Code, ColorDef, IModel, LinePixels, Npc,\r\n} from \"@itwin/core-common\";\r\nimport { ElementState } from \"./EntityState\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { GraphicBuilder, GraphicType } from \"./render/GraphicBuilder\";\r\nimport { DecorateContext } from \"./ViewContext\";\r\nimport { CoordSystem } from \"./CoordSystem\";\r\nimport { Viewport } from \"./Viewport\";\r\nimport { ViewState } from \"./ViewState\";\r\n\r\n/**\r\n * @public\r\n * @extensions\r\n */\r\nexport enum ACSType {\r\n None = 0,\r\n Rectangular = 1,\r\n Cylindrical = 2,\r\n Spherical = 3,\r\n}\r\n\r\n/**\r\n * @public\r\n * @extensions\r\n */\r\nexport enum ACSDisplayOptions {\r\n None = 0, // used for testing individual bits.\r\n Active = (1 << 0),\r\n Deemphasized = (1 << 1),\r\n Hilite = (1 << 2),\r\n CheckVisible = (1 << 3),\r\n Dynamics = (1 << 4),\r\n}\r\n\r\nconst enum ACSDisplaySizes { // eslint-disable-line no-restricted-syntax\r\n TriadSizeInches = 0.6,\r\n ArrowBaseStart = 0.3,\r\n ArrowBaseWidth = 0.2,\r\n ArrowTipEnd = 1.25,\r\n ArrowTipStart = 0.85,\r\n ArrowTipFlange = 0.75,\r\n ArrowTipWidth = 0.4,\r\n ZAxisLength = 0.65,\r\n LabelStart = 0.4,\r\n LabelEnd = 0.8,\r\n LabelWidth = 0.15,\r\n}\r\n\r\n/** The state of an AuxCoordSystem element in the frontend\r\n * @public\r\n * @extensions\r\n */\r\nexport abstract class AuxCoordSystemState extends ElementState implements AuxCoordSystemProps {\r\n /** @internal */\r\n public static override get className() { return \"AuxCoordSystem\"; }\r\n public type: number;\r\n public description?: string;\r\n\r\n public static fromProps(props: AuxCoordSystemProps, iModel: IModelConnection): AuxCoordSystemState {\r\n const name = props.classFullName.toLowerCase();\r\n if (name.endsWith(\"system2d\"))\r\n return new AuxCoordSystem2dState(props, iModel);\r\n\r\n if (name.endsWith(\"system3d\"))\r\n return new AuxCoordSystem3dState(props, iModel);\r\n\r\n return new AuxCoordSystemSpatialState(props, iModel);\r\n }\r\n\r\n /** Create a new AuxCoordSystemState.\r\n * @param acsName the name for the new AuxCoordSystem\r\n * @param iModel the iModel for which the ACS applies.\r\n * @note call this method with the appropriate subclass (e.g. AuxCoordSystemSpatialState, AuxCoordSystem2dState, etc), not on AuxCoordSystemState directly\r\n */\r\n public static createNew(acsName: string, iModel: IModelConnection): AuxCoordSystemState {\r\n const myCode = new Code({ spec: BisCodeSpec.auxCoordSystemSpatial, scope: IModel.dictionaryId.toString(), value: acsName });\r\n return new AuxCoordSystemSpatialState({ model: IModel.dictionaryId, code: myCode, classFullName: this.classFullName }, iModel);\r\n }\r\n\r\n public constructor(props: AuxCoordSystemProps, iModel: IModelConnection) {\r\n super(props, iModel);\r\n this.type = JsonUtils.asInt(props.type, ACSType.None);\r\n this.description = props.description;\r\n }\r\n public override toJSON(): AuxCoordSystemProps {\r\n const val = super.toJSON() as AuxCoordSystemProps;\r\n val.type = this.type;\r\n val.description = this.description;\r\n return val;\r\n }\r\n\r\n public isValidForView(view: ViewState): boolean {\r\n if (view.isSpatialView())\r\n return this instanceof AuxCoordSystemSpatialState;\r\n return (view.is3d() === this.is3d);\r\n }\r\n\r\n public abstract getOrigin(result?: Point3d): Point3d;\r\n public abstract setOrigin(val: XYAndZ | XAndY): void;\r\n /** get a *copy of* the rotation matrix for this ACS. */\r\n public abstract getRotation(result?: Matrix3d): Matrix3d;\r\n public abstract setRotation(val: Matrix3d): void;\r\n public get is3d(): boolean { return this instanceof AuxCoordSystem3dState; }\r\n\r\n public drawGrid(context: DecorateContext): void {\r\n // Called for active ACS when grid orientation is GridOrientationType::ACS.\r\n const view = context.viewport.view;\r\n const fixedRepsAuto = Point2d.create(); // limit grid to project extents\r\n context.drawStandardGrid(this.getOrigin(), this.getRotation(), view.getGridSpacing(), view.getGridsPerRef(), false, fixedRepsAuto);\r\n }\r\n\r\n /** Returns the value, clamped to the supplied range. */\r\n private static limitRange(min: number, max: number, val: number): number { return Math.max(min, Math.min(max, val)); }\r\n\r\n /**\r\n * Given an origin point, returns whether the point falls within the view or not. If adjustOrigin is set to true, a point outside\r\n * the view will be modified to fall within the appropriate range.\r\n */\r\n public static isOriginInView(drawOrigin: Point3d, viewport: Viewport, adjustOrigin: boolean): boolean {\r\n const testPtView = viewport.worldToView(drawOrigin);\r\n const frustum = viewport.getFrustum(CoordSystem.View);\r\n const screenRange = Point3d.create();\r\n screenRange.x = frustum.points[Npc._000].distance(frustum.points[Npc._100]);\r\n screenRange.y = frustum.points[Npc._000].distance(frustum.points[Npc._010]);\r\n screenRange.z = frustum.points[Npc._000].distance(frustum.points[Npc._001]);\r\n\r\n // Check if current acs origin is outside view...\r\n const inView = (!((testPtView.x < 0 || testPtView.x > screenRange.x) || (testPtView.y < 0 || testPtView.y > screenRange.y)));\r\n\r\n if (!adjustOrigin)\r\n return inView;\r\n\r\n if (!inView) {\r\n const offset = viewport.pixelsFromInches(ACSDisplaySizes.TriadSizeInches);\r\n testPtView.x = AuxCoordSystemState.limitRange(offset, screenRange.x - offset, testPtView.x);\r\n testPtView.y = AuxCoordSystemState.limitRange(offset, screenRange.y - offset, testPtView.y);\r\n }\r\n\r\n // Limit point to NPC box to prevent triad from being clipped from display...\r\n const originPtNpc = viewport.viewToNpc(testPtView);\r\n originPtNpc.x = AuxCoordSystemState.limitRange(0, 1, originPtNpc.x);\r\n originPtNpc.y = AuxCoordSystemState.limitRange(0, 1, originPtNpc.y);\r\n originPtNpc.z = AuxCoordSystemState.limitRange(0, 1, originPtNpc.z);\r\n viewport.npcToView(originPtNpc, testPtView);\r\n viewport.viewToWorld(testPtView, drawOrigin);\r\n\r\n return inView;\r\n }\r\n\r\n private getAdjustedColor(inColor: ColorDef, isFill: boolean, viewport: Viewport, options: ACSDisplayOptions): ColorDef {\r\n let color;\r\n if ((options & ACSDisplayOptions.Hilite) !== ACSDisplayOptions.None) {\r\n color = viewport.hilite.color;\r\n } else if ((options & ACSDisplayOptions.Active) !== ACSDisplayOptions.None) {\r\n color = inColor.equals(ColorDef.white) ? viewport.getContrastToBackgroundColor() : inColor;\r\n } else {\r\n color = ColorDef.from(150, 150, 150, 0);\r\n }\r\n\r\n color = color.adjustedForContrast(viewport.view.backgroundColor);\r\n\r\n if (isFill)\r\n color = color.withTransparency((options & (ACSDisplayOptions.Deemphasized | ACSDisplayOptions.Dynamics)) !== ACSDisplayOptions.None ? 225 : 200);\r\n else\r\n color = color.withTransparency((options & ACSDisplayOptions.Deemphasized) !== ACSDisplayOptions.None ? 150 : 75);\r\n\r\n return color;\r\n }\r\n\r\n private addAxisLabel(builder: GraphicBuilder, axis: number, options: ACSDisplayOptions, vp: Viewport) {\r\n const color = ColorDef.white;\r\n const lineColor = this.getAdjustedColor(color, false, vp, options);\r\n builder.setSymbology(lineColor, lineColor, 2);\r\n\r\n const linePts1: Point3d[] = [];\r\n if (0 === axis) {\r\n linePts1[0] = Point3d.create(ACSDisplaySizes.LabelStart, -ACSDisplaySizes.LabelWidth);\r\n linePts1[1] = Point3d.create(ACSDisplaySizes.LabelEnd, ACSDisplaySizes.LabelWidth);\r\n } else {\r\n linePts1[0] = Point3d.create(0.0, ACSDisplaySizes.LabelStart);\r\n linePts1[1] = Point3d.create(0.0, (ACSDisplaySizes.LabelStart + ACSDisplaySizes.LabelEnd) * 0.5);\r\n }\r\n builder.addLineString(linePts1);\r\n\r\n const linePts2: Point3d[] = []; // NOTE: Don't use same point array, addPointString/addLineString don't deep copy...\r\n if (0 === axis) {\r\n linePts2[0] = Point3d.create(ACSDisplaySizes.LabelStart, ACSDisplaySizes.LabelWidth);\r\n linePts2[1] = Point3d.create(ACSDisplaySizes.LabelEnd, -ACSDisplaySizes.LabelWidth);\r\n } else {\r\n linePts2[0] = Point3d.create(ACSDisplaySizes.LabelWidth, ACSDisplaySizes.LabelEnd);\r\n linePts2[1] = Point3d.create(0.0, (ACSDisplaySizes.LabelStart + ACSDisplaySizes.LabelEnd) * 0.5);\r\n linePts2[2] = Point3d.create(-ACSDisplaySizes.LabelWidth, ACSDisplaySizes.LabelEnd);\r\n }\r\n builder.addLineString(linePts2);\r\n }\r\n\r\n private addAxis(builder: GraphicBuilder, axis: number, options: ACSDisplayOptions, vp: Viewport) {\r\n const color = (0 === axis ? ColorDef.red : (1 === axis ? ColorDef.green : ColorDef.blue));\r\n const lineColor = this.getAdjustedColor(color, false, vp, options);\r\n const fillColor = this.getAdjustedColor(color, true, vp, options);\r\n\r\n if (axis === 2) {\r\n builder.setSymbology(lineColor, lineColor, 6);\r\n builder.addPointString([Point3d.create(0.0, 0.0, ACSDisplaySizes.ZAxisLength)]); // NOTE: ACS origin point will be drawn separately as a pickable world decoration...\r\n\r\n const linePts2: Point3d[] = [Point3d.create(), Point3d.create()]; // NOTE: Don't use same point array, addPointString/addLineString don't deep copy...\r\n linePts2[1].z = ACSDisplaySizes.ZAxisLength;\r\n builder.setSymbology(lineColor, lineColor, 1, (options & ACSDisplayOptions.Dynamics) === ACSDisplayOptions.None ? LinePixels.Solid : LinePixels.Code2);\r\n builder.addLineString(linePts2);\r\n\r\n const scale = ACSDisplaySizes.ArrowTipWidth / 2;\r\n const center = Point3d.create();\r\n const viewRMatrix = vp.rotation;\r\n\r\n const xVec = viewRMatrix.getRow(0);\r\n const yVec = viewRMatrix.getRow(1);\r\n\r\n builder.placement.matrix.multiplyTransposeVectorInPlace(xVec);\r\n builder.placement.matrix.multiplyTransposeVectorInPlace(yVec);\r\n\r\n xVec.normalize(xVec);\r\n yVec.normalize(yVec);\r\n\r\n const ellipse = Arc3d.createScaledXYColumns(center, Matrix3d.createColumns(xVec, yVec, Vector3d.create()), scale, scale, AngleSweep.createStartEnd(Angle.createRadians(0), Angle.createRadians(Math.PI * 2)));\r\n builder.addArc(ellipse, false, false);\r\n\r\n builder.setBlankingFill(fillColor);\r\n builder.addArc(ellipse, true, true);\r\n return;\r\n }\r\n\r\n const shapePts: Point3d[] = [];\r\n shapePts[0] = Point3d.create(ACSDisplaySizes.ArrowTipEnd, 0.0);\r\n shapePts[1] = Point3d.create(ACSDisplaySizes.ArrowTipFlange, ACSDisplaySizes.ArrowTipWidth);\r\n shapePts[2] = Point3d.create(ACSDisplaySizes.ArrowTipStart, ACSDisplaySizes.ArrowBaseWidth);\r\n shapePts[3] = Point3d.create(ACSDisplaySizes.ArrowBaseStart, ACSDisplaySizes.ArrowBaseWidth);\r\n shapePts[4] = Point3d.create(ACSDisplaySizes.ArrowBaseStart, -ACSDisplaySizes.ArrowBaseWidth);\r\n shapePts[5] = Point3d.create(ACSDisplaySizes.ArrowTipStart, -ACSDisplaySizes.ArrowBaseWidth);\r\n shapePts[6] = Point3d.create(ACSDisplaySizes.ArrowTipFlange, -ACSDisplaySizes.ArrowTipWidth);\r\n shapePts[7] = shapePts[0].clone();\r\n if (1 === axis) { shapePts.forEach((tmpPt) => { tmpPt.set(tmpPt.y, tmpPt.x); }); }\r\n\r\n builder.setSymbology(lineColor, lineColor, 1, (options & ACSDisplayOptions.Dynamics) === ACSDisplayOptions.None ? LinePixels.Solid : LinePixels.Code2);\r\n builder.addLineString(shapePts);\r\n\r\n this.addAxisLabel(builder, axis, options, vp);\r\n\r\n builder.setBlankingFill(fillColor);\r\n builder.addShape(shapePts);\r\n }\r\n\r\n /** Returns a GraphicBuilder for this AuxCoordSystemState. */\r\n private createGraphicBuilder(context: DecorateContext, options: ACSDisplayOptions): GraphicBuilder {\r\n const checkOutOfView = (options & ACSDisplayOptions.CheckVisible) !== ACSDisplayOptions.None;\r\n const drawOrigin = this.getOrigin();\r\n\r\n if (checkOutOfView && !AuxCoordSystemState.isOriginInView(drawOrigin, context.viewport, true))\r\n options = options | ACSDisplayOptions.Deemphasized;\r\n\r\n let pixelSize = context.viewport.pixelsFromInches(ACSDisplaySizes.TriadSizeInches);\r\n\r\n if ((options & ACSDisplayOptions.Deemphasized) !== ACSDisplayOptions.None)\r\n pixelSize *= 0.8;\r\n else if ((options & ACSDisplayOptions.Active) !== ACSDisplayOptions.None)\r\n pixelSize *= 0.9;\r\n\r\n const exaggerate = context.viewport.view.getAspectRatioSkew();\r\n const scale = context.getPixelSizeAtPoint(drawOrigin) * pixelSize;\r\n const rMatrix = this.getRotation();\r\n\r\n rMatrix.transposeInPlace();\r\n rMatrix.scaleColumns(scale, scale / exaggerate, scale, rMatrix);\r\n const transform = Transform.createRefs(drawOrigin, rMatrix);\r\n\r\n const builder = context.createGraphicBuilder(GraphicType.WorldOverlay, transform);\r\n const vp = context.viewport;\r\n this.addAxis(builder, 0, options, vp);\r\n this.addAxis(builder, 1, options, vp);\r\n this.addAxis(builder, 2, options, vp);\r\n return builder;\r\n }\r\n\r\n public display(context: DecorateContext, options: ACSDisplayOptions) {\r\n const builder = this.createGraphicBuilder(context, options);\r\n if (undefined !== builder)\r\n context.addDecorationFromBuilder(builder);\r\n }\r\n}\r\n\r\n/** The state of an AuxCoordSystem2d element in the frontend\r\n * @public\r\n * @extensions\r\n */\r\nexport class AuxCoordSystem2dState extends AuxCoordSystemState implements AuxCoordSystem2dProps {\r\n /** @internal */\r\n public static override get className() { return \"AuxCoordSystem2d\"; }\r\n public readonly origin: Point2d;\r\n public angle: number; // in degrees\r\n private readonly _rMatrix: Matrix3d;\r\n\r\n constructor(props: AuxCoordSystem2dProps, iModel: IModelConnection) {\r\n super(props, iModel);\r\n this.origin = Point2d.fromJSON(props.origin);\r\n this.angle = JsonUtils.asDouble(props.angle);\r\n this._rMatrix = Matrix3d.createRotationAroundVector(Vector3d.unitZ(), Angle.createDegrees(this.angle))!;\r\n }\r\n\r\n public override toJSON(): AuxCoordSystem2dProps {\r\n const val = super.toJSON() as AuxCoordSystem2dProps;\r\n val.origin = this.origin;\r\n val.angle = this.angle;\r\n return val;\r\n }\r\n\r\n public getOrigin(result?: Point3d): Point3d { return Point3d.createFrom(this.origin, result); }\r\n public setOrigin(val: XYAndZ | XAndY): void { this.origin.setFrom(val); }\r\n public getRotation(result?: Matrix3d): Matrix3d { return this._rMatrix.clone(result); }\r\n public setRotation(val: Matrix3d): void {\r\n this._rMatrix.setFrom(val);\r\n const angle = YawPitchRollAngles.createFromMatrix3d(val);\r\n this.angle = (undefined !== angle ? angle.yaw.degrees : 0.0);\r\n }\r\n}\r\n\r\n/** The state of an AuxCoordSystem3d element in the frontend\r\n * @public\r\n * @extensions\r\n */\r\nexport class AuxCoordSystem3dState extends AuxCoordSystemState implements AuxCoordSystem3dProps {\r\n /** @internal */\r\n public static override get className() { return \"AuxCoordSystem3d\"; }\r\n public readonly origin: Point3d;\r\n public yaw: number; // in degrees\r\n public pitch: number; // in degrees\r\n public roll: number; // in degrees\r\n private readonly _rMatrix: Matrix3d;\r\n\r\n constructor(props: AuxCoordSystem3dProps, iModel: IModelConnection) {\r\n super(props, iModel);\r\n this.origin = Point3d.fromJSON(props.origin);\r\n this.yaw = JsonUtils.asDouble(props.yaw);\r\n this.pitch = JsonUtils.asDouble(props.pitch);\r\n this.roll = JsonUtils.asDouble(props.roll);\r\n const angles = new YawPitchRollAngles(Angle.createDegrees(this.yaw), Angle.createDegrees(this.pitch), Angle.createDegrees(this.roll));\r\n this._rMatrix = angles.toMatrix3d();\r\n }\r\n\r\n public override toJSON(): AuxCoordSystem3dProps {\r\n const val = super.toJSON() as AuxCoordSystem3dProps;\r\n val.origin = this.origin;\r\n val.yaw = this.yaw;\r\n val.pitch = this.pitch;\r\n val.roll = this.roll;\r\n return val;\r\n }\r\n\r\n public getOrigin(result?: Point3d): Point3d { return Point3d.createFrom(this.origin, result); }\r\n public setOrigin(val: XYAndZ | XAndY): void { this.origin.setFrom(val); }\r\n public getRotation(result?: Matrix3d): Matrix3d { return this._rMatrix.clone(result); }\r\n public setRotation(rMatrix: Matrix3d): void {\r\n this._rMatrix.setFrom(rMatrix);\r\n const angles = YawPitchRollAngles.createFromMatrix3d(rMatrix);\r\n this.yaw = (undefined !== angles ? angles.yaw.degrees : 0.0);\r\n this.pitch = (undefined !== angles ? angles.pitch.degrees : 0.0);\r\n this.roll = (undefined !== angles ? angles.roll.degrees : 0.0);\r\n }\r\n}\r\n\r\n/** The state of an AuxCoordSystemSpatial element in the frontend\r\n * @public\r\n * @extensions\r\n */\r\nexport class AuxCoordSystemSpatialState extends AuxCoordSystem3dState {\r\n /** @internal */\r\n public static override get className() { return \"AuxCoordSystemSpatial\"; }\r\n}\r\n"]}
@@ -4,6 +4,7 @@
4
4
  import { GlobalLocation } from "./ViewGlobalLocation";
5
5
  /** Provides an interface to the [Bing Maps location services](https://docs.microsoft.com/en-us/bingmaps/rest-services/locations/).
6
6
  * @public
7
+ * @extensions
7
8
  */
8
9
  export declare class BingLocationProvider {
9
10
  private _locationRequestTemplate;
@@ -1 +1 @@
1
- {"version":3,"file":"BingLocation.d.ts","sourceRoot":"","sources":["../../src/BingLocation.ts"],"names":[],"mappings":"AAIA;;GAEG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,wBAAwB,CAAS;;IASzC;;;;OAIG;IACU,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;CAsB7E"}
1
+ {"version":3,"file":"BingLocation.d.ts","sourceRoot":"","sources":["../../src/BingLocation.ts"],"names":[],"mappings":"AAIA;;GAEG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,wBAAwB,CAAS;;IASzC;;;;OAIG;IACU,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;CAsB7E"}
@@ -13,6 +13,7 @@ const Request_1 = require("./request/Request");
13
13
  const IModelApp_1 = require("./IModelApp");
14
14
  /** Provides an interface to the [Bing Maps location services](https://docs.microsoft.com/en-us/bingmaps/rest-services/locations/).
15
15
  * @public
16
+ * @extensions
16
17
  */
17
18
  class BingLocationProvider {
18
19
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"BingLocation.js","sourceRoot":"","sources":["../../src/BingLocation.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,oDAAkD;AAClD,+CAAsE;AACtE,2CAAwC;AAGxC;;GAEG;AACH,MAAa,oBAAoB;IAG/B;QACE,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,qBAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,QAAQ,EAAE;YAC3D,OAAO,GAAG,qBAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;SACzE;QACD,IAAI,CAAC,wBAAwB,GAAG,mFAAmF,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAC3J,CAAC;IACD;;;;OAIG;IACI,KAAK,CAAC,WAAW,CAAC,KAAa;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC3E,MAAM,cAAc,GAAmB,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;QAC/E,IAAI;YACF,MAAM,gBAAgB,GAAa,MAAM,IAAA,iBAAO,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAC7E,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACvE,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrE,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,OAAO;gBACL,MAAM,EAAE,0BAAY,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrG,IAAI,EAAE;oBACJ,SAAS,EAAE,0BAAY,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;oBAC1F,SAAS,EAAE,0BAAY,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;iBAC3F;aACF,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;CACF;AArCD,oDAqCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { Cartographic } from \"@itwin/core-common\";\r\nimport { request, RequestOptions, Response } from \"./request/Request\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { GlobalLocation } from \"./ViewGlobalLocation\";\r\n\r\n/** Provides an interface to the [Bing Maps location services](https://docs.microsoft.com/en-us/bingmaps/rest-services/locations/).\r\n * @public\r\n */\r\nexport class BingLocationProvider {\r\n private _locationRequestTemplate: string;\r\n\r\n constructor() {\r\n let bingKey = \"\";\r\n if (IModelApp.mapLayerFormatRegistry.configOptions.BingMaps) {\r\n bingKey = IModelApp.mapLayerFormatRegistry.configOptions.BingMaps.value;\r\n }\r\n this._locationRequestTemplate = \"https://dev.virtualearth.net/REST/v1/Locations?query={query}&key={BingMapsAPIKey}\".replace(\"{BingMapsAPIKey}\", bingKey);\r\n }\r\n /** Return the location of a query (or undefined if not found). The strings \"Space Needle\" (a landmark) and \"1 Microsoft Way Redmond WA\" (an address) are examples of query strings with location information.\r\n * These strings can be specified as a structured URL parameter or as a query parameter value. See [Bing Location Services documentation](https://docs.microsoft.com/en-us/bingmaps/rest-services/locations/find-a-location-by-query) for additional\r\n * information on queries.\r\n * @public\r\n */\r\n public async getLocation(query: string): Promise<GlobalLocation | undefined> {\r\n const requestUrl = this._locationRequestTemplate.replace(\"{query}\", query);\r\n const requestOptions: RequestOptions = { method: \"GET\", responseType: \"json\" };\r\n try {\r\n const locationResponse: Response = await request(requestUrl, requestOptions);\r\n const point = locationResponse.body.resourceSets[0].resources[0].point;\r\n const bbox = locationResponse.body.resourceSets[0].resources[0].bbox;\r\n const southLatitude = bbox[0];\r\n const westLongitude = bbox[1];\r\n const northLatitude = bbox[2];\r\n const eastLongitude = bbox[3];\r\n return {\r\n center: Cartographic.fromDegrees({ longitude: point.coordinates[1], latitude: point.coordinates[0] }),\r\n area: {\r\n southwest: Cartographic.fromDegrees({ longitude: westLongitude, latitude: southLatitude }),\r\n northeast: Cartographic.fromDegrees({ longitude: eastLongitude, latitude: northLatitude }),\r\n },\r\n };\r\n } catch (error) {\r\n return undefined;\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"BingLocation.js","sourceRoot":"","sources":["../../src/BingLocation.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,oDAAkD;AAClD,+CAAsE;AACtE,2CAAwC;AAGxC;;;GAGG;AACH,MAAa,oBAAoB;IAG/B;QACE,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,qBAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,QAAQ,EAAE;YAC3D,OAAO,GAAG,qBAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;SACzE;QACD,IAAI,CAAC,wBAAwB,GAAG,mFAAmF,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAC3J,CAAC;IACD;;;;OAIG;IACI,KAAK,CAAC,WAAW,CAAC,KAAa;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC3E,MAAM,cAAc,GAAmB,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;QAC/E,IAAI;YACF,MAAM,gBAAgB,GAAa,MAAM,IAAA,iBAAO,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAC7E,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACvE,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrE,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,OAAO;gBACL,MAAM,EAAE,0BAAY,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrG,IAAI,EAAE;oBACJ,SAAS,EAAE,0BAAY,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;oBAC1F,SAAS,EAAE,0BAAY,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;iBAC3F;aACF,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;CACF;AArCD,oDAqCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { Cartographic } from \"@itwin/core-common\";\r\nimport { request, RequestOptions, Response } from \"./request/Request\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { GlobalLocation } from \"./ViewGlobalLocation\";\r\n\r\n/** Provides an interface to the [Bing Maps location services](https://docs.microsoft.com/en-us/bingmaps/rest-services/locations/).\r\n * @public\r\n * @extensions\r\n */\r\nexport class BingLocationProvider {\r\n private _locationRequestTemplate: string;\r\n\r\n constructor() {\r\n let bingKey = \"\";\r\n if (IModelApp.mapLayerFormatRegistry.configOptions.BingMaps) {\r\n bingKey = IModelApp.mapLayerFormatRegistry.configOptions.BingMaps.value;\r\n }\r\n this._locationRequestTemplate = \"https://dev.virtualearth.net/REST/v1/Locations?query={query}&key={BingMapsAPIKey}\".replace(\"{BingMapsAPIKey}\", bingKey);\r\n }\r\n /** Return the location of a query (or undefined if not found). The strings \"Space Needle\" (a landmark) and \"1 Microsoft Way Redmond WA\" (an address) are examples of query strings with location information.\r\n * These strings can be specified as a structured URL parameter or as a query parameter value. See [Bing Location Services documentation](https://docs.microsoft.com/en-us/bingmaps/rest-services/locations/find-a-location-by-query) for additional\r\n * information on queries.\r\n * @public\r\n */\r\n public async getLocation(query: string): Promise<GlobalLocation | undefined> {\r\n const requestUrl = this._locationRequestTemplate.replace(\"{query}\", query);\r\n const requestOptions: RequestOptions = { method: \"GET\", responseType: \"json\" };\r\n try {\r\n const locationResponse: Response = await request(requestUrl, requestOptions);\r\n const point = locationResponse.body.resourceSets[0].resources[0].point;\r\n const bbox = locationResponse.body.resourceSets[0].resources[0].bbox;\r\n const southLatitude = bbox[0];\r\n const westLongitude = bbox[1];\r\n const northLatitude = bbox[2];\r\n const eastLongitude = bbox[3];\r\n return {\r\n center: Cartographic.fromDegrees({ longitude: point.coordinates[1], latitude: point.coordinates[0] }),\r\n area: {\r\n southwest: Cartographic.fromDegrees({ longitude: westLongitude, latitude: southLatitude }),\r\n northeast: Cartographic.fromDegrees({ longitude: eastLongitude, latitude: northLatitude }),\r\n },\r\n };\r\n } catch (error) {\r\n return undefined;\r\n }\r\n }\r\n}\r\n"]}
@@ -1,11 +1,41 @@
1
1
  /** @packageDocumentation
2
2
  * @module IModelConnection
3
3
  */
4
- import { BeEvent, GuidString, OpenMode } from "@itwin/core-bentley";
4
+ import { BeEvent, GuidString, Id64String, OpenMode } from "@itwin/core-bentley";
5
5
  import { ChangesetIndex, ChangesetIndexAndId, IModelConnectionProps, OpenBriefcaseProps, StandaloneOpenOptions } from "@itwin/core-common";
6
6
  import { BriefcaseTxns } from "./BriefcaseTxns";
7
7
  import { GraphicalEditingScope } from "./GraphicalEditingScope";
8
8
  import { IModelConnection } from "./IModelConnection";
9
+ /** Settings that can be used to control the behavior of [[Tool]]s that modify a [[BriefcaseConnection]].
10
+ * For example, tools that want to create new elements can consult the briefcase's editor tool settings to
11
+ * determine into which model and category to insert the elements.
12
+ * Specialized tools are free to ignore these settings.
13
+ * @see [[BriefcaseConnection.editorToolSettings]] to query or modify the current settings for a briefcase.
14
+ * @see [CreateElementTool]($editor-frontend) for an example of a tool that uses these settings.
15
+ * @alpha
16
+ */
17
+ export declare class BriefcaseEditorToolSettings {
18
+ private _category?;
19
+ private _model?;
20
+ /** An event raised just after the default [[category]] is changed. */
21
+ readonly onCategoryChanged: BeEvent<(previousCategory: Id64String | undefined) => void>;
22
+ /** An event raised just after the default [[model]] is changed. */
23
+ readonly onModelChanged: BeEvent<(previousModel: Id64String | undefined) => void>;
24
+ /** The [Category]($backend) into which new elements should be inserted by default.
25
+ * Specialized tools are free to ignore this setting and instead use their own logic to select an appropriate category.
26
+ * @see [[onCategoryChanged]] to be notified when this property is modified.
27
+ * @see [CreateElementTool.targetCategory]($editor-frontend) for an example of a tool that uses this setting.
28
+ */
29
+ get category(): Id64String | undefined;
30
+ set category(category: Id64String | undefined);
31
+ /** The [Model]($backend) into which new elements should be inserted by default.
32
+ * Specialized tools are free to ignore this setting and instead use their own logic to select an appropriate model.
33
+ * @see [[onModelChanged]] to be notified when this property is modified.
34
+ * @see [CreateElementTool.targetModel]($editor-frontend) for an example of a tool that uses this setting.
35
+ */
36
+ get model(): Id64String | undefined;
37
+ set model(model: Id64String | undefined);
38
+ }
9
39
  /** A connection to an editable briefcase on the backend. This class uses [Ipc]($docs/learning/IpcInterface.md) to communicate
10
40
  * to the backend and may only be used by [[IpcApp]]s.
11
41
  * @public
@@ -13,6 +43,10 @@ import { IModelConnection } from "./IModelConnection";
13
43
  export declare class BriefcaseConnection extends IModelConnection {
14
44
  protected _isClosed?: boolean;
15
45
  private readonly _modelsMonitor;
46
+ /** Default settings that can be used to control the behavior of [[Tool]]s that modify this briefcase.
47
+ * @alpha
48
+ */
49
+ readonly editorToolSettings: BriefcaseEditorToolSettings;
16
50
  /** Manages local changes to the briefcase via [Txns]($docs/learning/InteractiveEditing.md). */
17
51
  readonly txns: BriefcaseTxns;
18
52
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"BriefcaseConnection.d.ts","sourceRoot":"","sources":["../../src/BriefcaseConnection.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAU,OAAO,EAA2B,UAAU,EAA4B,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/H,OAAO,EACL,cAAc,EACd,mBAAmB,EAAE,qBAAqB,EAAe,kBAAkB,EAAE,qBAAqB,EACnG,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAoItD;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,gBAAgB;IACvD,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IAEpD,+FAA+F;IAC/F,SAAgB,IAAI,EAAE,aAAa,CAAC;IAEpC,gBAAgB;IACA,qBAAqB,IAAI,IAAI,IAAI,mBAAmB;IAEpE,gEAAgE;IAChE,IAAoB,OAAO,IAAI,UAAU,CAA2B;IAEpE,4CAA4C;IAC5C,IAAoB,QAAQ,IAAI,UAAU,CAA4B;IAEtE,SAAS,aAAa,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,QAAQ;IAOtE,+DAA+D;WAC3C,QAAQ,CAAC,cAAc,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAO9F;;OAEG;WACiB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,QAA6B,EAAE,IAAI,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAOzJ,2DAA2D;IAC3D,IAAW,QAAQ,IAAI,OAAO,CAAoC;IAElE;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAanC,OAAO,CAAC,eAAe;IAKvB,2FAA2F;IAC9E,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/C;;OAEG;IACU,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D;;;OAGG;IACU,WAAW,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjE;;;;OAIG;IACU,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAK3E;;OAEG;IACH,IAAW,YAAY,IAAI,qBAAqB,GAAG,SAAS,CAE3D;IAED;;;OAGG;IACU,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIzD;;;;;OAKG;IACU,iBAAiB,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAIhE;;OAEG;IACH,SAAgB,sBAAsB,4BAAiC,IAAI,MAAM,CAAC,KAAK,IAAI,EAAI;CAChG"}
1
+ {"version":3,"file":"BriefcaseConnection.d.ts","sourceRoot":"","sources":["../../src/BriefcaseConnection.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAU,OAAO,EAA2B,UAAU,EAAE,UAAU,EAAgB,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/H,OAAO,EACL,cAAc,EACd,mBAAmB,EAAE,qBAAqB,EAAe,kBAAkB,EAAE,qBAAqB,EACnG,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAoItD;;;;;;;GAOG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,SAAS,CAAC,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAa;IAE5B,sEAAsE;IACtE,SAAgB,iBAAiB,6BAAkC,UAAU,GAAG,SAAS,KAAK,IAAI,EAAI;IAEtG,mEAAmE;IACnE,SAAgB,cAAc,0BAA+B,UAAU,GAAG,SAAS,KAAK,IAAI,EAAI;IAEhG;;;;OAIG;IACH,IAAW,QAAQ,IAAI,UAAU,GAAG,SAAS,CAE5C;IACD,IAAW,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,SAAS,EAMnD;IAED;;;;OAIG;IACH,IAAW,KAAK,IAAI,UAAU,GAAG,SAAS,CAEzC;IACD,IAAW,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,EAM7C;CACF;AAED;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,gBAAgB;IACvD,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD;;OAEG;IACH,SAAgB,kBAAkB,8BAAqC;IAEvE,+FAA+F;IAC/F,SAAgB,IAAI,EAAE,aAAa,CAAC;IAEpC,gBAAgB;IACA,qBAAqB,IAAI,IAAI,IAAI,mBAAmB;IAEpE,gEAAgE;IAChE,IAAoB,OAAO,IAAI,UAAU,CAA2B;IAEpE,4CAA4C;IAC5C,IAAoB,QAAQ,IAAI,UAAU,CAA4B;IAEtE,SAAS,aAAa,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,QAAQ;IAOtE,+DAA+D;WAC3C,QAAQ,CAAC,cAAc,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAO9F;;OAEG;WACiB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,QAA6B,EAAE,IAAI,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAOzJ,2DAA2D;IAC3D,IAAW,QAAQ,IAAI,OAAO,CAAoC;IAElE;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAanC,OAAO,CAAC,eAAe;IAKvB,2FAA2F;IAC9E,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/C;;OAEG;IACU,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D;;;OAGG;IACU,WAAW,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjE;;;;OAIG;IACU,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAK3E;;OAEG;IACH,IAAW,YAAY,IAAI,qBAAqB,GAAG,SAAS,CAE3D;IAED;;;OAGG;IACU,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIzD;;;;;OAKG;IACU,iBAAiB,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAIhE;;OAEG;IACH,SAAgB,sBAAsB,4BAAiC,IAAI,MAAM,CAAC,KAAK,IAAI,EAAI;CAChG"}
@@ -7,7 +7,7 @@
7
7
  * @module IModelConnection
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.BriefcaseConnection = void 0;
10
+ exports.BriefcaseConnection = exports.BriefcaseEditorToolSettings = void 0;
11
11
  const core_bentley_1 = require("@itwin/core-bentley");
12
12
  const core_common_1 = require("@itwin/core-common");
13
13
  const BriefcaseTxns_1 = require("./BriefcaseTxns");
@@ -119,6 +119,53 @@ class ModelChangeMonitor {
119
119
  }
120
120
  }
121
121
  }
122
+ /** Settings that can be used to control the behavior of [[Tool]]s that modify a [[BriefcaseConnection]].
123
+ * For example, tools that want to create new elements can consult the briefcase's editor tool settings to
124
+ * determine into which model and category to insert the elements.
125
+ * Specialized tools are free to ignore these settings.
126
+ * @see [[BriefcaseConnection.editorToolSettings]] to query or modify the current settings for a briefcase.
127
+ * @see [CreateElementTool]($editor-frontend) for an example of a tool that uses these settings.
128
+ * @alpha
129
+ */
130
+ class BriefcaseEditorToolSettings {
131
+ constructor() {
132
+ /** An event raised just after the default [[category]] is changed. */
133
+ this.onCategoryChanged = new core_bentley_1.BeEvent();
134
+ /** An event raised just after the default [[model]] is changed. */
135
+ this.onModelChanged = new core_bentley_1.BeEvent();
136
+ }
137
+ /** The [Category]($backend) into which new elements should be inserted by default.
138
+ * Specialized tools are free to ignore this setting and instead use their own logic to select an appropriate category.
139
+ * @see [[onCategoryChanged]] to be notified when this property is modified.
140
+ * @see [CreateElementTool.targetCategory]($editor-frontend) for an example of a tool that uses this setting.
141
+ */
142
+ get category() {
143
+ return this._category;
144
+ }
145
+ set category(category) {
146
+ const previousCategory = this.category;
147
+ if (category !== this.category) {
148
+ this._category = category;
149
+ this.onCategoryChanged.raiseEvent(previousCategory);
150
+ }
151
+ }
152
+ /** The [Model]($backend) into which new elements should be inserted by default.
153
+ * Specialized tools are free to ignore this setting and instead use their own logic to select an appropriate model.
154
+ * @see [[onModelChanged]] to be notified when this property is modified.
155
+ * @see [CreateElementTool.targetModel]($editor-frontend) for an example of a tool that uses this setting.
156
+ */
157
+ get model() {
158
+ return this._model;
159
+ }
160
+ set model(model) {
161
+ const previousModel = this.model;
162
+ if (model !== this.model) {
163
+ this._model = model;
164
+ this.onModelChanged.raiseEvent(previousModel);
165
+ }
166
+ }
167
+ }
168
+ exports.BriefcaseEditorToolSettings = BriefcaseEditorToolSettings;
122
169
  /** A connection to an editable briefcase on the backend. This class uses [Ipc]($docs/learning/IpcInterface.md) to communicate
123
170
  * to the backend and may only be used by [[IpcApp]]s.
124
171
  * @public
@@ -126,6 +173,10 @@ class ModelChangeMonitor {
126
173
  class BriefcaseConnection extends IModelConnection_1.IModelConnection {
127
174
  constructor(props, openMode) {
128
175
  super(props);
176
+ /** Default settings that can be used to control the behavior of [[Tool]]s that modify this briefcase.
177
+ * @alpha
178
+ */
179
+ this.editorToolSettings = new BriefcaseEditorToolSettings();
129
180
  /** Strictly for tests - dispatched from ModelChangeMonitor.processBuffered.
130
181
  * @internal
131
182
  */
@@ -1 +1 @@
1
- {"version":3,"file":"BriefcaseConnection.js","sourceRoot":"","sources":["../../src/BriefcaseConnection.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module IModelConnection\r\n */\r\n\r\nimport { assert, BeEvent, CompressedId64Set, Guid, GuidString, Id64String, IModelStatus, OpenMode } from \"@itwin/core-bentley\";\r\nimport {\r\n ChangesetIndex,\r\n ChangesetIndexAndId, IModelConnectionProps, IModelError, OpenBriefcaseProps, StandaloneOpenOptions,\r\n} from \"@itwin/core-common\";\r\nimport { BriefcaseTxns } from \"./BriefcaseTxns\";\r\nimport { GraphicalEditingScope } from \"./GraphicalEditingScope\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { IpcApp } from \"./IpcApp\";\r\nimport { disposeTileTreesForGeometricModels } from \"./tile/internal\";\r\nimport { Viewport } from \"./Viewport\";\r\n\r\n/** Keeps track of changes to models, buffering them until synchronization points.\r\n * While a GraphicalEditingScope is open, the changes are buffered until the scope exits, at which point they are processed.\r\n * Otherwise, the buffered changes are processed after undo/redo, commit, or pull+merge changes.\r\n */\r\nclass ModelChangeMonitor {\r\n private _editingScope?: GraphicalEditingScope;\r\n private readonly _briefcase: BriefcaseConnection;\r\n private readonly _deletedModels = new Set<string>();\r\n private readonly _modelIdToGuid = new Map<string, string>();\r\n private readonly _removals: VoidFunction[] = [];\r\n\r\n public constructor(briefcase: BriefcaseConnection) {\r\n this._briefcase = briefcase;\r\n\r\n // Buffer updated geometry guids.\r\n this._removals.push(briefcase.txns.onModelGeometryChanged.addListener((changes) => {\r\n for (const change of changes) {\r\n this._deletedModels.delete(change.id);\r\n this._modelIdToGuid.set(change.id, change.guid);\r\n }\r\n }));\r\n\r\n // Buffer deletions of models.\r\n this._removals.push(briefcase.txns.onModelsChanged.addListener((changes) => {\r\n if (changes.deleted) {\r\n for (const id of CompressedId64Set.iterable(changes.deleted)) {\r\n this._modelIdToGuid.delete(id);\r\n this._deletedModels.add(id);\r\n }\r\n }\r\n }));\r\n\r\n // Outside of an editing scope, we want to update viewport contents after commit, undo/redo, or merging changes.\r\n const maybeProcess = async () => {\r\n if (this.editingScope)\r\n return;\r\n\r\n const modelIds = Array.from(this._modelIdToGuid.keys());\r\n if (modelIds.length > 0)\r\n await IModelApp.tileAdmin.purgeTileTrees(this._briefcase, modelIds);\r\n\r\n this.processBuffered();\r\n };\r\n\r\n this._removals.push(briefcase.txns.onCommitted.addListener(maybeProcess));\r\n this._removals.push(briefcase.txns.onAfterUndoRedo.addListener(maybeProcess));\r\n this._removals.push(briefcase.txns.onChangesPulled.addListener(maybeProcess));\r\n }\r\n\r\n public async close(): Promise<void> {\r\n for (const removal of this._removals)\r\n removal();\r\n\r\n this._removals.length = 0;\r\n\r\n if (this._editingScope) {\r\n await this._editingScope.exit();\r\n this._editingScope = undefined;\r\n }\r\n }\r\n\r\n public get editingScope(): GraphicalEditingScope | undefined {\r\n return this._editingScope;\r\n }\r\n\r\n public async enterEditingScope(): Promise<GraphicalEditingScope> {\r\n if (this._editingScope)\r\n throw new Error(\"Cannot create an editing scope for an iModel that already has one\");\r\n\r\n this._editingScope = await GraphicalEditingScope.enter(this._briefcase);\r\n\r\n const removeGeomListener = this._editingScope.onGeometryChanges.addListener((changes) => {\r\n const modelIds = [];\r\n for (const change of changes)\r\n modelIds.push(change.id);\r\n\r\n this.invalidateScenes(modelIds);\r\n });\r\n\r\n this._editingScope.onExited.addOnce((scope) => {\r\n assert(scope === this._editingScope);\r\n this._editingScope = undefined;\r\n removeGeomListener();\r\n this.processBuffered();\r\n });\r\n\r\n return this._editingScope;\r\n }\r\n\r\n private processBuffered(): void {\r\n const models = this._briefcase.models;\r\n for (const [id, guid] of this._modelIdToGuid) {\r\n const model = models.getLoaded(id)?.asGeometricModel;\r\n if (model)\r\n model.geometryGuid = guid;\r\n }\r\n\r\n const modelIds = new Set<string>(this._modelIdToGuid.keys());\r\n for (const deleted of this._deletedModels) {\r\n modelIds.add(deleted);\r\n models.unload(deleted);\r\n }\r\n\r\n this.invalidateScenes(modelIds);\r\n disposeTileTreesForGeometricModels(modelIds, this._briefcase);\r\n\r\n this._briefcase.onBufferedModelChanges.raiseEvent(modelIds);\r\n\r\n this._modelIdToGuid.clear();\r\n this._deletedModels.clear();\r\n }\r\n\r\n private invalidateScenes(changedModels: Iterable<Id64String>): void {\r\n for (const user of IModelApp.tileAdmin.tileUsers) {\r\n if (user instanceof Viewport && user.iModel === this._briefcase) {\r\n for (const modelId of changedModels) {\r\n if (user.view.viewsModel(modelId)) {\r\n user.invalidateScene();\r\n user.setFeatureOverrideProviderChanged();\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n/** A connection to an editable briefcase on the backend. This class uses [Ipc]($docs/learning/IpcInterface.md) to communicate\r\n * to the backend and may only be used by [[IpcApp]]s.\r\n * @public\r\n */\r\nexport class BriefcaseConnection extends IModelConnection {\r\n protected _isClosed?: boolean;\r\n private readonly _modelsMonitor: ModelChangeMonitor;\r\n\r\n /** Manages local changes to the briefcase via [Txns]($docs/learning/InteractiveEditing.md). */\r\n public readonly txns: BriefcaseTxns;\r\n\r\n /** @internal */\r\n public override isBriefcaseConnection(): this is BriefcaseConnection { return true; }\r\n\r\n /** The Guid that identifies the iTwin that owns this iModel. */\r\n public override get iTwinId(): GuidString { return super.iTwinId!; } // GuidString | undefined for IModelConnection, but required for BriefcaseConnection\r\n\r\n /** The Guid that identifies this iModel. */\r\n public override get iModelId(): GuidString { return super.iModelId!; } // GuidString | undefined for IModelConnection, but required for BriefcaseConnection\r\n\r\n protected constructor(props: IModelConnectionProps, openMode: OpenMode) {\r\n super(props);\r\n this._openMode = openMode;\r\n this.txns = new BriefcaseTxns(this);\r\n this._modelsMonitor = new ModelChangeMonitor(this);\r\n }\r\n\r\n /** Open a BriefcaseConnection to a [BriefcaseDb]($backend). */\r\n public static async openFile(briefcaseProps: OpenBriefcaseProps): Promise<BriefcaseConnection> {\r\n const iModelProps = await IpcApp.callIpcHost(\"openBriefcase\", briefcaseProps);\r\n const connection = new this({ ...briefcaseProps, ...iModelProps }, briefcaseProps.readonly ? OpenMode.Readonly : OpenMode.ReadWrite);\r\n IModelConnection.onOpen.raiseEvent(connection);\r\n return connection;\r\n }\r\n\r\n /** Open a BriefcaseConnection to a [StandaloneDb]($backend)\r\n * @note StandaloneDbs, by definition, may not push or pull changes. Attempting to do so will throw exceptions.\r\n */\r\n public static async openStandalone(filePath: string, openMode: OpenMode = OpenMode.ReadWrite, opts?: StandaloneOpenOptions): Promise<BriefcaseConnection> {\r\n const openResponse = await IpcApp.callIpcHost(\"openStandalone\", filePath, openMode, opts);\r\n const connection = new this(openResponse, openMode);\r\n IModelConnection.onOpen.raiseEvent(connection);\r\n return connection;\r\n }\r\n\r\n /** Returns `true` if [[close]] has already been called. */\r\n public get isClosed(): boolean { return this._isClosed === true; }\r\n\r\n /**\r\n * Close this BriefcaseConnection.\r\n * @note make sure to call [[saveChanges]] before calling this method. Unsaved local changes are abandoned.\r\n */\r\n public async close(): Promise<void> {\r\n if (this.isClosed)\r\n return;\r\n\r\n await this._modelsMonitor.close();\r\n\r\n this.beforeClose();\r\n this.txns.dispose();\r\n\r\n this._isClosed = true;\r\n await IpcApp.callIpcHost(\"closeIModel\", this._fileKey);\r\n }\r\n\r\n private requireTimeline() {\r\n if (this.iTwinId === Guid.empty)\r\n throw new IModelError(IModelStatus.WrongIModel, \"iModel has no timeline\");\r\n }\r\n\r\n /** Query if there are any pending Txns in this briefcase that are waiting to be pushed. */\r\n public async hasPendingTxns(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\r\n return this.txns.hasPendingTxns();\r\n }\r\n\r\n /** Commit pending changes to this briefcase.\r\n * @param description Optional description of the changes.\r\n */\r\n public async saveChanges(description?: string): Promise<void> {\r\n await IpcApp.callIpcHost(\"saveChanges\", this.key, description);\r\n }\r\n\r\n /** Pull (and potentially merge if there are local changes) up to a specified changeset from iModelHub into this briefcase\r\n * @param toIndex The changeset index to pull changes to. If `undefined`, pull all changes.\r\n * @see [[BriefcaseTxns.onChangesPulled]] for the event dispatched after changes are pulled.\r\n */\r\n public async pullChanges(toIndex?: ChangesetIndex): Promise<void> {\r\n this.requireTimeline();\r\n this.changeset = await IpcApp.callIpcHost(\"pullChanges\", this.key, toIndex);\r\n }\r\n\r\n /** Create a changeset from local Txns and push to iModelHub. On success, clear Txn table.\r\n * @param description The description for the changeset\r\n * @returns the changesetId of the pushed changes\r\n * @see [[BriefcaseTxns.onChangesPushed]] for the event dispatched after changes are pushed.\r\n */\r\n public async pushChanges(description: string): Promise<ChangesetIndexAndId> {\r\n this.requireTimeline();\r\n return IpcApp.callIpcHost(\"pushChanges\", this.key, description);\r\n }\r\n\r\n /** The current graphical editing scope, if one is in progress.\r\n * @see [[enterEditingScope]] to begin graphical editing.\r\n */\r\n public get editingScope(): GraphicalEditingScope | undefined {\r\n return this._modelsMonitor.editingScope;\r\n }\r\n\r\n /** Return whether graphical editing is supported for this briefcase. It is not supported if the briefcase is read-only, or the briefcase contains a version of\r\n * the BisCore ECSchema older than v0.1.11.\r\n * @see [[enterEditingScope]] to enable graphical editing.\r\n */\r\n public async supportsGraphicalEditing(): Promise<boolean> {\r\n return IpcApp.callIpcHost(\"isGraphicalEditingSupported\", this.key);\r\n }\r\n\r\n /** Begin a new graphical editing scope.\r\n * @throws Error if an editing scope already exists or one could not be created.\r\n * @see [[GraphicalEditingScope.exit]] to exit the scope.\r\n * @see [[supportsGraphicalEditing]] to determine whether this method should be expected to succeed.\r\n * @see [[editingScope]] to obtain the current editing scope, if one is in progress.\r\n */\r\n public async enterEditingScope(): Promise<GraphicalEditingScope> {\r\n return this._modelsMonitor.enterEditingScope();\r\n }\r\n\r\n /** Strictly for tests - dispatched from ModelChangeMonitor.processBuffered.\r\n * @internal\r\n */\r\n public readonly onBufferedModelChanges = new BeEvent<(changedModelIds: Set<string>) => void>();\r\n}\r\n"]}
1
+ {"version":3,"file":"BriefcaseConnection.js","sourceRoot":"","sources":["../../src/BriefcaseConnection.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module IModelConnection\r\n */\r\n\r\nimport { assert, BeEvent, CompressedId64Set, Guid, GuidString, Id64String, IModelStatus, OpenMode } from \"@itwin/core-bentley\";\r\nimport {\r\n ChangesetIndex,\r\n ChangesetIndexAndId, IModelConnectionProps, IModelError, OpenBriefcaseProps, StandaloneOpenOptions,\r\n} from \"@itwin/core-common\";\r\nimport { BriefcaseTxns } from \"./BriefcaseTxns\";\r\nimport { GraphicalEditingScope } from \"./GraphicalEditingScope\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { IpcApp } from \"./IpcApp\";\r\nimport { disposeTileTreesForGeometricModels } from \"./tile/internal\";\r\nimport { Viewport } from \"./Viewport\";\r\n\r\n/** Keeps track of changes to models, buffering them until synchronization points.\r\n * While a GraphicalEditingScope is open, the changes are buffered until the scope exits, at which point they are processed.\r\n * Otherwise, the buffered changes are processed after undo/redo, commit, or pull+merge changes.\r\n */\r\nclass ModelChangeMonitor {\r\n private _editingScope?: GraphicalEditingScope;\r\n private readonly _briefcase: BriefcaseConnection;\r\n private readonly _deletedModels = new Set<string>();\r\n private readonly _modelIdToGuid = new Map<string, string>();\r\n private readonly _removals: VoidFunction[] = [];\r\n\r\n public constructor(briefcase: BriefcaseConnection) {\r\n this._briefcase = briefcase;\r\n\r\n // Buffer updated geometry guids.\r\n this._removals.push(briefcase.txns.onModelGeometryChanged.addListener((changes) => {\r\n for (const change of changes) {\r\n this._deletedModels.delete(change.id);\r\n this._modelIdToGuid.set(change.id, change.guid);\r\n }\r\n }));\r\n\r\n // Buffer deletions of models.\r\n this._removals.push(briefcase.txns.onModelsChanged.addListener((changes) => {\r\n if (changes.deleted) {\r\n for (const id of CompressedId64Set.iterable(changes.deleted)) {\r\n this._modelIdToGuid.delete(id);\r\n this._deletedModels.add(id);\r\n }\r\n }\r\n }));\r\n\r\n // Outside of an editing scope, we want to update viewport contents after commit, undo/redo, or merging changes.\r\n const maybeProcess = async () => {\r\n if (this.editingScope)\r\n return;\r\n\r\n const modelIds = Array.from(this._modelIdToGuid.keys());\r\n if (modelIds.length > 0)\r\n await IModelApp.tileAdmin.purgeTileTrees(this._briefcase, modelIds);\r\n\r\n this.processBuffered();\r\n };\r\n\r\n this._removals.push(briefcase.txns.onCommitted.addListener(maybeProcess));\r\n this._removals.push(briefcase.txns.onAfterUndoRedo.addListener(maybeProcess));\r\n this._removals.push(briefcase.txns.onChangesPulled.addListener(maybeProcess));\r\n }\r\n\r\n public async close(): Promise<void> {\r\n for (const removal of this._removals)\r\n removal();\r\n\r\n this._removals.length = 0;\r\n\r\n if (this._editingScope) {\r\n await this._editingScope.exit();\r\n this._editingScope = undefined;\r\n }\r\n }\r\n\r\n public get editingScope(): GraphicalEditingScope | undefined {\r\n return this._editingScope;\r\n }\r\n\r\n public async enterEditingScope(): Promise<GraphicalEditingScope> {\r\n if (this._editingScope)\r\n throw new Error(\"Cannot create an editing scope for an iModel that already has one\");\r\n\r\n this._editingScope = await GraphicalEditingScope.enter(this._briefcase);\r\n\r\n const removeGeomListener = this._editingScope.onGeometryChanges.addListener((changes) => {\r\n const modelIds = [];\r\n for (const change of changes)\r\n modelIds.push(change.id);\r\n\r\n this.invalidateScenes(modelIds);\r\n });\r\n\r\n this._editingScope.onExited.addOnce((scope) => {\r\n assert(scope === this._editingScope);\r\n this._editingScope = undefined;\r\n removeGeomListener();\r\n this.processBuffered();\r\n });\r\n\r\n return this._editingScope;\r\n }\r\n\r\n private processBuffered(): void {\r\n const models = this._briefcase.models;\r\n for (const [id, guid] of this._modelIdToGuid) {\r\n const model = models.getLoaded(id)?.asGeometricModel;\r\n if (model)\r\n model.geometryGuid = guid;\r\n }\r\n\r\n const modelIds = new Set<string>(this._modelIdToGuid.keys());\r\n for (const deleted of this._deletedModels) {\r\n modelIds.add(deleted);\r\n models.unload(deleted);\r\n }\r\n\r\n this.invalidateScenes(modelIds);\r\n disposeTileTreesForGeometricModels(modelIds, this._briefcase);\r\n\r\n this._briefcase.onBufferedModelChanges.raiseEvent(modelIds);\r\n\r\n this._modelIdToGuid.clear();\r\n this._deletedModels.clear();\r\n }\r\n\r\n private invalidateScenes(changedModels: Iterable<Id64String>): void {\r\n for (const user of IModelApp.tileAdmin.tileUsers) {\r\n if (user instanceof Viewport && user.iModel === this._briefcase) {\r\n for (const modelId of changedModels) {\r\n if (user.view.viewsModel(modelId)) {\r\n user.invalidateScene();\r\n user.setFeatureOverrideProviderChanged();\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n/** Settings that can be used to control the behavior of [[Tool]]s that modify a [[BriefcaseConnection]].\r\n * For example, tools that want to create new elements can consult the briefcase's editor tool settings to\r\n * determine into which model and category to insert the elements.\r\n * Specialized tools are free to ignore these settings.\r\n * @see [[BriefcaseConnection.editorToolSettings]] to query or modify the current settings for a briefcase.\r\n * @see [CreateElementTool]($editor-frontend) for an example of a tool that uses these settings.\r\n * @alpha\r\n */\r\nexport class BriefcaseEditorToolSettings {\r\n private _category?: Id64String;\r\n private _model?: Id64String;\r\n\r\n /** An event raised just after the default [[category]] is changed. */\r\n public readonly onCategoryChanged = new BeEvent<(previousCategory: Id64String | undefined) => void>();\r\n\r\n /** An event raised just after the default [[model]] is changed. */\r\n public readonly onModelChanged = new BeEvent<(previousModel: Id64String | undefined) => void>();\r\n\r\n /** The [Category]($backend) into which new elements should be inserted by default.\r\n * Specialized tools are free to ignore this setting and instead use their own logic to select an appropriate category.\r\n * @see [[onCategoryChanged]] to be notified when this property is modified.\r\n * @see [CreateElementTool.targetCategory]($editor-frontend) for an example of a tool that uses this setting.\r\n */\r\n public get category(): Id64String | undefined {\r\n return this._category;\r\n }\r\n public set category(category: Id64String | undefined) {\r\n const previousCategory = this.category;\r\n if (category !== this.category) {\r\n this._category = category;\r\n this.onCategoryChanged.raiseEvent(previousCategory);\r\n }\r\n }\r\n\r\n /** The [Model]($backend) into which new elements should be inserted by default.\r\n * Specialized tools are free to ignore this setting and instead use their own logic to select an appropriate model.\r\n * @see [[onModelChanged]] to be notified when this property is modified.\r\n * @see [CreateElementTool.targetModel]($editor-frontend) for an example of a tool that uses this setting.\r\n */\r\n public get model(): Id64String | undefined {\r\n return this._model;\r\n }\r\n public set model(model: Id64String | undefined) {\r\n const previousModel = this.model;\r\n if (model !== this.model) {\r\n this._model = model;\r\n this.onModelChanged.raiseEvent(previousModel);\r\n }\r\n }\r\n}\r\n\r\n/** A connection to an editable briefcase on the backend. This class uses [Ipc]($docs/learning/IpcInterface.md) to communicate\r\n * to the backend and may only be used by [[IpcApp]]s.\r\n * @public\r\n */\r\nexport class BriefcaseConnection extends IModelConnection {\r\n protected _isClosed?: boolean;\r\n private readonly _modelsMonitor: ModelChangeMonitor;\r\n /** Default settings that can be used to control the behavior of [[Tool]]s that modify this briefcase.\r\n * @alpha\r\n */\r\n public readonly editorToolSettings = new BriefcaseEditorToolSettings();\r\n\r\n /** Manages local changes to the briefcase via [Txns]($docs/learning/InteractiveEditing.md). */\r\n public readonly txns: BriefcaseTxns;\r\n\r\n /** @internal */\r\n public override isBriefcaseConnection(): this is BriefcaseConnection { return true; }\r\n\r\n /** The Guid that identifies the iTwin that owns this iModel. */\r\n public override get iTwinId(): GuidString { return super.iTwinId!; } // GuidString | undefined for IModelConnection, but required for BriefcaseConnection\r\n\r\n /** The Guid that identifies this iModel. */\r\n public override get iModelId(): GuidString { return super.iModelId!; } // GuidString | undefined for IModelConnection, but required for BriefcaseConnection\r\n\r\n protected constructor(props: IModelConnectionProps, openMode: OpenMode) {\r\n super(props);\r\n this._openMode = openMode;\r\n this.txns = new BriefcaseTxns(this);\r\n this._modelsMonitor = new ModelChangeMonitor(this);\r\n }\r\n\r\n /** Open a BriefcaseConnection to a [BriefcaseDb]($backend). */\r\n public static async openFile(briefcaseProps: OpenBriefcaseProps): Promise<BriefcaseConnection> {\r\n const iModelProps = await IpcApp.callIpcHost(\"openBriefcase\", briefcaseProps);\r\n const connection = new this({ ...briefcaseProps, ...iModelProps }, briefcaseProps.readonly ? OpenMode.Readonly : OpenMode.ReadWrite);\r\n IModelConnection.onOpen.raiseEvent(connection);\r\n return connection;\r\n }\r\n\r\n /** Open a BriefcaseConnection to a [StandaloneDb]($backend)\r\n * @note StandaloneDbs, by definition, may not push or pull changes. Attempting to do so will throw exceptions.\r\n */\r\n public static async openStandalone(filePath: string, openMode: OpenMode = OpenMode.ReadWrite, opts?: StandaloneOpenOptions): Promise<BriefcaseConnection> {\r\n const openResponse = await IpcApp.callIpcHost(\"openStandalone\", filePath, openMode, opts);\r\n const connection = new this(openResponse, openMode);\r\n IModelConnection.onOpen.raiseEvent(connection);\r\n return connection;\r\n }\r\n\r\n /** Returns `true` if [[close]] has already been called. */\r\n public get isClosed(): boolean { return this._isClosed === true; }\r\n\r\n /**\r\n * Close this BriefcaseConnection.\r\n * @note make sure to call [[saveChanges]] before calling this method. Unsaved local changes are abandoned.\r\n */\r\n public async close(): Promise<void> {\r\n if (this.isClosed)\r\n return;\r\n\r\n await this._modelsMonitor.close();\r\n\r\n this.beforeClose();\r\n this.txns.dispose();\r\n\r\n this._isClosed = true;\r\n await IpcApp.callIpcHost(\"closeIModel\", this._fileKey);\r\n }\r\n\r\n private requireTimeline() {\r\n if (this.iTwinId === Guid.empty)\r\n throw new IModelError(IModelStatus.WrongIModel, \"iModel has no timeline\");\r\n }\r\n\r\n /** Query if there are any pending Txns in this briefcase that are waiting to be pushed. */\r\n public async hasPendingTxns(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\r\n return this.txns.hasPendingTxns();\r\n }\r\n\r\n /** Commit pending changes to this briefcase.\r\n * @param description Optional description of the changes.\r\n */\r\n public async saveChanges(description?: string): Promise<void> {\r\n await IpcApp.callIpcHost(\"saveChanges\", this.key, description);\r\n }\r\n\r\n /** Pull (and potentially merge if there are local changes) up to a specified changeset from iModelHub into this briefcase\r\n * @param toIndex The changeset index to pull changes to. If `undefined`, pull all changes.\r\n * @see [[BriefcaseTxns.onChangesPulled]] for the event dispatched after changes are pulled.\r\n */\r\n public async pullChanges(toIndex?: ChangesetIndex): Promise<void> {\r\n this.requireTimeline();\r\n this.changeset = await IpcApp.callIpcHost(\"pullChanges\", this.key, toIndex);\r\n }\r\n\r\n /** Create a changeset from local Txns and push to iModelHub. On success, clear Txn table.\r\n * @param description The description for the changeset\r\n * @returns the changesetId of the pushed changes\r\n * @see [[BriefcaseTxns.onChangesPushed]] for the event dispatched after changes are pushed.\r\n */\r\n public async pushChanges(description: string): Promise<ChangesetIndexAndId> {\r\n this.requireTimeline();\r\n return IpcApp.callIpcHost(\"pushChanges\", this.key, description);\r\n }\r\n\r\n /** The current graphical editing scope, if one is in progress.\r\n * @see [[enterEditingScope]] to begin graphical editing.\r\n */\r\n public get editingScope(): GraphicalEditingScope | undefined {\r\n return this._modelsMonitor.editingScope;\r\n }\r\n\r\n /** Return whether graphical editing is supported for this briefcase. It is not supported if the briefcase is read-only, or the briefcase contains a version of\r\n * the BisCore ECSchema older than v0.1.11.\r\n * @see [[enterEditingScope]] to enable graphical editing.\r\n */\r\n public async supportsGraphicalEditing(): Promise<boolean> {\r\n return IpcApp.callIpcHost(\"isGraphicalEditingSupported\", this.key);\r\n }\r\n\r\n /** Begin a new graphical editing scope.\r\n * @throws Error if an editing scope already exists or one could not be created.\r\n * @see [[GraphicalEditingScope.exit]] to exit the scope.\r\n * @see [[supportsGraphicalEditing]] to determine whether this method should be expected to succeed.\r\n * @see [[editingScope]] to obtain the current editing scope, if one is in progress.\r\n */\r\n public async enterEditingScope(): Promise<GraphicalEditingScope> {\r\n return this._modelsMonitor.enterEditingScope();\r\n }\r\n\r\n /** Strictly for tests - dispatched from ModelChangeMonitor.processBuffered.\r\n * @internal\r\n */\r\n public readonly onBufferedModelChanges = new BeEvent<(changedModelIds: Set<string>) => void>();\r\n}\r\n"]}
@@ -13,6 +13,7 @@ import { IModelConnection } from "./IModelConnection";
13
13
  * use [[ViewState.changeCategoryDisplay]] to ensure the view updates appropriately on screen.
14
14
  * @see [[Category]]
15
15
  * @public
16
+ * @extensions
16
17
  */
17
18
  export declare class CategorySelectorState extends ElementState {
18
19
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"CategorySelectorState.d.ts","sourceRoot":"","sources":["../../src/CategorySelectorState.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,EAAQ,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;;;;GAQG;AACH,qBAAa,qBAAsB,SAAQ,YAAY;IACrD,gBAAgB;IAChB,WAA2B,SAAS,WAAiC;IAErE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;gBAE/C,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,gBAAgB;IAMlE,IAAW,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC,CAEnC;IAED,IAAW,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EAI5C;IAED,gBAAgB;IAChB,IAAW,oBAAoB,IAAI,aAAa,CAAC,MAAM,CAAC,CAEvD;IAEe,MAAM,IAAI,qBAAqB;IAO/C;;OAEG;IACI,UAAU,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO;IAWxD,wCAAwC;IACxC,IAAW,IAAI,IAAI,MAAM,CAA4B;IAErD,uFAAuF;IAChF,GAAG,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO;IAEnC,8EAA8E;IACvE,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAExD,0DAA0D;IACnD,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAKxC,+DAA+D;IACxD,cAAc,CAAC,GAAG,EAAE,OAAO;IAKlC;;;OAGG;IACI,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;CAC/D"}
1
+ {"version":3,"file":"CategorySelectorState.d.ts","sourceRoot":"","sources":["../../src/CategorySelectorState.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,EAAQ,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;;;;;GASG;AACH,qBAAa,qBAAsB,SAAQ,YAAY;IACrD,gBAAgB;IAChB,WAA2B,SAAS,WAAiC;IAErE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;gBAE/C,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,gBAAgB;IAMlE,IAAW,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC,CAEnC;IAED,IAAW,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EAI5C;IAED,gBAAgB;IAChB,IAAW,oBAAoB,IAAI,aAAa,CAAC,MAAM,CAAC,CAEvD;IAEe,MAAM,IAAI,qBAAqB;IAO/C;;OAEG;IACI,UAAU,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO;IAWxD,wCAAwC;IACxC,IAAW,IAAI,IAAI,MAAM,CAA4B;IAErD,uFAAuF;IAChF,GAAG,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO;IAEnC,8EAA8E;IACvE,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAExD,0DAA0D;IACnD,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAKxC,+DAA+D;IACxD,cAAc,CAAC,GAAG,EAAE,OAAO;IAKlC;;;OAGG;IACI,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;CAC/D"}
@@ -18,6 +18,7 @@ const EntityState_1 = require("./EntityState");
18
18
  * use [[ViewState.changeCategoryDisplay]] to ensure the view updates appropriately on screen.
19
19
  * @see [[Category]]
20
20
  * @public
21
+ * @extensions
21
22
  */
22
23
  class CategorySelectorState extends EntityState_1.ElementState {
23
24
  constructor(props, iModel) {