@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
@@ -1 +1 @@
1
- {"version":3,"file":"EntityState.js","sourceRoot":"","sources":["../../src/EntityState.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 ElementState\r\n */\r\n\r\nimport { GuidString, Id64, Id64String } from \"@itwin/core-bentley\";\r\nimport { Code, ElementProps, EntityProps, RelatedElement } from \"@itwin/core-common\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\n\r\n/** The \"state\" of an Entity as represented in a web browser. Every subclass of EntityState handles one BIS class.\r\n * @public\r\n */\r\nexport class EntityState implements EntityProps {\r\n /** The name of the BIS schema for this class.\r\n * @note Subclasses from other than the BisCore domain must override the static member \"schemaName\" with their schema name.\r\n */\r\n public static get schemaName() { return \"BisCore\"; }\r\n\r\n private get _ctor(): typeof EntityState { return this.constructor as typeof EntityState; }\r\n\r\n /** The name of the BIS class associated with this class.\r\n * @note Every subclass of EntityState **MUST** override this method to identify its BIS class.\r\n * Failure to do so will ordinarily result in an error when the class is registered, since there may only\r\n * be one JavaScript class for a given BIS class (usually the errant class will collide with its superclass.)\r\n */\r\n public static get className() { return \"Entity\"; }\r\n\r\n /** The name of the BIS class associated with this class. */\r\n public get className(): string { return this._ctor.className; }\r\n\r\n /** The Id of this Entity. May be invalid if the Entity has not yet been saved in the database. */\r\n public readonly id: Id64String;\r\n /** The iModel from which this Entity was loaded */\r\n public readonly iModel: IModelConnection;\r\n /** The full class name in the form \"schema:class\". */\r\n public readonly classFullName: string;\r\n /** Optional [json properties]($docs/bis/intro/element-fundamentals.md#jsonproperties) of this Entity. */\r\n public readonly jsonProperties: { [key: string]: any };\r\n\r\n /** Constructor for EntityState\r\n * @param props the properties of the Entity for this EntityState\r\n * @param iModel the iModel from which this EntityState is to be constructed\r\n * @param _state source EntityState for clone\r\n */\r\n constructor(props: EntityProps, iModel: IModelConnection, _state?: EntityState) {\r\n this.classFullName = props.classFullName ? props.classFullName : this._ctor.classFullName;\r\n this.iModel = iModel;\r\n this.id = Id64.fromJSON(props.id);\r\n this.jsonProperties = props.jsonProperties ? JSON.parse(JSON.stringify(props.jsonProperties)) : {}; // make sure we have our own copy\r\n }\r\n\r\n /** @internal */\r\n public toJSON(): EntityProps {\r\n const val: any = {};\r\n val.classFullName = this.classFullName;\r\n if (Id64.isValid(this.id))\r\n val.id = this.id;\r\n if (this.jsonProperties && Object.keys(this.jsonProperties).length > 0)\r\n val.jsonProperties = this.jsonProperties;\r\n return val;\r\n }\r\n\r\n /** Return true if this EntityState is equal to another one. */\r\n public equals(other: this): boolean { return JSON.stringify(this.toJSON()) === JSON.stringify(other.toJSON()); }\r\n\r\n /** Make an independent copy of this EntityState */\r\n public clone(iModel?: IModelConnection): this { return new this._ctor(this.toJSON(), iModel ? iModel : this.iModel, this) as this; }\r\n\r\n /** Get full BIS class name of this Entity in the form \"SchemaName:ClassName\". */\r\n public static get classFullName(): string { return `${this.schemaName}:${this.className}`; }\r\n}\r\n\r\n/** The \"state\" of an Element as represented in a web browser.\r\n * @public\r\n */\r\nexport class ElementState extends EntityState implements ElementProps {\r\n /** @internal */\r\n public static override get className() { return \"Element\"; }\r\n\r\n /** The ModelId of the [Model]($docs/bis/intro/model-fundamentals.md) containing this element */\r\n public readonly model: Id64String;\r\n /** The [Code]($docs/bis/intro/codes.md) for this element */\r\n public readonly code: Code;\r\n /** The parent Element of this, or undefined if no parent. */\r\n public readonly parent?: RelatedElement;\r\n /** A [FederationGuid]($docs/bis/intro/element-fundamentals.md#federationguid) assigned to this element by some other federated database */\r\n public readonly federationGuid?: GuidString;\r\n /** A [user-assigned label]($docs/bis/intro/element-fundamentals.md#userlabel) for this element. */\r\n public readonly userLabel?: string;\r\n\r\n constructor(props: ElementProps, iModel: IModelConnection) {\r\n super(props, iModel);\r\n this.code = Code.fromJSON(props.code);\r\n this.model = RelatedElement.idFromJson(props.model);\r\n this.parent = RelatedElement.fromJSON(props.parent);\r\n if (undefined !== props.federationGuid)\r\n this.federationGuid = props.federationGuid;\r\n if (undefined !== props.userLabel)\r\n this.userLabel = props.userLabel;\r\n }\r\n\r\n /** Obtain this element's JSON representation. Subclasses of ElementState typically override this method with a more\r\n * specific return type.\r\n */\r\n public override toJSON(): ElementProps {\r\n const val = super.toJSON() as ElementProps;\r\n if (Id64.isValid(this.code.spec))\r\n val.code = this.code;\r\n\r\n val.model = this.model;\r\n val.parent = this.parent;\r\n val.federationGuid = this.federationGuid;\r\n val.userLabel = this.userLabel;\r\n return val;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"EntityState.js","sourceRoot":"","sources":["../../src/EntityState.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAc,IAAI,EAAc,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,IAAI,EAA6B,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGrF;;;GAGG;AACH,MAAM,OAAO,WAAW;IA2BtB;;;;OAIG;IACH,YAAY,KAAkB,EAAE,MAAwB,EAAE,MAAoB;QAC5E,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAC1F,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,iCAAiC;IACvI,CAAC;IApCD;;OAEG;IACI,MAAM,KAAK,UAAU,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;IAEpD,IAAY,KAAK,KAAyB,OAAO,IAAI,CAAC,WAAiC,CAAC,CAAC,CAAC;IAE1F;;;;OAIG;IACI,MAAM,KAAK,SAAS,KAAK,OAAO,QAAQ,CAAC,CAAC,CAAC;IAElD,4DAA4D;IAC5D,IAAW,SAAS,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAuB/D,gBAAgB;IACT,MAAM;QACX,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACvC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC;YACpE,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,OAAO,GAAG,CAAC;IACb,CAAC;IAED,+DAA+D;IACxD,MAAM,CAAC,KAAW,IAAa,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAEhH,mDAAmD;IAC5C,KAAK,CAAC,MAAyB,IAAU,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAS,CAAC,CAAC,CAAC;IAEpI,kFAAkF;IAC3E,MAAM,KAAK,aAAa,KAAa,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;CAC7F;AAED;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,WAAW;IAe3C,YAAY,KAAmB,EAAE,MAAwB;QACvD,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,SAAS,KAAK,KAAK,CAAC,cAAc;YACpC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;QAC7C,IAAI,SAAS,KAAK,KAAK,CAAC,SAAS;YAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IACrC,CAAC;IAvBD,gBAAgB;IACT,MAAM,KAAc,SAAS,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;IAwB5D;;OAEG;IACa,MAAM;QACpB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAkB,CAAC;QAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9B,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACzC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,OAAO,GAAG,CAAC;IACb,CAAC;CACF","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 ElementState\r\n */\r\n\r\nimport { GuidString, Id64, Id64String } from \"@itwin/core-bentley\";\r\nimport { Code, ElementProps, EntityProps, RelatedElement } from \"@itwin/core-common\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\n\r\n/** The \"state\" of an Entity as represented in a web browser. Every subclass of EntityState handles one BIS class.\r\n * @public\r\n * @extensions\r\n */\r\nexport class EntityState implements EntityProps {\r\n /** The name of the BIS schema for this class.\r\n * @note Subclasses from other than the BisCore domain must override the static member \"schemaName\" with their schema name.\r\n */\r\n public static get schemaName() { return \"BisCore\"; }\r\n\r\n private get _ctor(): typeof EntityState { return this.constructor as typeof EntityState; }\r\n\r\n /** The name of the BIS class associated with this class.\r\n * @note Every subclass of EntityState **MUST** override this method to identify its BIS class.\r\n * Failure to do so will ordinarily result in an error when the class is registered, since there may only\r\n * be one JavaScript class for a given BIS class (usually the errant class will collide with its superclass.)\r\n */\r\n public static get className() { return \"Entity\"; }\r\n\r\n /** The name of the BIS class associated with this class. */\r\n public get className(): string { return this._ctor.className; }\r\n\r\n /** The Id of this Entity. May be invalid if the Entity has not yet been saved in the database. */\r\n public readonly id: Id64String;\r\n /** The iModel from which this Entity was loaded */\r\n public readonly iModel: IModelConnection;\r\n /** The full class name in the form \"schema:class\". */\r\n public readonly classFullName: string;\r\n /** Optional [json properties]($docs/bis/intro/element-fundamentals.md#jsonproperties) of this Entity. */\r\n public readonly jsonProperties: { [key: string]: any };\r\n\r\n /** Constructor for EntityState\r\n * @param props the properties of the Entity for this EntityState\r\n * @param iModel the iModel from which this EntityState is to be constructed\r\n * @param _state source EntityState for clone\r\n */\r\n constructor(props: EntityProps, iModel: IModelConnection, _state?: EntityState) {\r\n this.classFullName = props.classFullName ? props.classFullName : this._ctor.classFullName;\r\n this.iModel = iModel;\r\n this.id = Id64.fromJSON(props.id);\r\n this.jsonProperties = props.jsonProperties ? JSON.parse(JSON.stringify(props.jsonProperties)) : {}; // make sure we have our own copy\r\n }\r\n\r\n /** @internal */\r\n public toJSON(): EntityProps {\r\n const val: any = {};\r\n val.classFullName = this.classFullName;\r\n if (Id64.isValid(this.id))\r\n val.id = this.id;\r\n if (this.jsonProperties && Object.keys(this.jsonProperties).length > 0)\r\n val.jsonProperties = this.jsonProperties;\r\n return val;\r\n }\r\n\r\n /** Return true if this EntityState is equal to another one. */\r\n public equals(other: this): boolean { return JSON.stringify(this.toJSON()) === JSON.stringify(other.toJSON()); }\r\n\r\n /** Make an independent copy of this EntityState */\r\n public clone(iModel?: IModelConnection): this { return new this._ctor(this.toJSON(), iModel ? iModel : this.iModel, this) as this; }\r\n\r\n /** Get full BIS class name of this Entity in the form \"SchemaName:ClassName\". */\r\n public static get classFullName(): string { return `${this.schemaName}:${this.className}`; }\r\n}\r\n\r\n/** The \"state\" of an Element as represented in a web browser.\r\n * @public\r\n * @extensions\r\n */\r\nexport class ElementState extends EntityState implements ElementProps {\r\n /** @internal */\r\n public static override get className() { return \"Element\"; }\r\n\r\n /** The ModelId of the [Model]($docs/bis/intro/model-fundamentals.md) containing this element */\r\n public readonly model: Id64String;\r\n /** The [Code]($docs/bis/intro/codes.md) for this element */\r\n public readonly code: Code;\r\n /** The parent Element of this, or undefined if no parent. */\r\n public readonly parent?: RelatedElement;\r\n /** A [FederationGuid]($docs/bis/intro/element-fundamentals.md#federationguid) assigned to this element by some other federated database */\r\n public readonly federationGuid?: GuidString;\r\n /** A [user-assigned label]($docs/bis/intro/element-fundamentals.md#userlabel) for this element. */\r\n public readonly userLabel?: string;\r\n\r\n constructor(props: ElementProps, iModel: IModelConnection) {\r\n super(props, iModel);\r\n this.code = Code.fromJSON(props.code);\r\n this.model = RelatedElement.idFromJson(props.model);\r\n this.parent = RelatedElement.fromJSON(props.parent);\r\n if (undefined !== props.federationGuid)\r\n this.federationGuid = props.federationGuid;\r\n if (undefined !== props.userLabel)\r\n this.userLabel = props.userLabel;\r\n }\r\n\r\n /** Obtain this element's JSON representation. Subclasses of ElementState typically override this method with a more\r\n * specific return type.\r\n */\r\n public override toJSON(): ElementProps {\r\n const val = super.toJSON() as ElementProps;\r\n if (Id64.isValid(this.code.spec))\r\n val.code = this.code;\r\n\r\n val.model = this.model;\r\n val.parent = this.parent;\r\n val.federationGuid = this.federationGuid;\r\n val.userLabel = this.userLabel;\r\n return val;\r\n }\r\n}\r\n"]}
@@ -10,6 +10,7 @@ import { FeatureSymbology } from "./render/FeatureSymbology";
10
10
  *
11
11
  * @see [[Viewport.addFeatureOverrideProvider]] to register a provider with a viewport.
12
12
  * @public
13
+ * @extensions
13
14
  */
