@itwin/core-frontend 3.3.0-dev.9 → 3.4.0-dev.10

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 (358) hide show
  1. package/CHANGELOG.md +54 -1
  2. package/lib/cjs/DisplayStyleState.d.ts +80 -31
  3. package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
  4. package/lib/cjs/DisplayStyleState.js +150 -89
  5. package/lib/cjs/DisplayStyleState.js.map +1 -1
  6. package/lib/cjs/DrawingViewState.js +1 -1
  7. package/lib/cjs/DrawingViewState.js.map +1 -1
  8. package/lib/cjs/EmphasizeElements.d.ts.map +1 -1
  9. package/lib/cjs/EmphasizeElements.js +5 -0
  10. package/lib/cjs/EmphasizeElements.js.map +1 -1
  11. package/lib/cjs/EntityState.d.ts +5 -5
  12. package/lib/cjs/EntityState.d.ts.map +1 -1
  13. package/lib/cjs/EntityState.js.map +1 -1
  14. package/lib/cjs/IModelApp.d.ts +5 -0
  15. package/lib/cjs/IModelApp.d.ts.map +1 -1
  16. package/lib/cjs/IModelApp.js +16 -12
  17. package/lib/cjs/IModelApp.js.map +1 -1
  18. package/lib/cjs/IModelConnection.d.ts +51 -4
  19. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  20. package/lib/cjs/IModelConnection.js +38 -3
  21. package/lib/cjs/IModelConnection.js.map +1 -1
  22. package/lib/cjs/LocalhostIpcApp.d.ts.map +1 -1
  23. package/lib/cjs/LocalhostIpcApp.js +10 -0
  24. package/lib/cjs/LocalhostIpcApp.js.map +1 -1
  25. package/lib/cjs/NoRenderApp.d.ts.map +1 -1
  26. package/lib/cjs/NoRenderApp.js +1 -0
  27. package/lib/cjs/NoRenderApp.js.map +1 -1
  28. package/lib/cjs/PerModelCategoryVisibility.d.ts +17 -0
  29. package/lib/cjs/PerModelCategoryVisibility.d.ts.map +1 -1
  30. package/lib/cjs/PerModelCategoryVisibility.js +63 -19
  31. package/lib/cjs/PerModelCategoryVisibility.js.map +1 -1
  32. package/lib/cjs/RealityDataSource.d.ts.map +1 -1
  33. package/lib/cjs/RealityDataSource.js +6 -2
  34. package/lib/cjs/RealityDataSource.js.map +1 -1
  35. package/lib/cjs/SelectionSet.d.ts +30 -4
  36. package/lib/cjs/SelectionSet.d.ts.map +1 -1
  37. package/lib/cjs/SelectionSet.js +26 -2
  38. package/lib/cjs/SelectionSet.js.map +1 -1
  39. package/lib/cjs/SheetViewState.js +1 -1
  40. package/lib/cjs/SheetViewState.js.map +1 -1
  41. package/lib/cjs/SubCategoriesCache.d.ts +6 -12
  42. package/lib/cjs/SubCategoriesCache.d.ts.map +1 -1
  43. package/lib/cjs/SubCategoriesCache.js +48 -37
  44. package/lib/cjs/SubCategoriesCache.js.map +1 -1
  45. package/lib/cjs/TentativePoint.js +1 -1
  46. package/lib/cjs/TentativePoint.js.map +1 -1
  47. package/lib/cjs/ViewState.d.ts +2 -3
  48. package/lib/cjs/ViewState.d.ts.map +1 -1
  49. package/lib/cjs/ViewState.js +13 -9
  50. package/lib/cjs/ViewState.js.map +1 -1
  51. package/lib/cjs/Viewport.d.ts +10 -10
  52. package/lib/cjs/Viewport.d.ts.map +1 -1
  53. package/lib/cjs/Viewport.js +19 -14
  54. package/lib/cjs/Viewport.js.map +1 -1
  55. package/lib/cjs/core-frontend.d.ts +0 -2
  56. package/lib/cjs/core-frontend.d.ts.map +1 -1
  57. package/lib/cjs/core-frontend.js +0 -2
  58. package/lib/cjs/core-frontend.js.map +1 -1
  59. package/lib/cjs/extension/ExtensionAdmin.d.ts +5 -2
  60. package/lib/cjs/extension/ExtensionAdmin.d.ts.map +1 -1
  61. package/lib/cjs/extension/ExtensionAdmin.js +24 -6
  62. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  63. package/lib/cjs/extension/providers/RemoteExtensionProvider.d.ts +0 -2
  64. package/lib/cjs/extension/providers/RemoteExtensionProvider.d.ts.map +1 -1
  65. package/lib/cjs/extension/providers/RemoteExtensionProvider.js +9 -22
  66. package/lib/cjs/extension/providers/RemoteExtensionProvider.js.map +1 -1
  67. package/lib/cjs/render/FeatureSymbology.js +2 -2
  68. package/lib/cjs/render/FeatureSymbology.js.map +1 -1
  69. package/lib/cjs/render/GraphicBranch.d.ts +15 -9
  70. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  71. package/lib/cjs/render/GraphicBranch.js +38 -1
  72. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  73. package/lib/cjs/render/RenderSystem.d.ts +5 -0
  74. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  75. package/lib/cjs/render/RenderSystem.js.map +1 -1
  76. package/lib/cjs/render/primitives/EdgeParams.d.ts +11 -0
  77. package/lib/cjs/render/primitives/EdgeParams.d.ts.map +1 -1
  78. package/lib/cjs/render/primitives/EdgeParams.js +36 -29
  79. package/lib/cjs/render/primitives/EdgeParams.js.map +1 -1
  80. package/lib/cjs/render/primitives/VertexTable.d.ts +11 -4
  81. package/lib/cjs/render/primitives/VertexTable.d.ts.map +1 -1
  82. package/lib/cjs/render/primitives/VertexTable.js +13 -6
  83. package/lib/cjs/render/primitives/VertexTable.js.map +1 -1
  84. package/lib/cjs/render/primitives/VertexTableSplitter.d.ts +41 -0
  85. package/lib/cjs/render/primitives/VertexTableSplitter.d.ts.map +1 -0
  86. package/lib/cjs/render/primitives/VertexTableSplitter.js +662 -0
  87. package/lib/cjs/render/primitives/VertexTableSplitter.js.map +1 -0
  88. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  89. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js +3 -1
  90. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  91. package/lib/cjs/render/webgl/DrawCommand.js +1 -1
  92. package/lib/cjs/render/webgl/DrawCommand.js.map +1 -1
  93. package/lib/cjs/render/webgl/FeatureOverrides.d.ts +4 -1
  94. package/lib/cjs/render/webgl/FeatureOverrides.d.ts.map +1 -1
  95. package/lib/cjs/render/webgl/FeatureOverrides.js +56 -26
  96. package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
  97. package/lib/cjs/render/webgl/ShaderProgram.js +1 -1
  98. package/lib/cjs/render/webgl/ShaderProgram.js.map +1 -1
  99. package/lib/cjs/render/webgl/Target.d.ts +2 -1
  100. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  101. package/lib/cjs/render/webgl/Target.js +1 -0
  102. package/lib/cjs/render/webgl/Target.js.map +1 -1
  103. package/lib/cjs/render/webgl/UniformHandle.d.ts +2 -1
  104. package/lib/cjs/render/webgl/UniformHandle.d.ts.map +1 -1
  105. package/lib/cjs/render/webgl/UniformHandle.js +15 -3
  106. package/lib/cjs/render/webgl/UniformHandle.js.map +1 -1
  107. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.d.ts.map +1 -1
  108. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js +4 -1
  109. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  110. package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  111. package/lib/cjs/render/webgl/glsl/RealityMesh.js +5 -2
  112. package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
  113. package/lib/cjs/render-primitives.d.ts +1 -0
  114. package/lib/cjs/render-primitives.d.ts.map +1 -1
  115. package/lib/cjs/render-primitives.js +1 -0
  116. package/lib/cjs/render-primitives.js.map +1 -1
  117. package/lib/cjs/tile/ClassifierTileTree.d.ts.map +1 -1
  118. package/lib/cjs/tile/ClassifierTileTree.js +8 -8
  119. package/lib/cjs/tile/ClassifierTileTree.js.map +1 -1
  120. package/lib/cjs/tile/IModelTile.d.ts.map +1 -1
  121. package/lib/cjs/tile/IModelTile.js +1 -0
  122. package/lib/cjs/tile/IModelTile.js.map +1 -1
  123. package/lib/cjs/tile/IModelTileTree.d.ts +3 -1
  124. package/lib/cjs/tile/IModelTileTree.d.ts.map +1 -1
  125. package/lib/cjs/tile/IModelTileTree.js +1 -0
  126. package/lib/cjs/tile/IModelTileTree.js.map +1 -1
  127. package/lib/cjs/tile/ImdlReader.d.ts +9 -4
  128. package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
  129. package/lib/cjs/tile/ImdlReader.js +174 -60
  130. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  131. package/lib/cjs/tile/PrimaryTileTree.d.ts +8 -7
  132. package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
  133. package/lib/cjs/tile/PrimaryTileTree.js +30 -25
  134. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  135. package/lib/cjs/tile/TileAdmin.d.ts +21 -2
  136. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  137. package/lib/cjs/tile/TileAdmin.js +32 -12
  138. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  139. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  140. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +46 -2
  141. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  142. package/lib/cjs/tile/map/MapCartoRectangle.d.ts +1 -0
  143. package/lib/cjs/tile/map/MapCartoRectangle.d.ts.map +1 -1
  144. package/lib/cjs/tile/map/MapCartoRectangle.js +1 -0
  145. package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
  146. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts +2 -1
  147. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  148. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  149. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +2 -0
  150. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  151. package/lib/cjs/tile/map/MapLayerImageryProvider.js +23 -9
  152. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  153. package/lib/cjs/tile/map/MapLayerSources.d.ts +14 -9
  154. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  155. package/lib/cjs/tile/map/MapLayerSources.js +14 -6
  156. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  157. package/lib/cjs/tools/ClipViewTool.d.ts.map +1 -1
  158. package/lib/cjs/tools/ClipViewTool.js +25 -2
  159. package/lib/cjs/tools/ClipViewTool.js.map +1 -1
  160. package/lib/cjs/tools/PrimitiveTool.js +4 -4
  161. package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
  162. package/lib/cjs/tools/Tool.d.ts +7 -7
  163. package/lib/cjs/tools/Tool.js +7 -7
  164. package/lib/cjs/tools/Tool.js.map +1 -1
  165. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  166. package/lib/cjs/tools/ToolAdmin.js +25 -10
  167. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  168. package/lib/esm/DisplayStyleState.d.ts +80 -31
  169. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  170. package/lib/esm/DisplayStyleState.js +150 -89
  171. package/lib/esm/DisplayStyleState.js.map +1 -1
  172. package/lib/esm/DrawingViewState.js +1 -1
  173. package/lib/esm/DrawingViewState.js.map +1 -1
  174. package/lib/esm/EmphasizeElements.d.ts.map +1 -1
  175. package/lib/esm/EmphasizeElements.js +5 -0
  176. package/lib/esm/EmphasizeElements.js.map +1 -1
  177. package/lib/esm/EntityState.d.ts +5 -5
  178. package/lib/esm/EntityState.d.ts.map +1 -1
  179. package/lib/esm/EntityState.js.map +1 -1
  180. package/lib/esm/IModelApp.d.ts +5 -0
  181. package/lib/esm/IModelApp.d.ts.map +1 -1
  182. package/lib/esm/IModelApp.js +16 -12
  183. package/lib/esm/IModelApp.js.map +1 -1
  184. package/lib/esm/IModelConnection.d.ts +51 -4
  185. package/lib/esm/IModelConnection.d.ts.map +1 -1
  186. package/lib/esm/IModelConnection.js +38 -3
  187. package/lib/esm/IModelConnection.js.map +1 -1
  188. package/lib/esm/LocalhostIpcApp.d.ts.map +1 -1
  189. package/lib/esm/LocalhostIpcApp.js +11 -1
  190. package/lib/esm/LocalhostIpcApp.js.map +1 -1
  191. package/lib/esm/NoRenderApp.d.ts.map +1 -1
  192. package/lib/esm/NoRenderApp.js +1 -0
  193. package/lib/esm/NoRenderApp.js.map +1 -1
  194. package/lib/esm/PerModelCategoryVisibility.d.ts +17 -0
  195. package/lib/esm/PerModelCategoryVisibility.d.ts.map +1 -1
  196. package/lib/esm/PerModelCategoryVisibility.js +63 -19
  197. package/lib/esm/PerModelCategoryVisibility.js.map +1 -1
  198. package/lib/esm/RealityDataSource.d.ts.map +1 -1
  199. package/lib/esm/RealityDataSource.js +6 -2
  200. package/lib/esm/RealityDataSource.js.map +1 -1
  201. package/lib/esm/SelectionSet.d.ts +30 -4
  202. package/lib/esm/SelectionSet.d.ts.map +1 -1
  203. package/lib/esm/SelectionSet.js +26 -2
  204. package/lib/esm/SelectionSet.js.map +1 -1
  205. package/lib/esm/SheetViewState.js +1 -1
  206. package/lib/esm/SheetViewState.js.map +1 -1
  207. package/lib/esm/SubCategoriesCache.d.ts +6 -12
  208. package/lib/esm/SubCategoriesCache.d.ts.map +1 -1
  209. package/lib/esm/SubCategoriesCache.js +50 -39
  210. package/lib/esm/SubCategoriesCache.js.map +1 -1
  211. package/lib/esm/TentativePoint.js +1 -1
  212. package/lib/esm/TentativePoint.js.map +1 -1
  213. package/lib/esm/ViewState.d.ts +2 -3
  214. package/lib/esm/ViewState.d.ts.map +1 -1
  215. package/lib/esm/ViewState.js +13 -9
  216. package/lib/esm/ViewState.js.map +1 -1
  217. package/lib/esm/Viewport.d.ts +10 -10
  218. package/lib/esm/Viewport.d.ts.map +1 -1
  219. package/lib/esm/Viewport.js +19 -14
  220. package/lib/esm/Viewport.js.map +1 -1
  221. package/lib/esm/core-frontend.d.ts +0 -2
  222. package/lib/esm/core-frontend.d.ts.map +1 -1
  223. package/lib/esm/core-frontend.js +0 -2
  224. package/lib/esm/core-frontend.js.map +1 -1
  225. package/lib/esm/extension/ExtensionAdmin.d.ts +5 -2
  226. package/lib/esm/extension/ExtensionAdmin.d.ts.map +1 -1
  227. package/lib/esm/extension/ExtensionAdmin.js +24 -6
  228. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  229. package/lib/esm/extension/providers/RemoteExtensionProvider.d.ts +0 -2
  230. package/lib/esm/extension/providers/RemoteExtensionProvider.d.ts.map +1 -1
  231. package/lib/esm/extension/providers/RemoteExtensionProvider.js +9 -22
  232. package/lib/esm/extension/providers/RemoteExtensionProvider.js.map +1 -1
  233. package/lib/esm/render/FeatureSymbology.js +2 -2
  234. package/lib/esm/render/FeatureSymbology.js.map +1 -1
  235. package/lib/esm/render/GraphicBranch.d.ts +15 -9
  236. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  237. package/lib/esm/render/GraphicBranch.js +36 -0
  238. package/lib/esm/render/GraphicBranch.js.map +1 -1
  239. package/lib/esm/render/RenderSystem.d.ts +5 -0
  240. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  241. package/lib/esm/render/RenderSystem.js.map +1 -1
  242. package/lib/esm/render/primitives/EdgeParams.d.ts +11 -0
  243. package/lib/esm/render/primitives/EdgeParams.d.ts.map +1 -1
  244. package/lib/esm/render/primitives/EdgeParams.js +34 -28
  245. package/lib/esm/render/primitives/EdgeParams.js.map +1 -1
  246. package/lib/esm/render/primitives/VertexTable.d.ts +11 -4
  247. package/lib/esm/render/primitives/VertexTable.d.ts.map +1 -1
  248. package/lib/esm/render/primitives/VertexTable.js +14 -7
  249. package/lib/esm/render/primitives/VertexTable.js.map +1 -1
  250. package/lib/esm/render/primitives/VertexTableSplitter.d.ts +41 -0
  251. package/lib/esm/render/primitives/VertexTableSplitter.d.ts.map +1 -0
  252. package/lib/esm/render/primitives/VertexTableSplitter.js +655 -0
  253. package/lib/esm/render/primitives/VertexTableSplitter.js.map +1 -0
  254. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  255. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js +3 -1
  256. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  257. package/lib/esm/render/webgl/DrawCommand.js +1 -1
  258. package/lib/esm/render/webgl/DrawCommand.js.map +1 -1
  259. package/lib/esm/render/webgl/FeatureOverrides.d.ts +4 -1
  260. package/lib/esm/render/webgl/FeatureOverrides.d.ts.map +1 -1
  261. package/lib/esm/render/webgl/FeatureOverrides.js +56 -26
  262. package/lib/esm/render/webgl/FeatureOverrides.js.map +1 -1
  263. package/lib/esm/render/webgl/ShaderProgram.js +1 -1
  264. package/lib/esm/render/webgl/ShaderProgram.js.map +1 -1
  265. package/lib/esm/render/webgl/Target.d.ts +2 -1
  266. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  267. package/lib/esm/render/webgl/Target.js +1 -0
  268. package/lib/esm/render/webgl/Target.js.map +1 -1
  269. package/lib/esm/render/webgl/UniformHandle.d.ts +2 -1
  270. package/lib/esm/render/webgl/UniformHandle.d.ts.map +1 -1
  271. package/lib/esm/render/webgl/UniformHandle.js +15 -3
  272. package/lib/esm/render/webgl/UniformHandle.js.map +1 -1
  273. package/lib/esm/render/webgl/glsl/AmbientOcclusion.d.ts.map +1 -1
  274. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js +4 -1
  275. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  276. package/lib/esm/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  277. package/lib/esm/render/webgl/glsl/RealityMesh.js +5 -2
  278. package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
  279. package/lib/esm/render-primitives.d.ts +1 -0
  280. package/lib/esm/render-primitives.d.ts.map +1 -1
  281. package/lib/esm/render-primitives.js +1 -0
  282. package/lib/esm/render-primitives.js.map +1 -1
  283. package/lib/esm/tile/ClassifierTileTree.d.ts.map +1 -1
  284. package/lib/esm/tile/ClassifierTileTree.js +10 -10
  285. package/lib/esm/tile/ClassifierTileTree.js.map +1 -1
  286. package/lib/esm/tile/IModelTile.d.ts.map +1 -1
  287. package/lib/esm/tile/IModelTile.js +1 -0
  288. package/lib/esm/tile/IModelTile.js.map +1 -1
  289. package/lib/esm/tile/IModelTileTree.d.ts +3 -1
  290. package/lib/esm/tile/IModelTileTree.d.ts.map +1 -1
  291. package/lib/esm/tile/IModelTileTree.js +1 -0
  292. package/lib/esm/tile/IModelTileTree.js.map +1 -1
  293. package/lib/esm/tile/ImdlReader.d.ts +9 -4
  294. package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
  295. package/lib/esm/tile/ImdlReader.js +174 -60
  296. package/lib/esm/tile/ImdlReader.js.map +1 -1
  297. package/lib/esm/tile/PrimaryTileTree.d.ts +8 -7
  298. package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
  299. package/lib/esm/tile/PrimaryTileTree.js +31 -26
  300. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  301. package/lib/esm/tile/TileAdmin.d.ts +21 -2
  302. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  303. package/lib/esm/tile/TileAdmin.js +33 -13
  304. package/lib/esm/tile/TileAdmin.js.map +1 -1
  305. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  306. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +46 -2
  307. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  308. package/lib/esm/tile/map/MapCartoRectangle.d.ts +1 -0
  309. package/lib/esm/tile/map/MapCartoRectangle.d.ts.map +1 -1
  310. package/lib/esm/tile/map/MapCartoRectangle.js +1 -0
  311. package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
  312. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts +2 -1
  313. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  314. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  315. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +2 -0
  316. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  317. package/lib/esm/tile/map/MapLayerImageryProvider.js +24 -10
  318. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  319. package/lib/esm/tile/map/MapLayerSources.d.ts +14 -9
  320. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  321. package/lib/esm/tile/map/MapLayerSources.js +14 -6
  322. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  323. package/lib/esm/tools/ClipViewTool.d.ts.map +1 -1
  324. package/lib/esm/tools/ClipViewTool.js +25 -2
  325. package/lib/esm/tools/ClipViewTool.js.map +1 -1
  326. package/lib/esm/tools/PrimitiveTool.js +4 -4
  327. package/lib/esm/tools/PrimitiveTool.js.map +1 -1
  328. package/lib/esm/tools/Tool.d.ts +7 -7
  329. package/lib/esm/tools/Tool.js +7 -7
  330. package/lib/esm/tools/Tool.js.map +1 -1
  331. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  332. package/lib/esm/tools/ToolAdmin.js +25 -10
  333. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  334. package/package.json +27 -27
  335. package/lib/cjs/RenderScheduleState.d.ts +0 -24
  336. package/lib/cjs/RenderScheduleState.d.ts.map +0 -1
  337. package/lib/cjs/RenderScheduleState.js +0 -76
  338. package/lib/cjs/RenderScheduleState.js.map +0 -1
  339. package/lib/cjs/extension/providers/ExtensionServiceClient.d.ts +0 -52
  340. package/lib/cjs/extension/providers/ExtensionServiceClient.d.ts.map +0 -1
  341. package/lib/cjs/extension/providers/ExtensionServiceClient.js +0 -131
  342. package/lib/cjs/extension/providers/ExtensionServiceClient.js.map +0 -1
  343. package/lib/cjs/extension/providers/ServiceExtensionProvider.d.ts +0 -37
  344. package/lib/cjs/extension/providers/ServiceExtensionProvider.d.ts.map +0 -1
  345. package/lib/cjs/extension/providers/ServiceExtensionProvider.js +0 -84
  346. package/lib/cjs/extension/providers/ServiceExtensionProvider.js.map +0 -1
  347. package/lib/esm/RenderScheduleState.d.ts +0 -24
  348. package/lib/esm/RenderScheduleState.d.ts.map +0 -1
  349. package/lib/esm/RenderScheduleState.js +0 -71
  350. package/lib/esm/RenderScheduleState.js.map +0 -1
  351. package/lib/esm/extension/providers/ExtensionServiceClient.d.ts +0 -52
  352. package/lib/esm/extension/providers/ExtensionServiceClient.d.ts.map +0 -1
  353. package/lib/esm/extension/providers/ExtensionServiceClient.js +0 -127
  354. package/lib/esm/extension/providers/ExtensionServiceClient.js.map +0 -1
  355. package/lib/esm/extension/providers/ServiceExtensionProvider.d.ts +0 -37
  356. package/lib/esm/extension/providers/ServiceExtensionProvider.d.ts.map +0 -1
  357. package/lib/esm/extension/providers/ServiceExtensionProvider.js +0 -80
  358. package/lib/esm/extension/providers/ServiceExtensionProvider.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SubCategoriesCache.js","sourceRoot":"","sources":["../../src/SubCategoriesCache.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\r\nimport { assert, CompressedId64Set, Id64, Id64Arg, Id64Set, Id64String } from \"@itwin/core-bentley\";\r\nimport { HydrateViewStateRequestProps, HydrateViewStateResponseProps, QueryRowFormat, SubCategoryAppearance, SubCategoryResultRow } from \"@itwin/core-common\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\n\r\n/** A cancelable paginated request for subcategory information.\r\n * @see SubCategoriesCache\r\n * @internal\r\n */\r\nexport interface SubCategoriesRequest {\r\n /** The Ids of any categories which were requested but were not yet loaded. */\r\n readonly missingCategoryIds: Id64Set;\r\n /** A promise which resolves to true when all of the requested categories have been loaded, or to false if not all categories were loaded.\r\n * Categories may fail to load if the request is explicitly canceled or if the IModelConnection is closed before all categories are loaded.\r\n */\r\n readonly promise: Promise<boolean>;\r\n /** Cancels the request. */\r\n cancel(): void;\r\n}\r\n\r\nconst invalidCategoryIdEntry = new Set<string>();\r\n\r\n/** A cache of information about the subcategories contained within an [[IModelConnection]]. It is populated on demand.\r\n * @internal\r\n */\r\nexport class SubCategoriesCache {\r\n private readonly _byCategoryId = new Map<string, Id64Set>();\r\n private readonly _appearances = new Map<string, SubCategoryAppearance>();\r\n private readonly _imodel: IModelConnection;\r\n private _missingAtTimeOfPreload: Id64Set | undefined;\r\n\r\n public constructor(imodel: IModelConnection) { this._imodel = imodel; }\r\n\r\n /** Get the Ids of all subcategories belonging to the category with the specified Id, or undefined if no such information is present. */\r\n public getSubCategories(categoryId: string): Id64Set | undefined { return this._byCategoryId.get(categoryId); }\r\n\r\n /** Get the base appearance of the subcategory with the specified Id, or undefined if no such information is present. */\r\n public getSubCategoryAppearance(subCategoryId: Id64String): SubCategoryAppearance | undefined { return this._appearances.get(subCategoryId.toString()); }\r\n\r\n /** Request that the subcategory information for all of the specified categories is loaded.\r\n * If all such information has already been loaded, returns undefined.\r\n * Otherwise, dispatches an asynchronous request to load those categories which are not already loaded and returns a cancellable request object\r\n * containing the corresponding promise and the set of categories still to be loaded.\r\n */\r\n public load(categoryIds: Id64Arg): SubCategoriesRequest | undefined {\r\n const missing = this.getMissing(categoryIds);\r\n if (undefined === missing)\r\n return undefined;\r\n\r\n const request = new SubCategoriesCache.Request(missing, this._imodel);\r\n const promise = request.dispatch().then((result?: SubCategoriesCache.Result) => {\r\n if (undefined !== result)\r\n this.processResults(result, missing);\r\n\r\n return !request.wasCanceled;\r\n });\r\n\r\n return {\r\n missingCategoryIds: missing,\r\n promise,\r\n cancel: () => request.cancel(),\r\n };\r\n }\r\n\r\n /**\r\n * Populates the notLoadedCategoryIds property of the HydrateViewStateRequestProps.\r\n * notLoadedCategoryIds is a subset of categoryIds, filtering out any ids which already have an entry in the cache.\r\n */\r\n public preload(options: HydrateViewStateRequestProps, categoryIds: Id64Arg): void {\r\n const missing = this.getMissing(categoryIds);\r\n\r\n if (undefined === missing)\r\n return;\r\n this._missingAtTimeOfPreload = missing;\r\n options.notLoadedCategoryIds = CompressedId64Set.sortAndCompress(missing);\r\n }\r\n\r\n /**\r\n * Populates the SubCategoriesCache using the categoryIdsResult of the HydrateViewStateResponseProps\r\n */\r\n public postload(options: HydrateViewStateResponseProps): void {\r\n if (options.categoryIdsResult === undefined)\r\n return;\r\n // missingAtTimeOfPreload shouldn't be undefined if options.categoryIdsResult is defined... but just to be safe we'll check\r\n const missing = this._missingAtTimeOfPreload === undefined ? new Set<string>() : this._missingAtTimeOfPreload;\r\n this.processResults(options.categoryIdsResult, missing);\r\n // clear missing\r\n this._missingAtTimeOfPreload = undefined;\r\n }\r\n\r\n /** Given categoryIds, return which of these are not cached. */\r\n private getMissing(categoryIds: Id64Arg): Id64Set | undefined {\r\n let missing: Id64Set | undefined;\r\n for (const catId of Id64.iterable(categoryIds)) {\r\n if (undefined === this._byCategoryId.get(catId)) {\r\n if (undefined === missing)\r\n missing = new Set<string>();\r\n\r\n missing.add(catId);\r\n }\r\n }\r\n return missing;\r\n }\r\n\r\n public clear(): void {\r\n this._byCategoryId.clear();\r\n this._appearances.clear();\r\n }\r\n\r\n public onIModelConnectionClose(): void {\r\n this.clear();\r\n }\r\n\r\n private static createSubCategoryAppearance(json?: any) {\r\n let props: SubCategoryAppearance.Props | undefined;\r\n if (\"string\" === typeof json && 0 < json.length)\r\n props = JSON.parse(json);\r\n\r\n return new SubCategoryAppearance(props);\r\n }\r\n\r\n private processResults(result: SubCategoriesCache.Result, missing: Id64Set): void {\r\n for (const row of result)\r\n this.add(row.parentId, row.id, SubCategoriesCache.createSubCategoryAppearance(row.appearance));\r\n\r\n // Ensure that any category Ids which returned no results (e.g., non-existent category, invalid Id, etc) are still recorded so they are not repeatedly re-requested\r\n for (const id of missing)\r\n if (undefined === this._byCategoryId.get(id))\r\n this._byCategoryId.set(id, invalidCategoryIdEntry);\r\n }\r\n\r\n private add(categoryId: string, subCategoryId: string, appearance: SubCategoryAppearance) {\r\n let set = this._byCategoryId.get(categoryId);\r\n if (undefined === set)\r\n this._byCategoryId.set(categoryId, set = new Set<string>());\r\n\r\n set.add(subCategoryId);\r\n this._appearances.set(subCategoryId, appearance);\r\n }\r\n}\r\n\r\n/** This namespace and the types within it are exported strictly for use in tests.\r\n * @internal\r\n */\r\nexport namespace SubCategoriesCache { // eslint-disable-line no-redeclare\r\n\r\n export type Result = SubCategoryResultRow[];\r\n\r\n export class Request {\r\n private readonly _imodel: IModelConnection;\r\n private readonly _ecsql: string[] = [];\r\n private readonly _result: Result = [];\r\n private _canceled = false;\r\n private _curECSqlIndex = 0;\r\n\r\n public get wasCanceled() { return this._canceled || this._imodel.isClosed; }\r\n\r\n public constructor(categoryIds: Set<string>, imodel: IModelConnection, maxCategoriesPerQuery = 200) {\r\n this._imodel = imodel;\r\n\r\n const catIds = [...categoryIds];\r\n while (catIds.length !== 0) {\r\n const end = (catIds.length > maxCategoriesPerQuery) ? maxCategoriesPerQuery : catIds.length;\r\n const where = catIds.splice(0, end).join(\",\");\r\n this._ecsql.push(`SELECT ECInstanceId as id, Parent.Id as parentId, Properties as appearance FROM BisCore.SubCategory WHERE Parent.Id IN (${where})`);\r\n }\r\n }\r\n\r\n public cancel() { this._canceled = true; }\r\n\r\n public async dispatch(): Promise<Result | undefined> {\r\n if (this.wasCanceled || this._curECSqlIndex >= this._ecsql.length) // handle case of empty category Id set...\r\n return undefined;\r\n\r\n try {\r\n const ecsql = this._ecsql[this._curECSqlIndex];\r\n for await (const row of this._imodel.query(ecsql, undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames })) {\r\n this._result.push(row as SubCategoryResultRow);\r\n if (this.wasCanceled)\r\n return undefined;\r\n }\r\n } catch {\r\n // ###TODO: detect cases in which retry is warranted\r\n // Note that currently, if we succeed in obtaining some pages of results and fail to retrieve another page, we will end up processing the\r\n // incomplete results. Since we're not retrying, that's the best we can do.\r\n }\r\n\r\n // Finished with current ECSql query. Dispatch the next if one exists.\r\n if (++this._curECSqlIndex < this._ecsql.length) {\r\n if (this.wasCanceled)\r\n return undefined;\r\n else\r\n return this.dispatch();\r\n }\r\n\r\n // Even if we were canceled, we've retrieved all the rows. Might as well process them to prevent another request for some of the same rows from being enqueued.\r\n return this._result;\r\n }\r\n }\r\n\r\n export type QueueFunc = () => void;\r\n\r\n export class QueueEntry {\r\n public readonly categoryIds: Id64Set;\r\n public readonly funcs: QueueFunc[];\r\n\r\n public constructor(categoryIds: Id64Set, func: QueueFunc) {\r\n this.categoryIds = categoryIds;\r\n this.funcs = [func];\r\n }\r\n }\r\n\r\n /** A \"queue\" of SubCategoriesRequests, which consists of between 0 and 2 entries. Each entry specifies the set of category IDs to be loaded and a list of functions to be executed\r\n * when loading is completed. This is used to enforce ordering of operations upon subcategories despite the need to asynchronously load them. It incidentally also provides an\r\n * opportunity to reduce the number of backend requests by batching consecutive requests.\r\n * Chiefly used by [[Viewport]].\r\n * @internal\r\n */\r\n export class Queue {\r\n /* NB: Members marked protected for use in tests only. */\r\n protected _current?: QueueEntry;\r\n protected _next?: QueueEntry;\r\n protected _request?: SubCategoriesRequest;\r\n protected _disposed = false;\r\n\r\n /** Push a request onto the queue. The requested categories will be loaded if necessary, and then\r\n * the supplied function will be invoked. Any previously-pushed requests are guaranteed to be processed before this one.\r\n */\r\n public push(cache: SubCategoriesCache, categoryIds: Id64Arg, func: QueueFunc): void {\r\n if (this._disposed)\r\n return;\r\n else if (undefined === this._current)\r\n this.pushCurrent(cache, categoryIds, func);\r\n else\r\n this.pushNext(categoryIds, func);\r\n }\r\n\r\n /** Cancel all requests and empty the queue. */\r\n public dispose(): void {\r\n if (undefined !== this._request) {\r\n assert(undefined !== this._current);\r\n this._request.cancel();\r\n this._request = undefined;\r\n }\r\n\r\n this._current = this._next = undefined;\r\n this._disposed = true;\r\n }\r\n\r\n public get isEmpty(): boolean {\r\n return undefined === this._current && undefined === this._next;\r\n }\r\n\r\n private pushCurrent(cache: SubCategoriesCache, categoryIds: Id64Arg, func: QueueFunc): void {\r\n assert(undefined === this._next);\r\n assert(undefined === this._current);\r\n assert(undefined === this._request);\r\n\r\n this._request = cache.load(categoryIds);\r\n if (undefined === this._request) {\r\n // All requested categories are already loaded.\r\n func();\r\n return;\r\n } else {\r\n // We need to load the requested categories before invoking the function.\r\n this.processCurrent(cache, new QueueEntry(Id64.toIdSet(categoryIds, true), func));\r\n }\r\n }\r\n\r\n private processCurrent(cache: SubCategoriesCache, entry: QueueEntry): void {\r\n assert(undefined !== this._request);\r\n assert(undefined === this._current);\r\n assert(undefined === this._next);\r\n\r\n this._current = entry;\r\n this._request.promise.then((completed: boolean) => { // eslint-disable-line @typescript-eslint/no-floating-promises\r\n if (this._disposed)\r\n return;\r\n\r\n // Invoke all the functions which were awaiting this set of categories.\r\n assert(undefined !== this._current);\r\n if (completed)\r\n for (const func of this._current.funcs)\r\n func();\r\n\r\n this._request = undefined;\r\n this._current = undefined;\r\n\r\n // If we have more requests, process them.\r\n const next = this._next;\r\n this._next = undefined;\r\n if (undefined !== next) {\r\n this._request = cache.load(next.categoryIds);\r\n if (undefined === this._request) {\r\n // All categories loaded.\r\n for (const func of next.funcs)\r\n func();\r\n } else {\r\n // We need to load the requested categories before invoking the pending functions.\r\n this.processCurrent(cache, next);\r\n }\r\n }\r\n });\r\n }\r\n\r\n private pushNext(categoryIds: Id64Arg, func: QueueFunc): void {\r\n assert(undefined !== this._current);\r\n assert(undefined !== this._request);\r\n\r\n if (undefined === this._next) {\r\n // We have a request currently in process and none pending.\r\n // We could potentially determine that this request doesn't require any categories that are not already loaded or being loaded by the current request.\r\n // But we will find that out (synchronously) when current request completes, unless more requests come in. Probably not worth it.\r\n this._next = new QueueEntry(Id64.toIdSet(categoryIds, true), func);\r\n } else {\r\n // We have a request currently in process, and one or more pending. Append this one to the pending.\r\n this._next.funcs.push(func);\r\n for (const categoryId of Id64.iterable(categoryIds))\r\n this._next.categoryIds.add(categoryId);\r\n }\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"SubCategoriesCache.js","sourceRoot":"","sources":["../../src/SubCategoriesCache.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\r\nimport { assert, CompressedId64Set, Id64, Id64Arg, Id64Set, Id64String, OrderedId64Iterable } from \"@itwin/core-bentley\";\r\nimport { SubCategoryAppearance, SubCategoryResultRow } from \"@itwin/core-common\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\n\r\n/** A cancelable paginated request for subcategory information.\r\n * @see SubCategoriesCache\r\n * @internal\r\n */\r\nexport interface SubCategoriesRequest {\r\n /** The Ids of any categories which were requested but were not yet loaded. */\r\n readonly missingCategoryIds: Id64Set;\r\n /** A promise which resolves to true when all of the requested categories have been loaded, or to false if not all categories were loaded.\r\n * Categories may fail to load if the request is explicitly canceled or if the IModelConnection is closed before all categories are loaded.\r\n */\r\n readonly promise: Promise<boolean>;\r\n /** Cancels the request. */\r\n cancel(): void;\r\n}\r\n\r\nconst invalidCategoryIdEntry = new Set<string>();\r\n\r\n/** A cache of information about the subcategories contained within an [[IModelConnection]]. It is populated on demand.\r\n * @internal\r\n */\r\nexport class SubCategoriesCache {\r\n private readonly _byCategoryId = new Map<string, Id64Set>();\r\n private readonly _appearances = new Map<string, SubCategoryAppearance>();\r\n private readonly _imodel: IModelConnection;\r\n private _missingAtTimeOfPreload: Id64Set | undefined;\r\n\r\n public constructor(imodel: IModelConnection) { this._imodel = imodel; }\r\n\r\n /** Get the Ids of all subcategories belonging to the category with the specified Id, or undefined if no such information is present. */\r\n public getSubCategories(categoryId: string): Id64Set | undefined { return this._byCategoryId.get(categoryId); }\r\n\r\n /** Get the base appearance of the subcategory with the specified Id, or undefined if no such information is present. */\r\n public getSubCategoryAppearance(subCategoryId: Id64String): SubCategoryAppearance | undefined { return this._appearances.get(subCategoryId.toString()); }\r\n\r\n /** Request that the subcategory information for all of the specified categories is loaded.\r\n * If all such information has already been loaded, returns undefined.\r\n * Otherwise, dispatches an asynchronous request to load those categories which are not already loaded and returns a cancellable request object\r\n * containing the corresponding promise and the set of categories still to be loaded.\r\n */\r\n public load(categoryIds: Id64Arg): SubCategoriesRequest | undefined {\r\n const missing = this.getMissing(categoryIds);\r\n if (undefined === missing)\r\n return undefined;\r\n\r\n const request = new SubCategoriesCache.Request(missing, this._imodel);\r\n const promise = request.dispatch().then((result?: SubCategoriesCache.Result) => {\r\n if (undefined !== result)\r\n this.processResults(result, missing);\r\n\r\n return !request.wasCanceled;\r\n });\r\n\r\n return {\r\n missingCategoryIds: missing,\r\n promise,\r\n cancel: () => request.cancel(),\r\n };\r\n }\r\n\r\n /** Given categoryIds, return which of these are not cached. */\r\n private getMissing(categoryIds: Id64Arg): Id64Set | undefined {\r\n let missing: Id64Set | undefined;\r\n for (const catId of Id64.iterable(categoryIds)) {\r\n if (undefined === this._byCategoryId.get(catId)) {\r\n if (undefined === missing)\r\n missing = new Set<string>();\r\n\r\n missing.add(catId);\r\n }\r\n }\r\n\r\n return missing;\r\n }\r\n\r\n public clear(): void {\r\n this._byCategoryId.clear();\r\n this._appearances.clear();\r\n }\r\n\r\n public onIModelConnectionClose(): void {\r\n this.clear();\r\n }\r\n\r\n private static createSubCategoryAppearance(json?: any) {\r\n let props: SubCategoryAppearance.Props | undefined;\r\n if (\"string\" === typeof json && 0 < json.length)\r\n props = JSON.parse(json);\r\n\r\n return new SubCategoryAppearance(props);\r\n }\r\n\r\n private processResults(result: SubCategoriesCache.Result, missing: Id64Set): void {\r\n for (const row of result)\r\n this.add(row.parentId, row.id, SubCategoriesCache.createSubCategoryAppearance(row.appearance));\r\n\r\n // Ensure that any category Ids which returned no results (e.g., non-existent category, invalid Id, etc) are still recorded so they are not repeatedly re-requested\r\n for (const id of missing)\r\n if (undefined === this._byCategoryId.get(id))\r\n this._byCategoryId.set(id, invalidCategoryIdEntry);\r\n }\r\n\r\n private add(categoryId: string, subCategoryId: string, appearance: SubCategoryAppearance) {\r\n let set = this._byCategoryId.get(categoryId);\r\n if (undefined === set)\r\n this._byCategoryId.set(categoryId, set = new Set<string>());\r\n\r\n set.add(subCategoryId);\r\n this._appearances.set(subCategoryId, appearance);\r\n }\r\n\r\n public async getCategoryInfo(inputCategoryIds: Id64String | Iterable<Id64String>): Promise<Map<Id64String, IModelConnection.Categories.CategoryInfo>> {\r\n // Eliminate duplicates...\r\n const categoryIds = new Set<string>(typeof inputCategoryIds === \"string\" ? [inputCategoryIds] : inputCategoryIds);\r\n const req = this.load(categoryIds);\r\n if (req)\r\n await req.promise;\r\n\r\n const map = new Map<Id64String, IModelConnection.Categories.CategoryInfo>();\r\n for (const categoryId of categoryIds) {\r\n const subCategoryIds = this._byCategoryId.get(categoryId);\r\n if (!subCategoryIds)\r\n continue;\r\n\r\n const subCategories = this.mapSubCategoryInfos(categoryId, subCategoryIds);\r\n map.set(categoryId, { id: categoryId, subCategories });\r\n }\r\n\r\n return map;\r\n }\r\n\r\n public async getSubCategoryInfo(categoryId: Id64String, inputSubCategoryIds: Id64String | Iterable<Id64String>): Promise<Map<Id64String, IModelConnection.Categories.SubCategoryInfo>> {\r\n // Eliminate duplicates...\r\n const subCategoryIds = new Set<string>(typeof inputSubCategoryIds === \"string\" ? [inputSubCategoryIds] : inputSubCategoryIds);\r\n const req = this.load(categoryId);\r\n if (req)\r\n await req.promise;\r\n\r\n return this.mapSubCategoryInfos(categoryId, subCategoryIds);\r\n }\r\n\r\n private mapSubCategoryInfos(categoryId: Id64String, subCategoryIds: Set<Id64String>): Map<Id64String, IModelConnection.Categories.SubCategoryInfo> {\r\n const map = new Map<Id64String, IModelConnection.Categories.SubCategoryInfo>();\r\n for (const id of subCategoryIds) {\r\n const appearance = this._appearances.get(id);\r\n assert(undefined !== appearance);\r\n if (appearance)\r\n map.set(id, { id, categoryId, appearance });\r\n }\r\n\r\n return map;\r\n }\r\n}\r\n\r\n/** This namespace and the types within it are exported strictly for use in tests.\r\n * @internal\r\n */\r\nexport namespace SubCategoriesCache { // eslint-disable-line no-redeclare\r\n export type Result = SubCategoryResultRow[];\r\n\r\n export class Request {\r\n private readonly _imodel: IModelConnection;\r\n private readonly _categoryIds: CompressedId64Set[] = [];\r\n private readonly _result: Result = [];\r\n private _canceled = false;\r\n private _curCategoryIdsIndex = 0;\r\n\r\n public get wasCanceled() { return this._canceled || this._imodel.isClosed; }\r\n\r\n public constructor(categoryIds: Set<string>, imodel: IModelConnection, maxCategoriesPerQuery = 200) {\r\n this._imodel = imodel;\r\n\r\n const catIds = [...categoryIds];\r\n OrderedId64Iterable.sortArray(catIds); // sort categories, so that given the same set of categoryIds we will always create the same batches.\r\n while (catIds.length !== 0) {\r\n const end = (catIds.length > maxCategoriesPerQuery) ? maxCategoriesPerQuery : catIds.length;\r\n const compressedIds = CompressedId64Set.compressArray(catIds.splice(0, end));\r\n this._categoryIds.push(compressedIds);\r\n }\r\n }\r\n\r\n public cancel() { this._canceled = true; }\r\n\r\n public async dispatch(): Promise<Result | undefined> {\r\n if (this.wasCanceled || this._curCategoryIdsIndex >= this._categoryIds.length) // handle case of empty category Id set...\r\n return undefined;\r\n\r\n try {\r\n const catIds = this._categoryIds[this._curCategoryIdsIndex];\r\n const result = await this._imodel.querySubCategories(catIds);\r\n this._result.push(...result);\r\n if (this.wasCanceled)\r\n return undefined;\r\n } catch {\r\n // ###TODO: detect cases in which retry is warranted\r\n // Note that currently, if we succeed in obtaining some pages of results and fail to retrieve another page, we will end up processing the\r\n // incomplete results. Since we're not retrying, that's the best we can do.\r\n }\r\n\r\n // Finished with current batch of categoryIds. Dispatch the next batch if one exists.\r\n if (++this._curCategoryIdsIndex < this._categoryIds.length) {\r\n if (this.wasCanceled)\r\n return undefined;\r\n else\r\n return this.dispatch();\r\n }\r\n\r\n // Even if we were canceled, we've retrieved all the rows. Might as well process them to prevent another request for some of the same rows from being enqueued.\r\n return this._result;\r\n }\r\n }\r\n\r\n export type QueueFunc = () => void;\r\n\r\n export class QueueEntry {\r\n public readonly categoryIds: Id64Set;\r\n public readonly funcs: QueueFunc[];\r\n\r\n public constructor(categoryIds: Id64Set, func: QueueFunc) {\r\n this.categoryIds = categoryIds;\r\n this.funcs = [func];\r\n }\r\n }\r\n\r\n /** A \"queue\" of SubCategoriesRequests, which consists of between 0 and 2 entries. Each entry specifies the set of category IDs to be loaded and a list of functions to be executed\r\n * when loading is completed. This is used to enforce ordering of operations upon subcategories despite the need to asynchronously load them. It incidentally also provides an\r\n * opportunity to reduce the number of backend requests by batching consecutive requests.\r\n * Chiefly used by [[Viewport]].\r\n * @internal\r\n */\r\n export class Queue {\r\n /* NB: Members marked protected for use in tests only. */\r\n protected _current?: QueueEntry;\r\n protected _next?: QueueEntry;\r\n protected _request?: SubCategoriesRequest;\r\n protected _disposed = false;\r\n\r\n /** Push a request onto the queue. The requested categories will be loaded if necessary, and then\r\n * the supplied function will be invoked. Any previously-pushed requests are guaranteed to be processed before this one.\r\n */\r\n public push(cache: SubCategoriesCache, categoryIds: Id64Arg, func: QueueFunc): void {\r\n if (this._disposed)\r\n return;\r\n else if (undefined === this._current)\r\n this.pushCurrent(cache, categoryIds, func);\r\n else\r\n this.pushNext(categoryIds, func);\r\n }\r\n\r\n /** Cancel all requests and empty the queue. */\r\n public dispose(): void {\r\n if (undefined !== this._request) {\r\n assert(undefined !== this._current);\r\n this._request.cancel();\r\n this._request = undefined;\r\n }\r\n\r\n this._current = this._next = undefined;\r\n this._disposed = true;\r\n }\r\n\r\n public get isEmpty(): boolean {\r\n return undefined === this._current && undefined === this._next;\r\n }\r\n\r\n private pushCurrent(cache: SubCategoriesCache, categoryIds: Id64Arg, func: QueueFunc): void {\r\n assert(undefined === this._next);\r\n assert(undefined === this._current);\r\n assert(undefined === this._request);\r\n\r\n this._request = cache.load(categoryIds);\r\n if (undefined === this._request) {\r\n // All requested categories are already loaded.\r\n func();\r\n return;\r\n } else {\r\n // We need to load the requested categories before invoking the function.\r\n this.processCurrent(cache, new QueueEntry(Id64.toIdSet(categoryIds, true), func));\r\n }\r\n }\r\n\r\n private processCurrent(cache: SubCategoriesCache, entry: QueueEntry): void {\r\n assert(undefined !== this._request);\r\n assert(undefined === this._current);\r\n assert(undefined === this._next);\r\n\r\n this._current = entry;\r\n this._request.promise.then((completed: boolean) => { // eslint-disable-line @typescript-eslint/no-floating-promises\r\n if (this._disposed)\r\n return;\r\n\r\n // Invoke all the functions which were awaiting this set of IModelConnection.Categories.\r\n assert(undefined !== this._current);\r\n if (completed)\r\n for (const func of this._current.funcs)\r\n func();\r\n\r\n this._request = undefined;\r\n this._current = undefined;\r\n\r\n // If we have more requests, process them.\r\n const next = this._next;\r\n this._next = undefined;\r\n if (undefined !== next) {\r\n this._request = cache.load(next.categoryIds);\r\n if (undefined === this._request) {\r\n // All categories loaded.\r\n for (const func of next.funcs)\r\n func();\r\n } else {\r\n // We need to load the requested categories before invoking the pending functions.\r\n this.processCurrent(cache, next);\r\n }\r\n }\r\n });\r\n }\r\n\r\n private pushNext(categoryIds: Id64Arg, func: QueueFunc): void {\r\n assert(undefined !== this._current);\r\n assert(undefined !== this._request);\r\n\r\n if (undefined === this._next) {\r\n // We have a request currently in process and none pending.\r\n // We could potentially determine that this request doesn't require any categories that are not already loaded or being loaded by the current request.\r\n // But we will find that out (synchronously) when current request completes, unless more requests come in. Probably not worth it.\r\n this._next = new QueueEntry(Id64.toIdSet(categoryIds, true), func);\r\n } else {\r\n // We have a request currently in process, and one or more pending. Append this one to the pending.\r\n this._next.funcs.push(func);\r\n for (const categoryId of Id64.iterable(categoryIds))\r\n this._next.categoryIds.add(categoryId);\r\n }\r\n }\r\n }\r\n}\r\n"]}
