@itwin/core-frontend 4.5.0-dev.8 → 4.5.0

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 (295) hide show
  1. package/CHANGELOG.md +111 -1
  2. package/LICENSE.md +1 -1
  3. package/lib/cjs/AccuDraw.d.ts +6 -0
  4. package/lib/cjs/AccuDraw.d.ts.map +1 -1
  5. package/lib/cjs/AccuDraw.js +11 -0
  6. package/lib/cjs/AccuDraw.js.map +1 -1
  7. package/lib/cjs/CheckpointConnection.d.ts +7 -7
  8. package/lib/cjs/CheckpointConnection.d.ts.map +1 -1
  9. package/lib/cjs/CheckpointConnection.js +31 -23
  10. package/lib/cjs/CheckpointConnection.js.map +1 -1
  11. package/lib/cjs/ContextRealityModelState.d.ts +3 -0
  12. package/lib/cjs/ContextRealityModelState.d.ts.map +1 -1
  13. package/lib/cjs/ContextRealityModelState.js +8 -1
  14. package/lib/cjs/ContextRealityModelState.js.map +1 -1
  15. package/lib/cjs/IModelApp.js +1 -1
  16. package/lib/cjs/IModelApp.js.map +1 -1
  17. package/lib/cjs/ModelState.d.ts +3 -2
  18. package/lib/cjs/ModelState.d.ts.map +1 -1
  19. package/lib/cjs/ModelState.js +2 -1
  20. package/lib/cjs/ModelState.js.map +1 -1
  21. package/lib/cjs/SpatialClassifiersState.d.ts +55 -0
  22. package/lib/cjs/SpatialClassifiersState.d.ts.map +1 -0
  23. package/lib/cjs/SpatialClassifiersState.js +47 -0
  24. package/lib/cjs/SpatialClassifiersState.js.map +1 -0
  25. package/lib/cjs/ViewContext.d.ts +3 -2
  26. package/lib/cjs/ViewContext.d.ts.map +1 -1
  27. package/lib/cjs/ViewContext.js.map +1 -1
  28. package/lib/cjs/ViewManager.d.ts.map +1 -1
  29. package/lib/cjs/ViewManager.js +4 -0
  30. package/lib/cjs/ViewManager.js.map +1 -1
  31. package/lib/cjs/Viewport.d.ts.map +1 -1
  32. package/lib/cjs/Viewport.js +16 -8
  33. package/lib/cjs/Viewport.js.map +1 -1
  34. package/lib/cjs/core-frontend.d.ts +2 -0
  35. package/lib/cjs/core-frontend.d.ts.map +1 -1
  36. package/lib/cjs/core-frontend.js +2 -0
  37. package/lib/cjs/core-frontend.js.map +1 -1
  38. package/lib/cjs/render/GraphicBuilder.d.ts +2 -0
  39. package/lib/cjs/render/GraphicBuilder.d.ts.map +1 -1
  40. package/lib/cjs/render/GraphicBuilder.js.map +1 -1
  41. package/lib/cjs/render/MockRender.d.ts +1 -0
  42. package/lib/cjs/render/MockRender.d.ts.map +1 -1
  43. package/lib/cjs/render/MockRender.js +1 -0
  44. package/lib/cjs/render/MockRender.js.map +1 -1
  45. package/lib/cjs/render/RenderGraphic.d.ts +7 -0
  46. package/lib/cjs/render/RenderGraphic.d.ts.map +1 -1
  47. package/lib/cjs/render/RenderGraphic.js +2 -0
  48. package/lib/cjs/render/RenderGraphic.js.map +1 -1
  49. package/lib/cjs/render/RenderTarget.d.ts +3 -2
  50. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  51. package/lib/cjs/render/RenderTarget.js.map +1 -1
  52. package/lib/cjs/render/Scene.d.ts +2 -2
  53. package/lib/cjs/render/Scene.d.ts.map +1 -1
  54. package/lib/cjs/render/Scene.js.map +1 -1
  55. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts +3 -0
  56. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  57. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  58. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.d.ts +3 -0
  59. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.d.ts.map +1 -1
  60. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js +2 -0
  61. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  62. package/lib/cjs/render/webgl/GLTimer.d.ts.map +1 -1
  63. package/lib/cjs/render/webgl/GLTimer.js +24 -4
  64. package/lib/cjs/render/webgl/GLTimer.js.map +1 -1
  65. package/lib/cjs/render/webgl/Graphic.d.ts +6 -1
  66. package/lib/cjs/render/webgl/Graphic.d.ts.map +1 -1
  67. package/lib/cjs/render/webgl/Graphic.js +20 -0
  68. package/lib/cjs/render/webgl/Graphic.js.map +1 -1
  69. package/lib/cjs/render/webgl/Layer.d.ts +2 -0
  70. package/lib/cjs/render/webgl/Layer.d.ts.map +1 -1
  71. package/lib/cjs/render/webgl/Layer.js +3 -0
  72. package/lib/cjs/render/webgl/Layer.js.map +1 -1
  73. package/lib/cjs/render/webgl/Mesh.d.ts +2 -0
  74. package/lib/cjs/render/webgl/Mesh.d.ts.map +1 -1
  75. package/lib/cjs/render/webgl/Mesh.js +7 -0
  76. package/lib/cjs/render/webgl/Mesh.js.map +1 -1
  77. package/lib/cjs/render/webgl/PlanarClassifier.d.ts +3 -2
  78. package/lib/cjs/render/webgl/PlanarClassifier.d.ts.map +1 -1
  79. package/lib/cjs/render/webgl/PlanarClassifier.js.map +1 -1
  80. package/lib/cjs/render/webgl/Primitive.d.ts +2 -0
  81. package/lib/cjs/render/webgl/Primitive.d.ts.map +1 -1
  82. package/lib/cjs/render/webgl/Primitive.js +3 -0
  83. package/lib/cjs/render/webgl/Primitive.js.map +1 -1
  84. package/lib/cjs/render/webgl/Target.d.ts +4 -3
  85. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  86. package/lib/cjs/render/webgl/Target.js.map +1 -1
  87. package/lib/cjs/request/utils.d.ts +5 -0
  88. package/lib/cjs/request/utils.d.ts.map +1 -1
  89. package/lib/cjs/request/utils.js +11 -1
  90. package/lib/cjs/request/utils.js.map +1 -1
  91. package/lib/cjs/tile/BatchedTileIdMap.d.ts +6 -1
  92. package/lib/cjs/tile/BatchedTileIdMap.d.ts.map +1 -1
  93. package/lib/cjs/tile/BatchedTileIdMap.js +9 -0
  94. package/lib/cjs/tile/BatchedTileIdMap.js.map +1 -1
  95. package/lib/cjs/tile/ClassifierTileTree.d.ts +4 -4
  96. package/lib/cjs/tile/ClassifierTileTree.d.ts.map +1 -1
  97. package/lib/cjs/tile/ClassifierTileTree.js +11 -6
  98. package/lib/cjs/tile/ClassifierTileTree.js.map +1 -1
  99. package/lib/cjs/tile/GltfReader.js +1 -1
  100. package/lib/cjs/tile/GltfReader.js.map +1 -1
  101. package/lib/cjs/tile/OrbitGtTileTree.d.ts +1 -0
  102. package/lib/cjs/tile/OrbitGtTileTree.d.ts.map +1 -1
  103. package/lib/cjs/tile/OrbitGtTileTree.js +4 -0
  104. package/lib/cjs/tile/OrbitGtTileTree.js.map +1 -1
  105. package/lib/cjs/tile/PrimaryTileTree.d.ts +1 -0
  106. package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
  107. package/lib/cjs/tile/PrimaryTileTree.js +34 -8
  108. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  109. package/lib/cjs/tile/RealityModelTileTree.d.ts +5 -2
  110. package/lib/cjs/tile/RealityModelTileTree.d.ts.map +1 -1
  111. package/lib/cjs/tile/RealityModelTileTree.js +19 -0
  112. package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
  113. package/lib/cjs/tile/RealityTileTree.d.ts +5 -0
  114. package/lib/cjs/tile/RealityTileTree.d.ts.map +1 -1
  115. package/lib/cjs/tile/RealityTileTree.js +1 -1
  116. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  117. package/lib/cjs/tile/RenderGraphicTileTree.d.ts +34 -0
  118. package/lib/cjs/tile/RenderGraphicTileTree.d.ts.map +1 -0
  119. package/lib/cjs/tile/RenderGraphicTileTree.js +100 -0
  120. package/lib/cjs/tile/RenderGraphicTileTree.js.map +1 -0
  121. package/lib/cjs/tile/TileAdmin.d.ts +24 -1
  122. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  123. package/lib/cjs/tile/TileAdmin.js +15 -4
  124. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  125. package/lib/cjs/tile/TileTreeReference.d.ts +21 -2
  126. package/lib/cjs/tile/TileTreeReference.d.ts.map +1 -1
  127. package/lib/cjs/tile/TileTreeReference.js +26 -1
  128. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  129. package/lib/cjs/tile/internal.d.ts +1 -0
  130. package/lib/cjs/tile/internal.d.ts.map +1 -1
  131. package/lib/cjs/tile/internal.js +1 -0
  132. package/lib/cjs/tile/internal.js.map +1 -1
  133. package/lib/cjs/tile/map/MapLayerTileTreeReference.d.ts +1 -0
  134. package/lib/cjs/tile/map/MapLayerTileTreeReference.d.ts.map +1 -1
  135. package/lib/cjs/tile/map/MapLayerTileTreeReference.js +4 -0
  136. package/lib/cjs/tile/map/MapLayerTileTreeReference.js.map +1 -1
  137. package/lib/cjs/tile/map/MapTileTree.d.ts +1 -0
  138. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  139. package/lib/cjs/tile/map/MapTileTree.js +20 -7
  140. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  141. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  142. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +16 -0
  143. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  144. package/lib/cjs/tools/ToolAdmin.d.ts +2 -0
  145. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  146. package/lib/cjs/tools/ToolAdmin.js +4 -0
  147. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  148. package/lib/esm/AccuDraw.d.ts +6 -0
  149. package/lib/esm/AccuDraw.d.ts.map +1 -1
  150. package/lib/esm/AccuDraw.js +11 -0
  151. package/lib/esm/AccuDraw.js.map +1 -1
  152. package/lib/esm/CheckpointConnection.d.ts +7 -7
  153. package/lib/esm/CheckpointConnection.d.ts.map +1 -1
  154. package/lib/esm/CheckpointConnection.js +31 -23
  155. package/lib/esm/CheckpointConnection.js.map +1 -1
  156. package/lib/esm/ContextRealityModelState.d.ts +3 -0
  157. package/lib/esm/ContextRealityModelState.d.ts.map +1 -1
  158. package/lib/esm/ContextRealityModelState.js +8 -1
  159. package/lib/esm/ContextRealityModelState.js.map +1 -1
  160. package/lib/esm/IModelApp.js +1 -1
  161. package/lib/esm/IModelApp.js.map +1 -1
  162. package/lib/esm/ModelState.d.ts +3 -2
  163. package/lib/esm/ModelState.d.ts.map +1 -1
  164. package/lib/esm/ModelState.js +3 -2
  165. package/lib/esm/ModelState.js.map +1 -1
  166. package/lib/esm/SpatialClassifiersState.d.ts +55 -0
  167. package/lib/esm/SpatialClassifiersState.d.ts.map +1 -0
  168. package/lib/esm/SpatialClassifiersState.js +43 -0
  169. package/lib/esm/SpatialClassifiersState.js.map +1 -0
  170. package/lib/esm/ViewContext.d.ts +3 -2
  171. package/lib/esm/ViewContext.d.ts.map +1 -1
  172. package/lib/esm/ViewContext.js.map +1 -1
  173. package/lib/esm/ViewManager.d.ts.map +1 -1
  174. package/lib/esm/ViewManager.js +4 -0
  175. package/lib/esm/ViewManager.js.map +1 -1
  176. package/lib/esm/Viewport.d.ts.map +1 -1
  177. package/lib/esm/Viewport.js +16 -8
  178. package/lib/esm/Viewport.js.map +1 -1
  179. package/lib/esm/core-frontend.d.ts +2 -0
  180. package/lib/esm/core-frontend.d.ts.map +1 -1
  181. package/lib/esm/core-frontend.js +2 -0
  182. package/lib/esm/core-frontend.js.map +1 -1
  183. package/lib/esm/render/GraphicBuilder.d.ts +2 -0
  184. package/lib/esm/render/GraphicBuilder.d.ts.map +1 -1
  185. package/lib/esm/render/GraphicBuilder.js.map +1 -1
  186. package/lib/esm/render/MockRender.d.ts +1 -0
  187. package/lib/esm/render/MockRender.d.ts.map +1 -1
  188. package/lib/esm/render/MockRender.js +1 -0
  189. package/lib/esm/render/MockRender.js.map +1 -1
  190. package/lib/esm/render/RenderGraphic.d.ts +7 -0
  191. package/lib/esm/render/RenderGraphic.d.ts.map +1 -1
  192. package/lib/esm/render/RenderGraphic.js +2 -0
  193. package/lib/esm/render/RenderGraphic.js.map +1 -1
  194. package/lib/esm/render/RenderTarget.d.ts +3 -2
  195. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  196. package/lib/esm/render/RenderTarget.js.map +1 -1
  197. package/lib/esm/render/Scene.d.ts +2 -2
  198. package/lib/esm/render/Scene.d.ts.map +1 -1
  199. package/lib/esm/render/Scene.js.map +1 -1
  200. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts +3 -0
  201. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  202. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  203. package/lib/esm/render/primitives/mesh/MeshBuilderMap.d.ts +3 -0
  204. package/lib/esm/render/primitives/mesh/MeshBuilderMap.d.ts.map +1 -1
  205. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js +2 -0
  206. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  207. package/lib/esm/render/webgl/GLTimer.d.ts.map +1 -1
  208. package/lib/esm/render/webgl/GLTimer.js +24 -4
  209. package/lib/esm/render/webgl/GLTimer.js.map +1 -1
  210. package/lib/esm/render/webgl/Graphic.d.ts +6 -1
  211. package/lib/esm/render/webgl/Graphic.d.ts.map +1 -1
  212. package/lib/esm/render/webgl/Graphic.js +21 -1
  213. package/lib/esm/render/webgl/Graphic.js.map +1 -1
  214. package/lib/esm/render/webgl/Layer.d.ts +2 -0
  215. package/lib/esm/render/webgl/Layer.d.ts.map +1 -1
  216. package/lib/esm/render/webgl/Layer.js +3 -0
  217. package/lib/esm/render/webgl/Layer.js.map +1 -1
  218. package/lib/esm/render/webgl/Mesh.d.ts +2 -0
  219. package/lib/esm/render/webgl/Mesh.d.ts.map +1 -1
  220. package/lib/esm/render/webgl/Mesh.js +7 -0
  221. package/lib/esm/render/webgl/Mesh.js.map +1 -1
  222. package/lib/esm/render/webgl/PlanarClassifier.d.ts +3 -2
  223. package/lib/esm/render/webgl/PlanarClassifier.d.ts.map +1 -1
  224. package/lib/esm/render/webgl/PlanarClassifier.js.map +1 -1
  225. package/lib/esm/render/webgl/Primitive.d.ts +2 -0
  226. package/lib/esm/render/webgl/Primitive.d.ts.map +1 -1
  227. package/lib/esm/render/webgl/Primitive.js +3 -0
  228. package/lib/esm/render/webgl/Primitive.js.map +1 -1
  229. package/lib/esm/render/webgl/Target.d.ts +4 -3
  230. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  231. package/lib/esm/render/webgl/Target.js.map +1 -1
  232. package/lib/esm/request/utils.d.ts +5 -0
  233. package/lib/esm/request/utils.d.ts.map +1 -1
  234. package/lib/esm/request/utils.js +9 -0
  235. package/lib/esm/request/utils.js.map +1 -1
  236. package/lib/esm/tile/BatchedTileIdMap.d.ts +6 -1
  237. package/lib/esm/tile/BatchedTileIdMap.d.ts.map +1 -1
  238. package/lib/esm/tile/BatchedTileIdMap.js +9 -0
  239. package/lib/esm/tile/BatchedTileIdMap.js.map +1 -1
  240. package/lib/esm/tile/ClassifierTileTree.d.ts +4 -4
  241. package/lib/esm/tile/ClassifierTileTree.d.ts.map +1 -1
  242. package/lib/esm/tile/ClassifierTileTree.js +12 -7
  243. package/lib/esm/tile/ClassifierTileTree.js.map +1 -1
  244. package/lib/esm/tile/GltfReader.js +1 -1
  245. package/lib/esm/tile/GltfReader.js.map +1 -1
  246. package/lib/esm/tile/OrbitGtTileTree.d.ts +1 -0
  247. package/lib/esm/tile/OrbitGtTileTree.d.ts.map +1 -1
  248. package/lib/esm/tile/OrbitGtTileTree.js +4 -0
  249. package/lib/esm/tile/OrbitGtTileTree.js.map +1 -1
  250. package/lib/esm/tile/PrimaryTileTree.d.ts +1 -0
  251. package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
  252. package/lib/esm/tile/PrimaryTileTree.js +34 -8
  253. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  254. package/lib/esm/tile/RealityModelTileTree.d.ts +5 -2
  255. package/lib/esm/tile/RealityModelTileTree.d.ts.map +1 -1
  256. package/lib/esm/tile/RealityModelTileTree.js +19 -0
  257. package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
  258. package/lib/esm/tile/RealityTileTree.d.ts +5 -0
  259. package/lib/esm/tile/RealityTileTree.d.ts.map +1 -1
  260. package/lib/esm/tile/RealityTileTree.js +1 -1
  261. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  262. package/lib/esm/tile/RenderGraphicTileTree.d.ts +34 -0
  263. package/lib/esm/tile/RenderGraphicTileTree.d.ts.map +1 -0
  264. package/lib/esm/tile/RenderGraphicTileTree.js +96 -0
  265. package/lib/esm/tile/RenderGraphicTileTree.js.map +1 -0
  266. package/lib/esm/tile/TileAdmin.d.ts +24 -1
  267. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  268. package/lib/esm/tile/TileAdmin.js +15 -4
  269. package/lib/esm/tile/TileAdmin.js.map +1 -1
  270. package/lib/esm/tile/TileTreeReference.d.ts +21 -2
  271. package/lib/esm/tile/TileTreeReference.d.ts.map +1 -1
  272. package/lib/esm/tile/TileTreeReference.js +27 -2
  273. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  274. package/lib/esm/tile/internal.d.ts +1 -0
  275. package/lib/esm/tile/internal.d.ts.map +1 -1
  276. package/lib/esm/tile/internal.js +1 -0
  277. package/lib/esm/tile/internal.js.map +1 -1
  278. package/lib/esm/tile/map/MapLayerTileTreeReference.d.ts +1 -0
  279. package/lib/esm/tile/map/MapLayerTileTreeReference.d.ts.map +1 -1
  280. package/lib/esm/tile/map/MapLayerTileTreeReference.js +4 -0
  281. package/lib/esm/tile/map/MapLayerTileTreeReference.js.map +1 -1
  282. package/lib/esm/tile/map/MapTileTree.d.ts +1 -0
  283. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  284. package/lib/esm/tile/map/MapTileTree.js +20 -7
  285. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  286. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  287. package/lib/esm/tile/map/MapTiledGraphicsProvider.js +17 -1
  288. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  289. package/lib/esm/tools/ToolAdmin.d.ts +2 -0
  290. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  291. package/lib/esm/tools/ToolAdmin.js +4 -0
  292. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  293. package/lib/public/scripts/parse-imdl-worker.js +1 -1
  294. package/lib/workers/webpack/parse-imdl-worker.js +1 -1
  295. package/package.json +18 -18
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/request/utils.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F,oDAAyD;AAGzD;;;;;;GAMG;AACH,SAAgB,wBAAwB,CAAC,OAAgB,EAAE,KAAe;IACxE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAC,EAAE,CAAA,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAK,qBAAqB;IAC3F,IAAI,eAAe,KAAK,IAAI,EAAE;QAC5B,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAC,EAAE,CAAA,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1F,KAAK,MAAM,UAAU,IAAI,cAAc,EAAE;YACvC,IAAI,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAClC,OAAO,IAAI,CAAC;SACf;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAXD,4DAWC;AAUD,gBAAgB;AAChB,SAAgB,qBAAqB,CAAC,OAAgB,EAAE,WAA2C,EAAE,QAAiB;IACpH,IAAI,QAA0B,CAAC;IAC/B,IAAI,GAAqB,CAAC;IAC1B,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACnC,QAAQ,GAAG,WAAW,CAAC;QACvB,GAAG,GAAI,QAAQ,CAAC;KACjB;SAAM;QACL,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC;QAC5B,GAAG,GAAI,WAAW,CAAC,QAAQ,CAAC;KAC7B;IAED,IAAI,QAAQ,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS;QAC7C,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,iCAAmB,CAAC,MAAM,CAAC,GAAG,QAAQ,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9F,CAAC;AAbD,sDAaC","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 { Base64EncodedString } from \"@itwin/core-common\";\r\nimport { RequestBasicCredentials } from \"./Request\";\r\n\r\n/**\r\n * Check whether or not one of the requested authentication method is listed in the HTTP 'WWW-Authenticate' response header\r\n * @param headers Headers object\r\n * @param query List of authentication method to lookup (case-insensitive)\r\n * @note For CORS requests, the 'Access-Control-Expose-Headers' header from the server must make the 'WWW-Authenticate' available to the browser, otherwise this won't work.\r\n * @internal\r\n */\r\nexport function headersIncludeAuthMethod(headers: Headers, query: string[]): boolean {\r\n const wwwAuthenticate = headers.get(\"WWW-authenticate\");\r\n const lowerCaseQuery = query.map(((value)=>value.toLowerCase())); // not case-sensitive\r\n if (wwwAuthenticate !== null) {\r\n const authMethods = wwwAuthenticate.split(\",\").map(((value)=>value.toLowerCase().trim()));\r\n for (const queryValue of lowerCaseQuery) {\r\n if (authMethods.includes(queryValue))\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n\r\n/**\r\n * Set the value of the 'Authorization' header with Basic authentication value\r\n * scheme: 'Authorization: Basic <credentials>'\r\n * @internal\r\n */\r\nexport function setBasicAuthorization(headers: Headers, credentials: RequestBasicCredentials): void;\r\n/** @internal */\r\nexport function setBasicAuthorization(headers: Headers, user: string, password: string): void;\r\n/** @internal */\r\nexport function setBasicAuthorization(headers: Headers, userOrCreds: string|RequestBasicCredentials, password?: string): void {\r\n let username: string|undefined;\r\n let pwd: string|undefined;\r\n if (typeof userOrCreds === \"string\") {\r\n username = userOrCreds;\r\n pwd = password;\r\n } else {\r\n username = userOrCreds.user;\r\n pwd = userOrCreds.password;\r\n }\r\n\r\n if (username !== undefined && pwd !== undefined)\r\n headers.set(\"Authorization\", `Basic ${Base64EncodedString.encode(`${username}:${pwd}`)}`);\r\n}\r\n\r\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/request/utils.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F,oDAAyD;AAGzD;;;;;;GAMG;AACH,SAAgB,wBAAwB,CAAC,OAAgB,EAAE,KAAe;IACxE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAC,EAAE,CAAA,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAK,qBAAqB;IAC3F,IAAI,eAAe,KAAK,IAAI,EAAE;QAC5B,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAC,EAAE,CAAA,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1F,KAAK,MAAM,UAAU,IAAI,cAAc,EAAE;YACvC,IAAI,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAClC,OAAO,IAAI,CAAC;SACf;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAXD,4DAWC;AAUD,gBAAgB;AAChB,SAAgB,qBAAqB,CAAC,OAAgB,EAAE,WAA2C,EAAE,QAAiB;IACpH,IAAI,QAA0B,CAAC;IAC/B,IAAI,GAAqB,CAAC;IAC1B,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACnC,QAAQ,GAAG,WAAW,CAAC;QACvB,GAAG,GAAI,QAAQ,CAAC;KACjB;SAAM;QACL,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC;QAC5B,GAAG,GAAI,WAAW,CAAC,QAAQ,CAAC;KAC7B;IAED,IAAI,QAAQ,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS;QAC7C,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,iCAAmB,CAAC,MAAM,CAAC,GAAG,QAAQ,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9F,CAAC;AAbD,sDAaC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,IAAiB,EAAE,EAAU,EAAE,eAAiC;IAChG,MAAM,UAAU,GAAG,eAAe,IAAI,IAAI,eAAe,EAAE,CAAC;IAC5D,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;AAClC,CAAC;AAJD,8CAIC","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 { Base64EncodedString } from \"@itwin/core-common\";\r\nimport { RequestBasicCredentials } from \"./Request\";\r\n\r\n/**\r\n * Check whether or not one of the requested authentication method is listed in the HTTP 'WWW-Authenticate' response header\r\n * @param headers Headers object\r\n * @param query List of authentication method to lookup (case-insensitive)\r\n * @note For CORS requests, the 'Access-Control-Expose-Headers' header from the server must make the 'WWW-Authenticate' available to the browser, otherwise this won't work.\r\n * @internal\r\n */\r\nexport function headersIncludeAuthMethod(headers: Headers, query: string[]): boolean {\r\n const wwwAuthenticate = headers.get(\"WWW-authenticate\");\r\n const lowerCaseQuery = query.map(((value)=>value.toLowerCase())); // not case-sensitive\r\n if (wwwAuthenticate !== null) {\r\n const authMethods = wwwAuthenticate.split(\",\").map(((value)=>value.toLowerCase().trim()));\r\n for (const queryValue of lowerCaseQuery) {\r\n if (authMethods.includes(queryValue))\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n\r\n/**\r\n * Set the value of the 'Authorization' header with Basic authentication value\r\n * scheme: 'Authorization: Basic <credentials>'\r\n * @internal\r\n */\r\nexport function setBasicAuthorization(headers: Headers, credentials: RequestBasicCredentials): void;\r\n/** @internal */\r\nexport function setBasicAuthorization(headers: Headers, user: string, password: string): void;\r\n/** @internal */\r\nexport function setBasicAuthorization(headers: Headers, userOrCreds: string|RequestBasicCredentials, password?: string): void {\r\n let username: string|undefined;\r\n let pwd: string|undefined;\r\n if (typeof userOrCreds === \"string\") {\r\n username = userOrCreds;\r\n pwd = password;\r\n } else {\r\n username = userOrCreds.user;\r\n pwd = userOrCreds.password;\r\n }\r\n\r\n if (username !== undefined && pwd !== undefined)\r\n headers.set(\"Authorization\", `Basic ${Base64EncodedString.encode(`${username}:${pwd}`)}`);\r\n}\r\n\r\n/**\r\n * Set number of milliseconds a request can take before automatically being terminated\r\n * @internal\r\n */\r\nexport function setRequestTimeout(opts: RequestInit, ms: number, abortController?: AbortController ): void {\r\n const controller = abortController ?? new AbortController();\r\n setTimeout(() => controller.abort(), ms);\r\n opts.signal = controller.signal;\r\n}\r\n\r\n"]}
@@ -3,12 +3,13 @@
3
3
  */