14
15
  export interface FeatureOverrideProvider {
15
16
  /** Add to the supplied overrides any symbology overrides to be applied to the specified viewport. */
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureOverrideProvider.d.ts","sourceRoot":"","sources":["../../src/FeatureOverrideProvider.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACtC,qGAAqG;IACrG,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;CACtF"}
1
+ {"version":3,"file":"FeatureOverrideProvider.d.ts","sourceRoot":"","sources":["../../src/FeatureOverrideProvider.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;;;;;;;GAQG;AACH,MAAM,WAAW,uBAAuB;IACtC,qGAAqG;IACrG,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;CACtF"}
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureOverrideProvider.js","sourceRoot":"","sources":["../../src/FeatureOverrideProvider.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","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 { Viewport } from \"./Viewport\";\r\nimport { FeatureSymbology } from \"./render/FeatureSymbology\";\r\n\r\n/** An object that customizes the appearance of [Feature]($common)s within a [[Viewport]] using [[FeatureSymbology.Overrides]].\r\n * When the viewport needs to recreate the symbology overrides, it invokes the provider's [[addFeatureOverrides]] method.\r\n * If necessary - for example, because of changes to some state from which the provider derives the overrides - the provider\r\n * can request that the viewport recreate the overrides by calling [[Viewport.setFeatureOverrideProviderChanged]].\r\n *\r\n * @see [[Viewport.addFeatureOverrideProvider]] to register a provider with a viewport.\r\n * @public\r\n */\r\nexport interface FeatureOverrideProvider {\r\n /** Add to the supplied overrides any symbology overrides to be applied to the specified viewport. */\r\n addFeatureOverrides(overrides: FeatureSymbology.Overrides, viewport: Viewport): void;\r\n}\r\n"]}
1
+ {"version":3,"file":"FeatureOverrideProvider.js","sourceRoot":"","sources":["../../src/FeatureOverrideProvider.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","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 { Viewport } from \"./Viewport\";\r\nimport { FeatureSymbology } from \"./render/FeatureSymbology\";\r\n\r\n/** An object that customizes the appearance of [Feature]($common)s within a [[Viewport]] using [[FeatureSymbology.Overrides]].\r\n * When the viewport needs to recreate the symbology overrides, it invokes the provider's [[addFeatureOverrides]] method.\r\n * If necessary - for example, because of changes to some state from which the provider derives the overrides - the provider\r\n * can request that the viewport recreate the overrides by calling [[Viewport.setFeatureOverrideProviderChanged]].\r\n *\r\n * @see [[Viewport.addFeatureOverrideProvider]] to register a provider with a viewport.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface FeatureOverrideProvider {\r\n /** Add to the supplied overrides any symbology overrides to be applied to the specified viewport. */\r\n addFeatureOverrides(overrides: FeatureSymbology.Overrides, viewport: Viewport): void;\r\n}\r\n"]}
@@ -4,6 +4,7 @@
4
4
  import { BeDuration, Mutable } from "@itwin/core-bentley";
5
5
  /** As part of [[FlashSettings]], describes how geometry is flashed.
6
6
  * @public
7
+ * @extensions
7
8
  */