@@ -227,7 +227,7 @@ class TentativePoint {
227
227
  if (currTool && currTool instanceof ViewTool_1.ViewManip && currTool.viewHandles.hasHandle(ViewTool_1.ViewHandleType.TargetCenter))
228
228
  currTool.updateTargetCenter(); // Change target center to tentative location...
229
229
  else
230
- IModelApp_1.IModelApp.toolAdmin.updateDynamics(); // Don't wait for motion to update tool dynamics...
230
+ IModelApp_1.IModelApp.toolAdmin.updateDynamics(undefined, undefined, true); // Don't wait for motion to update dynamics...
231
231
  }
232
232
  });
233
233
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TentativePoint.js","sourceRoot":"","sources":["../../src/TentativePoint.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module LocatingElements\r\n */\r\n\r\nimport { Point3d } from \"@itwin/core-geometry\";\r\nimport { AccuSnap } from \"./AccuSnap\";\r\nimport { HitListHolder } from \"./ElementLocateManager\";\r\nimport { HitDetail, HitList, HitPriority, HitSource, SnapDetail, SnapHeat, SnapMode } from \"./HitDetail\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { BeButton, BeButtonEvent } from \"./tools/Tool\";\r\nimport { ViewHandleType, ViewManip } from \"./tools/ViewTool\";\r\nimport { DecorateContext } from \"./ViewContext\";\r\nimport { ScreenViewport } from \"./Viewport\";\r\n\r\n/**\r\n * @public\r\n * @extensions\r\n */\r\nexport class TentativePoint {\r\n public isActive = false;\r\n public currSnap?: SnapDetail;\r\n public tpHits?: HitList<HitDetail>;\r\n private get _hotDistanceInches(): number { return 0.21; }\r\n private readonly _point: Point3d = new Point3d();\r\n private readonly _rawPoint: Point3d = new Point3d();\r\n private readonly _viewPoint: Point3d = new Point3d();\r\n private _tentativePromise?: Promise<SnapDetail | undefined>;\r\n public viewport?: ScreenViewport;\r\n\r\n public onInitialized() { }\r\n public setHitList(list?: HitList<HitDetail>) { this.tpHits = list; }\r\n\r\n /** @return true if the tentative point is currently active and snapped to an element. */\r\n public get isSnapped(): boolean { return undefined !== this.currSnap; }\r\n\r\n /** @return The current snap path when TentativePoint.isSnapped or undefined. */\r\n public getCurrSnap(): SnapDetail | undefined { return this.currSnap; }\r\n\r\n public getPoint(): Point3d {\r\n const snap = this.currSnap;\r\n return !snap ? this._point : snap.adjustedPoint;\r\n }\r\n\r\n public setPoint(point: Point3d): void {\r\n this.setCurrSnap(undefined);\r\n this.tpHits = undefined;\r\n this._point.setFrom(point);\r\n }\r\n\r\n public clear(doErase: boolean): void {\r\n if (doErase) {\r\n this.removeTentative();\r\n IModelApp.accuSnap.synchSnapMode();\r\n }\r\n IModelApp.accuSnap.destroy();\r\n this.isActive = false;\r\n this.setCurrSnap(undefined);\r\n this.tpHits = undefined;\r\n }\r\n\r\n public removeTentative(): void {\r\n this._tentativePromise = undefined;\r\n if (!this.isActive)\r\n return;\r\n IModelApp.accuSnap.erase();\r\n if (this.getCurrSnap())\r\n IModelApp.viewManager.invalidateDecorationsAllViews();\r\n else\r\n this.viewport!.invalidateDecorations();\r\n this.isActive = false;\r\n }\r\n\r\n public setCurrSnap(newSnap?: SnapDetail): void {\r\n if (newSnap)\r\n newSnap.setSnapPoint(newSnap.snapPoint, SnapHeat.InRange); // Reset adjustedPoint from pre-located snap and set SnapHeat...\r\n this.currSnap = newSnap;\r\n }\r\n\r\n public showTentative(): void {\r\n if (this.isSnapped) {\r\n IModelApp.viewManager.invalidateDecorationsAllViews();\r\n IModelApp.accuSnap.displayToolTip(this._viewPoint, this.viewport!, undefined); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n } else {\r\n this.viewport!.invalidateDecorations();\r\n }\r\n this.isActive = true;\r\n }\r\n\r\n public getHitAndList(holder: HitListHolder): SnapDetail | undefined {\r\n const hit = this.currSnap;\r\n if (hit) {\r\n holder.setHitList(this.tpHits);\r\n this.tpHits = undefined;\r\n }\r\n return hit;\r\n }\r\n\r\n public onButtonEvent(ev: BeButtonEvent): void {\r\n switch (ev.button) {\r\n case BeButton.Data:\r\n if (!ev.isDown)\r\n return; // cleared on down...\r\n break;\r\n case BeButton.Reset:\r\n if (ev.isDown)\r\n return; // cleared on up...\r\n break;\r\n case BeButton.Middle:\r\n return;\r\n }\r\n\r\n this.removeTentative();\r\n IModelApp.accuSnap.synchSnapMode();\r\n this.setCurrSnap(undefined);\r\n this.tpHits = undefined;\r\n }\r\n\r\n public decorate(context: DecorateContext): void {\r\n const viewport = context.viewport;\r\n if (!this.isActive || !viewport)\r\n return;\r\n\r\n const tpSize = Math.floor(viewport.pixelsPerInch * 0.4) + 0.5;\r\n const toSizeOutline = tpSize + 1;\r\n const position = context.viewport.worldToView(this._point); position.x = Math.floor(position.x) + 0.5; position.y = Math.floor(position.y) + 0.5;\r\n const drawDecoration = (ctx: CanvasRenderingContext2D) => {\r\n ctx.beginPath();\r\n ctx.strokeStyle = \"rgba(0,0,0,.5)\";\r\n ctx.lineWidth = 3;\r\n ctx.moveTo(-toSizeOutline, 0);\r\n ctx.lineTo(toSizeOutline, 0);\r\n ctx.moveTo(0, -toSizeOutline);\r\n ctx.lineTo(0, toSizeOutline);\r\n ctx.stroke();\r\n\r\n ctx.beginPath();\r\n ctx.strokeStyle = \"white\";\r\n ctx.lineWidth = 1;\r\n if (!this.isSnapped) ctx.setLineDash([4, 1]);\r\n ctx.shadowColor = \"black\";\r\n ctx.shadowBlur = 5;\r\n ctx.moveTo(-tpSize, 0);\r\n ctx.lineTo(tpSize, 0);\r\n ctx.moveTo(0, -tpSize);\r\n ctx.lineTo(0, tpSize);\r\n ctx.stroke();\r\n };\r\n context.addCanvasDecoration({ position, drawDecoration });\r\n }\r\n\r\n private async getSnap(newSearch: boolean): Promise<SnapDetail | undefined> {\r\n // Use next hit from previous search when using tentative to cycle through hits...\r\n let thisHit = (!newSearch && undefined !== this.tpHits ? this.tpHits.getNextHit() : undefined);\r\n\r\n // Use existing AccuSnap hit list if one exists...\r\n if (undefined === thisHit) {\r\n this.tpHits = undefined;\r\n thisHit = IModelApp.accuSnap.getHitAndList(this);\r\n }\r\n\r\n if (undefined === thisHit) {\r\n // search for elements around the current raw point (search should not be affected by locks!)\r\n const aperture = (2.0 * this.viewport!.pixelsFromInches(IModelApp.locateManager.apertureInches) / 2.0) + 1.5;\r\n const options = IModelApp.locateManager.options.clone(); // Copy to avoid changing out from under active Tool...\r\n const picker = IModelApp.locateManager.picker;\r\n\r\n options.hitSource = HitSource.TentativeSnap;\r\n if (0 === picker.doPick(this.viewport!, this._rawPoint, aperture, options))\r\n return undefined;\r\n\r\n this.tpHits = picker.getHitList(true);\r\n thisHit = (undefined !== this.tpHits ? this.tpHits.getNextHit() : undefined);\r\n } else if (thisHit instanceof SnapDetail) {\r\n // Make the current AccuSnap the TentativePoint snap...\r\n return thisHit;\r\n }\r\n\r\n if (undefined === thisHit)\r\n return undefined;\r\n\r\n const snapModes = IModelApp.accuSnap.getActiveSnapModes(); // Get the list of point snap modes to consider\r\n if (1 === snapModes.length && SnapMode.Intersection === snapModes[0])\r\n snapModes.push(SnapMode.Nearest); // Add nearest when doing intersection by itself to support finding extended intersections...\r\n\r\n const thisSnap = await AccuSnap.requestSnap(thisHit, snapModes, this._hotDistanceInches, IModelApp.accuSnap.keypointDivisor, this.tpHits);\r\n\r\n if (undefined !== thisSnap)\r\n IModelApp.accuDraw.onSnap(thisSnap); // AccuDraw can adjust nearest snap to intersection of circle (polar distance lock) or line (axis lock) with snapped to curve...\r\n\r\n return thisSnap;\r\n }\r\n\r\n private static arePointsCloseEnough(pt1: Point3d, pt2: Point3d, pixelDistance: number): boolean { return pt1.distance(pt2) < (pixelDistance + 1.5); }\r\n\r\n public process(ev: BeButtonEvent): void {\r\n if (undefined !== this._tentativePromise)\r\n return;\r\n\r\n const currTool = IModelApp.toolAdmin.viewTool;\r\n if (currTool && currTool.inDynamicUpdate)\r\n return; // trying to tentative snap while view is changing isn't useful...\r\n\r\n const wasActive = this.isActive;\r\n this.removeTentative(); // remove the TP cross if it is already on the screen\r\n const lastPtView = this._viewPoint.clone();\r\n\r\n this.viewport = ev.viewport!;\r\n this._point.setFrom(ev.point);\r\n this._rawPoint.setFrom(ev.rawPoint);\r\n this._viewPoint.setFrom(ev.viewPoint);\r\n\r\n const newSearch = (!this.isSnapped || !TentativePoint.arePointsCloseEnough(lastPtView, this._viewPoint, this.viewport.pixelsFromInches(IModelApp.locateManager.apertureInches)));\r\n const promise = this.getSnap(newSearch);\r\n this._tentativePromise = promise;\r\n\r\n promise.then((newSnap) => { // eslint-disable-line @typescript-eslint/no-floating-promises\r\n // Ignore response if we're no longer interested in this tentative.\r\n if (this._tentativePromise === promise) {\r\n this._tentativePromise = undefined;\r\n this.setCurrSnap(newSnap); // Adopt the snap as current\r\n IModelApp.accuSnap.clear(); // make sure there's no AccuSnap active after a tentative point (otherwise we continually snap to it).\r\n if (this.isSnapped)\r\n this._point.setFrom(this.currSnap!.snapPoint);\r\n else if (wasActive && newSearch)\r\n this._point.setFrom(ev.rawPoint);\r\n this.showTentative(); // show the TP cross\r\n\r\n if (this.isSnapped) {\r\n IModelApp.toolAdmin.adjustSnapPoint();\r\n } else if (IModelApp.accuDraw.isActive) {\r\n const point = this.getPoint().clone();\r\n const vp = ev.viewport!;\r\n if (vp.isSnapAdjustmentRequired) {\r\n IModelApp.toolAdmin.adjustPointToACS(point, vp, false);\r\n const hit = new HitDetail(point, vp, HitSource.TentativeSnap, point, \"\", HitPriority.Unknown, 0, 0);\r\n const snap = new SnapDetail(hit);\r\n this.setCurrSnap(snap);\r\n IModelApp.toolAdmin.adjustSnapPoint();\r\n this.setPoint(this.getPoint());\r\n } else {\r\n IModelApp.accuDraw.adjustPoint(point, vp, false);\r\n const savePoint = point.clone();\r\n IModelApp.toolAdmin.adjustPointToGrid(point, vp);\r\n if (!point.isExactEqual(savePoint))\r\n IModelApp.accuDraw.adjustPoint(point, vp, false);\r\n this.setPoint(point);\r\n }\r\n } else {\r\n IModelApp.toolAdmin.adjustPoint(this.getPoint(), ev.viewport!);\r\n }\r\n\r\n IModelApp.accuDraw.onTentative();\r\n if (currTool && currTool instanceof ViewManip && currTool.viewHandles.hasHandle(ViewHandleType.TargetCenter))\r\n currTool.updateTargetCenter(); // Change target center to tentative location...\r\n else\r\n IModelApp.toolAdmin.updateDynamics(); // Don't wait for motion to update tool dynamics...\r\n }\r\n });\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"TentativePoint.js","sourceRoot":"","sources":["../../src/TentativePoint.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module LocatingElements\r\n */\r\n\r\nimport { Point3d } from \"@itwin/core-geometry\";\r\nimport { AccuSnap } from \"./AccuSnap\";\r\nimport { HitListHolder } from \"./ElementLocateManager\";\r\nimport { HitDetail, HitList, HitPriority, HitSource, SnapDetail, SnapHeat, SnapMode } from \"./HitDetail\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { BeButton, BeButtonEvent } from \"./tools/Tool\";\r\nimport { ViewHandleType, ViewManip } from \"./tools/ViewTool\";\r\nimport { DecorateContext } from \"./ViewContext\";\r\nimport { ScreenViewport } from \"./Viewport\";\r\n\r\n/**\r\n * @public\r\n * @extensions\r\n */\r\nexport class TentativePoint {\r\n public isActive = false;\r\n public currSnap?: SnapDetail;\r\n public tpHits?: HitList<HitDetail>;\r\n private get _hotDistanceInches(): number { return 0.21; }\r\n private readonly _point: Point3d = new Point3d();\r\n private readonly _rawPoint: Point3d = new Point3d();\r\n private readonly _viewPoint: Point3d = new Point3d();\r\n private _tentativePromise?: Promise<SnapDetail | undefined>;\r\n public viewport?: ScreenViewport;\r\n\r\n public onInitialized() { }\r\n public setHitList(list?: HitList<HitDetail>) { this.tpHits = list; }\r\n\r\n /** @return true if the tentative point is currently active and snapped to an element. */\r\n public get isSnapped(): boolean { return undefined !== this.currSnap; }\r\n\r\n /** @return The current snap path when TentativePoint.isSnapped or undefined. */\r\n public getCurrSnap(): SnapDetail | undefined { return this.currSnap; }\r\n\r\n public getPoint(): Point3d {\r\n const snap = this.currSnap;\r\n return !snap ? this._point : snap.adjustedPoint;\r\n }\r\n\r\n public setPoint(point: Point3d): void {\r\n this.setCurrSnap(undefined);\r\n this.tpHits = undefined;\r\n this._point.setFrom(point);\r\n }\r\n\r\n public clear(doErase: boolean): void {\r\n if (doErase) {\r\n this.removeTentative();\r\n IModelApp.accuSnap.synchSnapMode();\r\n }\r\n IModelApp.accuSnap.destroy();\r\n this.isActive = false;\r\n this.setCurrSnap(undefined);\r\n this.tpHits = undefined;\r\n }\r\n\r\n public removeTentative(): void {\r\n this._tentativePromise = undefined;\r\n if (!this.isActive)\r\n return;\r\n IModelApp.accuSnap.erase();\r\n if (this.getCurrSnap())\r\n IModelApp.viewManager.invalidateDecorationsAllViews();\r\n else\r\n this.viewport!.invalidateDecorations();\r\n this.isActive = false;\r\n }\r\n\r\n public setCurrSnap(newSnap?: SnapDetail): void {\r\n if (newSnap)\r\n newSnap.setSnapPoint(newSnap.snapPoint, SnapHeat.InRange); // Reset adjustedPoint from pre-located snap and set SnapHeat...\r\n this.currSnap = newSnap;\r\n }\r\n\r\n public showTentative(): void {\r\n if (this.isSnapped) {\r\n IModelApp.viewManager.invalidateDecorationsAllViews();\r\n IModelApp.accuSnap.displayToolTip(this._viewPoint, this.viewport!, undefined); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n } else {\r\n this.viewport!.invalidateDecorations();\r\n }\r\n this.isActive = true;\r\n }\r\n\r\n public getHitAndList(holder: HitListHolder): SnapDetail | undefined {\r\n const hit = this.currSnap;\r\n if (hit) {\r\n holder.setHitList(this.tpHits);\r\n this.tpHits = undefined;\r\n }\r\n return hit;\r\n }\r\n\r\n public onButtonEvent(ev: BeButtonEvent): void {\r\n switch (ev.button) {\r\n case BeButton.Data:\r\n if (!ev.isDown)\r\n return; // cleared on down...\r\n break;\r\n case BeButton.Reset:\r\n if (ev.isDown)\r\n return; // cleared on up...\r\n break;\r\n case BeButton.Middle:\r\n return;\r\n }\r\n\r\n this.removeTentative();\r\n IModelApp.accuSnap.synchSnapMode();\r\n this.setCurrSnap(undefined);\r\n this.tpHits = undefined;\r\n }\r\n\r\n public decorate(context: DecorateContext): void {\r\n const viewport = context.viewport;\r\n if (!this.isActive || !viewport)\r\n return;\r\n\r\n const tpSize = Math.floor(viewport.pixelsPerInch * 0.4) + 0.5;\r\n const toSizeOutline = tpSize + 1;\r\n const position = context.viewport.worldToView(this._point); position.x = Math.floor(position.x) + 0.5; position.y = Math.floor(position.y) + 0.5;\r\n const drawDecoration = (ctx: CanvasRenderingContext2D) => {\r\n ctx.beginPath();\r\n ctx.strokeStyle = \"rgba(0,0,0,.5)\";\r\n ctx.lineWidth = 3;\r\n ctx.moveTo(-toSizeOutline, 0);\r\n ctx.lineTo(toSizeOutline, 0);\r\n ctx.moveTo(0, -toSizeOutline);\r\n ctx.lineTo(0, toSizeOutline);\r\n ctx.stroke();\r\n\r\n ctx.beginPath();\r\n ctx.strokeStyle = \"white\";\r\n ctx.lineWidth = 1;\r\n if (!this.isSnapped) ctx.setLineDash([4, 1]);\r\n ctx.shadowColor = \"black\";\r\n ctx.shadowBlur = 5;\r\n ctx.moveTo(-tpSize, 0);\r\n ctx.lineTo(tpSize, 0);\r\n ctx.moveTo(0, -tpSize);\r\n ctx.lineTo(0, tpSize);\r\n ctx.stroke();\r\n };\r\n context.addCanvasDecoration({ position, drawDecoration });\r\n }\r\n\r\n private async getSnap(newSearch: boolean): Promise<SnapDetail | undefined> {\r\n // Use next hit from previous search when using tentative to cycle through hits...\r\n let thisHit = (!newSearch && undefined !== this.tpHits ? this.tpHits.getNextHit() : undefined);\r\n\r\n // Use existing AccuSnap hit list if one exists...\r\n if (undefined === thisHit) {\r\n this.tpHits = undefined;\r\n thisHit = IModelApp.accuSnap.getHitAndList(this);\r\n }\r\n\r\n if (undefined === thisHit) {\r\n // search for elements around the current raw point (search should not be affected by locks!)\r\n const aperture = (2.0 * this.viewport!.pixelsFromInches(IModelApp.locateManager.apertureInches) / 2.0) + 1.5;\r\n const options = IModelApp.locateManager.options.clone(); // Copy to avoid changing out from under active Tool...\r\n const picker = IModelApp.locateManager.picker;\r\n\r\n options.hitSource = HitSource.TentativeSnap;\r\n if (0 === picker.doPick(this.viewport!, this._rawPoint, aperture, options))\r\n return undefined;\r\n\r\n this.tpHits = picker.getHitList(true);\r\n thisHit = (undefined !== this.tpHits ? this.tpHits.getNextHit() : undefined);\r\n } else if (thisHit instanceof SnapDetail) {\r\n // Make the current AccuSnap the TentativePoint snap...\r\n return thisHit;\r\n }\r\n\r\n if (undefined === thisHit)\r\n return undefined;\r\n\r\n const snapModes = IModelApp.accuSnap.getActiveSnapModes(); // Get the list of point snap modes to consider\r\n if (1 === snapModes.length && SnapMode.Intersection === snapModes[0])\r\n snapModes.push(SnapMode.Nearest); // Add nearest when doing intersection by itself to support finding extended intersections...\r\n\r\n const thisSnap = await AccuSnap.requestSnap(thisHit, snapModes, this._hotDistanceInches, IModelApp.accuSnap.keypointDivisor, this.tpHits);\r\n\r\n if (undefined !== thisSnap)\r\n IModelApp.accuDraw.onSnap(thisSnap); // AccuDraw can adjust nearest snap to intersection of circle (polar distance lock) or line (axis lock) with snapped to curve...\r\n\r\n return thisSnap;\r\n }\r\n\r\n private static arePointsCloseEnough(pt1: Point3d, pt2: Point3d, pixelDistance: number): boolean { return pt1.distance(pt2) < (pixelDistance + 1.5); }\r\n\r\n public process(ev: BeButtonEvent): void {\r\n if (undefined !== this._tentativePromise)\r\n return;\r\n\r\n const currTool = IModelApp.toolAdmin.viewTool;\r\n if (currTool && currTool.inDynamicUpdate)\r\n return; // trying to tentative snap while view is changing isn't useful...\r\n\r\n const wasActive = this.isActive;\r\n this.removeTentative(); // remove the TP cross if it is already on the screen\r\n const lastPtView = this._viewPoint.clone();\r\n\r\n this.viewport = ev.viewport!;\r\n this._point.setFrom(ev.point);\r\n this._rawPoint.setFrom(ev.rawPoint);\r\n this._viewPoint.setFrom(ev.viewPoint);\r\n\r\n const newSearch = (!this.isSnapped || !TentativePoint.arePointsCloseEnough(lastPtView, this._viewPoint, this.viewport.pixelsFromInches(IModelApp.locateManager.apertureInches)));\r\n const promise = this.getSnap(newSearch);\r\n this._tentativePromise = promise;\r\n\r\n promise.then((newSnap) => { // eslint-disable-line @typescript-eslint/no-floating-promises\r\n // Ignore response if we're no longer interested in this tentative.\r\n if (this._tentativePromise === promise) {\r\n this._tentativePromise = undefined;\r\n this.setCurrSnap(newSnap); // Adopt the snap as current\r\n IModelApp.accuSnap.clear(); // make sure there's no AccuSnap active after a tentative point (otherwise we continually snap to it).\r\n if (this.isSnapped)\r\n this._point.setFrom(this.currSnap!.snapPoint);\r\n else if (wasActive && newSearch)\r\n this._point.setFrom(ev.rawPoint);\r\n this.showTentative(); // show the TP cross\r\n\r\n if (this.isSnapped) {\r\n IModelApp.toolAdmin.adjustSnapPoint();\r\n } else if (IModelApp.accuDraw.isActive) {\r\n const point = this.getPoint().clone();\r\n const vp = ev.viewport!;\r\n if (vp.isSnapAdjustmentRequired) {\r\n IModelApp.toolAdmin.adjustPointToACS(point, vp, false);\r\n const hit = new HitDetail(point, vp, HitSource.TentativeSnap, point, \"\", HitPriority.Unknown, 0, 0);\r\n const snap = new SnapDetail(hit);\r\n this.setCurrSnap(snap);\r\n IModelApp.toolAdmin.adjustSnapPoint();\r\n this.setPoint(this.getPoint());\r\n } else {\r\n IModelApp.accuDraw.adjustPoint(point, vp, false);\r\n const savePoint = point.clone();\r\n IModelApp.toolAdmin.adjustPointToGrid(point, vp);\r\n if (!point.isExactEqual(savePoint))\r\n IModelApp.accuDraw.adjustPoint(point, vp, false);\r\n this.setPoint(point);\r\n }\r\n } else {\r\n IModelApp.toolAdmin.adjustPoint(this.getPoint(), ev.viewport!);\r\n }\r\n\r\n IModelApp.accuDraw.onTentative();\r\n if (currTool && currTool instanceof ViewManip && currTool.viewHandles.hasHandle(ViewHandleType.TargetCenter))\r\n currTool.updateTargetCenter(); // Change target center to tentative location...\r\n else\r\n IModelApp.toolAdmin.updateDynamics(undefined, undefined, true); // Don't wait for motion to update dynamics...\r\n }\r\n });\r\n }\r\n}\r\n"]}
@@ -13,7 +13,6 @@ import { IModelConnection } from "./IModelConnection";
13
13
  import { GeometricModel2dState, GeometricModelState } from "./ModelState";