4
4
  import { Id64String } from "@itwin/core-bentley";
5
5
  import { IModelConnection } from "../IModelConnection";
6
+ import { BatchTableProperties } from "./internal";
6
7
  /**
7
8
  * Mapping between transient IDs assigned to 3D tiles "features" and batch table properties (and visa versa).
8
9
  * these properties may be present in batched tile sets.
9
10
  * @internal
10
11
  */
11
- export declare class BatchedTileIdMap {
12
+ export declare class BatchedTileIdMap implements BatchTableProperties {
12
13
  private readonly _iModel;
13
14
  private _featureMap?;
14
15
  private _idMap?;
@@ -16,5 +17,9 @@ export declare class BatchedTileIdMap {
16
17
  /** Obtains or allocates the Id64String corresponding to the supplied set of JSON properties. */
17
18
  getBatchId(properties: any): Id64String;
18
19
  getFeatureProperties(id: Id64String): Record<string, any> | undefined;
20
+ entries(): Iterable<{
21
+ id: Id64String;
22
+ properties: Record<string, any>;
23
+ }>;
19
24
  }
20
25
  //# sourceMappingURL=BatchedTileIdMap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BatchedTileIdMap.d.ts","sourceRoot":"","sources":["../../../src/tile/BatchedTileIdMap.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAU,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,WAAW,CAAC,CAAmD;IACvE,OAAO,CAAC,MAAM,CAAC,CAAuB;gBAEnB,MAAM,EAAE,gBAAgB;IAI3C,gGAAgG;IACzF,UAAU,CAAC,UAAU,EAAE,GAAG,GAAG,UAAU;IAmBvC,oBAAoB,CAAC,EAAE,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS;CAI7E"}
1
+ {"version":3,"file":"BatchedTileIdMap.d.ts","sourceRoot":"","sources":["../../../src/tile/BatchedTileIdMap.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAU,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD;;;;GAIG;AACH,qBAAa,gBAAiB,YAAW,oBAAoB;IAC3D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,WAAW,CAAC,CAAmD;IACvE,OAAO,CAAC,MAAM,CAAC,CAAuB;gBAEnB,MAAM,EAAE,gBAAgB;IAI3C,gGAAgG;IACzF,UAAU,CAAC,UAAU,EAAE,GAAG,GAAG,UAAU;IAmBvC,oBAAoB,CAAC,EAAE,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS;IAKnE,OAAO,IAAI,QAAQ,CAAC;QAAE,EAAE,EAAE,UAAU,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC;CASlF"}
@@ -39,6 +39,15 @@ class BatchedTileIdMap {
39
39
  const props = this._idMap?.get(id);
40
40
  return typeof props === "object" ? props : undefined;
41
41
  }
42
+ *entries() {
43
+ if (this._idMap) {
44
+ for (const [id, properties] of this._idMap) {
45
+ if (typeof properties === "object") {
46
+ yield { id, properties };
47
+ }
48
+ }
49
+ }
50
+ }
42
51
  }
43
52
  exports.BatchedTileIdMap = BatchedTileIdMap;
44
53
  //# sourceMappingURL=BatchedTileIdMap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BatchedTileIdMap.js","sourceRoot":"","sources":["../../../src/tile/BatchedTileIdMap.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAAyD;AAGzD;;;;GAIG;AACH,MAAa,gBAAgB;IAK3B,YAAmB,MAAwB;QACzC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,gGAAgG;IACzF,UAAU,CAAC,UAAe;QAC/B,IAAI,SAAS,KAAK,IAAI,CAAC,WAAW,IAAI,SAAS,KAAK,IAAI,CAAC,MAAM,EAAE;YAC/D,IAAA,qBAAM,EAAC,SAAS,KAAK,IAAI,CAAC,WAAW,IAAI,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;YACpE,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAA+C,CAAC;YAC1E,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAC;SAC1C;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,SAAS,KAAK,KAAK,EAAE;YACvB,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC/C,KAAK,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;SACjC;QAED,OAAO,KAAK,CAAC,EAAE,CAAC;IAClB,CAAC;IAEM,oBAAoB,CAAC,EAAc;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC;CACF;AAjCD,4CAiCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { assert, Id64String } from \"@itwin/core-bentley\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\n\r\n/**\r\n * Mapping between transient IDs assigned to 3D tiles \"features\" and batch table properties (and visa versa).\r\n * these properties may be present in batched tile sets.\r\n * @internal\r\n */\r\nexport class BatchedTileIdMap {\r\n private readonly _iModel: IModelConnection;\r\n private _featureMap?: Map<string, { id: Id64String, properties: any }>;\r\n private _idMap?: Map<Id64String, any>;\r\n\r\n public constructor(iModel: IModelConnection) {\r\n this._iModel = iModel;\r\n }\r\n\r\n /** Obtains or allocates the Id64String corresponding to the supplied set of JSON properties. */\r\n public getBatchId(properties: any): Id64String {\r\n if (undefined === this._featureMap || undefined === this._idMap) {\r\n assert(undefined === this._featureMap && undefined === this._idMap);\r\n this._featureMap = new Map<string, { id: Id64String, properties: any }>();\r\n this._idMap = new Map<Id64String, any>();\r\n }\r\n\r\n const key = JSON.stringify(properties);\r\n let entry = this._featureMap.get(key);\r\n if (undefined === entry) {\r\n const id = this._iModel.transientIds.getNext();\r\n entry = { id, properties };\r\n this._featureMap.set(key, entry);\r\n this._idMap.set(id, properties);\r\n }\r\n\r\n return entry.id;\r\n }\r\n\r\n public getFeatureProperties(id: Id64String): Record<string, any> | undefined {\r\n const props = this._idMap?.get(id);\r\n return typeof props === \"object\" ? props : undefined;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"BatchedTileIdMap.js","sourceRoot":"","sources":["../../../src/tile/BatchedTileIdMap.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAAyD;AAIzD;;;;GAIG;AACH,MAAa,gBAAgB;IAK3B,YAAmB,MAAwB;QACzC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,gGAAgG;IACzF,UAAU,CAAC,UAAe;QAC/B,IAAI,SAAS,KAAK,IAAI,CAAC,WAAW,IAAI,SAAS,KAAK,IAAI,CAAC,MAAM,EAAE;YAC/D,IAAA,qBAAM,EAAC,SAAS,KAAK,IAAI,CAAC,WAAW,IAAI,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;YACpE,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAA+C,CAAC;YAC1E,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAC;SAC1C;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,SAAS,KAAK,KAAK,EAAE;YACvB,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC/C,KAAK,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;SACjC;QAED,OAAO,KAAK,CAAC,EAAE,CAAC;IAClB,CAAC;IAEM,oBAAoB,CAAC,EAAc;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC;IAEM,CAAE,OAAO;QACd,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,KAAK,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;gBAC1C,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;oBAClC,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;iBAC1B;aACF;SACF;IACH,CAAC;CACF;AA3CD,4CA2CC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { assert, Id64String } from \"@itwin/core-bentley\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { BatchTableProperties } from \"./internal\";\r\n\r\n/**\r\n * Mapping between transient IDs assigned to 3D tiles \"features\" and batch table properties (and visa versa).\r\n * these properties may be present in batched tile sets.\r\n * @internal\r\n */\r\nexport class BatchedTileIdMap implements BatchTableProperties {\r\n private readonly _iModel: IModelConnection;\r\n private _featureMap?: Map<string, { id: Id64String, properties: any }>;\r\n private _idMap?: Map<Id64String, any>;\r\n\r\n public constructor(iModel: IModelConnection) {\r\n this._iModel = iModel;\r\n }\r\n\r\n /** Obtains or allocates the Id64String corresponding to the supplied set of JSON properties. */\r\n public getBatchId(properties: any): Id64String {\r\n if (undefined === this._featureMap || undefined === this._idMap) {\r\n assert(undefined === this._featureMap && undefined === this._idMap);\r\n this._featureMap = new Map<string, { id: Id64String, properties: any }>();\r\n this._idMap = new Map<Id64String, any>();\r\n }\r\n\r\n const key = JSON.stringify(properties);\r\n let entry = this._featureMap.get(key);\r\n if (undefined === entry) {\r\n const id = this._iModel.transientIds.getNext();\r\n entry = { id, properties };\r\n this._featureMap.set(key, entry);\r\n this._idMap.set(id, properties);\r\n }\r\n\r\n return entry.id;\r\n }\r\n\r\n public getFeatureProperties(id: Id64String): Record<string, any> | undefined {\r\n const props = this._idMap?.get(id);\r\n return typeof props === \"object\" ? props : undefined;\r\n }\r\n\r\n public * entries(): Iterable<{ id: Id64String, properties: Record<string, any> }> {\r\n if (this._idMap) {\r\n for (const [id, properties] of this._idMap) {\r\n if (typeof properties === \"object\") {\r\n yield { id, properties };\r\n }\r\n }\r\n }\r\n }\r\n}\r\n"]}
@@ -1,16 +1,16 @@
1
- import { SpatialClassifier, SpatialClassifiers, ViewFlagsProperties } from "@itwin/core-common";
1
+ import { ViewFlagsProperties } from "@itwin/core-common";
2
2
  import { DisplayStyleState } from "../DisplayStyleState";
3
3
  import { IModelConnection } from "../IModelConnection";
4
4
  import { ViewState } from "../ViewState";
5
+ import { ActiveSpatialClassifier, SpatialClassifiersState } from "../SpatialClassifiersState";
5
6
  import { TileTreeReference } from "./internal";
6
7
  /** @internal */
7
8
  export declare abstract class SpatialClassifierTileTreeReference extends TileTreeReference {
8
9
  abstract get isPlanar(): boolean;
9
- abstract get activeClassifier(): SpatialClassifier | undefined;
10
- get isOpaque(): boolean; /** When referenced as a map layer reference, BIM models are never opaque. */
10
+ abstract get activeClassifier(): ActiveSpatialClassifier | undefined;
11
11
  abstract get viewFlags(): Partial<ViewFlagsProperties>;
12
12
  get transparency(): number | undefined;
13
13
  }
14
14
  /** @internal */
15
- export declare function createClassifierTileTreeReference(classifiers: SpatialClassifiers, classifiedTree: TileTreeReference, iModel: IModelConnection, source: ViewState | DisplayStyleState): SpatialClassifierTileTreeReference;
15
+ export declare function createClassifierTileTreeReference(classifiers: SpatialClassifiersState, classifiedTree: TileTreeReference, iModel: IModelConnection, source: ViewState | DisplayStyleState): SpatialClassifierTileTreeReference;
16
16
  //# sourceMappingURL=ClassifierTileTree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClassifierTileTree.d.ts","sourceRoot":"","sources":["../../../src/tile/ClassifierTileTree.ts"],"names":[],"mappings":"AAQA,OAAO,EACkF,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,EAClJ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAC4G,iBAAiB,EACnI,MAAM,YAAY,CAAC;AAiEpB,gBAAgB;AAChB,8BAAsB,kCAAmC,SAAQ,iBAAiB;IAChF,aAAoB,QAAQ,IAAI,OAAO,CAAC;IACxC,aAAoB,gBAAgB,IAAI,iBAAiB,GAAG,SAAS,CAAC;IACtE,IAAW,QAAQ,YAAoB,CAAG,6EAA6E;IACvH,aAAoB,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC9D,IAAW,YAAY,IAAI,MAAM,GAAG,SAAS,CAAsB;CACpE;AAuFD,gBAAgB;AAChB,wBAAgB,iCAAiC,CAAC,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,GAAG,iBAAiB,GAAG,kCAAkC,CAEzN"}
1
+ {"version":3,"file":"ClassifierTileTree.d.ts","sourceRoot":"","sources":["../../../src/tile/ClassifierTileTree.ts"],"names":[],"mappings":"AAQA,OAAO,EACqG,mBAAmB,EAC9H,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC9F,OAAO,EAC4G,iBAAiB,EACnI,MAAM,YAAY,CAAC;AAkEpB,gBAAgB;AAChB,8BAAsB,kCAAmC,SAAQ,iBAAiB;IAChF,aAAoB,QAAQ,IAAI,OAAO,CAAC;IACxC,aAAoB,gBAAgB,IAAI,uBAAuB,GAAG,SAAS,CAAC;IAC5E,aAAoB,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC9D,IAAW,YAAY,IAAI,MAAM,GAAG,SAAS,CAAsB;CACpE;AA8FD,gBAAgB;AAChB,wBAAgB,iCAAiC,CAAC,WAAW,EAAE,uBAAuB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,GAAG,iBAAiB,GAAG,kCAAkC,CAE9N"}
@@ -14,7 +14,8 @@ const IModelApp_1 = require("../IModelApp");
14
14
  const ModelState_1 = require("../ModelState");
15
15
  const internal_1 = require("./internal");
16
16
  function compareIds(lhs, rhs) {
17
- return (0, core_bentley_1.compareStrings)(lhs.modelId, rhs.modelId) || (0, core_bentley_1.compareStringsOrUndefined)(lhs.animationId, rhs.animationId)
17
+ return (0, core_bentley_1.compareNumbers)(lhs.type, rhs.type) || (0, core_bentley_1.compareNumbers)(lhs.expansion, rhs.expansion)
18
+ || (0, core_bentley_1.compareStrings)(lhs.modelId, rhs.modelId) || (0, core_bentley_1.compareStringsOrUndefined)(lhs.animationId, rhs.animationId)
18
19
  || (0, core_bentley_1.comparePossiblyUndefined)((x, y) => x.compareTo(y), lhs.timeline, rhs.timeline);
19
20
  }
20
21
  class ClassifierTreeSupplier {
@@ -64,7 +65,6 @@ class ClassifierTreeSupplier {
64
65
  const classifierTreeSupplier = new ClassifierTreeSupplier();
65
66
  /** @internal */
66
67
  class SpatialClassifierTileTreeReference extends internal_1.TileTreeReference {
67
- get isOpaque() { return false; } /** When referenced as a map layer reference, BIM models are never opaque. */
68
68
  get transparency() { return undefined; }
69
69
  }
70
70
  exports.SpatialClassifierTileTreeReference = SpatialClassifierTileTreeReference;
@@ -80,7 +80,7 @@ class ClassifierTreeReference extends SpatialClassifierTileTreeReference {
80
80
  this._owner = classifierTreeSupplier.getOwner(this._id, iModel);
81
81
  }
82
82
  get classifiers() { return this._classifiers; }
83
- get activeClassifier() { return this.classifiers.active; }
83
+ get activeClassifier() { return this.classifiers.activeClassifier; }
84
84
  get castsShadows() {
85
85
  return false;
86
86
  }
@@ -90,7 +90,7 @@ class ClassifierTreeReference extends SpatialClassifierTileTreeReference {
90
90
  this._id = newId;
91
91
  this._owner = classifierTreeSupplier.getOwner(this._id, this._iModel);
92
92
  }
93
- return this._owner;
93
+ return this.activeClassifier?.tileTreeReference?.treeOwner ?? this._owner;
94
94
  }
95
95
  discloseTileTrees(trees) {
96
96
  // NB: We do NOT call super because we don't use our tree if no classifier is active.
@@ -100,7 +100,12 @@ class ClassifierTreeReference extends SpatialClassifierTileTreeReference {
100
100
  if (undefined !== classifierTree)
101
101
  trees.add(classifierTree);
102
102
  }
103
- get isPlanar() { return core_common_1.BatchType.PlanarClassifier === this._id.type; }
103
+ get isPlanar() {
104
+ if (this.activeClassifier?.flags.isVolumeClassifier) {
105
+ return false;
106
+ }
107
+ return true;
108
+ }
104
109
  get viewFlags() {
105
110
  return {
106
111
  renderMode: core_common_1.RenderMode.SmoothShade,
@@ -122,7 +127,7 @@ class ClassifierTreeReference extends SpatialClassifierTileTreeReference {
122
127
  const classifiedTree = this._classifiedTree.treeOwner.load();
123
128
  if (undefined === classifiedTree)
124
129
  return;
125
- const classifier = this._classifiers.active;
130
+ const classifier = this._classifiers.activeClassifier;
126
131
  if (undefined === classifier)
127
132
  return;
128
133
  const classifierTree = this.treeOwner.load();
@@ -1 +1 @@
1
- {"version":3,"file":"ClassifierTileTree.js","sourceRoot":"","sources":["../../../src/tile/ClassifierTileTree.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 Tiles\r\n */\r\nimport { comparePossiblyUndefined, compareStrings, compareStringsOrUndefined, Id64, Id64String } from \"@itwin/core-bentley\";\r\nimport {\r\n BatchType, ClassifierTileTreeId, iModelTileTreeIdToString, RenderMode, RenderSchedule, SpatialClassifier, SpatialClassifiers, ViewFlagsProperties,\r\n} from \"@itwin/core-common\";\r\nimport { DisplayStyleState } from \"../DisplayStyleState\";\r\nimport { IModelApp } from \"../IModelApp\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { GeometricModelState } from \"../ModelState\";\r\nimport { SceneContext } from \"../ViewContext\";\r\nimport { ViewState } from \"../ViewState\";\r\nimport {\r\n DisclosedTileTreeSet, IModelTileTree, iModelTileTreeParamsFromJSON, TileTree, TileTreeLoadStatus, TileTreeOwner, TileTreeReference, TileTreeSupplier,\r\n} from \"./internal\";\r\n\r\ninterface ClassifierTreeId extends ClassifierTileTreeId {\r\n modelId: Id64String;\r\n timeline?: RenderSchedule.ModelTimeline;\r\n}\r\n\r\nfunction compareIds(lhs: ClassifierTreeId, rhs: ClassifierTreeId): number {\r\n return compareStrings(lhs.modelId, rhs.modelId) || compareStringsOrUndefined(lhs.animationId, rhs.animationId)\r\n || comparePossiblyUndefined((x, y) => x.compareTo(y), lhs.timeline, rhs.timeline);\r\n}\r\n\r\nclass ClassifierTreeSupplier implements TileTreeSupplier {\r\n private readonly _nonexistentTreeOwner = {\r\n tileTree: undefined,\r\n loadStatus: TileTreeLoadStatus.NotFound,\r\n load: () => undefined,\r\n dispose: () => undefined,\r\n loadTree: async () => undefined,\r\n iModel: undefined as unknown as IModelConnection,\r\n };\r\n\r\n public compareTileTreeIds(lhs: ClassifierTreeId, rhs: ClassifierTreeId): number {\r\n return compareIds(lhs, rhs);\r\n }\r\n\r\n public async createTileTree(id: ClassifierTreeId, iModel: IModelConnection): Promise<TileTree | undefined> {\r\n await iModel.models.load(id.modelId);\r\n const model = iModel.models.getLoaded(id.modelId);\r\n if (undefined === model || !(model instanceof GeometricModelState))\r\n return undefined;\r\n\r\n const idStr = iModelTileTreeIdToString(id.modelId, id, IModelApp.tileAdmin);\r\n const props = await IModelApp.tileAdmin.requestTileTreeProps(iModel, idStr);\r\n\r\n const params = iModelTileTreeParamsFromJSON(props, iModel, id.modelId, {\r\n edges: false,\r\n allowInstancing: false,\r\n is3d: true,\r\n batchType: id.type,\r\n timeline: id.timeline,\r\n });\r\n\r\n return new IModelTileTree(params, id);\r\n }\r\n\r\n public getOwner(id: ClassifierTreeId, iModel: IModelConnection): TileTreeOwner {\r\n return Id64.isValid(id.modelId) ? iModel.tiles.getTileTreeOwner(id, this) : this._nonexistentTreeOwner;\r\n }\r\n\r\n public addModelsAnimatedByScript(modelIds: Set<Id64String>, scriptSourceId: Id64String, trees: Iterable<{ id: ClassifierTreeId, owner: TileTreeOwner }>): void {\r\n // Note: This is invoked when an element hosting a schedule script is updated - it doesn't care about frontend schedule scripts.\r\n for (const tree of trees)\r\n if (scriptSourceId === tree.id.animationId)\r\n modelIds.add(tree.id.modelId);\r\n }\r\n\r\n public addSpatialModels(modelIds: Set<Id64String>, trees: Iterable<{ id: ClassifierTreeId, owner: TileTreeOwner }>): void {\r\n for (const tree of trees)\r\n modelIds.add(tree.id.modelId);\r\n }\r\n}\r\n\r\nconst classifierTreeSupplier = new ClassifierTreeSupplier();\r\n\r\n/** @internal */\r\nexport abstract class SpatialClassifierTileTreeReference extends TileTreeReference {\r\n public abstract get isPlanar(): boolean;\r\n public abstract get activeClassifier(): SpatialClassifier | undefined;\r\n public get isOpaque() { return false; } /** When referenced as a map layer reference, BIM models are never opaque. */\r\n public abstract get viewFlags(): Partial<ViewFlagsProperties>;\r\n public get transparency(): number | undefined { return undefined; }\r\n}\r\n\r\n/** @internal */\r\nclass ClassifierTreeReference extends SpatialClassifierTileTreeReference {\r\n private _id: ClassifierTreeId;\r\n private readonly _classifiers: SpatialClassifiers;\r\n private readonly _source: ViewState | DisplayStyleState;\r\n private readonly _iModel: IModelConnection;\r\n private readonly _classifiedTree: TileTreeReference;\r\n private _owner: TileTreeOwner;\r\n\r\n public constructor(classifiers: SpatialClassifiers, classifiedTree: TileTreeReference, iModel: IModelConnection, source: ViewState | DisplayStyleState) {\r\n super();\r\n this._id = createClassifierId(classifiers.active, source);\r\n this._source = source;\r\n this._iModel = iModel;\r\n this._classifiers = classifiers;\r\n this._classifiedTree = classifiedTree;\r\n this._owner = classifierTreeSupplier.getOwner(this._id, iModel);\r\n }\r\n\r\n public get classifiers(): SpatialClassifiers { return this._classifiers; }\r\n public get activeClassifier(): SpatialClassifier | undefined { return this.classifiers.active; }\r\n\r\n public override get castsShadows() {\r\n return false;\r\n }\r\n\r\n public get treeOwner(): TileTreeOwner {\r\n const newId = createClassifierId(this._classifiers.active, this._source);\r\n if (0 !== compareIds(this._id, newId)) {\r\n this._id = newId;\r\n this._owner = classifierTreeSupplier.getOwner(this._id, this._iModel);\r\n }\r\n\r\n return this._owner;\r\n }\r\n\r\n public override discloseTileTrees(trees: DisclosedTileTreeSet): void {\r\n // NB: We do NOT call super because we don't use our tree if no classifier is active.\r\n trees.disclose(this._classifiedTree);\r\n\r\n const classifier = this.activeClassifier;\r\n const classifierTree = undefined !== classifier ? this.treeOwner.tileTree : undefined;\r\n if (undefined !== classifierTree)\r\n trees.add(classifierTree);\r\n }\r\n public get isPlanar() { return BatchType.PlanarClassifier === this._id.type; }\r\n\r\n public get viewFlags(): Partial<ViewFlagsProperties> {\r\n return {\r\n renderMode: RenderMode.SmoothShade,\r\n transparency: true, // Igored for point clouds as they don't support transparency.\r\n textures: false,\r\n lighting: false,\r\n shadows: false,\r\n monochrome: false,\r\n materials: false,\r\n ambientOcclusion: false,\r\n visibleEdges: false,\r\n hiddenEdges: false,\r\n };\r\n }\r\n\r\n // Add volume classifiers to scene (planar classifiers are added seperately.)\r\n public override addToScene(context: SceneContext): void {\r\n if (this.isPlanar)\r\n return;\r\n\r\n const classifiedTree = this._classifiedTree.treeOwner.load();\r\n if (undefined === classifiedTree)\r\n return;\r\n\r\n const classifier = this._classifiers.active;\r\n if (undefined === classifier)\r\n return;\r\n\r\n const classifierTree = this.treeOwner.load();\r\n if (undefined === classifierTree)\r\n return;\r\n\r\n context.setVolumeClassifier(classifier, classifiedTree.modelId);\r\n super.addToScene(context);\r\n }\r\n\r\n}\r\n\r\n/** @internal */\r\nexport function createClassifierTileTreeReference(classifiers: SpatialClassifiers, classifiedTree: TileTreeReference, iModel: IModelConnection, source: ViewState | DisplayStyleState): SpatialClassifierTileTreeReference {\r\n return new ClassifierTreeReference(classifiers, classifiedTree, iModel, source);\r\n}\r\n\r\nfunction createClassifierId(classifier: SpatialClassifier | undefined, source: ViewState | DisplayStyleState | undefined): ClassifierTreeId {\r\n if (undefined === classifier)\r\n return { modelId: Id64.invalid, type: BatchType.PlanarClassifier, expansion: 0, animationId: undefined };\r\n\r\n const type = classifier.flags.isVolumeClassifier ? BatchType.VolumeClassifier : BatchType.PlanarClassifier;\r\n const scriptInfo = IModelApp.tileAdmin.getScriptInfoForTreeId(classifier.modelId, source?.scheduleScriptReference); // eslint-disable-line deprecation/deprecation\r\n return {\r\n modelId: classifier.modelId,\r\n type,\r\n expansion: classifier.expand,\r\n animationId: scriptInfo?.animationId,\r\n timeline: scriptInfo?.timeline,\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"ClassifierTileTree.js","sourceRoot":"","sources":["../../../src/tile/ClassifierTileTree.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 Tiles\r\n */\r\nimport { compareNumbers, comparePossiblyUndefined, compareStrings, compareStringsOrUndefined, Id64, Id64String } from \"@itwin/core-bentley\";\r\nimport {\r\n BatchType, ClassifierTileTreeId, iModelTileTreeIdToString, RenderMode, RenderSchedule, SpatialClassifier, ViewFlagsProperties,\r\n} from \"@itwin/core-common\";\r\nimport { DisplayStyleState } from \"../DisplayStyleState\";\r\nimport { IModelApp } from \"../IModelApp\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { GeometricModelState } from \"../ModelState\";\r\nimport { SceneContext } from \"../ViewContext\";\r\nimport { ViewState } from \"../ViewState\";\r\nimport { ActiveSpatialClassifier, SpatialClassifiersState } from \"../SpatialClassifiersState\";\r\nimport {\r\n DisclosedTileTreeSet, IModelTileTree, iModelTileTreeParamsFromJSON, TileTree, TileTreeLoadStatus, TileTreeOwner, TileTreeReference, TileTreeSupplier,\r\n} from \"./internal\";\r\n\r\ninterface ClassifierTreeId extends ClassifierTileTreeId {\r\n modelId: Id64String;\r\n timeline?: RenderSchedule.ModelTimeline;\r\n}\r\n\r\nfunction compareIds(lhs: ClassifierTreeId, rhs: ClassifierTreeId): number {\r\n return compareNumbers(lhs.type, rhs.type) || compareNumbers(lhs.expansion, rhs.expansion)\r\n || compareStrings(lhs.modelId, rhs.modelId) || compareStringsOrUndefined(lhs.animationId, rhs.animationId)\r\n || comparePossiblyUndefined((x, y) => x.compareTo(y), lhs.timeline, rhs.timeline);\r\n}\r\n\r\nclass ClassifierTreeSupplier implements TileTreeSupplier {\r\n private readonly _nonexistentTreeOwner = {\r\n tileTree: undefined,\r\n loadStatus: TileTreeLoadStatus.NotFound,\r\n load: () => undefined,\r\n dispose: () => undefined,\r\n loadTree: async () => undefined,\r\n iModel: undefined as unknown as IModelConnection,\r\n };\r\n\r\n public compareTileTreeIds(lhs: ClassifierTreeId, rhs: ClassifierTreeId): number {\r\n return compareIds(lhs, rhs);\r\n }\r\n\r\n public async createTileTree(id: ClassifierTreeId, iModel: IModelConnection): Promise<TileTree | undefined> {\r\n await iModel.models.load(id.modelId);\r\n const model = iModel.models.getLoaded(id.modelId);\r\n if (undefined === model || !(model instanceof GeometricModelState))\r\n return undefined;\r\n\r\n const idStr = iModelTileTreeIdToString(id.modelId, id, IModelApp.tileAdmin);\r\n const props = await IModelApp.tileAdmin.requestTileTreeProps(iModel, idStr);\r\n\r\n const params = iModelTileTreeParamsFromJSON(props, iModel, id.modelId, {\r\n edges: false,\r\n allowInstancing: false,\r\n is3d: true,\r\n batchType: id.type,\r\n timeline: id.timeline,\r\n });\r\n\r\n return new IModelTileTree(params, id);\r\n }\r\n\r\n public getOwner(id: ClassifierTreeId, iModel: IModelConnection): TileTreeOwner {\r\n return Id64.isValid(id.modelId) ? iModel.tiles.getTileTreeOwner(id, this) : this._nonexistentTreeOwner;\r\n }\r\n\r\n public addModelsAnimatedByScript(modelIds: Set<Id64String>, scriptSourceId: Id64String, trees: Iterable<{ id: ClassifierTreeId, owner: TileTreeOwner }>): void {\r\n // Note: This is invoked when an element hosting a schedule script is updated - it doesn't care about frontend schedule scripts.\r\n for (const tree of trees)\r\n if (scriptSourceId === tree.id.animationId)\r\n modelIds.add(tree.id.modelId);\r\n }\r\n\r\n public addSpatialModels(modelIds: Set<Id64String>, trees: Iterable<{ id: ClassifierTreeId, owner: TileTreeOwner }>): void {\r\n for (const tree of trees)\r\n modelIds.add(tree.id.modelId);\r\n }\r\n}\r\n\r\nconst classifierTreeSupplier = new ClassifierTreeSupplier();\r\n\r\n/** @internal */\r\nexport abstract class SpatialClassifierTileTreeReference extends TileTreeReference {\r\n public abstract get isPlanar(): boolean;\r\n public abstract get activeClassifier(): ActiveSpatialClassifier | undefined;\r\n public abstract get viewFlags(): Partial<ViewFlagsProperties>;\r\n public get transparency(): number | undefined { return undefined; }\r\n}\r\n\r\n/** @internal */\r\nclass ClassifierTreeReference extends SpatialClassifierTileTreeReference {\r\n private _id: ClassifierTreeId;\r\n private readonly _classifiers: SpatialClassifiersState;\r\n private readonly _source: ViewState | DisplayStyleState;\r\n private readonly _iModel: IModelConnection;\r\n private readonly _classifiedTree: TileTreeReference;\r\n private _owner: TileTreeOwner;\r\n\r\n public constructor(classifiers: SpatialClassifiersState, classifiedTree: TileTreeReference, iModel: IModelConnection, source: ViewState | DisplayStyleState) {\r\n super();\r\n this._id = createClassifierId(classifiers.active, source);\r\n this._source = source;\r\n this._iModel = iModel;\r\n this._classifiers = classifiers;\r\n this._classifiedTree = classifiedTree;\r\n this._owner = classifierTreeSupplier.getOwner(this._id, iModel);\r\n }\r\n\r\n public get classifiers(): SpatialClassifiersState { return this._classifiers; }\r\n public get activeClassifier(): ActiveSpatialClassifier | undefined { return this.classifiers.activeClassifier; }\r\n\r\n public override get castsShadows() {\r\n return false;\r\n }\r\n\r\n public get treeOwner(): TileTreeOwner {\r\n const newId = createClassifierId(this._classifiers.active, this._source);\r\n if (0 !== compareIds(this._id, newId)) {\r\n this._id = newId;\r\n this._owner = classifierTreeSupplier.getOwner(this._id, this._iModel);\r\n }\r\n\r\n return this.activeClassifier?.tileTreeReference?.treeOwner ?? this._owner;\r\n }\r\n\r\n public override discloseTileTrees(trees: DisclosedTileTreeSet): void {\r\n // NB: We do NOT call super because we don't use our tree if no classifier is active.\r\n trees.disclose(this._classifiedTree);\r\n\r\n const classifier = this.activeClassifier;\r\n const classifierTree = undefined !== classifier ? this.treeOwner.tileTree : undefined;\r\n if (undefined !== classifierTree)\r\n trees.add(classifierTree);\r\n }\r\n\r\n public get isPlanar() {\r\n if (this.activeClassifier?.flags.isVolumeClassifier) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n public get viewFlags(): Partial<ViewFlagsProperties> {\r\n return {\r\n renderMode: RenderMode.SmoothShade,\r\n transparency: true, // Igored for point clouds as they don't support transparency.\r\n textures: false,\r\n lighting: false,\r\n shadows: false,\r\n monochrome: false,\r\n materials: false,\r\n ambientOcclusion: false,\r\n visibleEdges: false,\r\n hiddenEdges: false,\r\n };\r\n }\r\n\r\n // Add volume classifiers to scene (planar classifiers are added seperately.)\r\n public override addToScene(context: SceneContext): void {\r\n if (this.isPlanar)\r\n return;\r\n\r\n const classifiedTree = this._classifiedTree.treeOwner.load();\r\n if (undefined === classifiedTree)\r\n return;\r\n\r\n const classifier = this._classifiers.activeClassifier;\r\n if (undefined === classifier)\r\n return;\r\n\r\n const classifierTree = this.treeOwner.load();\r\n if (undefined === classifierTree)\r\n return;\r\n\r\n context.setVolumeClassifier(classifier, classifiedTree.modelId);\r\n super.addToScene(context);\r\n }\r\n\r\n}\r\n\r\n/** @internal */\r\nexport function createClassifierTileTreeReference(classifiers: SpatialClassifiersState, classifiedTree: TileTreeReference, iModel: IModelConnection, source: ViewState | DisplayStyleState): SpatialClassifierTileTreeReference {\r\n return new ClassifierTreeReference(classifiers, classifiedTree, iModel, source);\r\n}\r\n\r\nfunction createClassifierId(classifier: SpatialClassifier | undefined, source: ViewState | DisplayStyleState | undefined): ClassifierTreeId {\r\n if (undefined === classifier)\r\n return { modelId: Id64.invalid, type: BatchType.PlanarClassifier, expansion: 0, animationId: undefined };\r\n\r\n const type = classifier.flags.isVolumeClassifier ? BatchType.VolumeClassifier : BatchType.PlanarClassifier;\r\n const scriptInfo = IModelApp.tileAdmin.getScriptInfoForTreeId(classifier.modelId, source?.scheduleScriptReference); // eslint-disable-line deprecation/deprecation\r\n return {\r\n modelId: classifier.modelId,\r\n type,\r\n expansion: classifier.expand,\r\n animationId: scriptInfo?.animationId,\r\n timeline: scriptInfo?.timeline,\r\n };\r\n}\r\n"]}
@@ -242,7 +242,7 @@ function trsMatrix(translation, rotation, scale, result) {
242
242
  const rotTf = core_geometry_1.Transform.createRefs(undefined, rotation ? core_geometry_1.Matrix3d.createFromQuaternion(core_geometry_1.Point4d.create(rotation[0], rotation[1], rotation[2], rotation[3])) : core_geometry_1.Matrix3d.identity);
243
243
  rotTf.matrix.transposeInPlace(); // See comment on Matrix3d.createFromQuaternion
244
244
  const transTf = core_geometry_1.Transform.createTranslation(translation ? new core_geometry_1.Point3d(translation[0], translation[1], translation[2]) : core_geometry_1.Point3d.createZero());
245
- const tf = scaleTf.multiplyTransformTransform(rotTf, result);
245
+ const tf = rotTf.multiplyTransformTransform(scaleTf, result);
246
246
  transTf.multiplyTransformTransform(tf, tf);
247
247
  return tf;
248
248
  }