8
9
  export declare enum FlashMode {
9
10
  /** The color of the geometry is mixed with the hilite color. */
@@ -16,6 +17,7 @@ export declare enum FlashMode {
16
17
  /** Options used to construct or clone a [[FlashSettings]]. All properties are mutable and optional; those left undefined receive their default
17
18
  * values.
18
19
  * @public
20
+ * @extensions
19
21
  */
20
22
  export declare type FlashSettingsOptions = Mutable<Partial<FlashSettings>>;
21
23
  /** Settings that control how geometry is "flashed" when hovered over in a [[Viewport]].
@@ -28,6 +30,7 @@ export declare type FlashSettingsOptions = Mutable<Partial<FlashSettings>>;
28
30
  * @see [[Viewport.flashSettings]] to customize the flash behavior for a viewport.
29
31
  * @see [[Viewport.hilite]] to customize the hilite color used by [[FlashMode.Hilite]].
30
32
  * @public
33
+ * @extensions
31
34
  */
32
35
  export declare class FlashSettings {
33
36
  /** The duration in seconds over which the flash effect increases from zero to [[maxIntensity]], in [0..10].
@@ -1 +1 @@
1
- {"version":3,"file":"FlashSettings.d.ts","sourceRoot":"","sources":["../../src/FlashSettings.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;GAEG;AACH,oBAAY,SAAS;IACnB,gEAAgE;IAChE,MAAM,IAAA;IACN;;OAEG;IACH,QAAQ,IAAA;CACT;AAED;;;GAGG;AACH,oBAAY,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;AAEnE;;;;;;;;;;GAUG;AACH,qBAAa,aAAa;IACxB;;;OAGG;IACH,SAAgB,QAAQ,EAAE,UAAU,CAAC;IACrC;;;;;;OAMG;IACH,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC;;OAEG;IACH,SAAgB,OAAO,EAAE,SAAS,CAAC;IAEnC;;;;;;OAMG;gBACgB,OAAO,CAAC,EAAE,oBAAoB;IAkBjD;;;;OAIG;IACI,KAAK,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,aAAa;CAM5D"}
1
+ {"version":3,"file":"FlashSettings.d.ts","sourceRoot":"","sources":["../../src/FlashSettings.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;GAGG;AACH,oBAAY,SAAS;IACnB,gEAAgE;IAChE,MAAM,IAAA;IACN;;OAEG;IACH,QAAQ,IAAA;CACT;AAED;;;;GAIG;AACH,oBAAY,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;AAEnE;;;;;;;;;;;GAWG;AACH,qBAAa,aAAa;IACxB;;;OAGG;IACH,SAAgB,QAAQ,EAAE,UAAU,CAAC;IACrC;;;;;;OAMG;IACH,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC;;OAEG;IACH,SAAgB,OAAO,EAAE,SAAS,CAAC;IAEnC;;;;;;OAMG;gBACgB,OAAO,CAAC,EAAE,oBAAoB;IAkBjD;;;;OAIG;IACI,KAAK,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,aAAa;CAM5D"}
@@ -8,6 +8,7 @@
8
8
  import { BeDuration } from "@itwin/core-bentley";
9
9
  /** As part of [[FlashSettings]], describes how geometry is flashed.
10
10
  * @public
11
+ * @extensions
11
12
  */
12
13
  export var FlashMode;
13
14
  (function (FlashMode) {
@@ -28,6 +29,7 @@ export var FlashMode;
28
29
  * @see [[Viewport.flashSettings]] to customize the flash behavior for a viewport.
29
30
  * @see [[Viewport.hilite]] to customize the hilite color used by [[FlashMode.Hilite]].
30
31
  * @public
32
+ * @extensions
31
33
  */
32
34
  export class FlashSettings {
33
35
  /** Construct new flash settings.
@@ -1 +1 @@
1
- {"version":3,"file":"FlashSettings.js","sourceRoot":"","sources":["../../src/FlashSettings.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAW,MAAM,qBAAqB,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAN,IAAY,SAOX;AAPD,WAAY,SAAS;IACnB,gEAAgE;IAChE,6CAAM,CAAA;IACN;;OAEG;IACH,iDAAQ,CAAA;AACV,CAAC,EAPW,SAAS,KAAT,SAAS,QAOpB;AAQD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,aAAa;IAmBxB;;;;;;OAMG;IACH,YAAmB,OAA8B;;QAC/C,IAAI,CAAC,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,MAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC;QAE7F,MAAM,YAAY,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,mCAAI,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;QAE3D,IAAI,QAAQ,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC;QACjC,IAAI,QAAQ,EAAE;YACZ,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;YACnE,IAAI,EAAE,KAAK,QAAQ,CAAC,YAAY;gBAC9B,QAAQ,GAAG,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;SAC9C;aAAM;YACL,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACzC;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAA8B;QACzC,IAAI,CAAC,OAAO;YACV,OAAO,IAAI,CAAC;QAEd,OAAO,IAAI,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;CACF","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 Rendering\r\n */\r\n\r\nimport { BeDuration, Mutable } from \"@itwin/core-bentley\";\r\n\r\n/** As part of [[FlashSettings]], describes how geometry is flashed.\r\n * @public\r\n */\r\nexport enum FlashMode {\r\n /** The color of the geometry is mixed with the hilite color. */\r\n Hilite,\r\n /** The color of the geometry is brightened. Applicable only to lit geometry - i.e., meshes displayed in a view with [RenderMode.SmoothShade]($common)\r\n * and lighting enabled.\r\n */\r\n Brighten,\r\n}\r\n\r\n/** Options used to construct or clone a [[FlashSettings]]. All properties are mutable and optional; those left undefined receive their default\r\n * values.\r\n * @public\r\n */\r\nexport type FlashSettingsOptions = Mutable<Partial<FlashSettings>>;\r\n\r\n/** Settings that control how geometry is \"flashed\" when hovered over in a [[Viewport]].\r\n * When the user hovers the mouse cursor over an element (or other piece of geometry, like a reality mesh), a [[Tool]] visually indicates\r\n * that it can interact with that geometry by \"flashing\" it. Flashed geometry changes color in one of the following two ways:\r\n * - By mixing the viewport's hilite color as specified by [[Viewport.hilite]] with the geometry's own color; or\r\n * - By brightening the geometry's own color (for lit geometry only - i.e., meshes displayed in a view with lighting enabled).\r\n * The flash effect starts out at an intensity of zero and increases linearly over the period of time specified by [[duration]] until\r\n * [[maxIntensity]] is reached.\r\n * @see [[Viewport.flashSettings]] to customize the flash behavior for a viewport.\r\n * @see [[Viewport.hilite]] to customize the hilite color used by [[FlashMode.Hilite]].\r\n * @public\r\n */\r\nexport class FlashSettings {\r\n /** The duration in seconds over which the flash effect increases from zero to [[maxIntensity]], in [0..10].\r\n * Default value: 0.25 seconds.\r\n * Values outside of [0..10] are clamped to that range.\r\n */\r\n public readonly duration: BeDuration;\r\n /** The maximum intensity of the flash effect, after [[duration]] seconds have elapsed, in [0..1].\r\n * For [[FlashMode.Brighten]] this indicates how much brighter the the geometry will be.\r\n * For [[FlashMode.Hilite]] this indicates the ratio of the hilite color to the geometry's own color - i.e., a max intensity of 1.0 causes\r\n * the geometry to display entirely in the hilite color at its maximum.\r\n * Default value: 1.0.\r\n * Values outside of [0..1] are clamped to that range.\r\n */\r\n public readonly maxIntensity: number;\r\n /** Specifies how lit geometry (that is, meshes displayed in a view with lighting enabled) is flashed.\r\n * Default value: [[FlashMode.Brighten]].\r\n */\r\n public readonly litMode: FlashMode;\r\n\r\n /** Construct new flash settings.\r\n * @param options If supplied, overrides specified default values.\r\n * Example: to change [[duration]] to 1 second and use default [[maxIntensity]] and [[litMode]]:\r\n * ```ts\r\n * const settings = new FlashSettings({ duration: BeDuration.fromSeconds(1) });\r\n * ```\r\n */\r\n public constructor(options?: FlashSettingsOptions) {\r\n this.litMode = options?.litMode === FlashMode.Hilite ? FlashMode.Hilite : FlashMode.Brighten;\r\n\r\n const maxIntensity = options?.maxIntensity ?? 1;\r\n this.maxIntensity = Math.min(1, Math.max(0, maxIntensity));\r\n\r\n let duration = options?.duration;\r\n if (duration) {\r\n const ms = Math.max(0, Math.min(10 * 1000, duration.milliseconds));\r\n if (ms !== duration.milliseconds)\r\n duration = BeDuration.fromMilliseconds(ms);\r\n } else {\r\n duration = BeDuration.fromSeconds(0.25);\r\n }\r\n\r\n this.duration = duration;\r\n }\r\n\r\n /** Create a copy of these settings identical except for properties explicitly specified by `options`.\r\n * @param options Overrides selected properties of these settings. Any property not supplied will retain its current value. Any property\r\n * explicitly set to `undefined` will receive its default value.\r\n * @returns A copy of these settings identical except as specified by `options`.\r\n */\r\n public clone(options?: FlashSettingsOptions): FlashSettings {\r\n if (!options)\r\n return this;\r\n\r\n return new FlashSettings({ ...this, ...options });\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"FlashSettings.js","sourceRoot":"","sources":["../../src/FlashSettings.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAW,MAAM,qBAAqB,CAAC;AAE1D;;;GAGG;AACH,MAAM,CAAN,IAAY,SAOX;AAPD,WAAY,SAAS;IACnB,gEAAgE;IAChE,6CAAM,CAAA;IACN;;OAEG;IACH,iDAAQ,CAAA;AACV,CAAC,EAPW,SAAS,KAAT,SAAS,QAOpB;AASD;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,aAAa;IAmBxB;;;;;;OAMG;IACH,YAAmB,OAA8B;;QAC/C,IAAI,CAAC,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,MAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC;QAE7F,MAAM,YAAY,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,mCAAI,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;QAE3D,IAAI,QAAQ,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC;QACjC,IAAI,QAAQ,EAAE;YACZ,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;YACnE,IAAI,EAAE,KAAK,QAAQ,CAAC,YAAY;gBAC9B,QAAQ,GAAG,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;SAC9C;aAAM;YACL,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACzC;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAA8B;QACzC,IAAI,CAAC,OAAO;YACV,OAAO,IAAI,CAAC;QAEd,OAAO,IAAI,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;CACF","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 Rendering\r\n */\r\n\r\nimport { BeDuration, Mutable } from \"@itwin/core-bentley\";\r\n\r\n/** As part of [[FlashSettings]], describes how geometry is flashed.\r\n * @public\r\n * @extensions\r\n */\r\nexport enum FlashMode {\r\n /** The color of the geometry is mixed with the hilite color. */\r\n Hilite,\r\n /** The color of the geometry is brightened. Applicable only to lit geometry - i.e., meshes displayed in a view with [RenderMode.SmoothShade]($common)\r\n * and lighting enabled.\r\n */\r\n Brighten,\r\n}\r\n\r\n/** Options used to construct or clone a [[FlashSettings]]. All properties are mutable and optional; those left undefined receive their default\r\n * values.\r\n * @public\r\n * @extensions\r\n */\r\nexport type FlashSettingsOptions = Mutable<Partial<FlashSettings>>;\r\n\r\n/** Settings that control how geometry is \"flashed\" when hovered over in a [[Viewport]].\r\n * When the user hovers the mouse cursor over an element (or other piece of geometry, like a reality mesh), a [[Tool]] visually indicates\r\n * that it can interact with that geometry by \"flashing\" it. Flashed geometry changes color in one of the following two ways:\r\n * - By mixing the viewport's hilite color as specified by [[Viewport.hilite]] with the geometry's own color; or\r\n * - By brightening the geometry's own color (for lit geometry only - i.e., meshes displayed in a view with lighting enabled).\r\n * The flash effect starts out at an intensity of zero and increases linearly over the period of time specified by [[duration]] until\r\n * [[maxIntensity]] is reached.\r\n * @see [[Viewport.flashSettings]] to customize the flash behavior for a viewport.\r\n * @see [[Viewport.hilite]] to customize the hilite color used by [[FlashMode.Hilite]].\r\n * @public\r\n * @extensions\r\n */\r\nexport class FlashSettings {\r\n /** The duration in seconds over which the flash effect increases from zero to [[maxIntensity]], in [0..10].\r\n * Default value: 0.25 seconds.\r\n * Values outside of [0..10] are clamped to that range.\r\n */\r\n public readonly duration: BeDuration;\r\n /** The maximum intensity of the flash effect, after [[duration]] seconds have elapsed, in [0..1].\r\n * For [[FlashMode.Brighten]] this indicates how much brighter the the geometry will be.\r\n * For [[FlashMode.Hilite]] this indicates the ratio of the hilite color to the geometry's own color - i.e., a max intensity of 1.0 causes\r\n * the geometry to display entirely in the hilite color at its maximum.\r\n * Default value: 1.0.\r\n * Values outside of [0..1] are clamped to that range.\r\n */\r\n public readonly maxIntensity: number;\r\n /** Specifies how lit geometry (that is, meshes displayed in a view with lighting enabled) is flashed.\r\n * Default value: [[FlashMode.Brighten]].\r\n */\r\n public readonly litMode: FlashMode;\r\n\r\n /** Construct new flash settings.\r\n * @param options If supplied, overrides specified default values.\r\n * Example: to change [[duration]] to 1 second and use default [[maxIntensity]] and [[litMode]]:\r\n * ```ts\r\n * const settings = new FlashSettings({ duration: BeDuration.fromSeconds(1) });\r\n * ```\r\n */\r\n public constructor(options?: FlashSettingsOptions) {\r\n this.litMode = options?.litMode === FlashMode.Hilite ? FlashMode.Hilite : FlashMode.Brighten;\r\n\r\n const maxIntensity = options?.maxIntensity ?? 1;\r\n this.maxIntensity = Math.min(1, Math.max(0, maxIntensity));\r\n\r\n let duration = options?.duration;\r\n if (duration) {\r\n const ms = Math.max(0, Math.min(10 * 1000, duration.milliseconds));\r\n if (ms !== duration.milliseconds)\r\n duration = BeDuration.fromMilliseconds(ms);\r\n } else {\r\n duration = BeDuration.fromSeconds(0.25);\r\n }\r\n\r\n this.duration = duration;\r\n }\r\n\r\n /** Create a copy of these settings identical except for properties explicitly specified by `options`.\r\n * @param options Overrides selected properties of these settings. Any property not supplied will retain its current value. Any property\r\n * explicitly set to `undefined` will receive its default value.\r\n * @returns A copy of these settings identical except as specified by `options`.\r\n */\r\n public clone(options?: FlashSettingsOptions): FlashSettings {\r\n if (!options)\r\n return this;\r\n\r\n return new FlashSettings({ ...this, ...options });\r\n }\r\n}\r\n"]}
@@ -3,7 +3,10 @@
3
3
  */
4
4
  import { AccessToken, GuidString } from "@itwin/core-bentley";
5
5
  import { ChangesetIndexAndId, IModelVersion } from "@itwin/core-common";
6
- /** @public */
6
+ /**
7
+ * @public
8
+ * @extensions
9
+ */
7
10
  export interface IModelIdArg {
8
11
  iModelId: GuidString;
9
12
  accessToken: AccessToken;
@@ -1 +1 @@
1
- {"version":3,"file":"FrontendHubAccess.d.ts","sourceRoot":"","sources":["../../src/FrontendHubAccess.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExE,cAAc;AACd,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,UAAU,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,cAAc;AACd,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACnE,uBAAuB,CAAC,GAAG,EAAE,WAAW,GAAG;QAAE,OAAO,EAAE,aAAa,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrG;;;OAGG;IACH,4BAA4B,CAAC,GAAG,EAAE,WAAW,GAAG;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACzG"}
1
+ {"version":3,"file":"FrontendHubAccess.d.ts","sourceRoot":"","sources":["../../src/FrontendHubAccess.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExE;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,UAAU,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,cAAc;AACd,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACnE,uBAAuB,CAAC,GAAG,EAAE,WAAW,GAAG;QAAE,OAAO,EAAE,aAAa,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrG;;;OAGG;IACH,4BAA4B,CAAC,GAAG,EAAE,WAAW,GAAG;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACzG"}
@@ -1 +1 @@
1
- {"version":3,"file":"FrontendHubAccess.js","sourceRoot":"","sources":["../../src/FrontendHubAccess.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","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 HubAccess\r\n */\r\n\r\nimport { AccessToken, GuidString } from \"@itwin/core-bentley\";\r\nimport { ChangesetIndexAndId, IModelVersion } from \"@itwin/core-common\";\r\n\r\n/** @public */\r\nexport interface IModelIdArg {\r\n iModelId: GuidString;\r\n accessToken: AccessToken;\r\n}\r\n\r\n/** @public */\r\nexport interface FrontendHubAccess {\r\n getLatestChangeset(arg: IModelIdArg): Promise<ChangesetIndexAndId>;\r\n getChangesetFromVersion(arg: IModelIdArg & { version: IModelVersion }): Promise<ChangesetIndexAndId>;\r\n /**\r\n * Fetches the changeset with the given named version.\r\n * @param versionName If omitted will default to the latest named version.\r\n */\r\n getChangesetFromNamedVersion(arg: IModelIdArg & { versionName?: string }): Promise<ChangesetIndexAndId>;\r\n}\r\n"]}
1
+ {"version":3,"file":"FrontendHubAccess.js","sourceRoot":"","sources":["../../src/FrontendHubAccess.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","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 HubAccess\r\n */\r\n\r\nimport { AccessToken, GuidString } from \"@itwin/core-bentley\";\r\nimport { ChangesetIndexAndId, IModelVersion } from \"@itwin/core-common\";\r\n\r\n/**\r\n * @public\r\n * @extensions\r\n */\r\nexport interface IModelIdArg {\r\n iModelId: GuidString;\r\n accessToken: AccessToken;\r\n}\r\n\r\n/** @public */\r\nexport interface FrontendHubAccess {\r\n getLatestChangeset(arg: IModelIdArg): Promise<ChangesetIndexAndId>;\r\n getChangesetFromVersion(arg: IModelIdArg & { version: IModelVersion }): Promise<ChangesetIndexAndId>;\r\n /**\r\n * Fetches the changeset with the given named version.\r\n * @param versionName If omitted will default to the latest named version.\r\n */\r\n getChangesetFromNamedVersion(arg: IModelIdArg & { versionName?: string }): Promise<ChangesetIndexAndId>;\r\n}\r\n"]}
@@ -5,6 +5,7 @@
5
5
  * @note All logger categories in this package start with the `core-frontend` prefix.
6
6
  * @see [Logger]($bentley)
7
7
  * @public
8
+ * @extensions
8
9
  */
9
10
  export declare enum FrontendLoggerCategory {
10
11
  Package = "core-frontend",
@@ -25,6 +26,10 @@ export declare enum FrontendLoggerCategory {
25
26
  */
26
27
  RealityData = "core-frontend.RealityData",
27
28
  /** The logger category used for creating and displaying graphics. */
28
- Render = "core-frontend.Render"
29
+ Render = "core-frontend.Render",
30
+ /** The logger category used for loading and executing Extensions
31
+ * @alpha
32
+ */
33
+ Extensions = "core-frontend.Extensions"
29
34
  }
30
35
  //# sourceMappingURL=FrontendLoggerCategory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FrontendLoggerCategory.d.ts","sourceRoot":"","sources":["../../src/FrontendLoggerCategory.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;;GAIG;AACH,oBAAY,sBAAsB;IAChC,OAAO,kBAAkB;IAEzB,4FAA4F;IAC5F,gBAAgB,mCAAmC;IAEnD,6CAA6C;IAC7C,SAAS,4BAA4B;IAErC,4DAA4D;IAC5D,OAAO,0BAA0B;IAEjC;;;OAGG;IACH,eAAe,kCAAkC;IACjD;;;OAGG;IACH,WAAW,8BAA8B;IAEzC,qEAAqE;IACrE,MAAM,yBAAyB;CAChC"}
1
+ {"version":3,"file":"FrontendLoggerCategory.d.ts","sourceRoot":"","sources":["../../src/FrontendLoggerCategory.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;;;GAKG;AACH,oBAAY,sBAAsB;IAChC,OAAO,kBAAkB;IAEzB,4FAA4F;IAC5F,gBAAgB,mCAAmC;IAEnD,6CAA6C;IAC7C,SAAS,4BAA4B;IAErC,4DAA4D;IAC5D,OAAO,0BAA0B;IAEjC;;;OAGG;IACH,eAAe,kCAAkC;IACjD;;;OAGG;IACH,WAAW,8BAA8B;IAEzC,qEAAqE;IACrE,MAAM,yBAAyB;IAE/B;;OAEG;IACH,UAAU,6BAA6B;CACxC"}
@@ -9,6 +9,7 @@
9
9
  * @note All logger categories in this package start with the `core-frontend` prefix.
10
10
  * @see [Logger]($bentley)
11
11
  * @public
12
+ * @extensions
12
13
  */
13
14
  export var FrontendLoggerCategory;
14
15
  (function (FrontendLoggerCategory) {
@@ -31,5 +32,9 @@ export var FrontendLoggerCategory;
31
32
  FrontendLoggerCategory["RealityData"] = "core-frontend.RealityData";
32
33
  /** The logger category used for creating and displaying graphics. */
33
34
  FrontendLoggerCategory["Render"] = "core-frontend.Render";
35
+ /** The logger category used for loading and executing Extensions
36
+ * @alpha
37
+ */
38
+ FrontendLoggerCategory["Extensions"] = "core-frontend.Extensions";
34
39
  })(FrontendLoggerCategory || (FrontendLoggerCategory = {}));
35
40
  //# sourceMappingURL=FrontendLoggerCategory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FrontendLoggerCategory.js","sourceRoot":"","sources":["../../src/FrontendLoggerCategory.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH;;;;GAIG;AACH,MAAM,CAAN,IAAY,sBAyBX;AAzBD,WAAY,sBAAsB;IAChC,mDAAyB,CAAA;IAEzB,4FAA4F;IAC5F,6EAAmD,CAAA;IAEnD,6CAA6C;IAC7C,+DAAqC,CAAA;IAErC,4DAA4D;IAC5D,2DAAiC,CAAA;IAEjC;;;OAGG;IACH,2EAAiD,CAAA;IACjD;;;OAGG;IACH,mEAAyC,CAAA;IAEzC,qEAAqE;IACrE,yDAA+B,CAAA;AACjC,CAAC,EAzBW,sBAAsB,KAAtB,sBAAsB,QAyBjC","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 Logging\r\n */\r\n\r\n/** Logger categories used by this package\r\n * @note All logger categories in this package start with the `core-frontend` prefix.\r\n * @see [Logger]($bentley)\r\n * @public\r\n */\r\nexport enum FrontendLoggerCategory {\r\n Package = \"core-frontend\",\r\n\r\n /** The logger category used by the [[IModelConnection]] class and other related classes. */\r\n IModelConnection = \"core-frontend.IModelConnection\",\r\n\r\n /** The logger category used for NativeApp */\r\n NativeApp = \"core-frontend.NativeApp\",\r\n\r\n /** The logger category used for making network requests. */\r\n Request = \"core-frontend.Request\",\r\n\r\n /**\r\n * The logger category used by FeatureTrackingManager\r\n * @alpha\r\n */\r\n FeatureTracking = \"core-frontend.FeatureTracking\",\r\n /**\r\n * The logger category used by RealityData\r\n * @alpha\r\n */\r\n RealityData = \"core-frontend.RealityData\",\r\n\r\n /** The logger category used for creating and displaying graphics. */\r\n Render = \"core-frontend.Render\",\r\n}\r\n"]}
1
+ {"version":3,"file":"FrontendLoggerCategory.js","sourceRoot":"","sources":["../../src/FrontendLoggerCategory.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH;;;;;GAKG;AACH,MAAM,CAAN,IAAY,sBA8BX;AA9BD,WAAY,sBAAsB;IAChC,mDAAyB,CAAA;IAEzB,4FAA4F;IAC5F,6EAAmD,CAAA;IAEnD,6CAA6C;IAC7C,+DAAqC,CAAA;IAErC,4DAA4D;IAC5D,2DAAiC,CAAA;IAEjC;;;OAGG;IACH,2EAAiD,CAAA;IACjD;;;OAGG;IACH,mEAAyC,CAAA;IAEzC,qEAAqE;IACrE,yDAA+B,CAAA;IAE/B;;OAEG;IACH,iEAAuC,CAAA;AACzC,CAAC,EA9BW,sBAAsB,KAAtB,sBAAsB,QA8BjC","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 Logging\r\n */\r\n\r\n/** Logger categories used by this package\r\n * @note All logger categories in this package start with the `core-frontend` prefix.\r\n * @see [Logger]($bentley)\r\n * @public\r\n * @extensions\r\n */\r\nexport enum FrontendLoggerCategory {\r\n Package = \"core-frontend\",\r\n\r\n /** The logger category used by the [[IModelConnection]] class and other related classes. */\r\n IModelConnection = \"core-frontend.IModelConnection\",\r\n\r\n /** The logger category used for NativeApp */\r\n NativeApp = \"core-frontend.NativeApp\",\r\n\r\n /** The logger category used for making network requests. */\r\n Request = \"core-frontend.Request\",\r\n\r\n /**\r\n * The logger category used by FeatureTrackingManager\r\n * @alpha\r\n */\r\n FeatureTracking = \"core-frontend.FeatureTracking\",\r\n /**\r\n * The logger category used by RealityData\r\n * @alpha\r\n */\r\n RealityData = \"core-frontend.RealityData\",\r\n\r\n /** The logger category used for creating and displaying graphics. */\r\n Render = \"core-frontend.Render\",\r\n\r\n /** The logger category used for loading and executing Extensions\r\n * @alpha\r\n */\r\n Extensions = \"core-frontend.Extensions\",\r\n}\r\n"]}
@@ -5,7 +5,9 @@ import { Animator, ViewAnimationOptions } from "./ViewAnimation";
5
5
  import { ScreenViewport } from "./Viewport";
6
6
  import { ViewPose } from "./ViewPose";
7
7
  /** Animates the transition of a [[Viewport]] from one [Frustum]($common) to another. The viewport will render as many frames as necessary during the supplied duration.
8
+ * @see [[Viewport.animateFrustumChange]] to conveniently animate a viewport from one frustum to another.
8
9
  * @public
10
+ * @extensions
9
11
  */
10
12
  export declare class FrustumAnimator implements Animator {
11
13
  options: ViewAnimationOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"FrustumAnimator.d.ts","sourceRoot":"","sources":["../../src/FrustumAnimator.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAc,MAAM,YAAY,CAAC;AAkClD;;GAEG;AACH,qBAAa,eAAgB,YAAW,QAAQ;IAKpB,OAAO,EAAE,oBAAoB;IAJvD,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,SAAS,CAAK;IAEtB,iEAAiE;gBACvC,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ;IA6EjH,gBAAgB;IACT,OAAO;IAOd,gBAAgB;IACT,SAAS;CAOjB"}
1
+ {"version":3,"file":"FrustumAnimator.d.ts","sourceRoot":"","sources":["../../src/FrustumAnimator.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAc,MAAM,YAAY,CAAC;AAkClD;;;;GAIG;AACH,qBAAa,eAAgB,YAAW,QAAQ;IAKpB,OAAO,EAAE,oBAAoB;IAJvD,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,SAAS,CAAK;IAEtB,iEAAiE;gBACvC,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ;IA6EjH,gBAAgB;IACT,OAAO;IAOd,gBAAgB;IACT,SAAS;CAOjB"}
@@ -32,7 +32,9 @@ function interpolateSwingingEye(axes0, eye0, distance0, axes1, eye1, distance1,
32
32
  };
33
33
  }
34
34
  /** Animates the transition of a [[Viewport]] from one [Frustum]($common) to another. The viewport will render as many frames as necessary during the supplied duration.
35
+ * @see [[Viewport.animateFrustumChange]] to conveniently animate a viewport from one frustum to another.
35
36
  * @public
37
+ * @extensions
36
38
  */
37
39
  export class FrustumAnimator {
38
40
  /** Construct an animator that animates from `begin` to `end`. */
@@ -1 +1 @@
1
- {"version":3,"file":"FrustumAnimator.js","sourceRoot":"","sources":["../../src/FrustumAnimator.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 { Angle, Geometry, Matrix3d, Point3d, Range3d, Transform, Vector3d } from \"@itwin/core-geometry\";\r\nimport { Tweens } from \"@itwin/core-common\";\r\nimport { Animator, ViewAnimationOptions } from \"./ViewAnimation\";\r\nimport { ScreenViewport } from \"./Viewport\";\r\nimport { ViewPose, ViewPose3d } from \"./ViewPose\";\r\nimport { ViewState3d } from \"./ViewState\";\r\n/**\r\n * Compute an intermediate eye point as it swings around a moving target with rotating axes and varying distance to target.\r\n * (eye, target, distance) is redundant -- implementation problem is to figure out which to use for compatibility with subsequent view setup.\r\n */\r\nfunction interpolateSwingingEye(\r\n axes0: Matrix3d,\r\n eye0: Point3d,\r\n distance0: number,\r\n axes1: Matrix3d,\r\n eye1: Point3d,\r\n distance1: number,\r\n fraction: number,\r\n axesAtFraction: Matrix3d\r\n): { target: Point3d, eye: Point3d, distance: number } {\r\n const z0 = axes0.rowZ();\r\n const z1 = axes1.rowZ();\r\n const zA = axesAtFraction.rowZ();\r\n // back up from the eye points to the targets.\r\n const target0 = eye0.plusScaled(z0, -distance0);\r\n const target1 = eye1.plusScaled(z1, -distance1);\r\n // RULE: Target point moves by simple interpolation\r\n const targetA = target0.interpolate(fraction, target1);\r\n // RULE: Distance from target to eye is simple interpolation\r\n const distanceA = Geometry.interpolate(distance0, fraction, distance1);\r\n // The interpolated target, interpolated distance, and specified axes give the intermediate eyepoint.\r\n const eyeA = targetA.plusScaled(zA, distanceA);\r\n return {\r\n target: targetA,\r\n eye: eyeA,\r\n distance: distanceA,\r\n };\r\n}\r\n/** Animates the transition of a [[Viewport]] from one [Frustum]($common) to another. The viewport will render as many frames as necessary during the supplied duration.\r\n * @public\r\n */\r\nexport class FrustumAnimator implements Animator {\r\n private _tweens = new Tweens();\r\n private _duration = 0;\r\n\r\n /** Construct an animator that animates from `begin` to `end`. */\r\n public constructor(public options: ViewAnimationOptions, viewport: ScreenViewport, begin: ViewPose, end: ViewPose) {\r\n const settings = ScreenViewport.animation;\r\n const zoomSettings = settings.zoomOut;\r\n\r\n let duration = undefined !== options.animationTime ? options.animationTime : settings.time.normal.milliseconds;\r\n if (duration <= 0 || begin.cameraOn !== end.cameraOn) // no duration means skip animation. We can't animate if the camera toggles.\r\n return;\r\n\r\n this._duration = duration;\r\n let extentBias: Vector3d | undefined;\r\n let eyeBias: Vector3d | undefined;\r\n const zVec = begin.zVec;\r\n const view = viewport.view;\r\n const view3 = view as ViewState3d;\r\n const begin3 = begin as ViewPose3d;\r\n const end3 = end as ViewPose3d;\r\n const beginTarget = begin.target;\r\n const endTarget = end.target;\r\n const axis = end.rotation.multiplyMatrixMatrixInverse(begin.rotation)!.getAxisAndAngleOfRotation(); // axis to rotate begin to get to end\r\n const timing = { fraction: 0.0, height: 0, position: 0 }; // updated by tween.\r\n\r\n // don't do \"zoom out\" if the two views aren't pointing in the same direction, or if they request cancelOnAbort (since that implies that the view\r\n // is a linear interpolation from begin to end), or if it's disabled.\r\n if (zoomSettings.enable && !options.cancelOnAbort && zVec.isAlmostEqual(end.zVec)) {\r\n view.applyPose(end); // start with the pose at the end\r\n const viewTransform = Transform.createOriginAndMatrix(undefined, view.getRotation());\r\n const endRange = Range3d.createTransformedArray(viewTransform, view.calculateFocusCorners()); // get the view-aligned range of the focus plane at the end\r\n const beginRange = Range3d.createTransformedArray(viewTransform, view.applyPose(begin).calculateFocusCorners()); // get the view-aligned range of the focus plane at the beginning\r\n\r\n // do the starting and ending views (plus the margin) overlap? If not we need to zoom out to show how to get from one to the other\r\n const expand = (range: Range3d) => { const r = range.clone(); r.scaleAboutCenterInPlace(zoomSettings.margin); return r; };\r\n if (!expand(beginRange).intersectsRangeXY(expand(endRange))) {\r\n view3.lookAtViewAlignedVolume(beginRange.union(endRange), viewport.viewRect.aspect); // set up a view that would show both extents\r\n duration *= zoomSettings.durationFactor; // increase duration so the zooming isn't too fast\r\n extentBias = view.getExtents().minus(begin.extents); // if the camera is off, the \"bias\" is the amount the union-ed view is larger than the starting view\r\n if (begin.cameraOn)\r\n eyeBias = zVec.scaleToLength(zVec.dotProduct(begin3.camera.eye.vectorTo(view3.camera.eye))); // if the camera is on, the bias is the difference in height of the two eye positions\r\n }\r\n }\r\n\r\n this._tweens.create(timing, {\r\n to: { fraction: 1.0, height: zoomSettings.heights, position: zoomSettings.positions },\r\n duration,\r\n start: true,\r\n easing: options.easingFunction ? options.easingFunction : settings.easing,\r\n interpolation: zoomSettings.interpolation,\r\n onComplete: () =>\r\n viewport.setupFromView(end), // when we're done, set up from final state\r\n onUpdate: () => {\r\n const fraction = extentBias ? timing.position : timing.fraction; // if we're zooming, fraction comes from position interpolation\r\n const rot = Matrix3d.createRotationAroundVector(axis.axis, Angle.createDegrees(fraction * axis.angle.degrees))!.multiplyMatrixMatrix(begin.rotation);\r\n if (begin.cameraOn) {\r\n const newExtents = begin.extents.interpolate(fraction, end.extents);\r\n if (undefined !== eyeBias) {\r\n const eyePoint = begin3.camera.eye.interpolate(fraction, end3.camera.eye);\r\n eyePoint.plusScaled(eyeBias, timing.height, eyePoint);\r\n const targetPoint = eyePoint.plusScaled(rot.getRow(2), -1.0 * (Geometry.interpolate(begin3.camera.focusDist, fraction, end3.camera.focusDist)));\r\n view3.lookAt({ eyePoint, targetPoint, upVector: rot.getRow(1), newExtents });\r\n } else {\r\n const data = interpolateSwingingEye(\r\n begin3.rotation, begin3.camera.eye, begin3.camera.focusDist,\r\n end3.rotation, end3.camera.eye, end3.camera.focusDist, fraction, rot);\r\n view3.lookAt({ eyePoint: data.eye, targetPoint: data.target, upVector: rot.getRow(1), newExtents });\r\n }\r\n } else {\r\n const extents = begin.extents.interpolate(timing.fraction, end.extents);\r\n if (undefined !== extentBias)\r\n extents.plusScaled(extentBias, timing.height, extents); // no camera, zooming out expands extents\r\n view.setExtents(extents);\r\n view.setRotation(rot);\r\n view.setCenter(beginTarget.interpolate(fraction, endTarget)); // must be done last - depends on extents and rotation\r\n }\r\n viewport.setupFromView();\r\n },\r\n });\r\n }\r\n\r\n /** @internal */\r\n public animate() {\r\n const didFinish = !this._tweens.update();\r\n if (didFinish && this.options.animationFinishedCallback)\r\n this.options.animationFinishedCallback(true);\r\n return didFinish;\r\n }\r\n\r\n /** @internal */\r\n public interrupt() {\r\n // We were interrupted. Either go to: the final frame (normally) or, add a small fraction of the total duration (30ms for a .5 second duration) to\r\n // the current time for cancelOnAbort. That makes aborted animations show some progress, as happens when the mouse wheel rolls quickly.\r\n this._tweens.update(this.options.cancelOnAbort ? Date.now() + (this._duration * .06) : Infinity);\r\n if (this.options.animationFinishedCallback)\r\n this.options.animationFinishedCallback(false);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"FrustumAnimator.js","sourceRoot":"","sources":["../../src/FrustumAnimator.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 { Angle, Geometry, Matrix3d, Point3d, Range3d, Transform, Vector3d } from \"@itwin/core-geometry\";\r\nimport { Tweens } from \"@itwin/core-common\";\r\nimport { Animator, ViewAnimationOptions } from \"./ViewAnimation\";\r\nimport { ScreenViewport } from \"./Viewport\";\r\nimport { ViewPose, ViewPose3d } from \"./ViewPose\";\r\nimport { ViewState3d } from \"./ViewState\";\r\n/**\r\n * Compute an intermediate eye point as it swings around a moving target with rotating axes and varying distance to target.\r\n * (eye, target, distance) is redundant -- implementation problem is to figure out which to use for compatibility with subsequent view setup.\r\n */\r\nfunction interpolateSwingingEye(\r\n axes0: Matrix3d,\r\n eye0: Point3d,\r\n distance0: number,\r\n axes1: Matrix3d,\r\n eye1: Point3d,\r\n distance1: number,\r\n fraction: number,\r\n axesAtFraction: Matrix3d\r\n): { target: Point3d, eye: Point3d, distance: number } {\r\n const z0 = axes0.rowZ();\r\n const z1 = axes1.rowZ();\r\n const zA = axesAtFraction.rowZ();\r\n // back up from the eye points to the targets.\r\n const target0 = eye0.plusScaled(z0, -distance0);\r\n const target1 = eye1.plusScaled(z1, -distance1);\r\n // RULE: Target point moves by simple interpolation\r\n const targetA = target0.interpolate(fraction, target1);\r\n // RULE: Distance from target to eye is simple interpolation\r\n const distanceA = Geometry.interpolate(distance0, fraction, distance1);\r\n // The interpolated target, interpolated distance, and specified axes give the intermediate eyepoint.\r\n const eyeA = targetA.plusScaled(zA, distanceA);\r\n return {\r\n target: targetA,\r\n eye: eyeA,\r\n distance: distanceA,\r\n };\r\n}\r\n/** Animates the transition of a [[Viewport]] from one [Frustum]($common) to another. The viewport will render as many frames as necessary during the supplied duration.\r\n * @see [[Viewport.animateFrustumChange]] to conveniently animate a viewport from one frustum to another.\r\n * @public\r\n * @extensions\r\n */\r\nexport class FrustumAnimator implements Animator {\r\n private _tweens = new Tweens();\r\n private _duration = 0;\r\n\r\n /** Construct an animator that animates from `begin` to `end`. */\r\n public constructor(public options: ViewAnimationOptions, viewport: ScreenViewport, begin: ViewPose, end: ViewPose) {\r\n const settings = ScreenViewport.animation;\r\n const zoomSettings = settings.zoomOut;\r\n\r\n let duration = undefined !== options.animationTime ? options.animationTime : settings.time.normal.milliseconds;\r\n if (duration <= 0 || begin.cameraOn !== end.cameraOn) // no duration means skip animation. We can't animate if the camera toggles.\r\n return;\r\n\r\n this._duration = duration;\r\n let extentBias: Vector3d | undefined;\r\n let eyeBias: Vector3d | undefined;\r\n const zVec = begin.zVec;\r\n const view = viewport.view;\r\n const view3 = view as ViewState3d;\r\n const begin3 = begin as ViewPose3d;\r\n const end3 = end as ViewPose3d;\r\n const beginTarget = begin.target;\r\n const endTarget = end.target;\r\n const axis = end.rotation.multiplyMatrixMatrixInverse(begin.rotation)!.getAxisAndAngleOfRotation(); // axis to rotate begin to get to end\r\n const timing = { fraction: 0.0, height: 0, position: 0 }; // updated by tween.\r\n\r\n // don't do \"zoom out\" if the two views aren't pointing in the same direction, or if they request cancelOnAbort (since that implies that the view\r\n // is a linear interpolation from begin to end), or if it's disabled.\r\n if (zoomSettings.enable && !options.cancelOnAbort && zVec.isAlmostEqual(end.zVec)) {\r\n view.applyPose(end); // start with the pose at the end\r\n const viewTransform = Transform.createOriginAndMatrix(undefined, view.getRotation());\r\n const endRange = Range3d.createTransformedArray(viewTransform, view.calculateFocusCorners()); // get the view-aligned range of the focus plane at the end\r\n const beginRange = Range3d.createTransformedArray(viewTransform, view.applyPose(begin).calculateFocusCorners()); // get the view-aligned range of the focus plane at the beginning\r\n\r\n // do the starting and ending views (plus the margin) overlap? If not we need to zoom out to show how to get from one to the other\r\n const expand = (range: Range3d) => { const r = range.clone(); r.scaleAboutCenterInPlace(zoomSettings.margin); return r; };\r\n if (!expand(beginRange).intersectsRangeXY(expand(endRange))) {\r\n view3.lookAtViewAlignedVolume(beginRange.union(endRange), viewport.viewRect.aspect); // set up a view that would show both extents\r\n duration *= zoomSettings.durationFactor; // increase duration so the zooming isn't too fast\r\n extentBias = view.getExtents().minus(begin.extents); // if the camera is off, the \"bias\" is the amount the union-ed view is larger than the starting view\r\n if (begin.cameraOn)\r\n eyeBias = zVec.scaleToLength(zVec.dotProduct(begin3.camera.eye.vectorTo(view3.camera.eye))); // if the camera is on, the bias is the difference in height of the two eye positions\r\n }\r\n }\r\n\r\n this._tweens.create(timing, {\r\n to: { fraction: 1.0, height: zoomSettings.heights, position: zoomSettings.positions },\r\n duration,\r\n start: true,\r\n easing: options.easingFunction ? options.easingFunction : settings.easing,\r\n interpolation: zoomSettings.interpolation,\r\n onComplete: () =>\r\n viewport.setupFromView(end), // when we're done, set up from final state\r\n onUpdate: () => {\r\n const fraction = extentBias ? timing.position : timing.fraction; // if we're zooming, fraction comes from position interpolation\r\n const rot = Matrix3d.createRotationAroundVector(axis.axis, Angle.createDegrees(fraction * axis.angle.degrees))!.multiplyMatrixMatrix(begin.rotation);\r\n if (begin.cameraOn) {\r\n const newExtents = begin.extents.interpolate(fraction, end.extents);\r\n if (undefined !== eyeBias) {\r\n const eyePoint = begin3.camera.eye.interpolate(fraction, end3.camera.eye);\r\n eyePoint.plusScaled(eyeBias, timing.height, eyePoint);\r\n const targetPoint = eyePoint.plusScaled(rot.getRow(2), -1.0 * (Geometry.interpolate(begin3.camera.focusDist, fraction, end3.camera.focusDist)));\r\n view3.lookAt({ eyePoint, targetPoint, upVector: rot.getRow(1), newExtents });\r\n } else {\r\n const data = interpolateSwingingEye(\r\n begin3.rotation, begin3.camera.eye, begin3.camera.focusDist,\r\n end3.rotation, end3.camera.eye, end3.camera.focusDist, fraction, rot);\r\n view3.lookAt({ eyePoint: data.eye, targetPoint: data.target, upVector: rot.getRow(1), newExtents });\r\n }\r\n } else {\r\n const extents = begin.extents.interpolate(timing.fraction, end.extents);\r\n if (undefined !== extentBias)\r\n extents.plusScaled(extentBias, timing.height, extents); // no camera, zooming out expands extents\r\n view.setExtents(extents);\r\n view.setRotation(rot);\r\n view.setCenter(beginTarget.interpolate(fraction, endTarget)); // must be done last - depends on extents and rotation\r\n }\r\n viewport.setupFromView();\r\n },\r\n });\r\n }\r\n\r\n /** @internal */\r\n public animate() {\r\n const didFinish = !this._tweens.update();\r\n if (didFinish && this.options.animationFinishedCallback)\r\n this.options.animationFinishedCallback(true);\r\n return didFinish;\r\n }\r\n\r\n /** @internal */\r\n public interrupt() {\r\n // We were interrupted. Either go to: the final frame (normally) or, add a small fraction of the total duration (30ms for a .5 second duration) to\r\n // the current time for cancelOnAbort. That makes aborted animations show some progress, as happens when the mouse wheel rolls quickly.\r\n this._tweens.update(this.options.cancelOnAbort ? Date.now() + (this._duration * .06) : Infinity);\r\n if (this.options.animationFinishedCallback)\r\n this.options.animationFinishedCallback(false);\r\n }\r\n}\r\n"]}
@@ -18,6 +18,7 @@ export declare class FuzzySearch<T> {
18
18
  }
19
19
  /** Interface implemented by objects returned while iterating through FuzzySearchResults
20
20
  * @public
21
+ * @extensions
21
22
  */
22
23
  export interface FuzzySearchResult<T> {
23
24
  /** Return the current result object */
@@ -1 +1 @@
1
- {"version":3,"file":"FuzzySearch.d.ts","sourceRoot":"","sources":["../../src/FuzzySearch.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,cAAc;AACd,qBAAa,WAAW,CAAC,CAAC;IAExB,wGAAwG;IACjG,4BAA4B,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAa1D,0GAA0G;IACnG,2BAA2B,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAazD;;;;;OAKG;IACI,MAAM,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC;CA8DlG;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,uCAAuC;IACvC,SAAS,IAAI,CAAC,CAAC;IAEf,iDAAiD;IACjD,aAAa,IAAI,MAAM,CAAC;IAExB,qDAAqD;IACrD,eAAe,IAAI,MAAM,CAAC;IAE1B,iIAAiI;IACjI,WAAW,IAAI,OAAO,EAAE,CAAC;CAC1B;AAsCD;;;;GAIG;AACH,qBAAa,kBAAkB,CAAC,CAAC,CAAE,YAAW,QAAQ,CAAC,CAAC,CAAC;IAChD,OAAO,EAAE,GAAG,EAAE,CAAC;gBAEV,OAAO,EAAE,GAAG,EAAE,GAAG,SAAS;IAM/B,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG;IAE/B,IAAW,MAAM,IAAI,MAAM,CAAgC;IAEpD,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,SAAS;CAKxE"}
1
+ {"version":3,"file":"FuzzySearch.d.ts","sourceRoot":"","sources":["../../src/FuzzySearch.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,cAAc;AACd,qBAAa,WAAW,CAAC,CAAC;IAExB,wGAAwG;IACjG,4BAA4B,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAa1D,0GAA0G;IACnG,2BAA2B,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAazD;;;;;OAKG;IACI,MAAM,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC;CA8DlG;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,uCAAuC;IACvC,SAAS,IAAI,CAAC,CAAC;IAEf,iDAAiD;IACjD,aAAa,IAAI,MAAM,CAAC;IAExB,qDAAqD;IACrD,eAAe,IAAI,MAAM,CAAC;IAE1B,iIAAiI;IACjI,WAAW,IAAI,OAAO,EAAE,CAAC;CAC1B;AAsCD;;;;GAIG;AACH,qBAAa,kBAAkB,CAAC,CAAC,CAAE,YAAW,QAAQ,CAAC,CAAC,CAAC;IAChD,OAAO,EAAE,GAAG,EAAE,CAAC;gBAEV,OAAO,EAAE,GAAG,EAAE,GAAG,SAAS;IAM/B,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG;IAE/B,IAAW,MAAM,IAAI,MAAM,CAAgC;IAEpD,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,SAAS;CAKxE"}
@@ -1 +1 @@
1
- {"version":3,"file":"FuzzySearch.js","sourceRoot":"","sources":["../../src/FuzzySearch.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 Tools\r\n */\r\n\r\nimport Fuse from \"fuse.js\";\r\n\r\n/** @public */\r\nexport class FuzzySearch<T> {\r\n\r\n /** Override to provide non-standard FuseOptions for searches where the a single word pattern is used */\r\n public onGetSingleWordSearchOptions(): Fuse.FuseOptions<T> {\r\n return {\r\n shouldSort: true,\r\n threshold: 0.40,\r\n location: 0,\r\n distance: 100,\r\n maxPatternLength: 32,\r\n minMatchCharLength: 2,\r\n includeMatches: true,\r\n includeScore: true,\r\n };\r\n }\r\n\r\n /** Override to provide non-standard FuseOptions for searches where the a multiple word pattern is used */\r\n public onGetMultiWordSearchOptions(): Fuse.FuseOptions<T> {\r\n return {\r\n shouldSort: true,\r\n threshold: 0.40,\r\n tokenize: true,\r\n matchAllTokens: true,\r\n maxPatternLength: 32,\r\n minMatchCharLength: 2,\r\n includeMatches: true,\r\n includeScore: true,\r\n };\r\n }\r\n\r\n /** Call to conduct a fuzzy search of searchedObjects, looking at the 'key' member of each such object\r\n * @param searchedObjects An array of objects to search.\r\n * @param keys The name of the members to search in the searchedObjects.\r\n * @param pattern The pattern for which each searchedObject is searched.\r\n * @return FuzzySearchResults.\r\n */\r\n public search(searchedObjects: T[], keys: Array<keyof T>, pattern: string): FuzzySearchResults<T> {\r\n if (!pattern || pattern.length < 2)\r\n return new FuzzySearchResults<T>(undefined);\r\n\r\n // it is a multi-word pattern if there's a space other than at the end of the pattern.\r\n const spaceIndex: number = pattern.indexOf(\" \");\r\n const multiWord: boolean = (-1 !== spaceIndex) && (spaceIndex !== (pattern.length - 1));\r\n const options: Fuse.FuseOptions<T> = multiWord ? this.onGetMultiWordSearchOptions() : this.onGetSingleWordSearchOptions();\r\n options.keys = keys;\r\n const fuse = new Fuse(searchedObjects, options);\r\n let results: any[] = fuse.search(pattern);\r\n\r\n // We need to set the threshold fairly high to get results when the user misspells words (otherwise they are not returned),\r\n // but doing that results in matches that don't make sense when there are \"good\" matches. So we discard matches where the match\r\n // score increases by a large amount between results.\r\n let checkScoreDelta: boolean = false;\r\n let averageScoreDeltaThreshold = 1;\r\n if (results.length > 30) {\r\n averageScoreDeltaThreshold = ((results[results.length - 1].score - results[0].score) / results.length) * 10;\r\n if (averageScoreDeltaThreshold > 0.01)\r\n checkScoreDelta = true;\r\n }\r\n\r\n // Sometimes fuse returns results in the array where the matches array is empty. That seems like a bug to me, but it happens when\r\n // the input is something like \"fjt\" and the string it matches is \"fit\". If we have more than three actual matches, we just truncate the set when we see one.\r\n // The other use for this loop is to truncate when we see a dramatic increase in the score. The ones after are unlikely\r\n // to be useful, so we truncate the results when we hit that point also.\r\n for (let resultIndex = 0; resultIndex < results.length; resultIndex++) {\r\n const thisResult = results[resultIndex];\r\n if (0 === thisResult.matches.length) {\r\n // here we have a result with no matches. If we have other matches, just discard this and the rest.\r\n if (resultIndex > 2) {\r\n results = results.slice(0, resultIndex);\r\n break;\r\n }\r\n // otherwise we want to keep this result, but we have to add the matched value to the object because we can't get it from the matches array.\r\n // we assume it came from the first key (usually there's only one anyway).\r\n\r\n thisResult.matchedValue = thisResult.item[keys[0]];\r\n thisResult.matchedKey = keys[0];\r\n }\r\n\r\n if (checkScoreDelta && (resultIndex > 0)) {\r\n const resultScore = results[resultIndex].score;\r\n if (resultScore < 0.101)\r\n continue;\r\n if ((resultScore - results[resultIndex - 1].score) > averageScoreDeltaThreshold) {\r\n results = results.slice(0, resultIndex);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // put the functions on each result so it fulfils the FuzzySearchResult interface.\r\n for (const thisResult of results) {\r\n thisResult.getResult = getResult.bind(thisResult);\r\n thisResult.getBoldMask = getBoldMask.bind(thisResult);\r\n thisResult.getMatchedKey = getMatchedKey.bind(thisResult);\r\n thisResult.getMatchedValue = getMatchedValue.bind(thisResult);\r\n }\r\n return new FuzzySearchResults<T>(results);\r\n }\r\n}\r\n\r\n/** Interface implemented by objects returned while iterating through FuzzySearchResults\r\n * @public\r\n */\r\nexport interface FuzzySearchResult<T> {\r\n /** Return the current result object */\r\n getResult(): T;\r\n\r\n /** Return the key found in this result object */\r\n getMatchedKey(): string;\r\n\r\n /** Return the value matched in this result object */\r\n getMatchedValue(): string;\r\n\r\n /** Return a boolean array that contains true for each letter in the matched value that was matched part of the search pattern */\r\n getBoldMask(): boolean[];\r\n}\r\n\r\n/** Added to each result to support the FuzzySearchResult interface. */\r\nfunction getResult(this: any) { return this.item; }\r\n\r\n/** Added to each result to support the FuzzySearchResult interface. */\r\nfunction getMatchedKey(this: any): string { return (this.matches.length > 0) ? this.matches[0].key : this.matchedKey; }\r\n\r\n/** Added to each result to support the FuzzySearchResult interface. */\r\nfunction getMatchedValue(this: any): string { return (this.matches.length > 0) ? this.matches[0].value : this.matchedValue; }\r\n\r\n/** this function is added to each result to support the FuzzySearchResult interface. */\r\nfunction getBoldMask(this: any): boolean[] | undefined {\r\n if (this.boldMask)\r\n return this.boldMask;\r\n\r\n // if we had no matches, we return a bold mask with all false.\r\n if (0 === this.matches.length) {\r\n const noBoldMask = new Array<boolean>(this.matchedValue.length);\r\n noBoldMask.fill(false);\r\n return this.boldMask = noBoldMask;\r\n }\r\n\r\n // we have some matched portions.\r\n const thisMatchedString: string = this.matches[0].value;\r\n const valueLength = thisMatchedString.length;\r\n const boldMask: boolean[] = new Array<boolean>(valueLength);\r\n boldMask.fill(false);\r\n const indicesArray: number[][] = this.matches[0].indices;\r\n indicesArray.forEach((set: number[]) => {\r\n for (let start = set[0], end = set[1]; start <= end; start++) {\r\n boldMask[start] = true;\r\n }\r\n });\r\n // cache it so if someone asks again we don't have to recalculate it.\r\n return this.boldMask = boldMask;\r\n}\r\n\r\n/**\r\n * This class is used to return the results of FuzzySearch.search. It is iterable, with each iteration\r\n * returning an object implementing the FuzzySearchResult interface.\r\n * @public\r\n */\r\nexport class FuzzySearchResults<T> implements Iterable<T> {\r\n public results: any[];\r\n\r\n constructor(results: any[] | undefined) {\r\n this.results = [];\r\n if (results)\r\n this.results = results;\r\n }\r\n\r\n public [Symbol.iterator](): any { return new FuzzySearchResultsIterator(this); }\r\n\r\n public get length(): number { return this.results.length; }\r\n\r\n public getResult(resultIndex: number): FuzzySearchResult<T> | undefined {\r\n if ((resultIndex < 0) || (resultIndex > this.results.length))\r\n return undefined;\r\n return this.results[resultIndex];\r\n }\r\n}\r\nclass FuzzySearchResultsIterator<T> {\r\n public counter: number;\r\n public fsr: FuzzySearchResults<T>;\r\n\r\n constructor(fsr: FuzzySearchResults<T>) {\r\n this.fsr = fsr;\r\n this.counter = 0;\r\n }\r\n\r\n public next: any = () => {\r\n return {\r\n done: this.counter === this.fsr.results.length,\r\n value: this.fsr.results[this.counter++] as FuzzySearchResult<T>,\r\n };\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"FuzzySearch.js","sourceRoot":"","sources":["../../src/FuzzySearch.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,cAAc;AACd,MAAM,OAAO,WAAW;IAEtB,wGAAwG;IACjG,4BAA4B;QACjC,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,GAAG;YACb,gBAAgB,EAAE,EAAE;YACpB,kBAAkB,EAAE,CAAC;YACrB,cAAc,EAAE,IAAI;YACpB,YAAY,EAAE,IAAI;SACnB,CAAC;IACJ,CAAC;IAED,0GAA0G;IACnG,2BAA2B;QAChC,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,cAAc,EAAE,IAAI;YACpB,gBAAgB,EAAE,EAAE;YACpB,kBAAkB,EAAE,CAAC;YACrB,cAAc,EAAE,IAAI;YACpB,YAAY,EAAE,IAAI;SACnB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,eAAoB,EAAE,IAAoB,EAAE,OAAe;QACvE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAChC,OAAO,IAAI,kBAAkB,CAAI,SAAS,CAAC,CAAC;QAE9C,sFAAsF;QACtF,MAAM,UAAU,GAAW,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,SAAS,GAAY,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACxF,MAAM,OAAO,GAAwB,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAC1H,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACpB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,OAAO,GAAU,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE1C,2HAA2H;QAC3H,+HAA+H;QAC/H,qDAAqD;QACrD,IAAI,eAAe,GAAY,KAAK,CAAC;QACrC,IAAI,0BAA0B,GAAG,CAAC,CAAC;QACnC,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE;YACvB,0BAA0B,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAC5G,IAAI,0BAA0B,GAAG,IAAI;gBACnC,eAAe,GAAG,IAAI,CAAC;SAC1B;QAED,iIAAiI;QACjI,8JAA8J;QAC9J,uHAAuH;QACvH,wEAAwE;QACxE,KAAK,IAAI,WAAW,GAAG,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;YACrE,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE;gBACnC,mGAAmG;gBACnG,IAAI,WAAW,GAAG,CAAC,EAAE;oBACnB,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;oBACxC,MAAM;iBACP;gBACD,4IAA4I;gBAC5I,0EAA0E;gBAE1E,UAAU,CAAC,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnD,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;aACjC;YAED,IAAI,eAAe,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;gBACxC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;gBAC/C,IAAI,WAAW,GAAG,KAAK;oBACrB,SAAS;gBACX,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,0BAA0B,EAAE;oBAC/E,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;oBACxC,MAAM;iBACP;aACF;SACF;QAED,kFAAkF;QAClF,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE;YAChC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAClD,UAAU,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtD,UAAU,CAAC,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1D,UAAU,CAAC,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC/D;QACD,OAAO,IAAI,kBAAkB,CAAI,OAAO,CAAC,CAAC;IAC5C,CAAC;CACF;AAoBD,uEAAuE;AACvE,SAAS,SAAS,KAAc,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAEnD,uEAAuE;AACvE,SAAS,aAAa,KAAsB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAEvH,uEAAuE;AACvE,SAAS,eAAe,KAAsB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;AAE7H,wFAAwF;AACxF,SAAS,WAAW;IAClB,IAAI,IAAI,CAAC,QAAQ;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC;IAEvB,8DAA8D;IAC9D,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QAC7B,MAAM,UAAU,GAAG,IAAI,KAAK,CAAU,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAChE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KACnC;IAED,iCAAiC;IACjC,MAAM,iBAAiB,GAAW,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACxD,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC;IAC7C,MAAM,QAAQ,GAAc,IAAI,KAAK,CAAU,WAAW,CAAC,CAAC;IAC5D,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,MAAM,YAAY,GAAe,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACzD,YAAY,CAAC,OAAO,CAAC,CAAC,GAAa,EAAE,EAAE;QACrC,KAAK,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE;YAC5D,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;SACxB;IACH,CAAC,CAAC,CAAC;IACH,qEAAqE;IACrE,OAAO,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,kBAAkB;IAG7B,YAAY,OAA0B;QACpC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,OAAO;YACT,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAEM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAU,OAAO,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEhF,IAAW,MAAM,KAAa,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAEpD,SAAS,CAAC,WAAmB;QAClC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1D,OAAO,SAAS,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;CACF;AACD,MAAM,0BAA0B;IAI9B,YAAY,GAA0B;QAK/B,SAAI,GAAQ,GAAG,EAAE;YACtB,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM;gBAC9C,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAyB;aAChE,CAAC;QACJ,CAAC,CAAC;QATA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACnB,CAAC;CAQF","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 Tools\r\n */\r\n\r\nimport Fuse from \"fuse.js\";\r\n\r\n/** @public */\r\nexport class FuzzySearch<T> {\r\n\r\n /** Override to provide non-standard FuseOptions for searches where the a single word pattern is used */\r\n public onGetSingleWordSearchOptions(): Fuse.FuseOptions<T> {\r\n return {\r\n shouldSort: true,\r\n threshold: 0.40,\r\n location: 0,\r\n distance: 100,\r\n maxPatternLength: 32,\r\n minMatchCharLength: 2,\r\n includeMatches: true,\r\n includeScore: true,\r\n };\r\n }\r\n\r\n /** Override to provide non-standard FuseOptions for searches where the a multiple word pattern is used */\r\n public onGetMultiWordSearchOptions(): Fuse.FuseOptions<T> {\r\n return {\r\n shouldSort: true,\r\n threshold: 0.40,\r\n tokenize: true,\r\n matchAllTokens: true,\r\n maxPatternLength: 32,\r\n minMatchCharLength: 2,\r\n includeMatches: true,\r\n includeScore: true,\r\n };\r\n }\r\n\r\n /** Call to conduct a fuzzy search of searchedObjects, looking at the 'key' member of each such object\r\n * @param searchedObjects An array of objects to search.\r\n * @param keys The name of the members to search in the searchedObjects.\r\n * @param pattern The pattern for which each searchedObject is searched.\r\n * @return FuzzySearchResults.\r\n */\r\n public search(searchedObjects: T[], keys: Array<keyof T>, pattern: string): FuzzySearchResults<T> {\r\n if (!pattern || pattern.length < 2)\r\n return new FuzzySearchResults<T>(undefined);\r\n\r\n // it is a multi-word pattern if there's a space other than at the end of the pattern.\r\n const spaceIndex: number = pattern.indexOf(\" \");\r\n const multiWord: boolean = (-1 !== spaceIndex) && (spaceIndex !== (pattern.length - 1));\r\n const options: Fuse.FuseOptions<T> = multiWord ? this.onGetMultiWordSearchOptions() : this.onGetSingleWordSearchOptions();\r\n options.keys = keys;\r\n const fuse = new Fuse(searchedObjects, options);\r\n let results: any[] = fuse.search(pattern);\r\n\r\n // We need to set the threshold fairly high to get results when the user misspells words (otherwise they are not returned),\r\n // but doing that results in matches that don't make sense when there are \"good\" matches. So we discard matches where the match\r\n // score increases by a large amount between results.\r\n let checkScoreDelta: boolean = false;\r\n let averageScoreDeltaThreshold = 1;\r\n if (results.length > 30) {\r\n averageScoreDeltaThreshold = ((results[results.length - 1].score - results[0].score) / results.length) * 10;\r\n if (averageScoreDeltaThreshold > 0.01)\r\n checkScoreDelta = true;\r\n }\r\n\r\n // Sometimes fuse returns results in the array where the matches array is empty. That seems like a bug to me, but it happens when\r\n // the input is something like \"fjt\" and the string it matches is \"fit\". If we have more than three actual matches, we just truncate the set when we see one.\r\n // The other use for this loop is to truncate when we see a dramatic increase in the score. The ones after are unlikely\r\n // to be useful, so we truncate the results when we hit that point also.\r\n for (let resultIndex = 0; resultIndex < results.length; resultIndex++) {\r\n const thisResult = results[resultIndex];\r\n if (0 === thisResult.matches.length) {\r\n // here we have a result with no matches. If we have other matches, just discard this and the rest.\r\n if (resultIndex > 2) {\r\n results = results.slice(0, resultIndex);\r\n break;\r\n }\r\n // otherwise we want to keep this result, but we have to add the matched value to the object because we can't get it from the matches array.\r\n // we assume it came from the first key (usually there's only one anyway).\r\n\r\n thisResult.matchedValue = thisResult.item[keys[0]];\r\n thisResult.matchedKey = keys[0];\r\n }\r\n\r\n if (checkScoreDelta && (resultIndex > 0)) {\r\n const resultScore = results[resultIndex].score;\r\n if (resultScore < 0.101)\r\n continue;\r\n if ((resultScore - results[resultIndex - 1].score) > averageScoreDeltaThreshold) {\r\n results = results.slice(0, resultIndex);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // put the functions on each result so it fulfils the FuzzySearchResult interface.\r\n for (const thisResult of results) {\r\n thisResult.getResult = getResult.bind(thisResult);\r\n thisResult.getBoldMask = getBoldMask.bind(thisResult);\r\n thisResult.getMatchedKey = getMatchedKey.bind(thisResult);\r\n thisResult.getMatchedValue = getMatchedValue.bind(thisResult);\r\n }\r\n return new FuzzySearchResults<T>(results);\r\n }\r\n}\r\n\r\n/** Interface implemented by objects returned while iterating through FuzzySearchResults\r\n * @public\r\n * @extensions\r\n */\r\nexport interface FuzzySearchResult<T> {\r\n /** Return the current result object */\r\n getResult(): T;\r\n\r\n /** Return the key found in this result object */\r\n getMatchedKey(): string;\r\n\r\n /** Return the value matched in this result object */\r\n getMatchedValue(): string;\r\n\r\n /** Return a boolean array that contains true for each letter in the matched value that was matched part of the search pattern */\r\n getBoldMask(): boolean[];\r\n}\r\n\r\n/** Added to each result to support the FuzzySearchResult interface. */\r\nfunction getResult(this: any) { return this.item; }\r\n\r\n/** Added to each result to support the FuzzySearchResult interface. */\r\nfunction getMatchedKey(this: any): string { return (this.matches.length > 0) ? this.matches[0].key : this.matchedKey; }\r\n\r\n/** Added to each result to support the FuzzySearchResult interface. */\r\nfunction getMatchedValue(this: any): string { return (this.matches.length > 0) ? this.matches[0].value : this.matchedValue; }\r\n\r\n/** this function is added to each result to support the FuzzySearchResult interface. */\r\nfunction getBoldMask(this: any): boolean[] | undefined {\r\n if (this.boldMask)\r\n return this.boldMask;\r\n\r\n // if we had no matches, we return a bold mask with all false.\r\n if (0 === this.matches.length) {\r\n const noBoldMask = new Array<boolean>(this.matchedValue.length);\r\n noBoldMask.fill(false);\r\n return this.boldMask = noBoldMask;\r\n }\r\n\r\n // we have some matched portions.\r\n const thisMatchedString: string = this.matches[0].value;\r\n const valueLength = thisMatchedString.length;\r\n const boldMask: boolean[] = new Array<boolean>(valueLength);\r\n boldMask.fill(false);\r\n const indicesArray: number[][] = this.matches[0].indices;\r\n indicesArray.forEach((set: number[]) => {\r\n for (let start = set[0], end = set[1]; start <= end; start++) {\r\n boldMask[start] = true;\r\n }\r\n });\r\n // cache it so if someone asks again we don't have to recalculate it.\r\n return this.boldMask = boldMask;\r\n}\r\n\r\n/**\r\n * This class is used to return the results of FuzzySearch.search. It is iterable, with each iteration\r\n * returning an object implementing the FuzzySearchResult interface.\r\n * @public\r\n */\r\nexport class FuzzySearchResults<T> implements Iterable<T> {\r\n public results: any[];\r\n\r\n constructor(results: any[] | undefined) {\r\n this.results = [];\r\n if (results)\r\n this.results = results;\r\n }\r\n\r\n public [Symbol.iterator](): any { return new FuzzySearchResultsIterator(this); }\r\n\r\n public get length(): number { return this.results.length; }\r\n\r\n public getResult(resultIndex: number): FuzzySearchResult<T> | undefined {\r\n if ((resultIndex < 0) || (resultIndex > this.results.length))\r\n return undefined;\r\n return this.results[resultIndex];\r\n }\r\n}\r\nclass FuzzySearchResultsIterator<T> {\r\n public counter: number;\r\n public fsr: FuzzySearchResults<T>;\r\n\r\n constructor(fsr: FuzzySearchResults<T>) {\r\n this.fsr = fsr;\r\n this.counter = 0;\r\n }\r\n\r\n public next: any = () => {\r\n return {\r\n done: this.counter === this.fsr.results.length,\r\n value: this.fsr.results[this.counter++] as FuzzySearchResult<T>,\r\n };\r\n };\r\n}\r\n"]}
@@ -10,6 +10,7 @@ import { Animator } from "./ViewAnimation";
10
10
  * The duration of the animation varies based on the distance traversed.
11
11
  * @see [[Viewport.animateFlyoverToGlobalLocation]].
12
12
  * @public
13
+ * @extensions
13
14
  */
14
15
  export declare class GlobeAnimator implements Animator {
15
16
  protected _flightTweens: Tweens;
@@ -1 +1 @@
1
- {"version":3,"file":"GlobeAnimator.d.ts","sourceRoot":"","sources":["../../src/GlobeAnimator.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAY,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAU,OAAO,EAA4B,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACrG,OAAO,EAC8D,cAAc,EAClF,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C;;;;GAIG;AACH,qBAAa,aAAc,YAAW,QAAQ;IAC5C,SAAS,CAAC,aAAa,SAAgB;IACvC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC;IACpC,SAAS,CAAC,kBAAkB,CAAC,EAAE,YAAY,CAAC;IAC5C,SAAS,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;IAChC,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,CAAM;IACxC,SAAS,CAAC,aAAa,SAAK;IAC5B,SAAS,CAAC,YAAY,EAAE,cAAc,CAAC;IACvC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,uBAAuB,CAAC,EAAE,4BAA4B,CAAC;IACjE,SAAS,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACvC,SAAS,CAAC,uBAAuB,CAAC,EAAE,4BAA4B,CAAC;IACjE,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACtC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAO;IACrD,SAAS,CAAC,QAAQ,CAAC,eAAe,UAAiB;IAEnD,SAAS,CAAC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IA6C1D,yFAAyF;IACzF,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,4BAA4B,GAAG,OAAO;IAahG;;;;OAIG;WACiB,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAkBrH,SAAS,aAAa,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM;IAqFtH,gBAAgB;IACT,OAAO;IAQd,gBAAgB;IACT,SAAS;CAGjB"}
1
+ {"version":3,"file":"GlobeAnimator.d.ts","sourceRoot":"","sources":["../../src/GlobeAnimator.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAY,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAU,OAAO,EAA4B,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACrG,OAAO,EAC8D,cAAc,EAClF,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C;;;;;GAKG;AACH,qBAAa,aAAc,YAAW,QAAQ;IAC5C,SAAS,CAAC,aAAa,SAAgB;IACvC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC;IACpC,SAAS,CAAC,kBAAkB,CAAC,EAAE,YAAY,CAAC;IAC5C,SAAS,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;IAChC,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,CAAM;IACxC,SAAS,CAAC,aAAa,SAAK;IAC5B,SAAS,CAAC,YAAY,EAAE,cAAc,CAAC;IACvC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,uBAAuB,CAAC,EAAE,4BAA4B,CAAC;IACjE,SAAS,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACvC,SAAS,CAAC,uBAAuB,CAAC,EAAE,4BAA4B,CAAC;IACjE,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACtC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAO;IACrD,SAAS,CAAC,QAAQ,CAAC,eAAe,UAAiB;IAEnD,SAAS,CAAC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IA6C1D,yFAAyF;IACzF,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,4BAA4B,GAAG,OAAO;IAahG;;;;OAIG;WACiB,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAkBrH,SAAS,aAAa,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM;IAqFtH,gBAAgB;IACT,OAAO;IAQd,gBAAgB;IACT,SAAS;CAGjB"}
@@ -12,6 +12,7 @@ import { areaToEyeHeight, areaToEyeHeightFromGcs, eyeToCartographicOnGlobe, mete
12
12
  * The duration of the animation varies based on the distance traversed.
13
13
  * @see [[Viewport.animateFlyoverToGlobalLocation]].
14
14
  * @public
15
+ * @extensions
15
16
  */
16
17
  export class GlobeAnimator {
17
18
  constructor(viewport, destination, afterLanding, afterFocus) {
@@ -1 +1 @@
1
- {"version":3,"file":"GlobeAnimator.js","sourceRoot":"","sources":["../../src/GlobeAnimator.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 { Arc3d, Geometry, Point3d, SmoothTransformBetweenFrusta } from \"@itwin/core-geometry\";\r\nimport { Cartographic, Easing, Frustum, GlobeMode, Interpolation, Tweens } from \"@itwin/core-common\";\r\nimport {\r\n areaToEyeHeight, areaToEyeHeightFromGcs, eyeToCartographicOnGlobe, GlobalLocation, metersToRange, ViewGlobalLocationConstants,\r\n} from \"./ViewGlobalLocation\";\r\nimport { ScreenViewport } from \"./Viewport\";\r\nimport { Animator } from \"./ViewAnimation\";\r\n\r\n/** Animates the transition of a [[Viewport]] to view a location on the Earth. The animation traces a flight path from the viewport's current [Frustum]($common) to the destination.\r\n * The duration of the animation varies based on the distance traversed.\r\n * @see [[Viewport.animateFlyoverToGlobalLocation]].\r\n * @public\r\n */\r\nexport class GlobeAnimator implements Animator {\r\n protected _flightTweens = new Tweens();\r\n protected _viewport: ScreenViewport;\r\n protected _startCartographic?: Cartographic;\r\n protected _ellipsoidArc?: Arc3d;\r\n protected _columbusLine: Point3d[] = [];\r\n protected _flightLength = 0;\r\n protected _endLocation: GlobalLocation;\r\n protected _endHeight?: number;\r\n protected _midHeight?: number;\r\n protected _startHeight?: number;\r\n protected _fixTakeoffInterpolator?: SmoothTransformBetweenFrusta;\r\n protected _fixTakeoffFraction?: number;\r\n protected _fixLandingInterpolator?: SmoothTransformBetweenFrusta;\r\n protected _afterLanding: Frustum;\r\n protected _afterFocusDistance: number;\r\n protected readonly _fixLandingFraction: number = 0.9;\r\n protected readonly _scratchFrustum = new Frustum();\r\n\r\n protected _moveFlightToFraction(fraction: number): boolean {\r\n const vp = this._viewport;\r\n const view = vp.view;\r\n\r\n if (!(view.is3d()) || !vp.iModel.isGeoLocated) // This animation only works for 3d views and geolocated models\r\n return true;\r\n\r\n // If we're done, set the final state directly\r\n if (fraction >= 1.0) {\r\n if (vp.view.is3d()) // Need to reset focus as well -- setupViewFromFustum does not set this and it will remain at flight distance.\r\n vp.view.camera.setFocusDistance(this._afterFocusDistance);\r\n vp.setupViewFromFrustum(this._afterLanding);\r\n vp.synchWithView();\r\n return true;\r\n }\r\n\r\n // Possibly smooth the takeoff\r\n if (fraction < this._fixTakeoffFraction! && this._fixTakeoffInterpolator !== undefined) {\r\n this._moveFixToFraction((1.0 / this._fixTakeoffFraction!) * fraction, this._fixTakeoffInterpolator);\r\n return false;\r\n }\r\n\r\n // Possibly smooth the landing\r\n if (fraction >= this._fixLandingFraction && fraction < 1.0) {\r\n if (this._fixLandingInterpolator === undefined) {\r\n const beforeLanding = vp.getWorldFrustum();\r\n this._fixLandingInterpolator = SmoothTransformBetweenFrusta.create(beforeLanding.points, this._afterLanding.points);\r\n }\r\n this._moveFixToFraction((1.0 / (1.0 - this._fixLandingFraction)) * (fraction - this._fixLandingFraction), this._fixLandingInterpolator!);\r\n return false;\r\n }\r\n\r\n // Set the camera based on a fraction along the flight arc\r\n const height: number = Interpolation.Bezier([this._startHeight, this._midHeight, this._endHeight], fraction);\r\n let targetPoint: Point3d;\r\n if (view.globeMode === GlobeMode.Plane)\r\n targetPoint = this._columbusLine[0].interpolate(fraction, this._columbusLine[1]);\r\n else\r\n targetPoint = this._ellipsoidArc!.fractionToPoint(fraction);\r\n view.lookAtGlobalLocation(height, ViewGlobalLocationConstants.birdPitchAngleRadians, undefined, targetPoint);\r\n vp.setupFromView();\r\n\r\n return false;\r\n }\r\n\r\n /** Apply a SmoothTransformBetweenFrusta interpolator to the view based on a fraction. */\r\n protected _moveFixToFraction(fract: number, interpolator: SmoothTransformBetweenFrusta): boolean {\r\n let done = false;\r\n\r\n if (fract >= 1.0) {\r\n fract = 1.0;\r\n done = true;\r\n }\r\n\r\n interpolator.fractionToWorldCorners(Math.max(fract, 0), this._scratchFrustum.points);\r\n this._viewport.setupViewFromFrustum(this._scratchFrustum);\r\n return done;\r\n }\r\n\r\n /** Create an animator to transition to the specified destination.\r\n * @param viewport The viewport to animate.\r\n * @param destination The destination to travel to.\r\n * @returns An animator, or undefined if the viewport's iModel is not geolocated or its view is not 3d.\r\n */\r\n public static async create(viewport: ScreenViewport, destination: GlobalLocation): Promise<GlobeAnimator | undefined> {\r\n const view = viewport.view;\r\n\r\n if (!(view.is3d()) || !viewport.iModel.isGeoLocated) // This animation only works for 3d views and geolocated models\r\n return undefined;\r\n\r\n const endHeight = destination.area !== undefined ? await areaToEyeHeightFromGcs(view, destination.area, destination.center.height) : ViewGlobalLocationConstants.birdHeightAboveEarthInMeters;\r\n\r\n const beforeFrustum = viewport.getWorldFrustum();\r\n await view.lookAtGlobalLocationFromGcs(endHeight, ViewGlobalLocationConstants.birdPitchAngleRadians, destination);\r\n viewport.setupFromView();\r\n const afterLanding = viewport.getWorldFrustum();\r\n const afterFocus = view.camera.focusDist;\r\n viewport.setupViewFromFrustum(beforeFrustum); // revert old frustum\r\n\r\n return new GlobeAnimator(viewport, destination, afterLanding, afterFocus);\r\n }\r\n\r\n protected constructor(viewport: ScreenViewport, destination: GlobalLocation, afterLanding: Frustum, afterFocus: number) {\r\n this._viewport = viewport;\r\n this._endLocation = destination;\r\n this._afterLanding = afterLanding;\r\n this._afterFocusDistance = afterFocus;\r\n const view = viewport.view;\r\n\r\n if (!(view.is3d()) || !viewport.iModel.isGeoLocated) // This animation only works for 3d views and geolocated models\r\n return;\r\n\r\n // Calculate start height as the height of the current eye above the earth.\r\n // Calculate end height from the destination area (if specified); otherwise, use a constant value.\r\n const backgroundMapGeometry = view.displayStyle.getBackgroundMapGeometry();\r\n if (undefined === backgroundMapGeometry)\r\n return;\r\n\r\n this._startHeight = eyeToCartographicOnGlobe(this._viewport, true)!.height;\r\n this._endHeight = destination.area !== undefined ? areaToEyeHeight(view, destination.area, destination.center.height) : ViewGlobalLocationConstants.birdHeightAboveEarthInMeters;\r\n\r\n // Starting cartographic position is the eye projected onto the globe.\r\n let startCartographic = eyeToCartographicOnGlobe(viewport);\r\n if (startCartographic === undefined) {\r\n startCartographic = Cartographic.createZero();\r\n }\r\n this._startCartographic = startCartographic;\r\n\r\n let maxFlightDuration: number;\r\n\r\n if (view.globeMode === GlobeMode.Plane) {\r\n // Calculate a line segment going from the starting cartographic coordinate to the ending cartographic coordinate\r\n this._columbusLine.push(view.cartographicToRoot(startCartographic)!);\r\n this._columbusLine.push(view.cartographicToRoot(this._endLocation.center)!);\r\n this._flightLength = this._columbusLine[0].distance(this._columbusLine[1]);\r\n // Set a shorter flight duration in Plane mode\r\n maxFlightDuration = 7000.0;\r\n } else {\r\n // Calculate a flight arc from the ellipsoid of the Earth and the starting and ending cartographic coordinates.\r\n const earthEllipsoid = backgroundMapGeometry.getEarthEllipsoid();\r\n this._ellipsoidArc = earthEllipsoid.radiansPairToGreatArc(this._startCartographic.longitude, this._startCartographic.latitude, this._endLocation.center.longitude, this._endLocation.center.latitude)!;\r\n if (this._ellipsoidArc !== undefined)\r\n this._flightLength = this._ellipsoidArc.curveLength();\r\n // Set a longer flight duration in 3D mode\r\n maxFlightDuration = 13000.0;\r\n }\r\n\r\n if (Geometry.isSmallMetricDistance(this._flightLength))\r\n return;\r\n\r\n // The peak of the flight varies based on total distance to travel. The larger the distance, the higher the peak of the flight will be.\r\n this._midHeight = metersToRange(this._flightLength,\r\n ViewGlobalLocationConstants.birdHeightAboveEarthInMeters,\r\n ViewGlobalLocationConstants.satelliteHeightAboveEarthInMeters * 4,\r\n ViewGlobalLocationConstants.largestEarthArc);\r\n\r\n // We will \"fix\" the initial frustum so it smoothly transitions to some point along the travel arc depending on the starting height.\r\n // Alternatively, if the distance to travel is small enough, we will _only_ do a frustum transition to the destination location - ignoring the flight arc.\r\n const beforeTakeoff = viewport.getWorldFrustum();\r\n\r\n if (view.globeMode === GlobeMode.Plane) {\r\n /// Do not \"fix\" the take-off for plane mode; SmoothTransformBetweenFrusta can behave wrongly.\r\n // However, if within driving distance, still use SmoothTransformBetweenFrusta to navigate there without flight.\r\n this._fixTakeoffFraction = this._flightLength <= ViewGlobalLocationConstants.maximumDistanceToDrive ? 1.0 : 0.0;\r\n } else {\r\n this._fixTakeoffFraction = this._flightLength <= ViewGlobalLocationConstants.maximumDistanceToDrive ? 1.0 : metersToRange(this._startHeight, 0.1, 0.4, ViewGlobalLocationConstants.birdHeightAboveEarthInMeters);\r\n }\r\n\r\n if (this._fixTakeoffFraction > 0.0) {\r\n this._moveFlightToFraction(this._fixTakeoffFraction);\r\n const afterTakeoff = viewport.getWorldFrustum();\r\n this._fixTakeoffInterpolator = SmoothTransformBetweenFrusta.create(beforeTakeoff.points, afterTakeoff.points);\r\n }\r\n\r\n // The duration of the animation will increase the larger the distance to travel.\r\n const flightDurationInMilliseconds = metersToRange(this._flightLength, 1000, maxFlightDuration, ViewGlobalLocationConstants.largestEarthArc);\r\n\r\n // Specify the tweening behavior for this animation.\r\n this._flightTweens.create({ fraction: 0.0 }, {\r\n to: { fraction: 1.0 },\r\n duration: flightDurationInMilliseconds,\r\n easing: Easing.Cubic.InOut,\r\n start: true,\r\n onUpdate: (obj: any) => this._moveFlightToFraction(obj.fraction),\r\n });\r\n }\r\n\r\n /** @internal */\r\n public animate() {\r\n if (this._flightLength <= 0) {\r\n this._moveFlightToFraction(1.0); // Skip to final frustum\r\n return true;\r\n }\r\n return !this._flightTweens.update();\r\n }\r\n\r\n /** @internal */\r\n public interrupt() {\r\n this._moveFlightToFraction(1.0); // Skip to final frustum\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"GlobeAnimator.js","sourceRoot":"","sources":["../../src/GlobeAnimator.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 { Arc3d, Geometry, Point3d, SmoothTransformBetweenFrusta } from \"@itwin/core-geometry\";\r\nimport { Cartographic, Easing, Frustum, GlobeMode, Interpolation, Tweens } from \"@itwin/core-common\";\r\nimport {\r\n areaToEyeHeight, areaToEyeHeightFromGcs, eyeToCartographicOnGlobe, GlobalLocation, metersToRange, ViewGlobalLocationConstants,\r\n} from \"./ViewGlobalLocation\";\r\nimport { ScreenViewport } from \"./Viewport\";\r\nimport { Animator } from \"./ViewAnimation\";\r\n\r\n/** Animates the transition of a [[Viewport]] to view a location on the Earth. The animation traces a flight path from the viewport's current [Frustum]($common) to the destination.\r\n * The duration of the animation varies based on the distance traversed.\r\n * @see [[Viewport.animateFlyoverToGlobalLocation]].\r\n * @public\r\n * @extensions\r\n */\r\nexport class GlobeAnimator implements Animator {\r\n protected _flightTweens = new Tweens();\r\n protected _viewport: ScreenViewport;\r\n protected _startCartographic?: Cartographic;\r\n protected _ellipsoidArc?: Arc3d;\r\n protected _columbusLine: Point3d[] = [];\r\n protected _flightLength = 0;\r\n protected _endLocation: GlobalLocation;\r\n protected _endHeight?: number;\r\n protected _midHeight?: number;\r\n protected _startHeight?: number;\r\n protected _fixTakeoffInterpolator?: SmoothTransformBetweenFrusta;\r\n protected _fixTakeoffFraction?: number;\r\n protected _fixLandingInterpolator?: SmoothTransformBetweenFrusta;\r\n protected _afterLanding: Frustum;\r\n protected _afterFocusDistance: number;\r\n protected readonly _fixLandingFraction: number = 0.9;\r\n protected readonly _scratchFrustum = new Frustum();\r\n\r\n protected _moveFlightToFraction(fraction: number): boolean {\r\n const vp = this._viewport;\r\n const view = vp.view;\r\n\r\n if (!(view.is3d()) || !vp.iModel.isGeoLocated) // This animation only works for 3d views and geolocated models\r\n return true;\r\n\r\n // If we're done, set the final state directly\r\n if (fraction >= 1.0) {\r\n if (vp.view.is3d()) // Need to reset focus as well -- setupViewFromFustum does not set this and it will remain at flight distance.\r\n vp.view.camera.setFocusDistance(this._afterFocusDistance);\r\n vp.setupViewFromFrustum(this._afterLanding);\r\n vp.synchWithView();\r\n return true;\r\n }\r\n\r\n // Possibly smooth the takeoff\r\n if (fraction < this._fixTakeoffFraction! && this._fixTakeoffInterpolator !== undefined) {\r\n this._moveFixToFraction((1.0 / this._fixTakeoffFraction!) * fraction, this._fixTakeoffInterpolator);\r\n return false;\r\n }\r\n\r\n // Possibly smooth the landing\r\n if (fraction >= this._fixLandingFraction && fraction < 1.0) {\r\n if (this._fixLandingInterpolator === undefined) {\r\n const beforeLanding = vp.getWorldFrustum();\r\n this._fixLandingInterpolator = SmoothTransformBetweenFrusta.create(beforeLanding.points, this._afterLanding.points);\r\n }\r\n this._moveFixToFraction((1.0 / (1.0 - this._fixLandingFraction)) * (fraction - this._fixLandingFraction), this._fixLandingInterpolator!);\r\n return false;\r\n }\r\n\r\n // Set the camera based on a fraction along the flight arc\r\n const height: number = Interpolation.Bezier([this._startHeight, this._midHeight, this._endHeight], fraction);\r\n let targetPoint: Point3d;\r\n if (view.globeMode === GlobeMode.Plane)\r\n targetPoint = this._columbusLine[0].interpolate(fraction, this._columbusLine[1]);\r\n else\r\n targetPoint = this._ellipsoidArc!.fractionToPoint(fraction);\r\n view.lookAtGlobalLocation(height, ViewGlobalLocationConstants.birdPitchAngleRadians, undefined, targetPoint);\r\n vp.setupFromView();\r\n\r\n return false;\r\n }\r\n\r\n /** Apply a SmoothTransformBetweenFrusta interpolator to the view based on a fraction. */\r\n protected _moveFixToFraction(fract: number, interpolator: SmoothTransformBetweenFrusta): boolean {\r\n let done = false;\r\n\r\n if (fract >= 1.0) {\r\n fract = 1.0;\r\n done = true;\r\n }\r\n\r\n interpolator.fractionToWorldCorners(Math.max(fract, 0), this._scratchFrustum.points);\r\n this._viewport.setupViewFromFrustum(this._scratchFrustum);\r\n return done;\r\n }\r\n\r\n /** Create an animator to transition to the specified destination.\r\n * @param viewport The viewport to animate.\r\n * @param destination The destination to travel to.\r\n * @returns An animator, or undefined if the viewport's iModel is not geolocated or its view is not 3d.\r\n */\r\n public static async create(viewport: ScreenViewport, destination: GlobalLocation): Promise<GlobeAnimator | undefined> {\r\n const view = viewport.view;\r\n\r\n if (!(view.is3d()) || !viewport.iModel.isGeoLocated) // This animation only works for 3d views and geolocated models\r\n return undefined;\r\n\r\n const endHeight = destination.area !== undefined ? await areaToEyeHeightFromGcs(view, destination.area, destination.center.height) : ViewGlobalLocationConstants.birdHeightAboveEarthInMeters;\r\n\r\n const beforeFrustum = viewport.getWorldFrustum();\r\n await view.lookAtGlobalLocationFromGcs(endHeight, ViewGlobalLocationConstants.birdPitchAngleRadians, destination);\r\n viewport.setupFromView();\r\n const afterLanding = viewport.getWorldFrustum();\r\n const afterFocus = view.camera.focusDist;\r\n viewport.setupViewFromFrustum(beforeFrustum); // revert old frustum\r\n\r\n return new GlobeAnimator(viewport, destination, afterLanding, afterFocus);\r\n }\r\n\r\n protected constructor(viewport: ScreenViewport, destination: GlobalLocation, afterLanding: Frustum, afterFocus: number) {\r\n this._viewport = viewport;\r\n this._endLocation = destination;\r\n this._afterLanding = afterLanding;\r\n this._afterFocusDistance = afterFocus;\r\n const view = viewport.view;\r\n\r\n if (!(view.is3d()) || !viewport.iModel.isGeoLocated) // This animation only works for 3d views and geolocated models\r\n return;\r\n\r\n // Calculate start height as the height of the current eye above the earth.\r\n // Calculate end height from the destination area (if specified); otherwise, use a constant value.\r\n const backgroundMapGeometry = view.displayStyle.getBackgroundMapGeometry();\r\n if (undefined === backgroundMapGeometry)\r\n return;\r\n\r\n this._startHeight = eyeToCartographicOnGlobe(this._viewport, true)!.height;\r\n this._endHeight = destination.area !== undefined ? areaToEyeHeight(view, destination.area, destination.center.height) : ViewGlobalLocationConstants.birdHeightAboveEarthInMeters;\r\n\r\n // Starting cartographic position is the eye projected onto the globe.\r\n let startCartographic = eyeToCartographicOnGlobe(viewport);\r\n if (startCartographic === undefined) {\r\n startCartographic = Cartographic.createZero();\r\n }\r\n this._startCartographic = startCartographic;\r\n\r\n let maxFlightDuration: number;\r\n\r\n if (view.globeMode === GlobeMode.Plane) {\r\n // Calculate a line segment going from the starting cartographic coordinate to the ending cartographic coordinate\r\n this._columbusLine.push(view.cartographicToRoot(startCartographic)!);\r\n this._columbusLine.push(view.cartographicToRoot(this._endLocation.center)!);\r\n this._flightLength = this._columbusLine[0].distance(this._columbusLine[1]);\r\n // Set a shorter flight duration in Plane mode\r\n maxFlightDuration = 7000.0;\r\n } else {\r\n // Calculate a flight arc from the ellipsoid of the Earth and the starting and ending cartographic coordinates.\r\n const earthEllipsoid = backgroundMapGeometry.getEarthEllipsoid();\r\n this._ellipsoidArc = earthEllipsoid.radiansPairToGreatArc(this._startCartographic.longitude, this._startCartographic.latitude, this._endLocation.center.longitude, this._endLocation.center.latitude)!;\r\n if (this._ellipsoidArc !== undefined)\r\n this._flightLength = this._ellipsoidArc.curveLength();\r\n // Set a longer flight duration in 3D mode\r\n maxFlightDuration = 13000.0;\r\n }\r\n\r\n if (Geometry.isSmallMetricDistance(this._flightLength))\r\n return;\r\n\r\n // The peak of the flight varies based on total distance to travel. The larger the distance, the higher the peak of the flight will be.\r\n this._midHeight = metersToRange(this._flightLength,\r\n ViewGlobalLocationConstants.birdHeightAboveEarthInMeters,\r\n ViewGlobalLocationConstants.satelliteHeightAboveEarthInMeters * 4,\r\n ViewGlobalLocationConstants.largestEarthArc);\r\n\r\n // We will \"fix\" the initial frustum so it smoothly transitions to some point along the travel arc depending on the starting height.\r\n // Alternatively, if the distance to travel is small enough, we will _only_ do a frustum transition to the destination location - ignoring the flight arc.\r\n const beforeTakeoff = viewport.getWorldFrustum();\r\n\r\n if (view.globeMode === GlobeMode.Plane) {\r\n /// Do not \"fix\" the take-off for plane mode; SmoothTransformBetweenFrusta can behave wrongly.\r\n // However, if within driving distance, still use SmoothTransformBetweenFrusta to navigate there without flight.\r\n this._fixTakeoffFraction = this._flightLength <= ViewGlobalLocationConstants.maximumDistanceToDrive ? 1.0 : 0.0;\r\n } else {\r\n this._fixTakeoffFraction = this._flightLength <= ViewGlobalLocationConstants.maximumDistanceToDrive ? 1.0 : metersToRange(this._startHeight, 0.1, 0.4, ViewGlobalLocationConstants.birdHeightAboveEarthInMeters);\r\n }\r\n\r\n if (this._fixTakeoffFraction > 0.0) {\r\n this._moveFlightToFraction(this._fixTakeoffFraction);\r\n const afterTakeoff = viewport.getWorldFrustum();\r\n this._fixTakeoffInterpolator = SmoothTransformBetweenFrusta.create(beforeTakeoff.points, afterTakeoff.points);\r\n }\r\n\r\n // The duration of the animation will increase the larger the distance to travel.\r\n const flightDurationInMilliseconds = metersToRange(this._flightLength, 1000, maxFlightDuration, ViewGlobalLocationConstants.largestEarthArc);\r\n\r\n // Specify the tweening behavior for this animation.\r\n this._flightTweens.create({ fraction: 0.0 }, {\r\n to: { fraction: 1.0 },\r\n duration: flightDurationInMilliseconds,\r\n easing: Easing.Cubic.InOut,\r\n start: true,\r\n onUpdate: (obj: any) => this._moveFlightToFraction(obj.fraction),\r\n });\r\n }\r\n\r\n /** @internal */\r\n public animate() {\r\n if (this._flightLength <= 0) {\r\n this._moveFlightToFraction(1.0); // Skip to final frustum\r\n return true;\r\n }\r\n return !this._flightTweens.update();\r\n }\r\n\r\n /** @internal */\r\n public interrupt() {\r\n this._moveFlightToFraction(1.0); // Skip to final frustum\r\n }\r\n}\r\n"]}