14
14
  import { RenderClipVolume } from "./render/RenderClipVolume";
15
15
  import { RenderMemory } from "./render/RenderMemory";
16
- import { RenderScheduleState } from "./RenderScheduleState";
17
16
  import { SheetViewState } from "./SheetViewState";
18
17
  import { SpatialViewState } from "./SpatialViewState";
19
18
  import { StandardViewId } from "./StandardView";
@@ -152,14 +151,14 @@ export declare abstract class ViewState extends ElementState {
152
151
  */
153
152
  get viewFlags(): ViewFlags;
154
153
  set viewFlags(flags: ViewFlags);
155
- /** @see [DisplayStyleSettings.analysisStyle]($common). */
154
+ /** See [DisplayStyleSettings.analysisStyle]($common). */
156
155
  get analysisStyle(): AnalysisStyle | undefined;
157
156
  /** The [RenderSchedule.Script]($common) that animates the contents of the view, if any.
158
157
  * @see [[DisplayStyleState.scheduleScript]].
159
158
  */
160
159
  get scheduleScript(): RenderSchedule.Script | undefined;
161
160
  /** @internal */
162
- get scheduleState(): RenderScheduleState | undefined;
161
+ get scheduleScriptReference(): RenderSchedule.ScriptReference | undefined;
163
162
  /** Get the globe projection mode.
164
163
  * @internal
165
164
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ViewState.d.ts","sourceRoot":"","sources":["../../src/ViewState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ViewState.d.ts","sourceRoot":"","sources":["../../src/ViewState.ts"],"names":[],"mappings":"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"}
@@ -147,7 +147,7 @@ class ViewState extends EntityState_1.ElementState {
147
147
  set viewFlags(flags) {
148
148
  this.displayStyle.viewFlags = flags;
149
149
  }
150
- /** @see [DisplayStyleSettings.analysisStyle]($common). */
150
+ /** See [DisplayStyleSettings.analysisStyle]($common). */
151
151
  get analysisStyle() {
152
152
  return this.displayStyle.settings.analysisStyle;
153
153
  }
@@ -158,8 +158,8 @@ class ViewState extends EntityState_1.ElementState {
158
158
  return this.displayStyle.scheduleScript;
159
159
  }
160
160
  /** @internal */
161
- get scheduleState() {
162
- return this.displayStyle.scheduleState;
161
+ get scheduleScriptReference() {
162
+ return this.displayStyle.scheduleScriptReference; // eslint-disable-line deprecation/deprecation
163
163
  }
164
164
  /** Get the globe projection mode.
165
165
  * @internal
@@ -197,7 +197,6 @@ class ViewState extends EntityState_1.ElementState {
197
197
  const acsId = this.getAuxiliaryCoordinateSystemId();
198
198
  if (core_bentley_1.Id64.isValid(acsId))
199
199
  hydrateRequest.acsId = acsId;
200
- this.iModel.subcategories.preload(hydrateRequest, this.categorySelector.categories);
201
200
  }
202
201
  /** Asynchronously load any required data for this ViewState from the backend.
203
202
  * FINAL, No subclass should override load. If additional load behavior is needed, see preload and postload.
@@ -205,18 +204,23 @@ class ViewState extends EntityState_1.ElementState {
205
204
  * @see [Views]($docs/learning/frontend/Views.md)
206
205
  */
207
206
  async load() {
207
+ // If the iModel associated with the viewState is a blankConnection,
208
+ // then no data can be retrieved from the backend.
209
+ if (this.iModel.isBlank)
210
+ return;
208
211
  const hydrateRequest = {};
209
212
  this.preload(hydrateRequest);
210
213
  const promises = [
211
- core_common_1.IModelReadRpcInterface.getClientForRouting(this.iModel.routingContext.token).hydrateViewState(this.iModel.getRpcProps(), hydrateRequest),
214
+ core_common_1.IModelReadRpcInterface.getClientForRouting(this.iModel.routingContext.token).hydrateViewState(this.iModel.getRpcProps(), hydrateRequest).
215
+ then(async (hydrateResponse) => this.postload(hydrateResponse)),
212
216
  this.displayStyle.load(),
213
217
  ];
214
- const result = await Promise.all(promises);
215
- const hydrateResponse = result[0];
216
- await this.postload(hydrateResponse);
218
+ const subcategories = this.iModel.subcategories.load(this.categorySelector.categories);
219
+ if (undefined !== subcategories)
220
+ promises.push(subcategories.promise.then((_) => { }));
221
+ await Promise.all(promises);
217
222
  }
218
223
  async postload(hydrateResponse) {
219
- this.iModel.subcategories.postload(hydrateResponse);
220
224
  if (hydrateResponse.acsElementProps)
221
225
  this._auxCoordSystem = AuxCoordSys_1.AuxCoordSystemState.fromProps(hydrateResponse.acsElementProps, this.iModel);
222
226
  }