@itwin/core-frontend 4.1.0-dev.7 → 4.1.0-dev.71

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 (1224) hide show
  1. package/CHANGELOG.md +105 -1
  2. package/lib/cjs/AccuDraw.d.ts +3 -4
  3. package/lib/cjs/AccuDraw.d.ts.map +1 -1
  4. package/lib/cjs/AccuDraw.js +6 -7
  5. package/lib/cjs/AccuDraw.js.map +1 -1
  6. package/lib/cjs/AccuSnap.d.ts +17 -2
  7. package/lib/cjs/AccuSnap.d.ts.map +1 -1
  8. package/lib/cjs/AccuSnap.js +35 -8
  9. package/lib/cjs/AccuSnap.js.map +1 -1
  10. package/lib/cjs/BackgroundMapGeometry.d.ts +3 -2
  11. package/lib/cjs/BackgroundMapGeometry.d.ts.map +1 -1
  12. package/lib/cjs/BackgroundMapGeometry.js +47 -7
  13. package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
  14. package/lib/cjs/BriefcaseConnection.d.ts +3 -3
  15. package/lib/cjs/BriefcaseConnection.js +3 -3
  16. package/lib/cjs/BriefcaseConnection.js.map +1 -1
  17. package/lib/cjs/BriefcaseTxns.d.ts +2 -2
  18. package/lib/cjs/BriefcaseTxns.d.ts.map +1 -1
  19. package/lib/cjs/BriefcaseTxns.js +3 -3
  20. package/lib/cjs/BriefcaseTxns.js.map +1 -1
  21. package/lib/cjs/ChangeFlags.d.ts +25 -12
  22. package/lib/cjs/ChangeFlags.d.ts.map +1 -1
  23. package/lib/cjs/ChangeFlags.js +24 -11
  24. package/lib/cjs/ChangeFlags.js.map +1 -1
  25. package/lib/cjs/CheckpointConnection.js +1 -1
  26. package/lib/cjs/CheckpointConnection.js.map +1 -1
  27. package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
  28. package/lib/cjs/DisplayStyleState.js +2 -1
  29. package/lib/cjs/DisplayStyleState.js.map +1 -1
  30. package/lib/cjs/DrawingViewState.d.ts +2 -2
  31. package/lib/cjs/DrawingViewState.d.ts.map +1 -1
  32. package/lib/cjs/DrawingViewState.js +3 -3
  33. package/lib/cjs/DrawingViewState.js.map +1 -1
  34. package/lib/cjs/ElementLocateManager.d.ts +0 -1
  35. package/lib/cjs/ElementLocateManager.d.ts.map +1 -1
  36. package/lib/cjs/ElementLocateManager.js +11 -19
  37. package/lib/cjs/ElementLocateManager.js.map +1 -1
  38. package/lib/cjs/EnvironmentDecorations.js +1 -1
  39. package/lib/cjs/EnvironmentDecorations.js.map +1 -1
  40. package/lib/cjs/FrustumAnimator.js.map +1 -1
  41. package/lib/cjs/GeoServices.d.ts +37 -7
  42. package/lib/cjs/GeoServices.d.ts.map +1 -1
  43. package/lib/cjs/GeoServices.js +75 -25
  44. package/lib/cjs/GeoServices.js.map +1 -1
  45. package/lib/cjs/GraphicalEditingScope.d.ts +2 -2
  46. package/lib/cjs/GraphicalEditingScope.d.ts.map +1 -1
  47. package/lib/cjs/GraphicalEditingScope.js +1 -1
  48. package/lib/cjs/GraphicalEditingScope.js.map +1 -1
  49. package/lib/cjs/HitDetail.d.ts +100 -29
  50. package/lib/cjs/HitDetail.d.ts.map +1 -1
  51. package/lib/cjs/HitDetail.js +89 -36
  52. package/lib/cjs/HitDetail.js.map +1 -1
  53. package/lib/cjs/IModelApp.d.ts +18 -14
  54. package/lib/cjs/IModelApp.d.ts.map +1 -1
  55. package/lib/cjs/IModelApp.js +22 -18
  56. package/lib/cjs/IModelApp.js.map +1 -1
  57. package/lib/cjs/IModelConnection.d.ts +64 -19
  58. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  59. package/lib/cjs/IModelConnection.js +131 -20
  60. package/lib/cjs/IModelConnection.js.map +1 -1
  61. package/lib/cjs/IpcApp.d.ts +1 -1
  62. package/lib/cjs/IpcApp.d.ts.map +1 -1
  63. package/lib/cjs/IpcApp.js +4 -4
  64. package/lib/cjs/IpcApp.js.map +1 -1
  65. package/lib/cjs/LocalhostIpcApp.js +1 -1
  66. package/lib/cjs/LocalhostIpcApp.js.map +1 -1
  67. package/lib/cjs/Marker.d.ts +1 -1
  68. package/lib/cjs/Marker.d.ts.map +1 -1
  69. package/lib/cjs/Marker.js +3 -3
  70. package/lib/cjs/Marker.js.map +1 -1
  71. package/lib/cjs/NativeApp.d.ts.map +1 -1
  72. package/lib/cjs/NativeApp.js +4 -4
  73. package/lib/cjs/NativeApp.js.map +1 -1
  74. package/lib/cjs/NoRenderApp.d.ts +1 -1
  75. package/lib/cjs/NoRenderApp.d.ts.map +1 -1
  76. package/lib/cjs/NoRenderApp.js +1 -1
  77. package/lib/cjs/NoRenderApp.js.map +1 -1
  78. package/lib/cjs/RealityDataSource.js +1 -1
  79. package/lib/cjs/RealityDataSource.js.map +1 -1
  80. package/lib/cjs/RealityDataSourceContextShareImpl.js +1 -1
  81. package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -1
  82. package/lib/cjs/SheetViewState.d.ts +9 -7
  83. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  84. package/lib/cjs/SheetViewState.js +22 -7
  85. package/lib/cjs/SheetViewState.js.map +1 -1
  86. package/lib/cjs/SpatialViewState.d.ts +20 -5
  87. package/lib/cjs/SpatialViewState.d.ts.map +1 -1
  88. package/lib/cjs/SpatialViewState.js +13 -5
  89. package/lib/cjs/SpatialViewState.js.map +1 -1
  90. package/lib/cjs/Sprites.js +2 -2
  91. package/lib/cjs/Sprites.js.map +1 -1
  92. package/lib/cjs/TentativePoint.d.ts.map +1 -1
  93. package/lib/cjs/TentativePoint.js +10 -1
  94. package/lib/cjs/TentativePoint.js.map +1 -1
  95. package/lib/cjs/ViewContext.d.ts +19 -0
  96. package/lib/cjs/ViewContext.d.ts.map +1 -1
  97. package/lib/cjs/ViewContext.js +9 -0
  98. package/lib/cjs/ViewContext.js.map +1 -1
  99. package/lib/cjs/ViewCreator3d.d.ts +3 -6
  100. package/lib/cjs/ViewCreator3d.d.ts.map +1 -1
  101. package/lib/cjs/ViewCreator3d.js +12 -33
  102. package/lib/cjs/ViewCreator3d.js.map +1 -1
  103. package/lib/cjs/ViewGlobalLocation.d.ts.map +1 -1
  104. package/lib/cjs/ViewGlobalLocation.js +4 -3
  105. package/lib/cjs/ViewGlobalLocation.js.map +1 -1
  106. package/lib/cjs/ViewManager.d.ts +4 -2
  107. package/lib/cjs/ViewManager.d.ts.map +1 -1
  108. package/lib/cjs/ViewManager.js +4 -2
  109. package/lib/cjs/ViewManager.js.map +1 -1
  110. package/lib/cjs/ViewPose.d.ts +11 -11
  111. package/lib/cjs/ViewPose.d.ts.map +1 -1
  112. package/lib/cjs/ViewPose.js +17 -11
  113. package/lib/cjs/ViewPose.js.map +1 -1
  114. package/lib/cjs/ViewState.d.ts +44 -26
  115. package/lib/cjs/ViewState.d.ts.map +1 -1
  116. package/lib/cjs/ViewState.js +52 -25
  117. package/lib/cjs/ViewState.js.map +1 -1
  118. package/lib/cjs/ViewingSpace.js +1 -1
  119. package/lib/cjs/ViewingSpace.js.map +1 -1
  120. package/lib/cjs/Viewport.d.ts +59 -21
  121. package/lib/cjs/Viewport.d.ts.map +1 -1
  122. package/lib/cjs/Viewport.js +68 -25
  123. package/lib/cjs/Viewport.js.map +1 -1
  124. package/lib/cjs/ViewportSync.d.ts +2 -2
  125. package/lib/cjs/ViewportSync.d.ts.map +1 -1
  126. package/lib/cjs/ViewportSync.js +2 -2
  127. package/lib/cjs/ViewportSync.js.map +1 -1
  128. package/lib/cjs/common/FrontendLoggerCategory.d.ts.map +1 -0
  129. package/lib/cjs/common/FrontendLoggerCategory.js.map +1 -0
  130. package/lib/cjs/common/ImageUtil.d.ts.map +1 -0
  131. package/lib/cjs/{ImageUtil.js → common/ImageUtil.js} +2 -0
  132. package/lib/cjs/common/ImageUtil.js.map +1 -0
  133. package/lib/cjs/common/ViewRect.d.ts.map +1 -0
  134. package/lib/cjs/common/ViewRect.js.map +1 -0
  135. package/lib/cjs/common/WorkerProxy.d.ts +73 -0
  136. package/lib/cjs/common/WorkerProxy.d.ts.map +1 -0
  137. package/lib/cjs/common/WorkerProxy.js +54 -0
  138. package/lib/cjs/common/WorkerProxy.js.map +1 -0
  139. package/lib/{esm → cjs/common}/gltf/GltfModel.d.ts +1 -1
  140. package/lib/cjs/common/gltf/GltfModel.d.ts.map +1 -0
  141. package/lib/cjs/common/gltf/GltfModel.js.map +1 -0
  142. package/lib/cjs/common/gltf/GltfParser.d.ts.map +1 -0
  143. package/lib/cjs/common/gltf/GltfParser.js.map +1 -0
  144. package/lib/cjs/common/gltf/GltfSchema.d.ts.map +1 -0
  145. package/lib/cjs/common/gltf/GltfSchema.js.map +1 -0
  146. package/lib/cjs/common/imdl/CompactEdges.d.ts +27 -0
  147. package/lib/cjs/common/imdl/CompactEdges.d.ts.map +1 -0
  148. package/lib/cjs/common/imdl/CompactEdges.js +96 -0
  149. package/lib/cjs/common/imdl/CompactEdges.js.map +1 -0
  150. package/lib/cjs/{imdl → common/imdl}/ImdlModel.d.ts +5 -0
  151. package/lib/cjs/common/imdl/ImdlModel.d.ts.map +1 -0
  152. package/lib/cjs/common/imdl/ImdlModel.js +71 -0
  153. package/lib/cjs/common/imdl/ImdlModel.js.map +1 -0
  154. package/lib/{esm → cjs/common}/imdl/ImdlSchema.d.ts +68 -36
  155. package/lib/cjs/common/imdl/ImdlSchema.d.ts.map +1 -0
  156. package/lib/cjs/common/imdl/ImdlSchema.js +23 -0
  157. package/lib/cjs/common/imdl/ImdlSchema.js.map +1 -0
  158. package/lib/cjs/{imdl/ImdlParser.d.ts → common/imdl/ParseImdlDocument.d.ts} +13 -8
  159. package/lib/cjs/common/imdl/ParseImdlDocument.d.ts.map +1 -0
  160. package/lib/cjs/{imdl/ImdlParser.js → common/imdl/ParseImdlDocument.js} +52 -37
  161. package/lib/cjs/common/imdl/ParseImdlDocument.js.map +1 -0
  162. package/lib/cjs/common/render/AnimationNodeId.d.ts +11 -0
  163. package/lib/cjs/common/render/AnimationNodeId.d.ts.map +1 -0
  164. package/lib/cjs/common/render/AnimationNodeId.js +19 -0
  165. package/lib/cjs/common/render/AnimationNodeId.js.map +1 -0
  166. package/lib/{esm/render/RenderMaterial.d.ts → cjs/common/render/MaterialParams.d.ts} +7 -20
  167. package/lib/cjs/common/render/MaterialParams.d.ts.map +1 -0
  168. package/lib/cjs/{render/RenderMaterial.js → common/render/MaterialParams.js} +1 -1
  169. package/lib/cjs/common/render/MaterialParams.js.map +1 -0
  170. package/lib/cjs/common/render/TextureParams.d.ts +30 -0
  171. package/lib/cjs/common/render/TextureParams.d.ts.map +1 -0
  172. package/lib/cjs/{render/RenderTexture.js → common/render/TextureParams.js} +1 -1
  173. package/lib/cjs/common/render/TextureParams.js.map +1 -0
  174. package/lib/{esm → cjs/common}/render/primitives/AuxChannelTable.d.ts +8 -8
  175. package/lib/cjs/common/render/primitives/AuxChannelTable.d.ts.map +1 -0
  176. package/lib/cjs/{render → common/render}/primitives/AuxChannelTable.js +9 -9
  177. package/lib/cjs/common/render/primitives/AuxChannelTable.js.map +1 -0
  178. package/lib/cjs/common/render/primitives/DisplayParams.d.ts.map +1 -0
  179. package/lib/cjs/common/render/primitives/DisplayParams.js.map +1 -0
  180. package/lib/cjs/common/render/primitives/EdgeParams.d.ts +94 -0
  181. package/lib/cjs/common/render/primitives/EdgeParams.d.ts.map +1 -0
  182. package/lib/cjs/common/render/primitives/EdgeParams.js +46 -0
  183. package/lib/cjs/common/render/primitives/EdgeParams.js.map +1 -0
  184. package/lib/cjs/common/render/primitives/MeshParams.d.ts +20 -0
  185. package/lib/cjs/common/render/primitives/MeshParams.d.ts.map +1 -0
  186. package/lib/cjs/{imdl/ImdlModel.js → common/render/primitives/MeshParams.js} +2 -2
  187. package/lib/cjs/common/render/primitives/MeshParams.js.map +1 -0
  188. package/lib/cjs/common/render/primitives/MeshPrimitive.d.ts +29 -0
  189. package/lib/cjs/common/render/primitives/MeshPrimitive.d.ts.map +1 -0
  190. package/lib/cjs/common/render/primitives/MeshPrimitive.js +18 -0
  191. package/lib/cjs/common/render/primitives/MeshPrimitive.js.map +1 -0
  192. package/lib/cjs/common/render/primitives/PointStringParams.d.ts +14 -0
  193. package/lib/cjs/common/render/primitives/PointStringParams.d.ts.map +1 -0
  194. package/lib/cjs/common/render/primitives/PointStringParams.js +10 -0
  195. package/lib/cjs/common/render/primitives/PointStringParams.js.map +1 -0
  196. package/lib/cjs/common/render/primitives/PolylineParams.d.ts +29 -0
  197. package/lib/cjs/common/render/primitives/PolylineParams.d.ts.map +1 -0
  198. package/lib/cjs/common/render/primitives/PolylineParams.js +10 -0
  199. package/lib/cjs/common/render/primitives/PolylineParams.js.map +1 -0
  200. package/lib/{esm → cjs/common}/render/primitives/SurfaceParams.d.ts +1 -1
  201. package/lib/cjs/common/render/primitives/SurfaceParams.d.ts.map +1 -0
  202. package/lib/cjs/common/render/primitives/SurfaceParams.js.map +1 -0
  203. package/lib/cjs/common/render/primitives/VertexIndices.d.ts +26 -0
  204. package/lib/cjs/common/render/primitives/VertexIndices.d.ts.map +1 -0
  205. package/lib/cjs/common/render/primitives/VertexIndices.js +64 -0
  206. package/lib/cjs/common/render/primitives/VertexIndices.js.map +1 -0
  207. package/lib/cjs/common/render/primitives/VertexTable.d.ts +45 -0
  208. package/lib/cjs/common/render/primitives/VertexTable.d.ts.map +1 -0
  209. package/lib/cjs/common/render/primitives/VertexTable.js +38 -0
  210. package/lib/cjs/common/render/primitives/VertexTable.js.map +1 -0
  211. package/lib/{esm → cjs/common}/render/primitives/VertexTableSplitter.d.ts +20 -3
  212. package/lib/cjs/common/render/primitives/VertexTableSplitter.d.ts.map +1 -0
  213. package/lib/cjs/{render → common/render}/primitives/VertexTableSplitter.js +33 -23
  214. package/lib/cjs/common/render/primitives/VertexTableSplitter.js.map +1 -0
  215. package/lib/cjs/core-frontend.d.ts +45 -11
  216. package/lib/cjs/core-frontend.d.ts.map +1 -1
  217. package/lib/cjs/core-frontend.js +45 -11
  218. package/lib/cjs/core-frontend.js.map +1 -1
  219. package/lib/cjs/extension/ExtensionAdmin.js +1 -1
  220. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  221. package/lib/cjs/extension/providers/ExtensionLoadScript.js.map +1 -1
  222. package/lib/cjs/quantity-formatting/QuantityFormatter.js +1 -1
  223. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  224. package/lib/cjs/render/CanvasDecoration.d.ts +6 -2
  225. package/lib/cjs/render/CanvasDecoration.d.ts.map +1 -1
  226. package/lib/cjs/render/CanvasDecoration.js.map +1 -1
  227. package/lib/cjs/render/CreateRenderMaterialArgs.d.ts +24 -0
  228. package/lib/cjs/render/CreateRenderMaterialArgs.d.ts.map +1 -0
  229. package/lib/cjs/render/CreateRenderMaterialArgs.js +10 -0
  230. package/lib/cjs/render/CreateRenderMaterialArgs.js.map +1 -0
  231. package/lib/{esm/render/RenderTexture.d.ts → cjs/render/CreateTextureArgs.d.ts} +4 -28
  232. package/lib/cjs/render/CreateTextureArgs.d.ts.map +1 -0
  233. package/lib/cjs/render/CreateTextureArgs.js +10 -0
  234. package/lib/cjs/render/CreateTextureArgs.js.map +1 -0
  235. package/lib/cjs/render/GraphicBranch.d.ts +5 -7
  236. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  237. package/lib/cjs/render/GraphicBranch.js +1 -9
  238. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  239. package/lib/cjs/render/InstancedGraphicParams.d.ts +3 -4
  240. package/lib/cjs/render/InstancedGraphicParams.d.ts.map +1 -1
  241. package/lib/cjs/render/InstancedGraphicParams.js.map +1 -1
  242. package/lib/cjs/render/MockRender.d.ts +4 -4
  243. package/lib/cjs/render/MockRender.d.ts.map +1 -1
  244. package/lib/cjs/render/MockRender.js +1 -1
  245. package/lib/cjs/render/MockRender.js.map +1 -1
  246. package/lib/cjs/render/ParticleCollectionBuilder.d.ts.map +1 -1
  247. package/lib/cjs/render/ParticleCollectionBuilder.js +5 -5
  248. package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
  249. package/lib/cjs/render/Pixel.d.ts +57 -0
  250. package/lib/cjs/render/Pixel.d.ts.map +1 -1
  251. package/lib/cjs/render/Pixel.js +41 -0
  252. package/lib/cjs/render/Pixel.js.map +1 -1
  253. package/lib/cjs/render/RealityMeshParams.js +2 -2
  254. package/lib/cjs/render/RealityMeshParams.js.map +1 -1
  255. package/lib/cjs/render/RenderSystem.d.ts +24 -10
  256. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  257. package/lib/cjs/render/RenderSystem.js +7 -8
  258. package/lib/cjs/render/RenderSystem.js.map +1 -1
  259. package/lib/cjs/render/RenderTarget.d.ts +1 -1
  260. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  261. package/lib/cjs/render/RenderTarget.js.map +1 -1
  262. package/lib/cjs/render/UpsampleRealityMeshParams.js.map +1 -1
  263. package/lib/cjs/render/VisibleFeature.d.ts +1 -1
  264. package/lib/cjs/render/VisibleFeature.d.ts.map +1 -1
  265. package/lib/cjs/render/VisibleFeature.js.map +1 -1
  266. package/lib/cjs/render/primitives/EdgeParams.d.ts +2 -89
  267. package/lib/cjs/render/primitives/EdgeParams.d.ts.map +1 -1
  268. package/lib/cjs/render/primitives/EdgeParams.js +44 -80
  269. package/lib/cjs/render/primitives/EdgeParams.js.map +1 -1
  270. package/lib/cjs/render/primitives/PointCloudPrimitive.d.ts +1 -0
  271. package/lib/cjs/render/primitives/PointCloudPrimitive.d.ts.map +1 -1
  272. package/lib/cjs/render/primitives/PointCloudPrimitive.js.map +1 -1
  273. package/lib/cjs/render/primitives/PointStringParams.d.ts +3 -11
  274. package/lib/cjs/render/primitives/PointStringParams.d.ts.map +1 -1
  275. package/lib/cjs/render/primitives/PointStringParams.js +27 -30
  276. package/lib/cjs/render/primitives/PointStringParams.js.map +1 -1
  277. package/lib/cjs/render/primitives/Polyface.d.ts +1 -1
  278. package/lib/cjs/render/primitives/Polyface.d.ts.map +1 -1
  279. package/lib/cjs/render/primitives/Polyface.js.map +1 -1
  280. package/lib/cjs/render/primitives/PolylineParams.d.ts +8 -37
  281. package/lib/cjs/render/primitives/PolylineParams.d.ts.map +1 -1
  282. package/lib/cjs/render/primitives/PolylineParams.js +40 -48
  283. package/lib/cjs/render/primitives/PolylineParams.js.map +1 -1
  284. package/lib/cjs/render/primitives/Strokes.d.ts +1 -1
  285. package/lib/cjs/render/primitives/Strokes.d.ts.map +1 -1
  286. package/lib/cjs/render/primitives/Strokes.js.map +1 -1
  287. package/lib/cjs/render/primitives/VertexTableBuilder.d.ts +31 -0
  288. package/lib/cjs/render/primitives/VertexTableBuilder.d.ts.map +1 -0
  289. package/lib/cjs/render/primitives/{VertexTable.js → VertexTableBuilder.js} +62 -173
  290. package/lib/cjs/render/primitives/VertexTableBuilder.js.map +1 -0
  291. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts +1 -1
  292. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  293. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  294. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts +1 -1
  295. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  296. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js +1 -1
  297. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  298. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.d.ts +1 -1
  299. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.d.ts.map +1 -1
  300. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.js +1 -1
  301. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.js.map +1 -1
  302. package/lib/cjs/render/primitives/mesh/MeshBuilder.d.ts +2 -1
  303. package/lib/cjs/render/primitives/mesh/MeshBuilder.d.ts.map +1 -1
  304. package/lib/cjs/render/primitives/mesh/MeshBuilder.js +5 -2
  305. package/lib/cjs/render/primitives/mesh/MeshBuilder.js.map +1 -1
  306. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.d.ts +6 -5
  307. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.d.ts.map +1 -1
  308. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js +7 -4
  309. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  310. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts +58 -31
  311. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  312. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js +25 -29
  313. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  314. package/lib/cjs/render/webgl/BatchState.js +1 -1
  315. package/lib/cjs/render/webgl/BatchState.js.map +1 -1
  316. package/lib/cjs/render/webgl/BranchState.d.ts +3 -0
  317. package/lib/cjs/render/webgl/BranchState.d.ts.map +1 -1
  318. package/lib/cjs/render/webgl/BranchState.js +2 -0
  319. package/lib/cjs/render/webgl/BranchState.js.map +1 -1
  320. package/lib/cjs/render/webgl/CachedGeometry.d.ts +1 -1
  321. package/lib/cjs/render/webgl/CachedGeometry.d.ts.map +1 -1
  322. package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
  323. package/lib/cjs/render/webgl/ColorInfo.d.ts +1 -1
  324. package/lib/cjs/render/webgl/ColorInfo.d.ts.map +1 -1
  325. package/lib/cjs/render/webgl/ColorInfo.js.map +1 -1
  326. package/lib/cjs/render/webgl/EdgeGeometry.d.ts +2 -2
  327. package/lib/cjs/render/webgl/EdgeGeometry.d.ts.map +1 -1
  328. package/lib/cjs/render/webgl/EdgeGeometry.js.map +1 -1
  329. package/lib/cjs/render/webgl/FeatureOverrides.js +1 -1
  330. package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
  331. package/lib/cjs/render/webgl/Graphic.d.ts +7 -1
  332. package/lib/cjs/render/webgl/Graphic.d.ts.map +1 -1
  333. package/lib/cjs/render/webgl/Graphic.js +7 -2
  334. package/lib/cjs/render/webgl/Graphic.js.map +1 -1
  335. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts +1 -1
  336. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -1
  337. package/lib/cjs/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  338. package/lib/cjs/render/webgl/InstancedGeometry.js.map +1 -1
  339. package/lib/cjs/render/webgl/Material.d.ts +1 -1
  340. package/lib/cjs/render/webgl/Material.d.ts.map +1 -1
  341. package/lib/cjs/render/webgl/Material.js.map +1 -1
  342. package/lib/cjs/render/webgl/Mesh.d.ts +2 -2
  343. package/lib/cjs/render/webgl/Mesh.d.ts.map +1 -1
  344. package/lib/cjs/render/webgl/Mesh.js +1 -1
  345. package/lib/cjs/render/webgl/Mesh.js.map +1 -1
  346. package/lib/cjs/render/webgl/MeshData.d.ts +2 -2
  347. package/lib/cjs/render/webgl/MeshData.d.ts.map +1 -1
  348. package/lib/cjs/render/webgl/MeshData.js.map +1 -1
  349. package/lib/cjs/render/webgl/MeshGeometry.d.ts +1 -1
  350. package/lib/cjs/render/webgl/MeshGeometry.d.ts.map +1 -1
  351. package/lib/cjs/render/webgl/PointString.d.ts +1 -1
  352. package/lib/cjs/render/webgl/PointString.d.ts.map +1 -1
  353. package/lib/cjs/render/webgl/PointString.js.map +1 -1
  354. package/lib/cjs/render/webgl/Polyline.d.ts +1 -1
  355. package/lib/cjs/render/webgl/Polyline.d.ts.map +1 -1
  356. package/lib/cjs/render/webgl/Polyline.js.map +1 -1
  357. package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
  358. package/lib/cjs/render/webgl/RenderCommands.js +1 -1
  359. package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
  360. package/lib/cjs/render/webgl/SceneCompositor.d.ts +2 -1
  361. package/lib/cjs/render/webgl/SceneCompositor.d.ts.map +1 -1
  362. package/lib/cjs/render/webgl/SceneCompositor.js +5 -2
  363. package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
  364. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts +1 -1
  365. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts.map +1 -1
  366. package/lib/cjs/render/webgl/SurfaceGeometry.js +1 -1
  367. package/lib/cjs/render/webgl/SurfaceGeometry.js.map +1 -1
  368. package/lib/cjs/render/webgl/System.d.ts +7 -6
  369. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  370. package/lib/cjs/render/webgl/System.js +2 -2
  371. package/lib/cjs/render/webgl/System.js.map +1 -1
  372. package/lib/cjs/render/webgl/Target.d.ts +1 -1
  373. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  374. package/lib/cjs/render/webgl/Target.js +14 -12
  375. package/lib/cjs/render/webgl/Target.js.map +1 -1
  376. package/lib/cjs/render/webgl/Texture.d.ts +1 -1
  377. package/lib/cjs/render/webgl/Texture.d.ts.map +1 -1
  378. package/lib/cjs/render/webgl/Texture.js +1 -1
  379. package/lib/cjs/render/webgl/Texture.js.map +1 -1
  380. package/lib/cjs/render/webgl/UniformHandle.js +1 -1
  381. package/lib/cjs/render/webgl/UniformHandle.js.map +1 -1
  382. package/lib/cjs/render/webgl/VertexLUT.d.ts +2 -2
  383. package/lib/cjs/render/webgl/VertexLUT.d.ts.map +1 -1
  384. package/lib/cjs/render/webgl/VertexLUT.js.map +1 -1
  385. package/lib/cjs/render/webgl/glsl/Animation.js.map +1 -1
  386. package/lib/cjs/render/webgl/glsl/Atmosphere.js.map +1 -1
  387. package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  388. package/lib/cjs/render/webgl/glsl/RealityMesh.js +32 -19
  389. package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
  390. package/lib/cjs/tile/B3dmReader.d.ts +1 -1
  391. package/lib/cjs/tile/B3dmReader.d.ts.map +1 -1
  392. package/lib/cjs/tile/B3dmReader.js +1 -1
  393. package/lib/cjs/tile/B3dmReader.js.map +1 -1
  394. package/lib/cjs/tile/DynamicIModelTile.js +1 -1
  395. package/lib/cjs/tile/DynamicIModelTile.js.map +1 -1
  396. package/lib/cjs/tile/FetchCloudStorage.d.ts +15 -0
  397. package/lib/cjs/tile/FetchCloudStorage.d.ts.map +1 -0
  398. package/lib/cjs/tile/FetchCloudStorage.js +35 -0
  399. package/lib/cjs/tile/FetchCloudStorage.js.map +1 -0
  400. package/lib/cjs/tile/GltfReader.d.ts +13 -4
  401. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  402. package/lib/cjs/tile/GltfReader.js +80 -28
  403. package/lib/cjs/tile/GltfReader.js.map +1 -1
  404. package/lib/cjs/tile/IModelTile.d.ts.map +1 -1
  405. package/lib/cjs/tile/IModelTile.js +4 -9
  406. package/lib/cjs/tile/IModelTile.js.map +1 -1
  407. package/lib/cjs/tile/IModelTileTree.d.ts +4 -1
  408. package/lib/cjs/tile/IModelTileTree.d.ts.map +1 -1
  409. package/lib/cjs/tile/IModelTileTree.js +15 -0
  410. package/lib/cjs/tile/IModelTileTree.js.map +1 -1
  411. package/lib/cjs/tile/ImdlDecoder.d.ts +52 -0
  412. package/lib/cjs/tile/ImdlDecoder.d.ts.map +1 -0
  413. package/lib/cjs/tile/ImdlDecoder.js +35 -0
  414. package/lib/cjs/tile/ImdlDecoder.js.map +1 -0
  415. package/lib/{esm/imdl → cjs/tile}/ImdlGraphicsCreator.d.ts +1 -1
  416. package/lib/cjs/tile/ImdlGraphicsCreator.d.ts.map +1 -0
  417. package/lib/cjs/{imdl → tile}/ImdlGraphicsCreator.js +13 -13
  418. package/lib/cjs/tile/ImdlGraphicsCreator.js.map +1 -0
  419. package/lib/cjs/tile/ImdlParser.d.ts +26 -0
  420. package/lib/cjs/tile/ImdlParser.d.ts.map +1 -0
  421. package/lib/cjs/tile/ImdlParser.js +72 -0
  422. package/lib/cjs/tile/ImdlParser.js.map +1 -0
  423. package/lib/cjs/tile/ImdlReader.d.ts +6 -1
  424. package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
  425. package/lib/cjs/tile/ImdlReader.js +16 -11
  426. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  427. package/lib/cjs/tile/OPCFormatInterpreter.js +1 -1
  428. package/lib/cjs/tile/OPCFormatInterpreter.js.map +1 -1
  429. package/lib/cjs/tile/PntsReader.js +1 -1
  430. package/lib/cjs/tile/PntsReader.js.map +1 -1
  431. package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
  432. package/lib/cjs/tile/PrimaryTileTree.js +2 -1
  433. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  434. package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
  435. package/lib/cjs/tile/RealityTile.d.ts +8 -3
  436. package/lib/cjs/tile/RealityTile.d.ts.map +1 -1
  437. package/lib/cjs/tile/RealityTile.js +4 -1
  438. package/lib/cjs/tile/RealityTile.js.map +1 -1
  439. package/lib/cjs/tile/RealityTileLoader.d.ts.map +1 -1
  440. package/lib/cjs/tile/RealityTileLoader.js +10 -5
  441. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  442. package/lib/cjs/tile/RealityTileTree.js +1 -1
  443. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  444. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js +1 -1
  445. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  446. package/lib/cjs/tile/TileAdmin.d.ts +14 -11
  447. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  448. package/lib/cjs/tile/TileAdmin.js +9 -52
  449. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  450. package/lib/cjs/tile/TileContent.d.ts +6 -0
  451. package/lib/cjs/tile/TileContent.d.ts.map +1 -1
  452. package/lib/cjs/tile/TileContent.js.map +1 -1
  453. package/lib/cjs/tile/TileStorage.js.map +1 -1
  454. package/lib/cjs/tile/internal.d.ts +9 -0
  455. package/lib/cjs/tile/internal.d.ts.map +1 -1
  456. package/lib/cjs/tile/internal.js +9 -0
  457. package/lib/cjs/tile/internal.js.map +1 -1
  458. package/lib/cjs/tile/map/ArcGisUtilities.d.ts +8 -1
  459. package/lib/cjs/tile/map/ArcGisUtilities.d.ts.map +1 -1
  460. package/lib/cjs/tile/map/ArcGisUtilities.js +21 -0
  461. package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
  462. package/lib/cjs/tile/map/EllipsoidTerrainProvider.d.ts +6 -4
  463. package/lib/cjs/tile/map/EllipsoidTerrainProvider.d.ts.map +1 -1
  464. package/lib/cjs/tile/map/EllipsoidTerrainProvider.js +6 -4
  465. package/lib/cjs/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  466. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts +2 -0
  467. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts.map +1 -1
  468. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js +4 -2
  469. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  470. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +55 -2
  471. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  472. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +96 -23
  473. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  474. package/lib/cjs/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.d.ts +11 -0
  475. package/lib/cjs/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.d.ts.map +1 -0
  476. package/lib/cjs/{imdl/ImdlSchema.js → tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.js} +1 -1
  477. package/lib/cjs/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.js.map +1 -0
  478. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts +15 -0
  479. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts.map +1 -0
  480. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js +59 -0
  481. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -0
  482. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryRenderer.d.ts +47 -0
  483. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryRenderer.d.ts.map +1 -0
  484. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryRenderer.js +126 -0
  485. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryRenderer.js.map +1 -0
  486. package/lib/cjs/tile/map/ImageryProviders/ArcGisGraphicsRenderer.d.ts +27 -0
  487. package/lib/cjs/tile/map/ImageryProviders/ArcGisGraphicsRenderer.d.ts.map +1 -0
  488. package/lib/cjs/tile/map/ImageryProviders/ArcGisGraphicsRenderer.js +135 -0
  489. package/lib/cjs/tile/map/ImageryProviders/ArcGisGraphicsRenderer.js.map +1 -0
  490. package/lib/cjs/tile/map/ImageryProviders/WebMercator.d.ts +6 -0
  491. package/lib/cjs/tile/map/ImageryProviders/WebMercator.d.ts.map +1 -0
  492. package/lib/cjs/tile/map/ImageryProviders/WebMercator.js +22 -0
  493. package/lib/cjs/tile/map/ImageryProviders/WebMercator.js.map +1 -0
  494. package/lib/cjs/tile/map/ImageryTileTree.d.ts +2 -1
  495. package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
  496. package/lib/cjs/tile/map/ImageryTileTree.js +16 -9
  497. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  498. package/lib/cjs/tile/map/MapFeatureInfo.d.ts +67 -7
  499. package/lib/cjs/tile/map/MapFeatureInfo.d.ts.map +1 -1
  500. package/lib/cjs/tile/map/MapFeatureInfo.js +16 -2
  501. package/lib/cjs/tile/map/MapFeatureInfo.js.map +1 -1
  502. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  503. package/lib/cjs/tile/map/MapLayerImageryFormats.js +3 -0
  504. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  505. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +4 -1
  506. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  507. package/lib/cjs/tile/map/MapLayerImageryProvider.js +3 -1
  508. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  509. package/lib/cjs/tile/map/MapLayerSources.d.ts +4 -1
  510. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  511. package/lib/cjs/tile/map/MapLayerSources.js +3 -0
  512. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  513. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  514. package/lib/cjs/tile/map/MapTile.js +9 -1
  515. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  516. package/lib/cjs/tile/map/MapTileLoader.d.ts.map +1 -1
  517. package/lib/cjs/tile/map/MapTileLoader.js +1 -15
  518. package/lib/cjs/tile/map/MapTileLoader.js.map +1 -1
  519. package/lib/cjs/tile/map/MapTileTree.d.ts +12 -3
  520. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  521. package/lib/cjs/tile/map/MapTileTree.js +33 -20
  522. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  523. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts +2 -3
  524. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  525. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +3 -4
  526. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  527. package/lib/cjs/tile/map/MapTilingScheme.d.ts +4 -4
  528. package/lib/cjs/tile/map/MapTilingScheme.d.ts.map +1 -1
  529. package/lib/cjs/tile/map/MapTilingScheme.js +4 -4
  530. package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
  531. package/lib/cjs/tile/map/QuadId.js.map +1 -1
  532. package/lib/cjs/tools/ElementSetTool.js +1 -1
  533. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  534. package/lib/cjs/tools/SelectTool.js +1 -1
  535. package/lib/cjs/tools/SelectTool.js.map +1 -1
  536. package/lib/cjs/tools/ToolAdmin.d.ts +8 -6
  537. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  538. package/lib/cjs/tools/ToolAdmin.js +11 -8
  539. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  540. package/lib/cjs/tools/ToolAssistance.d.ts +18 -0
  541. package/lib/cjs/tools/ToolAssistance.d.ts.map +1 -1
  542. package/lib/cjs/tools/ToolAssistance.js +8 -0
  543. package/lib/cjs/tools/ToolAssistance.js.map +1 -1
  544. package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
  545. package/lib/cjs/tools/ViewTool.js +3 -2
  546. package/lib/cjs/tools/ViewTool.js.map +1 -1
  547. package/lib/cjs/workers/ImdlParser/Worker.d.ts +20 -0
  548. package/lib/cjs/workers/ImdlParser/Worker.d.ts.map +1 -0
  549. package/lib/cjs/workers/ImdlParser/Worker.js +32 -0
  550. package/lib/cjs/workers/ImdlParser/Worker.js.map +1 -0
  551. package/lib/cjs/workers/ImdlParser/webpack.config.js +40 -0
  552. package/lib/cjs/workers/RegisterWorker.d.ts +9 -0
  553. package/lib/cjs/workers/RegisterWorker.d.ts.map +1 -0
  554. package/lib/cjs/workers/RegisterWorker.js +36 -0
  555. package/lib/cjs/workers/RegisterWorker.js.map +1 -0
  556. package/lib/esm/AccuDraw.d.ts +3 -4
  557. package/lib/esm/AccuDraw.d.ts.map +1 -1
  558. package/lib/esm/AccuDraw.js +6 -7
  559. package/lib/esm/AccuDraw.js.map +1 -1
  560. package/lib/esm/AccuSnap.d.ts +17 -2
  561. package/lib/esm/AccuSnap.d.ts.map +1 -1
  562. package/lib/esm/AccuSnap.js +35 -8
  563. package/lib/esm/AccuSnap.js.map +1 -1
  564. package/lib/esm/BackgroundMapGeometry.d.ts +3 -2
  565. package/lib/esm/BackgroundMapGeometry.d.ts.map +1 -1
  566. package/lib/esm/BackgroundMapGeometry.js +47 -7
  567. package/lib/esm/BackgroundMapGeometry.js.map +1 -1
  568. package/lib/esm/BriefcaseConnection.d.ts +3 -3
  569. package/lib/esm/BriefcaseConnection.js +3 -3
  570. package/lib/esm/BriefcaseConnection.js.map +1 -1
  571. package/lib/esm/BriefcaseTxns.d.ts +2 -2
  572. package/lib/esm/BriefcaseTxns.d.ts.map +1 -1
  573. package/lib/esm/BriefcaseTxns.js +3 -3
  574. package/lib/esm/BriefcaseTxns.js.map +1 -1
  575. package/lib/esm/ChangeFlags.d.ts +25 -12
  576. package/lib/esm/ChangeFlags.d.ts.map +1 -1
  577. package/lib/esm/ChangeFlags.js +24 -11
  578. package/lib/esm/ChangeFlags.js.map +1 -1
  579. package/lib/esm/CheckpointConnection.js +1 -1
  580. package/lib/esm/CheckpointConnection.js.map +1 -1
  581. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  582. package/lib/esm/DisplayStyleState.js +2 -1
  583. package/lib/esm/DisplayStyleState.js.map +1 -1
  584. package/lib/esm/DrawingViewState.d.ts +2 -2
  585. package/lib/esm/DrawingViewState.d.ts.map +1 -1
  586. package/lib/esm/DrawingViewState.js +3 -3
  587. package/lib/esm/DrawingViewState.js.map +1 -1
  588. package/lib/esm/ElementLocateManager.d.ts +0 -1
  589. package/lib/esm/ElementLocateManager.d.ts.map +1 -1
  590. package/lib/esm/ElementLocateManager.js +12 -20
  591. package/lib/esm/ElementLocateManager.js.map +1 -1
  592. package/lib/esm/EnvironmentDecorations.js +1 -1
  593. package/lib/esm/EnvironmentDecorations.js.map +1 -1
  594. package/lib/esm/FrustumAnimator.js.map +1 -1
  595. package/lib/esm/GeoServices.d.ts +37 -7
  596. package/lib/esm/GeoServices.d.ts.map +1 -1
  597. package/lib/esm/GeoServices.js +75 -25
  598. package/lib/esm/GeoServices.js.map +1 -1
  599. package/lib/esm/GraphicalEditingScope.d.ts +2 -2
  600. package/lib/esm/GraphicalEditingScope.d.ts.map +1 -1
  601. package/lib/esm/GraphicalEditingScope.js +2 -2
  602. package/lib/esm/GraphicalEditingScope.js.map +1 -1
  603. package/lib/esm/HitDetail.d.ts +100 -29
  604. package/lib/esm/HitDetail.d.ts.map +1 -1
  605. package/lib/esm/HitDetail.js +90 -37
  606. package/lib/esm/HitDetail.js.map +1 -1
  607. package/lib/esm/IModelApp.d.ts +18 -14
  608. package/lib/esm/IModelApp.d.ts.map +1 -1
  609. package/lib/esm/IModelApp.js +22 -18
  610. package/lib/esm/IModelApp.js.map +1 -1
  611. package/lib/esm/IModelConnection.d.ts +64 -19
  612. package/lib/esm/IModelConnection.d.ts.map +1 -1
  613. package/lib/esm/IModelConnection.js +132 -21
  614. package/lib/esm/IModelConnection.js.map +1 -1
  615. package/lib/esm/IpcApp.d.ts +1 -1
  616. package/lib/esm/IpcApp.d.ts.map +1 -1
  617. package/lib/esm/IpcApp.js +5 -5
  618. package/lib/esm/IpcApp.js.map +1 -1
  619. package/lib/esm/LocalhostIpcApp.js +2 -2
  620. package/lib/esm/LocalhostIpcApp.js.map +1 -1
  621. package/lib/esm/Marker.d.ts +1 -1
  622. package/lib/esm/Marker.d.ts.map +1 -1
  623. package/lib/esm/Marker.js +3 -3
  624. package/lib/esm/Marker.js.map +1 -1
  625. package/lib/esm/NativeApp.d.ts.map +1 -1
  626. package/lib/esm/NativeApp.js +5 -5
  627. package/lib/esm/NativeApp.js.map +1 -1
  628. package/lib/esm/NoRenderApp.d.ts +1 -1
  629. package/lib/esm/NoRenderApp.d.ts.map +1 -1
  630. package/lib/esm/NoRenderApp.js +1 -1
  631. package/lib/esm/NoRenderApp.js.map +1 -1
  632. package/lib/esm/RealityDataSource.js +1 -1
  633. package/lib/esm/RealityDataSource.js.map +1 -1
  634. package/lib/esm/RealityDataSourceContextShareImpl.js +1 -1
  635. package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -1
  636. package/lib/esm/SheetViewState.d.ts +9 -7
  637. package/lib/esm/SheetViewState.d.ts.map +1 -1
  638. package/lib/esm/SheetViewState.js +22 -7
  639. package/lib/esm/SheetViewState.js.map +1 -1
  640. package/lib/esm/SpatialViewState.d.ts +20 -5
  641. package/lib/esm/SpatialViewState.d.ts.map +1 -1
  642. package/lib/esm/SpatialViewState.js +13 -5
  643. package/lib/esm/SpatialViewState.js.map +1 -1
  644. package/lib/esm/Sprites.js +2 -2
  645. package/lib/esm/Sprites.js.map +1 -1
  646. package/lib/esm/TentativePoint.d.ts.map +1 -1
  647. package/lib/esm/TentativePoint.js +10 -1
  648. package/lib/esm/TentativePoint.js.map +1 -1
  649. package/lib/esm/ViewContext.d.ts +19 -0
  650. package/lib/esm/ViewContext.d.ts.map +1 -1
  651. package/lib/esm/ViewContext.js +9 -0
  652. package/lib/esm/ViewContext.js.map +1 -1
  653. package/lib/esm/ViewCreator3d.d.ts +3 -6
  654. package/lib/esm/ViewCreator3d.d.ts.map +1 -1
  655. package/lib/esm/ViewCreator3d.js +14 -35
  656. package/lib/esm/ViewCreator3d.js.map +1 -1
  657. package/lib/esm/ViewGlobalLocation.d.ts.map +1 -1
  658. package/lib/esm/ViewGlobalLocation.js +4 -3
  659. package/lib/esm/ViewGlobalLocation.js.map +1 -1
  660. package/lib/esm/ViewManager.d.ts +4 -2
  661. package/lib/esm/ViewManager.d.ts.map +1 -1
  662. package/lib/esm/ViewManager.js +4 -2
  663. package/lib/esm/ViewManager.js.map +1 -1
  664. package/lib/esm/ViewPose.d.ts +11 -11
  665. package/lib/esm/ViewPose.d.ts.map +1 -1
  666. package/lib/esm/ViewPose.js +17 -11
  667. package/lib/esm/ViewPose.js.map +1 -1
  668. package/lib/esm/ViewState.d.ts +44 -26
  669. package/lib/esm/ViewState.d.ts.map +1 -1
  670. package/lib/esm/ViewState.js +52 -25
  671. package/lib/esm/ViewState.js.map +1 -1
  672. package/lib/esm/ViewingSpace.js +1 -1
  673. package/lib/esm/ViewingSpace.js.map +1 -1
  674. package/lib/esm/Viewport.d.ts +59 -21
  675. package/lib/esm/Viewport.d.ts.map +1 -1
  676. package/lib/esm/Viewport.js +68 -25
  677. package/lib/esm/Viewport.js.map +1 -1
  678. package/lib/esm/ViewportSync.d.ts +2 -2
  679. package/lib/esm/ViewportSync.d.ts.map +1 -1
  680. package/lib/esm/ViewportSync.js +2 -2
  681. package/lib/esm/ViewportSync.js.map +1 -1
  682. package/lib/esm/common/FrontendLoggerCategory.d.ts.map +1 -0
  683. package/lib/esm/common/FrontendLoggerCategory.js.map +1 -0
  684. package/lib/esm/common/ImageUtil.d.ts.map +1 -0
  685. package/lib/esm/{ImageUtil.js → common/ImageUtil.js} +2 -0
  686. package/lib/esm/common/ImageUtil.js.map +1 -0
  687. package/lib/esm/common/ViewRect.d.ts.map +1 -0
  688. package/lib/esm/common/ViewRect.js.map +1 -0
  689. package/lib/esm/common/WorkerProxy.d.ts +73 -0
  690. package/lib/esm/common/WorkerProxy.d.ts.map +1 -0
  691. package/lib/esm/common/WorkerProxy.js +50 -0
  692. package/lib/esm/common/WorkerProxy.js.map +1 -0
  693. package/lib/{cjs → esm/common}/gltf/GltfModel.d.ts +1 -1
  694. package/lib/esm/common/gltf/GltfModel.d.ts.map +1 -0
  695. package/lib/esm/common/gltf/GltfModel.js.map +1 -0
  696. package/lib/esm/common/gltf/GltfParser.d.ts.map +1 -0
  697. package/lib/esm/common/gltf/GltfParser.js.map +1 -0
  698. package/lib/esm/common/gltf/GltfSchema.d.ts.map +1 -0
  699. package/lib/esm/common/gltf/GltfSchema.js.map +1 -0
  700. package/lib/esm/common/imdl/CompactEdges.d.ts +27 -0
  701. package/lib/esm/common/imdl/CompactEdges.d.ts.map +1 -0
  702. package/lib/esm/common/imdl/CompactEdges.js +92 -0
  703. package/lib/esm/common/imdl/CompactEdges.js.map +1 -0
  704. package/lib/esm/{imdl → common/imdl}/ImdlModel.d.ts +5 -0
  705. package/lib/esm/common/imdl/ImdlModel.d.ts.map +1 -0
  706. package/lib/esm/common/imdl/ImdlModel.js +67 -0
  707. package/lib/esm/common/imdl/ImdlModel.js.map +1 -0
  708. package/lib/{cjs → esm/common}/imdl/ImdlSchema.d.ts +68 -36
  709. package/lib/esm/common/imdl/ImdlSchema.d.ts.map +1 -0
  710. package/lib/esm/common/imdl/ImdlSchema.js +20 -0
  711. package/lib/esm/common/imdl/ImdlSchema.js.map +1 -0
  712. package/lib/esm/{imdl/ImdlParser.d.ts → common/imdl/ParseImdlDocument.d.ts} +13 -8
  713. package/lib/esm/common/imdl/ParseImdlDocument.d.ts.map +1 -0
  714. package/lib/esm/{imdl/ImdlParser.js → common/imdl/ParseImdlDocument.js} +40 -25
  715. package/lib/esm/common/imdl/ParseImdlDocument.js.map +1 -0
  716. package/lib/esm/common/render/AnimationNodeId.d.ts +11 -0
  717. package/lib/esm/common/render/AnimationNodeId.d.ts.map +1 -0
  718. package/lib/esm/common/render/AnimationNodeId.js +16 -0
  719. package/lib/esm/common/render/AnimationNodeId.js.map +1 -0
  720. package/lib/{cjs/render/RenderMaterial.d.ts → esm/common/render/MaterialParams.d.ts} +7 -20
  721. package/lib/esm/common/render/MaterialParams.d.ts.map +1 -0
  722. package/lib/esm/{render/RenderMaterial.js → common/render/MaterialParams.js} +1 -1
  723. package/lib/esm/common/render/MaterialParams.js.map +1 -0
  724. package/lib/esm/common/render/TextureParams.d.ts +30 -0
  725. package/lib/esm/common/render/TextureParams.d.ts.map +1 -0
  726. package/lib/esm/{render/RenderTexture.js → common/render/TextureParams.js} +1 -1
  727. package/lib/esm/common/render/TextureParams.js.map +1 -0
  728. package/lib/{cjs → esm/common}/render/primitives/AuxChannelTable.d.ts +8 -8
  729. package/lib/esm/common/render/primitives/AuxChannelTable.d.ts.map +1 -0
  730. package/lib/esm/{render → common/render}/primitives/AuxChannelTable.js +9 -9
  731. package/lib/esm/common/render/primitives/AuxChannelTable.js.map +1 -0
  732. package/lib/esm/common/render/primitives/DisplayParams.d.ts.map +1 -0
  733. package/lib/esm/common/render/primitives/DisplayParams.js.map +1 -0
  734. package/lib/esm/common/render/primitives/EdgeParams.d.ts +94 -0
  735. package/lib/esm/common/render/primitives/EdgeParams.d.ts.map +1 -0
  736. package/lib/esm/common/render/primitives/EdgeParams.js +42 -0
  737. package/lib/esm/common/render/primitives/EdgeParams.js.map +1 -0
  738. package/lib/esm/common/render/primitives/MeshParams.d.ts +20 -0
  739. package/lib/esm/common/render/primitives/MeshParams.d.ts.map +1 -0
  740. package/lib/esm/{imdl/ImdlSchema.js → common/render/primitives/MeshParams.js} +2 -2
  741. package/lib/esm/common/render/primitives/MeshParams.js.map +1 -0
  742. package/lib/esm/common/render/primitives/MeshPrimitive.d.ts +29 -0
  743. package/lib/esm/common/render/primitives/MeshPrimitive.d.ts.map +1 -0
  744. package/lib/esm/common/render/primitives/MeshPrimitive.js +15 -0
  745. package/lib/esm/common/render/primitives/MeshPrimitive.js.map +1 -0
  746. package/lib/esm/common/render/primitives/PointStringParams.d.ts +14 -0
  747. package/lib/esm/common/render/primitives/PointStringParams.d.ts.map +1 -0
  748. package/lib/esm/common/render/primitives/PointStringParams.js +9 -0
  749. package/lib/esm/common/render/primitives/PointStringParams.js.map +1 -0
  750. package/lib/esm/common/render/primitives/PolylineParams.d.ts +29 -0
  751. package/lib/esm/common/render/primitives/PolylineParams.d.ts.map +1 -0
  752. package/lib/esm/common/render/primitives/PolylineParams.js +9 -0
  753. package/lib/esm/common/render/primitives/PolylineParams.js.map +1 -0
  754. package/lib/{cjs → esm/common}/render/primitives/SurfaceParams.d.ts +1 -1
  755. package/lib/esm/common/render/primitives/SurfaceParams.d.ts.map +1 -0
  756. package/lib/esm/common/render/primitives/SurfaceParams.js.map +1 -0
  757. package/lib/esm/common/render/primitives/VertexIndices.d.ts +26 -0
  758. package/lib/esm/common/render/primitives/VertexIndices.d.ts.map +1 -0
  759. package/lib/esm/common/render/primitives/VertexIndices.js +60 -0
  760. package/lib/esm/common/render/primitives/VertexIndices.js.map +1 -0
  761. package/lib/esm/common/render/primitives/VertexTable.d.ts +45 -0
  762. package/lib/esm/common/render/primitives/VertexTable.d.ts.map +1 -0
  763. package/lib/esm/common/render/primitives/VertexTable.js +34 -0
  764. package/lib/esm/common/render/primitives/VertexTable.js.map +1 -0
  765. package/lib/{cjs → esm/common}/render/primitives/VertexTableSplitter.d.ts +20 -3
  766. package/lib/esm/common/render/primitives/VertexTableSplitter.d.ts.map +1 -0
  767. package/lib/esm/{render → common/render}/primitives/VertexTableSplitter.js +31 -21
  768. package/lib/esm/common/render/primitives/VertexTableSplitter.js.map +1 -0
  769. package/lib/esm/core-frontend.d.ts +45 -11
  770. package/lib/esm/core-frontend.d.ts.map +1 -1
  771. package/lib/esm/core-frontend.js +45 -11
  772. package/lib/esm/core-frontend.js.map +1 -1
  773. package/lib/esm/extension/ExtensionAdmin.js +1 -1
  774. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  775. package/lib/esm/extension/providers/ExtensionLoadScript.js.map +1 -1
  776. package/lib/esm/quantity-formatting/QuantityFormatter.js +1 -1
  777. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  778. package/lib/esm/render/CanvasDecoration.d.ts +6 -2
  779. package/lib/esm/render/CanvasDecoration.d.ts.map +1 -1
  780. package/lib/esm/render/CanvasDecoration.js.map +1 -1
  781. package/lib/esm/render/CreateRenderMaterialArgs.d.ts +24 -0
  782. package/lib/esm/render/CreateRenderMaterialArgs.d.ts.map +1 -0
  783. package/lib/esm/render/CreateRenderMaterialArgs.js +9 -0
  784. package/lib/esm/render/CreateRenderMaterialArgs.js.map +1 -0
  785. package/lib/{cjs/render/RenderTexture.d.ts → esm/render/CreateTextureArgs.d.ts} +4 -28
  786. package/lib/esm/render/CreateTextureArgs.d.ts.map +1 -0
  787. package/lib/esm/render/CreateTextureArgs.js +9 -0
  788. package/lib/esm/render/CreateTextureArgs.js.map +1 -0
  789. package/lib/esm/render/GraphicBranch.d.ts +5 -7
  790. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  791. package/lib/esm/render/GraphicBranch.js +0 -8
  792. package/lib/esm/render/GraphicBranch.js.map +1 -1
  793. package/lib/esm/render/InstancedGraphicParams.d.ts +3 -4
  794. package/lib/esm/render/InstancedGraphicParams.d.ts.map +1 -1
  795. package/lib/esm/render/InstancedGraphicParams.js.map +1 -1
  796. package/lib/esm/render/MockRender.d.ts +4 -4
  797. package/lib/esm/render/MockRender.d.ts.map +1 -1
  798. package/lib/esm/render/MockRender.js +1 -1
  799. package/lib/esm/render/MockRender.js.map +1 -1
  800. package/lib/esm/render/ParticleCollectionBuilder.d.ts.map +1 -1
  801. package/lib/esm/render/ParticleCollectionBuilder.js +5 -5
  802. package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
  803. package/lib/esm/render/Pixel.d.ts +57 -0
  804. package/lib/esm/render/Pixel.d.ts.map +1 -1
  805. package/lib/esm/render/Pixel.js +41 -0
  806. package/lib/esm/render/Pixel.js.map +1 -1
  807. package/lib/esm/render/RealityMeshParams.js +2 -2
  808. package/lib/esm/render/RealityMeshParams.js.map +1 -1
  809. package/lib/esm/render/RenderSystem.d.ts +24 -10
  810. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  811. package/lib/esm/render/RenderSystem.js +8 -9
  812. package/lib/esm/render/RenderSystem.js.map +1 -1
  813. package/lib/esm/render/RenderTarget.d.ts +1 -1
  814. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  815. package/lib/esm/render/RenderTarget.js.map +1 -1
  816. package/lib/esm/render/UpsampleRealityMeshParams.js.map +1 -1
  817. package/lib/esm/render/VisibleFeature.d.ts +1 -1
  818. package/lib/esm/render/VisibleFeature.d.ts.map +1 -1
  819. package/lib/esm/render/VisibleFeature.js.map +1 -1
  820. package/lib/esm/render/primitives/EdgeParams.d.ts +2 -89
  821. package/lib/esm/render/primitives/EdgeParams.d.ts.map +1 -1
  822. package/lib/esm/render/primitives/EdgeParams.js +38 -74
  823. package/lib/esm/render/primitives/EdgeParams.js.map +1 -1
  824. package/lib/esm/render/primitives/PointCloudPrimitive.d.ts +1 -0
  825. package/lib/esm/render/primitives/PointCloudPrimitive.d.ts.map +1 -1
  826. package/lib/esm/render/primitives/PointCloudPrimitive.js.map +1 -1
  827. package/lib/esm/render/primitives/PointStringParams.d.ts +3 -11
  828. package/lib/esm/render/primitives/PointStringParams.d.ts.map +1 -1
  829. package/lib/esm/render/primitives/PointStringParams.js +25 -28
  830. package/lib/esm/render/primitives/PointStringParams.js.map +1 -1
  831. package/lib/esm/render/primitives/Polyface.d.ts +1 -1
  832. package/lib/esm/render/primitives/Polyface.d.ts.map +1 -1
  833. package/lib/esm/render/primitives/Polyface.js.map +1 -1
  834. package/lib/esm/render/primitives/PolylineParams.d.ts +8 -37
  835. package/lib/esm/render/primitives/PolylineParams.d.ts.map +1 -1
  836. package/lib/esm/render/primitives/PolylineParams.js +34 -43
  837. package/lib/esm/render/primitives/PolylineParams.js.map +1 -1
  838. package/lib/esm/render/primitives/Strokes.d.ts +1 -1
  839. package/lib/esm/render/primitives/Strokes.d.ts.map +1 -1
  840. package/lib/esm/render/primitives/Strokes.js.map +1 -1
  841. package/lib/esm/render/primitives/VertexTableBuilder.d.ts +31 -0
  842. package/lib/esm/render/primitives/VertexTableBuilder.d.ts.map +1 -0
  843. package/lib/esm/render/primitives/{VertexTable.js → VertexTableBuilder.js} +62 -170
  844. package/lib/esm/render/primitives/VertexTableBuilder.js.map +1 -0
  845. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts +1 -1
  846. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  847. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  848. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts +1 -1
  849. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  850. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js +1 -1
  851. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  852. package/lib/esm/render/primitives/geometry/GeometryPrimitives.d.ts +1 -1
  853. package/lib/esm/render/primitives/geometry/GeometryPrimitives.d.ts.map +1 -1
  854. package/lib/esm/render/primitives/geometry/GeometryPrimitives.js +1 -1
  855. package/lib/esm/render/primitives/geometry/GeometryPrimitives.js.map +1 -1
  856. package/lib/esm/render/primitives/mesh/MeshBuilder.d.ts +2 -1
  857. package/lib/esm/render/primitives/mesh/MeshBuilder.d.ts.map +1 -1
  858. package/lib/esm/render/primitives/mesh/MeshBuilder.js +5 -2
  859. package/lib/esm/render/primitives/mesh/MeshBuilder.js.map +1 -1
  860. package/lib/esm/render/primitives/mesh/MeshBuilderMap.d.ts +6 -5
  861. package/lib/esm/render/primitives/mesh/MeshBuilderMap.d.ts.map +1 -1
  862. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js +8 -5
  863. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  864. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts +58 -31
  865. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  866. package/lib/esm/render/primitives/mesh/MeshPrimitives.js +26 -30
  867. package/lib/esm/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  868. package/lib/esm/render/webgl/BatchState.js +1 -1
  869. package/lib/esm/render/webgl/BatchState.js.map +1 -1
  870. package/lib/esm/render/webgl/BranchState.d.ts +3 -0
  871. package/lib/esm/render/webgl/BranchState.d.ts.map +1 -1
  872. package/lib/esm/render/webgl/BranchState.js +2 -0
  873. package/lib/esm/render/webgl/BranchState.js.map +1 -1
  874. package/lib/esm/render/webgl/CachedGeometry.d.ts +1 -1
  875. package/lib/esm/render/webgl/CachedGeometry.d.ts.map +1 -1
  876. package/lib/esm/render/webgl/CachedGeometry.js.map +1 -1
  877. package/lib/esm/render/webgl/ColorInfo.d.ts +1 -1
  878. package/lib/esm/render/webgl/ColorInfo.d.ts.map +1 -1
  879. package/lib/esm/render/webgl/ColorInfo.js.map +1 -1
  880. package/lib/esm/render/webgl/EdgeGeometry.d.ts +2 -2
  881. package/lib/esm/render/webgl/EdgeGeometry.d.ts.map +1 -1
  882. package/lib/esm/render/webgl/EdgeGeometry.js.map +1 -1
  883. package/lib/esm/render/webgl/FeatureOverrides.js +1 -1
  884. package/lib/esm/render/webgl/FeatureOverrides.js.map +1 -1
  885. package/lib/esm/render/webgl/Graphic.d.ts +7 -1
  886. package/lib/esm/render/webgl/Graphic.d.ts.map +1 -1
  887. package/lib/esm/render/webgl/Graphic.js +7 -2
  888. package/lib/esm/render/webgl/Graphic.js.map +1 -1
  889. package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts +1 -1
  890. package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -1
  891. package/lib/esm/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  892. package/lib/esm/render/webgl/InstancedGeometry.js.map +1 -1
  893. package/lib/esm/render/webgl/Material.d.ts +1 -1
  894. package/lib/esm/render/webgl/Material.d.ts.map +1 -1
  895. package/lib/esm/render/webgl/Material.js.map +1 -1
  896. package/lib/esm/render/webgl/Mesh.d.ts +2 -2
  897. package/lib/esm/render/webgl/Mesh.d.ts.map +1 -1
  898. package/lib/esm/render/webgl/Mesh.js +1 -1
  899. package/lib/esm/render/webgl/Mesh.js.map +1 -1
  900. package/lib/esm/render/webgl/MeshData.d.ts +2 -2
  901. package/lib/esm/render/webgl/MeshData.d.ts.map +1 -1
  902. package/lib/esm/render/webgl/MeshData.js.map +1 -1
  903. package/lib/esm/render/webgl/MeshGeometry.d.ts +1 -1
  904. package/lib/esm/render/webgl/MeshGeometry.d.ts.map +1 -1
  905. package/lib/esm/render/webgl/PointString.d.ts +1 -1
  906. package/lib/esm/render/webgl/PointString.d.ts.map +1 -1
  907. package/lib/esm/render/webgl/PointString.js.map +1 -1
  908. package/lib/esm/render/webgl/Polyline.d.ts +1 -1
  909. package/lib/esm/render/webgl/Polyline.d.ts.map +1 -1
  910. package/lib/esm/render/webgl/Polyline.js.map +1 -1
  911. package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
  912. package/lib/esm/render/webgl/RenderCommands.js +1 -1
  913. package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
  914. package/lib/esm/render/webgl/SceneCompositor.d.ts +2 -1
  915. package/lib/esm/render/webgl/SceneCompositor.d.ts.map +1 -1
  916. package/lib/esm/render/webgl/SceneCompositor.js +5 -2
  917. package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
  918. package/lib/esm/render/webgl/SurfaceGeometry.d.ts +1 -1
  919. package/lib/esm/render/webgl/SurfaceGeometry.d.ts.map +1 -1
  920. package/lib/esm/render/webgl/SurfaceGeometry.js +1 -1
  921. package/lib/esm/render/webgl/SurfaceGeometry.js.map +1 -1
  922. package/lib/esm/render/webgl/System.d.ts +7 -6
  923. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  924. package/lib/esm/render/webgl/System.js +2 -2
  925. package/lib/esm/render/webgl/System.js.map +1 -1
  926. package/lib/esm/render/webgl/Target.d.ts +1 -1
  927. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  928. package/lib/esm/render/webgl/Target.js +13 -11
  929. package/lib/esm/render/webgl/Target.js.map +1 -1
  930. package/lib/esm/render/webgl/Texture.d.ts +1 -1
  931. package/lib/esm/render/webgl/Texture.d.ts.map +1 -1
  932. package/lib/esm/render/webgl/Texture.js +1 -1
  933. package/lib/esm/render/webgl/Texture.js.map +1 -1
  934. package/lib/esm/render/webgl/UniformHandle.js +1 -1
  935. package/lib/esm/render/webgl/UniformHandle.js.map +1 -1
  936. package/lib/esm/render/webgl/VertexLUT.d.ts +2 -2
  937. package/lib/esm/render/webgl/VertexLUT.d.ts.map +1 -1
  938. package/lib/esm/render/webgl/VertexLUT.js.map +1 -1
  939. package/lib/esm/render/webgl/glsl/Animation.js.map +1 -1
  940. package/lib/esm/render/webgl/glsl/Atmosphere.js.map +1 -1
  941. package/lib/esm/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  942. package/lib/esm/render/webgl/glsl/RealityMesh.js +32 -19
  943. package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
  944. package/lib/esm/tile/B3dmReader.d.ts +1 -1
  945. package/lib/esm/tile/B3dmReader.d.ts.map +1 -1
  946. package/lib/esm/tile/B3dmReader.js +1 -1
  947. package/lib/esm/tile/B3dmReader.js.map +1 -1
  948. package/lib/esm/tile/DynamicIModelTile.js +1 -1
  949. package/lib/esm/tile/DynamicIModelTile.js.map +1 -1
  950. package/lib/esm/tile/FetchCloudStorage.d.ts +15 -0
  951. package/lib/esm/tile/FetchCloudStorage.d.ts.map +1 -0
  952. package/lib/esm/tile/FetchCloudStorage.js +31 -0
  953. package/lib/esm/tile/FetchCloudStorage.js.map +1 -0
  954. package/lib/esm/tile/GltfReader.d.ts +13 -4
  955. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  956. package/lib/esm/tile/GltfReader.js +81 -29
  957. package/lib/esm/tile/GltfReader.js.map +1 -1
  958. package/lib/esm/tile/IModelTile.d.ts.map +1 -1
  959. package/lib/esm/tile/IModelTile.js +5 -10
  960. package/lib/esm/tile/IModelTile.js.map +1 -1
  961. package/lib/esm/tile/IModelTileTree.d.ts +4 -1
  962. package/lib/esm/tile/IModelTileTree.d.ts.map +1 -1
  963. package/lib/esm/tile/IModelTileTree.js +16 -1
  964. package/lib/esm/tile/IModelTileTree.js.map +1 -1
  965. package/lib/esm/tile/ImdlDecoder.d.ts +52 -0
  966. package/lib/esm/tile/ImdlDecoder.d.ts.map +1 -0
  967. package/lib/esm/tile/ImdlDecoder.js +31 -0
  968. package/lib/esm/tile/ImdlDecoder.js.map +1 -0
  969. package/lib/{cjs/imdl → esm/tile}/ImdlGraphicsCreator.d.ts +1 -1
  970. package/lib/esm/tile/ImdlGraphicsCreator.d.ts.map +1 -0
  971. package/lib/esm/{imdl → tile}/ImdlGraphicsCreator.js +5 -5
  972. package/lib/esm/tile/ImdlGraphicsCreator.js.map +1 -0
  973. package/lib/esm/tile/ImdlParser.d.ts +26 -0
  974. package/lib/esm/tile/ImdlParser.d.ts.map +1 -0
  975. package/lib/esm/tile/ImdlParser.js +68 -0
  976. package/lib/esm/tile/ImdlParser.js.map +1 -0
  977. package/lib/esm/tile/ImdlReader.d.ts +6 -1
  978. package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
  979. package/lib/esm/tile/ImdlReader.js +13 -9
  980. package/lib/esm/tile/ImdlReader.js.map +1 -1
  981. package/lib/esm/tile/OPCFormatInterpreter.js +1 -1
  982. package/lib/esm/tile/OPCFormatInterpreter.js.map +1 -1
  983. package/lib/esm/tile/PntsReader.js +1 -1
  984. package/lib/esm/tile/PntsReader.js.map +1 -1
  985. package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
  986. package/lib/esm/tile/PrimaryTileTree.js +2 -1
  987. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  988. package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
  989. package/lib/esm/tile/RealityTile.d.ts +8 -3
  990. package/lib/esm/tile/RealityTile.d.ts.map +1 -1
  991. package/lib/esm/tile/RealityTile.js +4 -1
  992. package/lib/esm/tile/RealityTile.js.map +1 -1
  993. package/lib/esm/tile/RealityTileLoader.d.ts.map +1 -1
  994. package/lib/esm/tile/RealityTileLoader.js +10 -5
  995. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  996. package/lib/esm/tile/RealityTileTree.js +1 -1
  997. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  998. package/lib/esm/tile/ThreeDTileFormatInterpreter.js +1 -1
  999. package/lib/esm/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  1000. package/lib/esm/tile/TileAdmin.d.ts +14 -11
  1001. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  1002. package/lib/esm/tile/TileAdmin.js +10 -30
  1003. package/lib/esm/tile/TileAdmin.js.map +1 -1
  1004. package/lib/esm/tile/TileContent.d.ts +6 -0
  1005. package/lib/esm/tile/TileContent.d.ts.map +1 -1
  1006. package/lib/esm/tile/TileContent.js.map +1 -1
  1007. package/lib/esm/tile/TileStorage.js.map +1 -1
  1008. package/lib/esm/tile/internal.d.ts +9 -0
  1009. package/lib/esm/tile/internal.d.ts.map +1 -1
  1010. package/lib/esm/tile/internal.js +9 -0
  1011. package/lib/esm/tile/internal.js.map +1 -1
  1012. package/lib/esm/tile/map/ArcGisUtilities.d.ts +8 -1
  1013. package/lib/esm/tile/map/ArcGisUtilities.d.ts.map +1 -1
  1014. package/lib/esm/tile/map/ArcGisUtilities.js +21 -0
  1015. package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
  1016. package/lib/esm/tile/map/EllipsoidTerrainProvider.d.ts +6 -4
  1017. package/lib/esm/tile/map/EllipsoidTerrainProvider.d.ts.map +1 -1
  1018. package/lib/esm/tile/map/EllipsoidTerrainProvider.js +6 -4
  1019. package/lib/esm/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  1020. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts +2 -0
  1021. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts.map +1 -1
  1022. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js +4 -2
  1023. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  1024. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +55 -2
  1025. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  1026. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +96 -24
  1027. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  1028. package/lib/esm/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.d.ts +11 -0
  1029. package/lib/esm/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.d.ts.map +1 -0
  1030. package/lib/esm/{imdl/ImdlModel.js → tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.js} +1 -1
  1031. package/lib/esm/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.js.map +1 -0
  1032. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts +15 -0
  1033. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts.map +1 -0
  1034. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js +55 -0
  1035. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -0
  1036. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryRenderer.d.ts +47 -0
  1037. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryRenderer.d.ts.map +1 -0
  1038. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryRenderer.js +122 -0
  1039. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryRenderer.js.map +1 -0
  1040. package/lib/esm/tile/map/ImageryProviders/ArcGisGraphicsRenderer.d.ts +27 -0
  1041. package/lib/esm/tile/map/ImageryProviders/ArcGisGraphicsRenderer.d.ts.map +1 -0
  1042. package/lib/esm/tile/map/ImageryProviders/ArcGisGraphicsRenderer.js +131 -0
  1043. package/lib/esm/tile/map/ImageryProviders/ArcGisGraphicsRenderer.js.map +1 -0
  1044. package/lib/esm/tile/map/ImageryProviders/WebMercator.d.ts +6 -0
  1045. package/lib/esm/tile/map/ImageryProviders/WebMercator.d.ts.map +1 -0
  1046. package/lib/esm/tile/map/ImageryProviders/WebMercator.js +18 -0
  1047. package/lib/esm/tile/map/ImageryProviders/WebMercator.js.map +1 -0
  1048. package/lib/esm/tile/map/ImageryTileTree.d.ts +2 -1
  1049. package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
  1050. package/lib/esm/tile/map/ImageryTileTree.js +16 -9
  1051. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  1052. package/lib/esm/tile/map/MapFeatureInfo.d.ts +67 -7
  1053. package/lib/esm/tile/map/MapFeatureInfo.d.ts.map +1 -1
  1054. package/lib/esm/tile/map/MapFeatureInfo.js +14 -1
  1055. package/lib/esm/tile/map/MapFeatureInfo.js.map +1 -1
  1056. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  1057. package/lib/esm/tile/map/MapLayerImageryFormats.js +3 -0
  1058. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  1059. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +4 -1
  1060. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  1061. package/lib/esm/tile/map/MapLayerImageryProvider.js +3 -1
  1062. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  1063. package/lib/esm/tile/map/MapLayerSources.d.ts +4 -1
  1064. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  1065. package/lib/esm/tile/map/MapLayerSources.js +3 -0
  1066. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  1067. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  1068. package/lib/esm/tile/map/MapTile.js +9 -1
  1069. package/lib/esm/tile/map/MapTile.js.map +1 -1
  1070. package/lib/esm/tile/map/MapTileLoader.d.ts.map +1 -1
  1071. package/lib/esm/tile/map/MapTileLoader.js +1 -15
  1072. package/lib/esm/tile/map/MapTileLoader.js.map +1 -1
  1073. package/lib/esm/tile/map/MapTileTree.d.ts +12 -3
  1074. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  1075. package/lib/esm/tile/map/MapTileTree.js +34 -21
  1076. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  1077. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts +2 -3
  1078. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  1079. package/lib/esm/tile/map/MapTiledGraphicsProvider.js +3 -4
  1080. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  1081. package/lib/esm/tile/map/MapTilingScheme.d.ts +4 -4
  1082. package/lib/esm/tile/map/MapTilingScheme.d.ts.map +1 -1
  1083. package/lib/esm/tile/map/MapTilingScheme.js +4 -4
  1084. package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
  1085. package/lib/esm/tile/map/QuadId.js.map +1 -1
  1086. package/lib/esm/tools/ElementSetTool.js +1 -1
  1087. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  1088. package/lib/esm/tools/SelectTool.js +1 -1
  1089. package/lib/esm/tools/SelectTool.js.map +1 -1
  1090. package/lib/esm/tools/ToolAdmin.d.ts +8 -6
  1091. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  1092. package/lib/esm/tools/ToolAdmin.js +11 -8
  1093. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  1094. package/lib/esm/tools/ToolAssistance.d.ts +18 -0
  1095. package/lib/esm/tools/ToolAssistance.d.ts.map +1 -1
  1096. package/lib/esm/tools/ToolAssistance.js +8 -0
  1097. package/lib/esm/tools/ToolAssistance.js.map +1 -1
  1098. package/lib/esm/tools/ViewTool.d.ts.map +1 -1
  1099. package/lib/esm/tools/ViewTool.js +3 -2
  1100. package/lib/esm/tools/ViewTool.js.map +1 -1
  1101. package/lib/esm/workers/ImdlParser/Worker.d.ts +20 -0
  1102. package/lib/esm/workers/ImdlParser/Worker.d.ts.map +1 -0
  1103. package/lib/esm/workers/ImdlParser/Worker.js +30 -0
  1104. package/lib/esm/workers/ImdlParser/Worker.js.map +1 -0
  1105. package/lib/esm/workers/ImdlParser/webpack.config.js +40 -0
  1106. package/lib/esm/workers/RegisterWorker.d.ts +9 -0
  1107. package/lib/esm/workers/RegisterWorker.d.ts.map +1 -0
  1108. package/lib/esm/workers/RegisterWorker.js +32 -0
  1109. package/lib/esm/workers/RegisterWorker.js.map +1 -0
  1110. package/lib/public/scripts/parse-imdl-worker.js +1 -0
  1111. package/lib/workers/webpack/parse-imdl-worker.js +1 -0
  1112. package/package.json +32 -69
  1113. package/lib/cjs/FrontendLoggerCategory.d.ts.map +0 -1
  1114. package/lib/cjs/FrontendLoggerCategory.js.map +0 -1
  1115. package/lib/cjs/ImageUtil.d.ts.map +0 -1
  1116. package/lib/cjs/ImageUtil.js.map +0 -1
  1117. package/lib/cjs/ViewRect.d.ts.map +0 -1
  1118. package/lib/cjs/ViewRect.js.map +0 -1
  1119. package/lib/cjs/WebWorkerManager.d.ts +0 -49
  1120. package/lib/cjs/WebWorkerManager.d.ts.map +0 -1
  1121. package/lib/cjs/WebWorkerManager.js +0 -155
  1122. package/lib/cjs/WebWorkerManager.js.map +0 -1
  1123. package/lib/cjs/gltf/GltfModel.d.ts.map +0 -1
  1124. package/lib/cjs/gltf/GltfModel.js.map +0 -1
  1125. package/lib/cjs/gltf/GltfParser.d.ts.map +0 -1
  1126. package/lib/cjs/gltf/GltfParser.js.map +0 -1
  1127. package/lib/cjs/gltf/GltfSchema.d.ts.map +0 -1
  1128. package/lib/cjs/gltf/GltfSchema.js.map +0 -1
  1129. package/lib/cjs/imdl/ImdlGraphicsCreator.d.ts.map +0 -1
  1130. package/lib/cjs/imdl/ImdlGraphicsCreator.js.map +0 -1
  1131. package/lib/cjs/imdl/ImdlModel.d.ts.map +0 -1
  1132. package/lib/cjs/imdl/ImdlModel.js.map +0 -1
  1133. package/lib/cjs/imdl/ImdlParser.d.ts.map +0 -1
  1134. package/lib/cjs/imdl/ImdlParser.js.map +0 -1
  1135. package/lib/cjs/imdl/ImdlSchema.d.ts.map +0 -1
  1136. package/lib/cjs/imdl/ImdlSchema.js.map +0 -1
  1137. package/lib/cjs/render/RenderMaterial.d.ts.map +0 -1
  1138. package/lib/cjs/render/RenderMaterial.js.map +0 -1
  1139. package/lib/cjs/render/RenderTexture.d.ts.map +0 -1
  1140. package/lib/cjs/render/RenderTexture.js.map +0 -1
  1141. package/lib/cjs/render/primitives/AuxChannelTable.d.ts.map +0 -1
  1142. package/lib/cjs/render/primitives/AuxChannelTable.js.map +0 -1
  1143. package/lib/cjs/render/primitives/DisplayParams.d.ts.map +0 -1
  1144. package/lib/cjs/render/primitives/DisplayParams.js.map +0 -1
  1145. package/lib/cjs/render/primitives/SurfaceParams.d.ts.map +0 -1
  1146. package/lib/cjs/render/primitives/SurfaceParams.js.map +0 -1
  1147. package/lib/cjs/render/primitives/VertexTable.d.ts +0 -152
  1148. package/lib/cjs/render/primitives/VertexTable.d.ts.map +0 -1
  1149. package/lib/cjs/render/primitives/VertexTable.js.map +0 -1
  1150. package/lib/cjs/render/primitives/VertexTableSplitter.d.ts.map +0 -1
  1151. package/lib/cjs/render/primitives/VertexTableSplitter.js.map +0 -1
  1152. package/lib/cjs/render-primitives.d.ts +0 -21
  1153. package/lib/cjs/render-primitives.d.ts.map +0 -1
  1154. package/lib/cjs/render-primitives.js +0 -41
  1155. package/lib/cjs/render-primitives.js.map +0 -1
  1156. package/lib/esm/FrontendLoggerCategory.d.ts.map +0 -1
  1157. package/lib/esm/FrontendLoggerCategory.js.map +0 -1
  1158. package/lib/esm/ImageUtil.d.ts.map +0 -1
  1159. package/lib/esm/ImageUtil.js.map +0 -1
  1160. package/lib/esm/ViewRect.d.ts.map +0 -1
  1161. package/lib/esm/ViewRect.js.map +0 -1
  1162. package/lib/esm/WebWorkerManager.d.ts +0 -49
  1163. package/lib/esm/WebWorkerManager.d.ts.map +0 -1
  1164. package/lib/esm/WebWorkerManager.js +0 -150
  1165. package/lib/esm/WebWorkerManager.js.map +0 -1
  1166. package/lib/esm/gltf/GltfModel.d.ts.map +0 -1
  1167. package/lib/esm/gltf/GltfModel.js.map +0 -1
  1168. package/lib/esm/gltf/GltfParser.d.ts.map +0 -1
  1169. package/lib/esm/gltf/GltfParser.js.map +0 -1
  1170. package/lib/esm/gltf/GltfSchema.d.ts.map +0 -1
  1171. package/lib/esm/gltf/GltfSchema.js.map +0 -1
  1172. package/lib/esm/imdl/ImdlGraphicsCreator.d.ts.map +0 -1
  1173. package/lib/esm/imdl/ImdlGraphicsCreator.js.map +0 -1
  1174. package/lib/esm/imdl/ImdlModel.d.ts.map +0 -1
  1175. package/lib/esm/imdl/ImdlModel.js.map +0 -1
  1176. package/lib/esm/imdl/ImdlParser.d.ts.map +0 -1
  1177. package/lib/esm/imdl/ImdlParser.js.map +0 -1
  1178. package/lib/esm/imdl/ImdlSchema.d.ts.map +0 -1
  1179. package/lib/esm/imdl/ImdlSchema.js.map +0 -1
  1180. package/lib/esm/render/RenderMaterial.d.ts.map +0 -1
  1181. package/lib/esm/render/RenderMaterial.js.map +0 -1
  1182. package/lib/esm/render/RenderTexture.d.ts.map +0 -1
  1183. package/lib/esm/render/RenderTexture.js.map +0 -1
  1184. package/lib/esm/render/primitives/AuxChannelTable.d.ts.map +0 -1
  1185. package/lib/esm/render/primitives/AuxChannelTable.js.map +0 -1
  1186. package/lib/esm/render/primitives/DisplayParams.d.ts.map +0 -1
  1187. package/lib/esm/render/primitives/DisplayParams.js.map +0 -1
  1188. package/lib/esm/render/primitives/SurfaceParams.d.ts.map +0 -1
  1189. package/lib/esm/render/primitives/SurfaceParams.js.map +0 -1
  1190. package/lib/esm/render/primitives/VertexTable.d.ts +0 -152
  1191. package/lib/esm/render/primitives/VertexTable.d.ts.map +0 -1
  1192. package/lib/esm/render/primitives/VertexTable.js.map +0 -1
  1193. package/lib/esm/render/primitives/VertexTableSplitter.d.ts.map +0 -1
  1194. package/lib/esm/render/primitives/VertexTableSplitter.js.map +0 -1
  1195. package/lib/esm/render-primitives.d.ts +0 -21
  1196. package/lib/esm/render-primitives.d.ts.map +0 -1
  1197. package/lib/esm/render-primitives.js +0 -25
  1198. package/lib/esm/render-primitives.js.map +0 -1
  1199. /package/lib/cjs/{FrontendLoggerCategory.d.ts → common/FrontendLoggerCategory.d.ts} +0 -0
  1200. /package/lib/cjs/{FrontendLoggerCategory.js → common/FrontendLoggerCategory.js} +0 -0
  1201. /package/lib/cjs/{ImageUtil.d.ts → common/ImageUtil.d.ts} +0 -0
  1202. /package/lib/cjs/{ViewRect.d.ts → common/ViewRect.d.ts} +0 -0
  1203. /package/lib/cjs/{ViewRect.js → common/ViewRect.js} +0 -0
  1204. /package/lib/cjs/{gltf → common/gltf}/GltfModel.js +0 -0
  1205. /package/lib/cjs/{gltf → common/gltf}/GltfParser.d.ts +0 -0
  1206. /package/lib/cjs/{gltf → common/gltf}/GltfParser.js +0 -0
  1207. /package/lib/cjs/{gltf → common/gltf}/GltfSchema.d.ts +0 -0
  1208. /package/lib/cjs/{gltf → common/gltf}/GltfSchema.js +0 -0
  1209. /package/lib/cjs/{render → common/render}/primitives/DisplayParams.d.ts +0 -0
  1210. /package/lib/cjs/{render → common/render}/primitives/DisplayParams.js +0 -0
  1211. /package/lib/cjs/{render → common/render}/primitives/SurfaceParams.js +0 -0
  1212. /package/lib/esm/{FrontendLoggerCategory.d.ts → common/FrontendLoggerCategory.d.ts} +0 -0
  1213. /package/lib/esm/{FrontendLoggerCategory.js → common/FrontendLoggerCategory.js} +0 -0
  1214. /package/lib/esm/{ImageUtil.d.ts → common/ImageUtil.d.ts} +0 -0
  1215. /package/lib/esm/{ViewRect.d.ts → common/ViewRect.d.ts} +0 -0
  1216. /package/lib/esm/{ViewRect.js → common/ViewRect.js} +0 -0
  1217. /package/lib/esm/{gltf → common/gltf}/GltfModel.js +0 -0
  1218. /package/lib/esm/{gltf → common/gltf}/GltfParser.d.ts +0 -0
  1219. /package/lib/esm/{gltf → common/gltf}/GltfParser.js +0 -0
  1220. /package/lib/esm/{gltf → common/gltf}/GltfSchema.d.ts +0 -0
  1221. /package/lib/esm/{gltf → common/gltf}/GltfSchema.js +0 -0
  1222. /package/lib/esm/{render → common/render}/primitives/DisplayParams.d.ts +0 -0
  1223. /package/lib/esm/{render → common/render}/primitives/DisplayParams.js +0 -0
  1224. /package/lib/esm/{render → common/render}/primitives/SurfaceParams.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImdlGraphicsCreator.js","sourceRoot":"","sources":["../../../src/tile/ImdlGraphicsCreator.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\n\r\nimport { JsonUtils } from \"@itwin/core-bentley\";\r\nimport { ClipVector, Point2d, Point3d, Range3d, Transform } from \"@itwin/core-geometry\";\r\nimport {\r\n ColorDef, Gradient, ImageSource, RenderMaterial, RenderTexture, TextureMapping,\r\n} from \"@itwin/core-common\";\r\nimport { AuxChannelTable } from \"../common/render/primitives/AuxChannelTable\";\r\nimport { createSurfaceMaterial } from \"../common//render/primitives/SurfaceParams\";\r\nimport { ImdlModel as Imdl } from \"../common/imdl/ImdlModel\";\r\nimport { ImdlColorDef, ImdlNamedTexture, ImdlTextureMapping } from \"../common/imdl/ImdlSchema\";\r\nimport { edgeParamsFromImdl, toMaterialParams, toVertexTable } from \"../common/imdl/ParseImdlDocument\";\r\nimport { VertexIndices } from \"../common/render/primitives/VertexIndices\";\r\nimport type { RenderGraphic } from \"../render/RenderGraphic\";\r\nimport { GraphicBranch } from \"../render/GraphicBranch\";\r\nimport type { RenderGeometry, RenderSystem } from \"../render/RenderSystem\";\r\nimport type { InstancedGraphicParams } from \"../render/InstancedGraphicParams\";\r\nimport type { IModelConnection } from \"../IModelConnection\";\r\n\r\n/** Options provided to [[decodeImdlContent]].\r\n * @internal\r\n */\r\nexport interface ImdlDecodeOptions {\r\n document: Imdl.Document;\r\n system: RenderSystem;\r\n iModel: IModelConnection;\r\n isCanceled?: () => boolean;\r\n}\r\n\r\nasync function loadNamedTexture(name: string, namedTex: ImdlNamedTexture, options: ImdlDecodeOptions): Promise<RenderTexture | undefined> {\r\n // Reasons a texture could be embedded in the tile content instead of requested separately from the backend:\r\n // - external textures are disabled\r\n // - the texture name is not a valid Id64 string\r\n // - the texture is below a certain backend-hardcoded size threshold\r\n // The bufferViewJson being defined signifies any of the above conditions. In that case, the image content\r\n // has been embedded in the tile contents. Otherwise, we will attempt to request the image content separately\r\n // from the backend.\r\n\r\n try {\r\n let textureType = RenderTexture.Type.Normal;\r\n const isGlyph = JsonUtils.asBool(namedTex.isGlyph);\r\n const isTileSection = !isGlyph && JsonUtils.asBool(namedTex.isTileSection);\r\n if (isGlyph)\r\n textureType = RenderTexture.Type.Glyph;\r\n else if (isTileSection)\r\n textureType = RenderTexture.Type.TileSection;\r\n\r\n // We produce unique tile sections for very large (> 8 megapixel) textures, and unique glyph atlases for raster text.\r\n // Neither should be cached.\r\n const cacheable = !isGlyph && !isTileSection;\r\n const ownership = cacheable ? { iModel: options.iModel, key: name } : undefined;\r\n\r\n const bufferViewId = JsonUtils.asString(namedTex.bufferView);\r\n const bufferViewJson = 0 !== bufferViewId.length ? options.document.json.bufferViews[bufferViewId] : undefined;\r\n\r\n if (undefined !== bufferViewJson) { // presence of bufferViewJson signifies we should read the texture from the tile content\r\n const byteOffset = JsonUtils.asInt(bufferViewJson.byteOffset);\r\n const byteLength = JsonUtils.asInt(bufferViewJson.byteLength);\r\n if (0 === byteLength)\r\n return undefined;\r\n\r\n const texBytes = options.document.binaryData.subarray(byteOffset, byteOffset + byteLength);\r\n const format = namedTex.format;\r\n const source = new ImageSource(texBytes, format);\r\n return await options.system.createTextureFromSource({ source, ownership, type: textureType, transparency: namedTex.transparency });\r\n }\r\n\r\n // bufferViewJson was undefined, so attempt to request the texture directly from the backend\r\n // eslint-disable-next-line deprecation/deprecation\r\n const params = new RenderTexture.Params(cacheable ? name : undefined, textureType);\r\n return options.system.createTextureFromElement(name, options.iModel, params, namedTex.format);\r\n } catch (_) {\r\n return undefined;\r\n }\r\n}\r\n\r\nasync function loadNamedTextures(options: ImdlDecodeOptions): Promise<Map<string, RenderTexture>> {\r\n const result = new Map<string, RenderTexture>();\r\n const namedTextures = options.document.json.namedTextures;\r\n if (!namedTextures)\r\n return result;\r\n\r\n const promises = new Array<Promise<void>>();\r\n for (const [name, namedTexture] of Object.entries(namedTextures)) {\r\n const texture = options.system.findTexture(name, options.iModel);\r\n if (texture) {\r\n result.set(name, texture);\r\n continue;\r\n } else if (namedTexture) {\r\n promises.push(loadNamedTexture(name, namedTexture, options).then((tx) => {\r\n if (tx)\r\n result.set(name, tx);\r\n }));\r\n }\r\n }\r\n\r\n if (promises.length > 0)\r\n await Promise.all(promises);\r\n\r\n return result;\r\n}\r\n\r\ninterface GraphicsOptions extends ImdlDecodeOptions {\r\n textures: Map<string, RenderTexture>;\r\n patterns: Map<string, RenderGeometry[]>;\r\n}\r\n\r\nfunction constantLodParamPropsFromJson(propsJson: { repetitions?: number, offset?: number[], minDistClamp?: number, maxDistClamp?: number } | undefined): TextureMapping.ConstantLodParamProps | undefined {\r\n if (undefined === propsJson)\r\n return undefined;\r\n\r\n const constantLodPops: TextureMapping.ConstantLodParamProps = {\r\n repetitions: JsonUtils.asDouble(propsJson.repetitions, 1.0),\r\n offset: { x: propsJson.offset ? JsonUtils.asDouble(propsJson.offset[0]) : 0.0, y: propsJson.offset ? JsonUtils.asDouble(propsJson.offset[1]) : 0.0 },\r\n minDistClamp: JsonUtils.asDouble(propsJson.minDistClamp, 1.0),\r\n maxDistClamp: JsonUtils.asDouble(propsJson.maxDistClamp, 4096.0 * 1024.0 * 1024.0),\r\n };\r\n return constantLodPops;\r\n}\r\n\r\nfunction textureMappingFromJson(json: ImdlTextureMapping | undefined, options: GraphicsOptions): TextureMapping | undefined {\r\n if (!json)\r\n return undefined;\r\n\r\n const texture = options.textures.get(JsonUtils.asString(json.name));\r\n if (!texture)\r\n return undefined;\r\n\r\n const paramsJson = json.params;\r\n const tf = paramsJson.transform;\r\n\r\n const paramProps: TextureMapping.ParamProps = {\r\n textureMat2x3: new TextureMapping.Trans2x3(tf[0][0], tf[0][1], tf[0][2], tf[1][0], tf[1][1], tf[1][2]),\r\n textureWeight: JsonUtils.asDouble(paramsJson.weight, 1.0),\r\n mapMode: JsonUtils.asInt(paramsJson.mode),\r\n worldMapping: JsonUtils.asBool(paramsJson.worldMapping),\r\n useConstantLod: JsonUtils.asBool(paramsJson.useConstantLod),\r\n constantLodProps: constantLodParamPropsFromJson(paramsJson.constantLodParams),\r\n };\r\n\r\n const textureMapping = new TextureMapping(texture, new TextureMapping.Params(paramProps));\r\n\r\n const normalMapJson = json.normalMapParams;\r\n if (normalMapJson) {\r\n let normalMap;\r\n const normalTexName = JsonUtils.asString(normalMapJson.textureName);\r\n if (normalTexName.length === 0 || undefined !== (normalMap = options.textures.get(normalTexName))) {\r\n textureMapping.normalMapParams = {\r\n normalMap,\r\n greenUp: JsonUtils.asBool(normalMapJson.greenUp),\r\n scale: JsonUtils.asDouble(normalMapJson.scale, 1),\r\n useConstantLod: JsonUtils.asBool(normalMapJson.useConstantLod),\r\n };\r\n }\r\n }\r\n\r\n return textureMapping;\r\n}\r\n\r\nfunction getMaterial(mat: string | Imdl.SurfaceMaterialParams, options: GraphicsOptions): RenderMaterial | undefined {\r\n if (typeof mat !== \"string\") {\r\n const args = toMaterialParams(mat);\r\n return options.system.createRenderMaterial(args);\r\n }\r\n\r\n const material = options.system.findMaterial(mat, options.iModel);\r\n if (material || !options.document.json.renderMaterials)\r\n return material;\r\n\r\n const json = options.document.json.renderMaterials[mat];\r\n if (!json)\r\n return undefined;\r\n\r\n function colorDefFromJson(col: ImdlColorDef | undefined): ColorDef | undefined {\r\n return col ? ColorDef.from(col[0] * 255 + 0.5, col[1] * 255 + 0.5, col[2] * 255 + 0.5) : undefined;\r\n }\r\n\r\n // eslint-disable-next-line deprecation/deprecation\r\n const params = new RenderMaterial.Params(mat);\r\n params.diffuseColor = colorDefFromJson(json.diffuseColor);\r\n if (json.diffuse !== undefined)\r\n params.diffuse = JsonUtils.asDouble(json.diffuse);\r\n\r\n params.specularColor = colorDefFromJson(json.specularColor);\r\n if (json.specular !== undefined)\r\n params.specular = JsonUtils.asDouble(json.specular);\r\n\r\n params.reflectColor = colorDefFromJson(json.reflectColor);\r\n if (json.reflect !== undefined)\r\n params.reflect = JsonUtils.asDouble(json.reflect);\r\n\r\n if (json.specularExponent !== undefined)\r\n params.specularExponent = json.specularExponent;\r\n\r\n if (undefined !== json.transparency)\r\n params.alpha = 1.0 - json.transparency;\r\n\r\n params.refract = JsonUtils.asDouble(json.refract);\r\n params.shadows = JsonUtils.asBool(json.shadows);\r\n params.ambient = JsonUtils.asDouble(json.ambient);\r\n\r\n if (undefined !== json.textureMapping)\r\n params.textureMapping = textureMappingFromJson(json.textureMapping.texture, options);\r\n\r\n // eslint-disable-next-line deprecation/deprecation\r\n return options.system.createMaterial(params, options.iModel);\r\n}\r\n\r\nfunction getModifiers(primitive: Imdl.Primitive): { viOrigin?: Point3d, instances?: InstancedGraphicParams } {\r\n const mod = primitive.modifier;\r\n switch (mod?.type) {\r\n case \"instances\":\r\n return {\r\n instances: {\r\n ...mod,\r\n transformCenter: Point3d.fromJSON(mod.transformCenter),\r\n range: mod.range ? Range3d.fromJSON(mod.range) : undefined,\r\n },\r\n };\r\n case \"viewIndependentOrigin\":\r\n return {\r\n viOrigin: Point3d.fromJSON(mod.origin),\r\n };\r\n default:\r\n return { };\r\n }\r\n}\r\n\r\nfunction createPrimitiveGeometry(primitive: Imdl.Primitive, options: GraphicsOptions, viOrigin: Point3d | undefined): RenderGeometry | undefined {\r\n switch (primitive.type) {\r\n case \"point\":\r\n return options.system.createPointStringGeometry({\r\n ...primitive.params,\r\n vertices: toVertexTable(primitive.params.vertices),\r\n indices: new VertexIndices(primitive.params.indices),\r\n }, viOrigin);\r\n case \"polyline\":\r\n return options.system.createPolylineGeometry({\r\n ...primitive.params,\r\n vertices: toVertexTable(primitive.params.vertices),\r\n polyline: {\r\n ...primitive.params.polyline,\r\n indices: new VertexIndices(primitive.params.polyline.indices),\r\n prevIndices: new VertexIndices(primitive.params.polyline.prevIndices),\r\n },\r\n }, viOrigin);\r\n case \"mesh\": {\r\n const surf = primitive.params.surface;\r\n let material;\r\n if (surf.material) {\r\n if (!surf.material.isAtlas)\r\n material = createSurfaceMaterial(getMaterial(surf.material.material, options));\r\n else\r\n material = surf.material;\r\n }\r\n\r\n let textureMapping;\r\n if (surf.textureMapping) {\r\n let texture;\r\n if (typeof surf.textureMapping.texture === \"string\") {\r\n texture = options.textures.get(surf.textureMapping.texture);\r\n } else {\r\n const gradient = Gradient.Symb.fromJSON(surf.textureMapping.texture);\r\n texture = options.system.getGradientTexture(gradient, options.iModel);\r\n }\r\n\r\n if (texture)\r\n textureMapping = { texture, alwaysDisplayed: surf.textureMapping.alwaysDisplayed };\r\n }\r\n\r\n return options.system.createMeshGeometry({\r\n ...primitive.params,\r\n edges: primitive.params.edges ? edgeParamsFromImdl(primitive.params.edges) : undefined,\r\n vertices: toVertexTable(primitive.params.vertices),\r\n auxChannels: primitive.params.auxChannels ? AuxChannelTable.fromJSON(primitive.params.auxChannels) : undefined,\r\n surface: {\r\n ...primitive.params.surface,\r\n material,\r\n textureMapping,\r\n indices: new VertexIndices(primitive.params.surface.indices),\r\n },\r\n }, viOrigin);\r\n }\r\n }\r\n}\r\n\r\nfunction createPrimitiveGraphic(primitive: Imdl.Primitive, options: GraphicsOptions): RenderGraphic | undefined {\r\n const mods = getModifiers(primitive);\r\n const geometry = createPrimitiveGeometry(primitive, options, mods.viOrigin);\r\n return geometry ? options.system.createRenderGraphic(geometry, mods.instances) : undefined;\r\n}\r\n\r\nfunction createPatternGeometries(primitives: Imdl.Primitive[], options: GraphicsOptions): RenderGeometry[] {\r\n const geometries = [];\r\n for (const primitive of primitives) {\r\n const geometry = createPrimitiveGeometry(primitive, options, undefined);\r\n if (geometry)\r\n geometries.push(geometry);\r\n }\r\n\r\n return geometries;\r\n}\r\n\r\nfunction createPatternGraphic(params: Imdl.AreaPatternParams, options: GraphicsOptions): RenderGraphic | undefined {\r\n const geometries = options.patterns.get(params.symbolName);\r\n if (!geometries || geometries.length === 0)\r\n return undefined;\r\n\r\n const clip = ClipVector.fromJSON(params.clip);\r\n const clipVolume = clip?.isValid ? options.system.createClipVolume(clip) : undefined;\r\n if (!clipVolume)\r\n return undefined;\r\n\r\n const viewIndependentOrigin = params.viewIndependentOrigin ? Point3d.fromJSON(params.viewIndependentOrigin) : undefined;\r\n const pattern = options.system.createAreaPattern({\r\n xyOffsets: params.xyOffsets,\r\n featureId: params.featureId,\r\n orgTransform: Transform.fromJSON(params.orgTransform),\r\n origin: Point2d.fromJSON(params.origin),\r\n scale: params.scale,\r\n spacing: Point2d.fromJSON(params.spacing),\r\n patternToModel: Transform.fromJSON(params.modelTransform),\r\n range: Range3d.fromJSON(params.range),\r\n symbolTranslation: Point3d.fromJSON(params.symbolTranslation),\r\n viewIndependentOrigin,\r\n });\r\n\r\n if (!pattern)\r\n return undefined;\r\n\r\n const branch = new GraphicBranch(true);\r\n for (const geometry of geometries) {\r\n const graphic = options.system.createRenderGraphic(geometry, pattern);\r\n if (graphic)\r\n branch.add(graphic);\r\n }\r\n\r\n return branch.isEmpty ? undefined : options.system.createGraphicBranch(branch, Transform.createIdentity(), { clipVolume });\r\n}\r\n\r\nfunction createNodeGraphics(node: Imdl.Node, options: GraphicsOptions): RenderGraphic[] {\r\n const graphics = [];\r\n for (const primitive of node.primitives) {\r\n const graphic = primitive.type === \"pattern\" ? createPatternGraphic(primitive.params, options) : createPrimitiveGraphic(primitive, options);\r\n if (graphic)\r\n graphics.push(graphic);\r\n }\r\n\r\n return graphics;\r\n}\r\n\r\n/** @internal */\r\nexport async function decodeImdlGraphics(options: ImdlDecodeOptions): Promise<RenderGraphic | undefined> {\r\n const textures = await loadNamedTextures(options);\r\n if (options.isCanceled && options.isCanceled())\r\n return undefined;\r\n\r\n const patterns = new Map<string, RenderGeometry[]>();\r\n const graphicsOptions = { ...options, textures, patterns };\r\n\r\n for (const [name, primitives] of options.document.patterns)\r\n patterns.set(name, createPatternGeometries(primitives, graphicsOptions));\r\n\r\n const system = options.system;\r\n const graphics: RenderGraphic[] = [];\r\n for (const node of options.document.nodes) {\r\n const nodeGraphics = createNodeGraphics(node, graphicsOptions);\r\n if (nodeGraphics.length === 0)\r\n continue;\r\n\r\n if (undefined !== node.layerId) {\r\n const layerGraphic = 1 === nodeGraphics.length ? nodeGraphics[0] : system.createGraphicList(nodeGraphics);\r\n graphics.push(system.createGraphicLayer(layerGraphic, node.layerId));\r\n } else if (undefined !== node.animationNodeId) {\r\n const branch = new GraphicBranch(true);\r\n branch.animationId = node.animationId;\r\n branch.animationNodeId = node.animationNodeId;\r\n branch.entries.push(...nodeGraphics);\r\n graphics.push(system.createBranch(branch, Transform.createIdentity()));\r\n } else {\r\n graphics.push(...nodeGraphics);\r\n }\r\n }\r\n\r\n switch (graphics.length) {\r\n case 0: return undefined;\r\n case 1: return graphics[0];\r\n default: return system.createGraphicList(graphics);\r\n }\r\n}\r\n"]}
@@ -0,0 +1,26 @@
1
+ /** @packageDocumentation
2
+ * @module Tiles
3
+ */
4
+ import { ImdlModel } from "../common/imdl/ImdlModel";
5
+ import { ImdlParseError, ImdlParserOptions, ImdlTimeline } from "../common/imdl/ParseImdlDocument";
6
+ /** An object that can parse binary iMdl content into an iMdl document on a worker thread.
7
+ * Parsers are reference-counted. Their lifetimes are typically managed by an [[ImdlDecoder]].
8
+ * The caller is responsible for invoking [[release]] to decrement the reference count when they are finished using the parsing.
9
+ * @see [[acquireImdlDecoder]] to acquire a decoder that uses a parser internally.
10
+ * @see [[acquireImdlParser]] to obtain a parser directly (but you probably don't need to do that).
11
+ * @internal
12
+ */
13
+ export interface ImdlParser {
14
+ parse(options: ImdlParserOptions): Promise<ImdlModel.Document | ImdlParseError>;
15
+ release(): void;
16
+ }
17
+ /** Arguments supplied to [[acquireImdlParser]].
18
+ * @internal
19
+ */
20
+ export interface AcquireImdlParserArgs {
21
+ timeline?: ImdlTimeline;
22
+ noWorker?: boolean;
23
+ }
24
+ /** @internal */
25
+ export declare function acquireImdlParser(args: AcquireImdlParserArgs): ImdlParser;
26
+ //# sourceMappingURL=ImdlParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImdlParser.d.ts","sourceRoot":"","sources":["../../../src/tile/ImdlParser.ts"],"names":[],"mappings":"AAIA;;GAEG;AAKH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAqB,MAAM,kCAAkC,CAAC;AAItH;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAC;IAChF,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAID,gBAAgB;AAChB,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,UAAU,CA+BzE"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Tiles
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.acquireImdlParser = void 0;
11
+ const core_bentley_1 = require("@itwin/core-bentley");
12
+ const core_common_1 = require("@itwin/core-common");
13
+ const WorkerProxy_1 = require("../common/WorkerProxy");
14
+ const ParseImdlDocument_1 = require("../common/imdl/ParseImdlDocument");
15
+ const IModelApp_1 = require("../IModelApp");
16
+ /** @internal */
17
+ function acquireImdlParser(args) {
18
+ const timeline = args.timeline;
19
+ if (args.noWorker) {
20
+ return {
21
+ parse: async (options) => Promise.resolve((0, ParseImdlDocument_1.parseImdlDocument)({
22
+ ...options,
23
+ timeline,
24
+ })),
25
+ release: () => undefined,
26
+ };
27
+ }
28
+ if (!args.timeline) {
29
+ if (!defaultParser) {
30
+ const worker = (0, WorkerProxy_1.createWorkerProxy)(`${IModelApp_1.IModelApp.publicPath}scripts/parse-imdl-worker.js`);
31
+ defaultParser = {
32
+ parse: async (options) => worker.parse(options, [options.data.buffer]),
33
+ release: () => undefined,
34
+ };
35
+ }
36
+ return defaultParser;
37
+ }
38
+ let parser = parsersWithTimelines.get(args.timeline);
39
+ if (!parser)
40
+ parsersWithTimelines.set(args.timeline, parser = new ParserWithTimeline(args.timeline));
41
+ (0, core_bentley_1.assert)(parser.refCount >= 0);
42
+ ++parser.refCount;
43
+ return parser;
44
+ }
45
+ exports.acquireImdlParser = acquireImdlParser;
46
+ let defaultParser;
47
+ class ParserWithTimeline {
48
+ constructor(timeline) {
49
+ this.refCount = 0;
50
+ this._timeline = timeline;
51
+ this._worker = (0, WorkerProxy_1.createWorkerProxy)(`${IModelApp_1.IModelApp.publicPath}scripts/parse-imdl-worker.js`);
52
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
53
+ this._worker.setTimeline(timeline.toJSON());
54
+ }
55
+ async parse(options) {
56
+ return this._worker.parse(options, [options.data.buffer]);
57
+ }
58
+ release() {
59
+ (0, core_bentley_1.assert)(this.refCount > 0);
60
+ --this.refCount;
61
+ if (this.refCount === 0) {
62
+ parsersWithTimelines.delete(this._timeline);
63
+ this._worker.terminate();
64
+ }
65
+ }
66
+ }
67
+ const parsersWithTimelines = new core_bentley_1.Dictionary((lhs, rhs) => {
68
+ if (lhs instanceof core_common_1.RenderSchedule.ModelTimeline)
69
+ return rhs instanceof core_common_1.RenderSchedule.ModelTimeline ? lhs.compareTo(rhs) : -1;
70
+ return rhs instanceof core_common_1.RenderSchedule.Script ? lhs.compareTo(rhs) : 1;
71
+ });
72
+ //# sourceMappingURL=ImdlParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImdlParser.js","sourceRoot":"","sources":["../../../src/tile/ImdlParser.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\n\r\nimport { assert, Dictionary } from \"@itwin/core-bentley\";\r\nimport { RenderSchedule } from \"@itwin/core-common\";\r\nimport { createWorkerProxy, WorkerProxy } from \"../common/WorkerProxy\";\r\nimport { ImdlModel } from \"../common/imdl/ImdlModel\";\r\nimport { ImdlParseError, ImdlParserOptions, ImdlTimeline, parseImdlDocument } from \"../common/imdl/ParseImdlDocument\";\r\nimport { ParseImdlWorker } from \"../workers/ImdlParser/Worker\";\r\nimport { IModelApp } from \"../IModelApp\";\r\n\r\n/** An object that can parse binary iMdl content into an iMdl document on a worker thread.\r\n * Parsers are reference-counted. Their lifetimes are typically managed by an [[ImdlDecoder]].\r\n * The caller is responsible for invoking [[release]] to decrement the reference count when they are finished using the parsing.\r\n * @see [[acquireImdlDecoder]] to acquire a decoder that uses a parser internally.\r\n * @see [[acquireImdlParser]] to obtain a parser directly (but you probably don't need to do that).\r\n * @internal\r\n */\r\nexport interface ImdlParser {\r\n parse(options: ImdlParserOptions): Promise<ImdlModel.Document | ImdlParseError>;\r\n release(): void;\r\n}\r\n\r\n/** Arguments supplied to [[acquireImdlParser]].\r\n * @internal\r\n */\r\nexport interface AcquireImdlParserArgs {\r\n timeline?: ImdlTimeline;\r\n noWorker?: boolean;\r\n}\r\n\r\ntype ParserProxy = WorkerProxy<ParseImdlWorker>;\r\n\r\n/** @internal */\r\nexport function acquireImdlParser(args: AcquireImdlParserArgs): ImdlParser {\r\n const timeline = args.timeline;\r\n if (args.noWorker) {\r\n return {\r\n parse: async (options) => Promise.resolve(parseImdlDocument({\r\n ...options,\r\n timeline,\r\n })),\r\n release: () => undefined,\r\n };\r\n }\r\n\r\n if (!args.timeline) {\r\n if (!defaultParser) {\r\n const worker = createWorkerProxy<ParseImdlWorker>(`${IModelApp.publicPath}scripts/parse-imdl-worker.js`);\r\n defaultParser = {\r\n parse: async (options) => worker.parse(options, [options.data.buffer]),\r\n release: () => undefined,\r\n };\r\n }\r\n\r\n return defaultParser;\r\n }\r\n\r\n let parser = parsersWithTimelines.get(args.timeline);\r\n if (!parser)\r\n parsersWithTimelines.set(args.timeline, parser = new ParserWithTimeline(args.timeline));\r\n\r\n assert(parser.refCount >= 0);\r\n ++parser.refCount;\r\n return parser;\r\n}\r\n\r\nlet defaultParser: ImdlParser | undefined;\r\n\r\nclass ParserWithTimeline implements ImdlParser {\r\n public refCount = 0;\r\n private readonly _timeline: ImdlTimeline;\r\n private readonly _worker: ParserProxy;\r\n\r\n public constructor(timeline: ImdlTimeline) {\r\n this._timeline = timeline;\r\n this._worker = createWorkerProxy<ParseImdlWorker>(`${IModelApp.publicPath}scripts/parse-imdl-worker.js`);\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this._worker.setTimeline(timeline.toJSON());\r\n }\r\n\r\n public async parse(options: ImdlParserOptions) {\r\n return this._worker.parse(options, [options.data.buffer]);\r\n }\r\n\r\n public release(): void {\r\n assert(this.refCount > 0);\r\n --this.refCount;\r\n if (this.refCount === 0) {\r\n parsersWithTimelines.delete(this._timeline);\r\n this._worker.terminate();\r\n }\r\n }\r\n}\r\n\r\nconst parsersWithTimelines = new Dictionary<ImdlTimeline, ParserWithTimeline>((lhs, rhs) => {\r\n if (lhs instanceof RenderSchedule.ModelTimeline)\r\n return rhs instanceof RenderSchedule.ModelTimeline ? lhs.compareTo(rhs) : -1;\r\n\r\n return rhs instanceof RenderSchedule.Script ? lhs.compareTo(rhs) : 1;\r\n});\r\n"]}
@@ -7,7 +7,8 @@ import { IModelConnection } from "../IModelConnection";
7
7
  import { RenderGraphic } from "../render/RenderGraphic";
8
8
  import { BatchOptions } from "../render/GraphicBuilder";
9
9
  import { RenderSystem } from "../render/RenderSystem";
10
- import { ImdlTimeline } from "../imdl/ImdlParser";
10
+ import { ImdlModel } from "../common/imdl/ImdlModel";
11
+ import { ImdlParseError, ImdlParserOptions, ImdlTimeline } from "../common/imdl/ParseImdlDocument";
11
12
  import { IModelTileContent } from "./internal";
12
13
  /** @internal */
13
14
  export interface ImdlReaderResult extends IModelTileContent {
@@ -44,6 +45,10 @@ export interface ImdlReaderCreateArgs {
44
45
  timeline?: ImdlTimeline;
45
46
  }
46
47
  /** @internal */
48
+ export declare function readImdlContent(args: ImdlReaderCreateArgs & {
49
+ parseDocument?: (parseOpts: ImdlParserOptions) => Promise<ImdlModel.Document | ImdlParseError>;
50
+ }): Promise<ImdlReaderResult>;
51
+ /** @internal */
47
52
  export interface ImdlReader {
48
53
  read: () => Promise<ImdlReaderResult>;
49
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ImdlReader.d.ts","sourceRoot":"","sources":["../../../src/tile/ImdlReader.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EACL,SAAS,EAA+C,cAAc,EACvE,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAuB,YAAY,EAAqB,MAAM,oBAAoB,CAAC;AAE1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAI/C,gBAAgB;AAChB,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAS7L;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,UAAU,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,yFAAyF;IACzF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,kGAAkG;IAClG,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAiED,gBAAgB;AAChB,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACvC;AAED,gBAAgB;AAChB,yBAAiB,UAAU,CAAC;IAC1B,SAAgB,MAAM,CAAC,IAAI,EAAE,oBAAoB,GAAG,UAAU,CAI7D;CACF"}
1
+ {"version":3,"file":"ImdlReader.d.ts","sourceRoot":"","sources":["../../../src/tile/ImdlReader.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EACL,SAAS,EAA+C,cAAc,EACvE,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAuB,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAqB,MAAM,kCAAkC,CAAC;AAC3I,OAAO,EAAsB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAInE,gBAAgB;AAChB,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAS7L;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,UAAU,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,yFAAyF;IACzF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,kGAAkG;IAClG,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,gBAAgB;AAChB,wBAAsB,eAAe,CAAC,IAAI,EAAE,oBAAoB,GAAG;IAAE,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,KAAK,OAAO,CAAC,SAAS,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAA;CAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgEhM;AAED,gBAAgB;AAChB,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACvC;AAED,gBAAgB;AAChB,yBAAiB,UAAU,CAAC;IAC1B,SAAgB,MAAM,CAAC,IAAI,EAAE,oBAAoB,GAAG,UAAU,CAI7D;CACF"}
@@ -7,14 +7,14 @@
7
7
  * @module Tiles
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.ImdlReader = exports.readElementGraphics = void 0;
10
+ exports.ImdlReader = exports.readImdlContent = exports.readElementGraphics = void 0;
11
11
  const core_bentley_1 = require("@itwin/core-bentley");
12
12
  const core_geometry_1 = require("@itwin/core-geometry");
13
13
  const core_common_1 = require("@itwin/core-common");
14
14
  const IModelApp_1 = require("../IModelApp");
15
15
  const GraphicBranch_1 = require("../render/GraphicBranch");
16
- const ImdlParser_1 = require("../imdl/ImdlParser");
17
- const ImdlGraphicsCreator_1 = require("../imdl/ImdlGraphicsCreator");
16
+ const ParseImdlDocument_1 = require("../common/imdl/ParseImdlDocument");
17
+ const internal_1 = require("./internal");
18
18
  /** Convert the byte array returned by [[TileAdmin.requestElementGraphics]] into a [[RenderGraphic]].
19
19
  * @param bytes The binary graphics data obtained from `requestElementGraphics`.
20
20
  * @param iModel The iModel with which the graphics are associated.
@@ -34,7 +34,9 @@ async function readElementGraphics(bytes, iModel, modelId, is3d, options) {
34
34
  return result.graphic;
35
35
  }
36
36
  exports.readElementGraphics = readElementGraphics;
37
+ /** @internal */
37
38
  async function readImdlContent(args) {
39
+ const isCanceled = args.isCanceled ?? (() => false);
38
40
  let content;
39
41
  try {
40
42
  content = (0, core_common_1.decodeTileContentDescription)({
@@ -53,27 +55,29 @@ async function readImdlContent(args) {
53
55
  throw e;
54
56
  }
55
57
  args.stream.reset();
56
- const document = (0, ImdlParser_1.parseImdlDocument)({
57
- stream: args.stream,
58
+ const parseOpts = {
59
+ data: args.stream.readBytes(0, args.stream.length),
58
60
  batchModelId: args.modelId,
59
61
  is3d: args.is3d,
60
62
  maxVertexTableSize: IModelApp_1.IModelApp.renderSystem.maxTextureSize,
61
63
  omitEdges: false === args.loadEdges,
62
- timeline: args.timeline,
63
64
  createUntransformedRootNode: args.containsTransformNodes,
64
- });
65
- if (typeof document === "number")
65
+ };
66
+ const document = args.parseDocument ? (await args.parseDocument(parseOpts)) : (0, ParseImdlDocument_1.parseImdlDocument)({ ...parseOpts, timeline: args.timeline });
67
+ if (isCanceled())
68
+ return { isLeaf: true, readStatus: core_common_1.TileReadStatus.Canceled };
69
+ else if (typeof document === "number")
66
70
  return { isLeaf: true, readStatus: document };
67
- let graphic = await (0, ImdlGraphicsCreator_1.decodeImdlGraphics)({
71
+ let graphic = await (0, internal_1.decodeImdlGraphics)({
68
72
  system: args.system,
69
73
  iModel: args.iModel,
70
74
  document,
71
75
  isCanceled: args.isCanceled,
72
76
  });
73
- if (args.isCanceled && args.isCanceled())
77
+ if (isCanceled())
74
78
  return { isLeaf: true, readStatus: core_common_1.TileReadStatus.Canceled };
75
79
  if (graphic && false !== args.options) {
76
- const featureTable = (0, ImdlParser_1.convertFeatureTable)(document.featureTable, args.modelId);
80
+ const featureTable = (0, ParseImdlDocument_1.convertFeatureTable)(document.featureTable, args.modelId);
77
81
  graphic = args.system.createBatch(graphic, featureTable, content.contentRange, args.options);
78
82
  }
79
83
  if (graphic && document.rtcCenter) {
@@ -90,6 +94,7 @@ async function readImdlContent(args) {
90
94
  emptySubRangeMask: content.emptySubRangeMask,
91
95
  };
92
96
  }
97
+ exports.readImdlContent = readImdlContent;
93
98
  /** @internal */
94
99
  var ImdlReader;
95
100
  (function (ImdlReader) {
@@ -1 +1 @@
1
- {"version":3,"file":"ImdlReader.js","sourceRoot":"","sources":["../../../src/tile/ImdlReader.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\n\r\nimport { ByteStream, Id64String } from \"@itwin/core-bentley\";\r\nimport { Point3d, Transform } from \"@itwin/core-geometry\";\r\nimport {\r\n BatchType, decodeTileContentDescription, TileReadError, TileReadStatus,\r\n} from \"@itwin/core-common\";\r\nimport { IModelApp } from \"../IModelApp\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { GraphicBranch } from \"../render/GraphicBranch\";\r\nimport { RenderGraphic } from \"../render/RenderGraphic\";\r\nimport { BatchOptions } from \"../render/GraphicBuilder\";\r\nimport { RenderSystem } from \"../render/RenderSystem\";\r\nimport { convertFeatureTable, ImdlTimeline, parseImdlDocument } from \"../imdl/ImdlParser\";\r\nimport { decodeImdlGraphics } from \"../imdl/ImdlGraphicsCreator\";\r\nimport { IModelTileContent } from \"./internal\";\r\n\r\n/* eslint-disable no-restricted-syntax */\r\n\r\n/** @internal */\r\nexport interface ImdlReaderResult extends IModelTileContent {\r\n readStatus: TileReadStatus;\r\n}\r\n\r\n/** Convert the byte array returned by [[TileAdmin.requestElementGraphics]] into a [[RenderGraphic]].\r\n * @param bytes The binary graphics data obtained from `requestElementGraphics`.\r\n * @param iModel The iModel with which the graphics are associated.\r\n * @param modelId The Id of the [[GeometricModelState]] with which the graphics are associated. Can be an invalid Id.\r\n * @param is3d True if the graphics are 3d.\r\n * @param options Options customizing how [Feature]($common)s within the graphic can be resymbolized; or false if you don't want to produce a batch.\r\n * @public\r\n * @extensions\r\n */\r\nexport async function readElementGraphics(bytes: Uint8Array, iModel: IModelConnection, modelId: Id64String, is3d: boolean, options?: BatchOptions | false): Promise<RenderGraphic | undefined> {\r\n const stream = ByteStream.fromUint8Array(bytes);\r\n const reader = ImdlReader.create({\r\n stream, iModel, modelId, is3d, options,\r\n system: IModelApp.renderSystem,\r\n });\r\n\r\n const result = await reader.read();\r\n return result.graphic;\r\n}\r\n\r\n/** Arguments supplied to [[ImdlReader.create]]\r\n * @internal\r\n */\r\nexport interface ImdlReaderCreateArgs {\r\n stream: ByteStream;\r\n iModel: IModelConnection;\r\n modelId: Id64String;\r\n is3d: boolean;\r\n /** If undefined, the tile's leafness will be deduced by decodeTileContentDescription. */\r\n isLeaf?: boolean;\r\n system: RenderSystem;\r\n type?: BatchType; // default Primary\r\n loadEdges?: boolean; // default true\r\n isCanceled?: () => boolean;\r\n sizeMultiplier?: number;\r\n options?: BatchOptions | false;\r\n containsTransformNodes?: boolean; // default false\r\n /** Supplied if the graphics in the tile are to be split up based on the nodes in the timeline. */\r\n timeline?: ImdlTimeline;\r\n}\r\n\r\nasync function readImdlContent(args: ImdlReaderCreateArgs): Promise<ImdlReaderResult> {\r\n let content;\r\n try {\r\n content = decodeTileContentDescription({\r\n stream: args.stream,\r\n sizeMultiplier: args.sizeMultiplier,\r\n is2d: !args.is3d,\r\n options: IModelApp.tileAdmin,\r\n isVolumeClassifier: BatchType.VolumeClassifier === args.type,\r\n isLeaf: args.isLeaf,\r\n });\r\n } catch (e) {\r\n if (e instanceof TileReadError)\r\n return { isLeaf: true, readStatus: e.errorNumber };\r\n else\r\n throw e;\r\n }\r\n\r\n args.stream.reset();\r\n const document = parseImdlDocument({\r\n stream: args.stream,\r\n batchModelId: args.modelId,\r\n is3d: args.is3d,\r\n maxVertexTableSize: IModelApp.renderSystem.maxTextureSize,\r\n omitEdges: false === args.loadEdges,\r\n timeline: args.timeline,\r\n createUntransformedRootNode: args.containsTransformNodes,\r\n });\r\n\r\n if (typeof document === \"number\")\r\n return { isLeaf: true, readStatus: document };\r\n\r\n let graphic = await decodeImdlGraphics({\r\n system: args.system,\r\n iModel: args.iModel,\r\n document,\r\n isCanceled: args.isCanceled,\r\n });\r\n\r\n if (args.isCanceled && args.isCanceled())\r\n return { isLeaf: true, readStatus: TileReadStatus.Canceled };\r\n\r\n if (graphic && false !== args.options) {\r\n const featureTable = convertFeatureTable(document.featureTable, args.modelId);\r\n graphic = args.system.createBatch(graphic, featureTable, content.contentRange, args.options);\r\n }\r\n\r\n if (graphic && document.rtcCenter) {\r\n const rtcBranch = new GraphicBranch(true);\r\n rtcBranch.add(graphic);\r\n graphic = args.system.createBranch(rtcBranch, Transform.createTranslation(Point3d.fromJSON(document.rtcCenter)));\r\n }\r\n\r\n return {\r\n readStatus: TileReadStatus.Success,\r\n isLeaf: content.isLeaf,\r\n sizeMultiplier: content.sizeMultiplier,\r\n contentRange: content.contentRange.isNull ? undefined : content.contentRange,\r\n graphic,\r\n emptySubRangeMask: content.emptySubRangeMask,\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport interface ImdlReader {\r\n read: () => Promise<ImdlReaderResult>;\r\n}\r\n\r\n/** @internal */\r\nexport namespace ImdlReader {\r\n export function create(args: ImdlReaderCreateArgs): ImdlReader {\r\n return {\r\n read: async () => readImdlContent(args),\r\n };\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ImdlReader.js","sourceRoot":"","sources":["../../../src/tile/ImdlReader.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA6D;AAC7D,wDAA0D;AAC1D,oDAE4B;AAC5B,4CAAyC;AAEzC,2DAAwD;AAKxD,wEAA2I;AAC3I,yCAAmE;AASnE;;;;;;;;GAQG;AACI,KAAK,UAAU,mBAAmB,CAAC,KAAiB,EAAE,MAAwB,EAAE,OAAmB,EAAE,IAAa,EAAE,OAA8B;IACvJ,MAAM,MAAM,GAAG,yBAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAC/B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO;QACtC,MAAM,EAAE,qBAAS,CAAC,YAAY;KAC/B,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACnC,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AATD,kDASC;AAuBD,gBAAgB;AACT,KAAK,UAAU,eAAe,CAAC,IAA+H;IACnK,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,OAAO,CAAC;IACZ,IAAI;QACF,OAAO,GAAG,IAAA,0CAA4B,EAAC;YACrC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI;YAChB,OAAO,EAAE,qBAAS,CAAC,SAAS;YAC5B,kBAAkB,EAAE,uBAAS,CAAC,gBAAgB,KAAK,IAAI,CAAC,IAAI;YAC5D,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;KACJ;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,CAAC,YAAY,2BAAa;YAC5B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;;YAEnD,MAAM,CAAC,CAAC;KACX;IAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACpB,MAAM,SAAS,GAAsB;QACnC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAClD,YAAY,EAAE,IAAI,CAAC,OAAO;QAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,kBAAkB,EAAE,qBAAS,CAAC,YAAY,CAAC,cAAc;QACzD,SAAS,EAAE,KAAK,KAAK,IAAI,CAAC,SAAS;QACnC,2BAA2B,EAAE,IAAI,CAAC,sBAAsB;KACzD,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,qCAAiB,EAAC,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3I,IAAI,UAAU,EAAE;QACd,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,4BAAc,CAAC,QAAQ,EAAE,CAAC;SAC1D,IAAI,OAAO,QAAQ,KAAK,QAAQ;QACnC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;IAEhD,IAAI,OAAO,GAAG,MAAM,IAAA,6BAAkB,EAAC;QACrC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ;QACR,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC;IAEH,IAAI,UAAU,EAAE;QACd,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,4BAAc,CAAC,QAAQ,EAAE,CAAC;IAE/D,IAAI,OAAO,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,EAAE;QACrC,MAAM,YAAY,GAAG,IAAA,uCAAmB,EAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9E,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KAC9F;IAED,IAAI,OAAO,IAAI,QAAQ,CAAC,SAAS,EAAE;QACjC,MAAM,SAAS,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,CAAC;QAC1C,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,yBAAS,CAAC,iBAAiB,CAAC,uBAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;KAClH;IAED,OAAO;QACL,UAAU,EAAE,4BAAc,CAAC,OAAO;QAClC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY;QAC5E,OAAO;QACP,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;KAC7C,CAAC;AACJ,CAAC;AAhED,0CAgEC;AAOD,gBAAgB;AAChB,IAAiB,UAAU,CAM1B;AAND,WAAiB,UAAU;IACzB,SAAgB,MAAM,CAAC,IAA0B;QAC/C,OAAO;YACL,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;SACxC,CAAC;IACJ,CAAC;IAJe,iBAAM,SAIrB,CAAA;AACH,CAAC,EANgB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAM1B","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 { ByteStream, Id64String } from \"@itwin/core-bentley\";\r\nimport { Point3d, Transform } from \"@itwin/core-geometry\";\r\nimport {\r\n BatchType, decodeTileContentDescription, TileReadError, TileReadStatus,\r\n} from \"@itwin/core-common\";\r\nimport { IModelApp } from \"../IModelApp\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { GraphicBranch } from \"../render/GraphicBranch\";\r\nimport { RenderGraphic } from \"../render/RenderGraphic\";\r\nimport { BatchOptions } from \"../render/GraphicBuilder\";\r\nimport { RenderSystem } from \"../render/RenderSystem\";\r\nimport { ImdlModel } from \"../common/imdl/ImdlModel\";\r\nimport { convertFeatureTable, ImdlParseError, ImdlParserOptions, ImdlTimeline, parseImdlDocument } from \"../common/imdl/ParseImdlDocument\";\r\nimport { decodeImdlGraphics, IModelTileContent } from \"./internal\";\r\n\r\n/* eslint-disable no-restricted-syntax */\r\n\r\n/** @internal */\r\nexport interface ImdlReaderResult extends IModelTileContent {\r\n readStatus: TileReadStatus;\r\n}\r\n\r\n/** Convert the byte array returned by [[TileAdmin.requestElementGraphics]] into a [[RenderGraphic]].\r\n * @param bytes The binary graphics data obtained from `requestElementGraphics`.\r\n * @param iModel The iModel with which the graphics are associated.\r\n * @param modelId The Id of the [[GeometricModelState]] with which the graphics are associated. Can be an invalid Id.\r\n * @param is3d True if the graphics are 3d.\r\n * @param options Options customizing how [Feature]($common)s within the graphic can be resymbolized; or false if you don't want to produce a batch.\r\n * @public\r\n * @extensions\r\n */\r\nexport async function readElementGraphics(bytes: Uint8Array, iModel: IModelConnection, modelId: Id64String, is3d: boolean, options?: BatchOptions | false): Promise<RenderGraphic | undefined> {\r\n const stream = ByteStream.fromUint8Array(bytes);\r\n const reader = ImdlReader.create({\r\n stream, iModel, modelId, is3d, options,\r\n system: IModelApp.renderSystem,\r\n });\r\n\r\n const result = await reader.read();\r\n return result.graphic;\r\n}\r\n\r\n/** Arguments supplied to [[ImdlReader.create]]\r\n * @internal\r\n */\r\nexport interface ImdlReaderCreateArgs {\r\n stream: ByteStream;\r\n iModel: IModelConnection;\r\n modelId: Id64String;\r\n is3d: boolean;\r\n /** If undefined, the tile's leafness will be deduced by decodeTileContentDescription. */\r\n isLeaf?: boolean;\r\n system: RenderSystem;\r\n type?: BatchType; // default Primary\r\n loadEdges?: boolean; // default true\r\n isCanceled?: () => boolean;\r\n sizeMultiplier?: number;\r\n options?: BatchOptions | false;\r\n containsTransformNodes?: boolean; // default false\r\n /** Supplied if the graphics in the tile are to be split up based on the nodes in the timeline. */\r\n timeline?: ImdlTimeline;\r\n}\r\n\r\n/** @internal */\r\nexport async function readImdlContent(args: ImdlReaderCreateArgs & { parseDocument?: (parseOpts: ImdlParserOptions) => Promise<ImdlModel.Document | ImdlParseError> }): Promise<ImdlReaderResult> {\r\n const isCanceled = args.isCanceled ?? (() => false);\r\n let content;\r\n try {\r\n content = decodeTileContentDescription({\r\n stream: args.stream,\r\n sizeMultiplier: args.sizeMultiplier,\r\n is2d: !args.is3d,\r\n options: IModelApp.tileAdmin,\r\n isVolumeClassifier: BatchType.VolumeClassifier === args.type,\r\n isLeaf: args.isLeaf,\r\n });\r\n } catch (e) {\r\n if (e instanceof TileReadError)\r\n return { isLeaf: true, readStatus: e.errorNumber };\r\n else\r\n throw e;\r\n }\r\n\r\n args.stream.reset();\r\n const parseOpts: ImdlParserOptions = {\r\n data: args.stream.readBytes(0, args.stream.length),\r\n batchModelId: args.modelId,\r\n is3d: args.is3d,\r\n maxVertexTableSize: IModelApp.renderSystem.maxTextureSize,\r\n omitEdges: false === args.loadEdges,\r\n createUntransformedRootNode: args.containsTransformNodes,\r\n };\r\n\r\n const document = args.parseDocument ? (await args.parseDocument(parseOpts)) : parseImdlDocument({ ...parseOpts, timeline: args.timeline });\r\n if (isCanceled())\r\n return { isLeaf: true, readStatus: TileReadStatus.Canceled };\r\n else if (typeof document === \"number\")\r\n return { isLeaf: true, readStatus: document };\r\n\r\n let graphic = await decodeImdlGraphics({\r\n system: args.system,\r\n iModel: args.iModel,\r\n document,\r\n isCanceled: args.isCanceled,\r\n });\r\n\r\n if (isCanceled())\r\n return { isLeaf: true, readStatus: TileReadStatus.Canceled };\r\n\r\n if (graphic && false !== args.options) {\r\n const featureTable = convertFeatureTable(document.featureTable, args.modelId);\r\n graphic = args.system.createBatch(graphic, featureTable, content.contentRange, args.options);\r\n }\r\n\r\n if (graphic && document.rtcCenter) {\r\n const rtcBranch = new GraphicBranch(true);\r\n rtcBranch.add(graphic);\r\n graphic = args.system.createBranch(rtcBranch, Transform.createTranslation(Point3d.fromJSON(document.rtcCenter)));\r\n }\r\n\r\n return {\r\n readStatus: TileReadStatus.Success,\r\n isLeaf: content.isLeaf,\r\n sizeMultiplier: content.sizeMultiplier,\r\n contentRange: content.contentRange.isNull ? undefined : content.contentRange,\r\n graphic,\r\n emptySubRangeMask: content.emptySubRangeMask,\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport interface ImdlReader {\r\n read: () => Promise<ImdlReaderResult>;\r\n}\r\n\r\n/** @internal */\r\nexport namespace ImdlReader {\r\n export function create(args: ImdlReaderCreateArgs): ImdlReader {\r\n return {\r\n read: async () => readImdlContent(args),\r\n };\r\n }\r\n}\r\n"]}
@@ -8,7 +8,7 @@ exports.OPCFormatInterpreter = void 0;
8
8
  const core_common_1 = require("@itwin/core-common");
9
9
  const core_geometry_1 = require("@itwin/core-geometry");
10
10
  const core_orbitgt_1 = require("@itwin/core-orbitgt");
11
- const FrontendLoggerCategory_1 = require("../FrontendLoggerCategory");
11
+ const FrontendLoggerCategory_1 = require("../common/FrontendLoggerCategory");
12
12
  const core_bentley_1 = require("@itwin/core-bentley");
13
13
  const RealityDataSource_1 = require("../RealityDataSource");
14
14
  const loggerCategory = FrontendLoggerCategory_1.FrontendLoggerCategory.RealityData;
@@ -1 +1 @@
1
- {"version":3,"file":"OPCFormatInterpreter.js","sourceRoot":"","sources":["../../../src/tile/OPCFormatInterpreter.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 { Cartographic, EcefLocation } from \"@itwin/core-common\";\r\nimport { Range3d } from \"@itwin/core-geometry\";\r\nimport { ALong, CRSManager, Downloader, DownloaderXhr, OnlineEngine, OPCReader, OrbitGtBounds, PageCachedFile, PointCloudReader, UrlFS } from \"@itwin/core-orbitgt\";\r\nimport { FrontendLoggerCategory } from \"../FrontendLoggerCategory\";\r\nimport { BentleyError, Logger, LoggingMetaData, RealityDataStatus } from \"@itwin/core-bentley\";\r\nimport { RealityDataError, SpatialLocationAndExtents } from \"../RealityDataSource\";\r\n\r\nconst loggerCategory: string = FrontendLoggerCategory.RealityData;\r\n\r\n/**\r\n * This class provide methods used to interpret Orbit Point Cloud (OPC) format\r\n * @internal\r\n */\r\nexport class OPCFormatInterpreter {\r\n /** Gets an OPC file reader from a blobFileUrl\r\n * @param blobFileURL the name of the file.\r\n * @returns return a file reader open to read provided blob file\r\n * @internal\r\n */\r\n public static async getFileReaderFromBlobFileURL(blobFileURL: string): Promise<PointCloudReader> {\r\n if (Downloader.INSTANCE == null)\r\n Downloader.INSTANCE = new DownloaderXhr();\r\n if (CRSManager.ENGINE == null)\r\n CRSManager.ENGINE = await OnlineEngine.create();\r\n\r\n // let blobFileURL: string = rdUrl;\r\n // if (accountName.length > 0) blobFileURL = UrlFS.getAzureBlobSasUrl(opcConfig.accountName, opcConfig.containerName, opcConfig.blobFileName, opcConfig.sasToken);\r\n const urlFS: UrlFS = new UrlFS();\r\n // wrap a caching layer (16 MB) around the blob file\r\n const blobFileSize: ALong = await urlFS.getFileLength(blobFileURL);\r\n Logger.logTrace(loggerCategory, `OPC File Size is ${blobFileSize}`);\r\n const blobFile: PageCachedFile = new PageCachedFile(urlFS, blobFileURL, blobFileSize, 128 * 1024 /* pageSize */, 128 /* maxPageCount */);\r\n const fileReader: PointCloudReader = await OPCReader.openFile(blobFile, blobFileURL, true/* lazyLoading */);\r\n return fileReader;\r\n }\r\n\r\n /** Gets reality data spatial location and extents\r\n * @param fileReader a file reader instance obtains from call to getFileReaderFromBlobFileURL\r\n * @returns spatial location and volume of interest, in meters, centered around `spatial location`\r\n * @throws [[RealityDataError]] if source is invalid or cannot be read\r\n * @internal\r\n */\r\n public static async getSpatialLocationAndExtents(fileReader: PointCloudReader): Promise<SpatialLocationAndExtents> {\r\n let worldRange = new Range3d();\r\n let location: Cartographic | EcefLocation;\r\n let isGeolocated = true;\r\n\r\n const bounds = fileReader.getFileBounds();\r\n worldRange = Range3d.createXYZXYZ(bounds.getMinX(), bounds.getMinY(), bounds.getMinZ(), bounds.getMaxX(), bounds.getMaxY(), bounds.getMaxZ());\r\n isGeolocated = false;\r\n const fileCrs = fileReader.getFileCRS();\r\n if (fileCrs) {\r\n try {\r\n await CRSManager.ENGINE.prepareForArea(fileCrs, bounds);\r\n const wgs84ECEFCrs = \"4978\";\r\n await CRSManager.ENGINE.prepareForArea(wgs84ECEFCrs, new OrbitGtBounds());\r\n\r\n const ecefBounds = CRSManager.transformBounds(bounds, fileCrs, wgs84ECEFCrs);\r\n const ecefRange = Range3d.createXYZXYZ(ecefBounds.getMinX(), ecefBounds.getMinY(), ecefBounds.getMinZ(), ecefBounds.getMaxX(), ecefBounds.getMaxY(), ecefBounds.getMaxZ());\r\n const ecefCenter = ecefRange.localXYZToWorld(.5, .5, .5)!;\r\n const cartoCenter = Cartographic.fromEcef(ecefCenter)!;\r\n cartoCenter.height = 0;\r\n const ecefLocation = EcefLocation.createFromCartographicOrigin(cartoCenter);\r\n location = ecefLocation;\r\n // this.iModelDb.setEcefLocation(ecefLocation);\r\n const ecefToWorld = ecefLocation.getTransform().inverse()!;\r\n worldRange = ecefToWorld.multiplyRange(ecefRange);\r\n isGeolocated = true;\r\n } catch (e) {\r\n Logger.logWarning(loggerCategory, `Error getSpatialLocationAndExtents - cannot interpret point cloud`);\r\n const errorProps = BentleyError.getErrorProps(e);\r\n const getMetaData: LoggingMetaData = () => {\r\n return { errorProps };\r\n };\r\n const error = new RealityDataError(RealityDataStatus.InvalidData, \"Invalid or unknown data\", getMetaData);\r\n throw error;\r\n }\r\n } else {\r\n // NoGCS case\r\n isGeolocated = false;\r\n const centerOfEarth = new EcefLocation({ origin: { x: 0.0, y: 0.0, z: 0.0 }, orientation: { yaw: 0.0, pitch: 0.0, roll: 0.0 } });\r\n location = centerOfEarth;\r\n Logger.logTrace(loggerCategory, \"OPC RealityData NOT Geolocated\", () => ({ ...location }));\r\n }\r\n const spatialLocation: SpatialLocationAndExtents = { location, worldRange, isGeolocated };\r\n return spatialLocation;\r\n }\r\n}\r\n\r\n"]}
1
+ {"version":3,"file":"OPCFormatInterpreter.js","sourceRoot":"","sources":["../../../src/tile/OPCFormatInterpreter.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 { Cartographic, EcefLocation } from \"@itwin/core-common\";\r\nimport { Range3d } from \"@itwin/core-geometry\";\r\nimport { ALong, CRSManager, Downloader, DownloaderXhr, OnlineEngine, OPCReader, OrbitGtBounds, PageCachedFile, PointCloudReader, UrlFS } from \"@itwin/core-orbitgt\";\r\nimport { FrontendLoggerCategory } from \"../common/FrontendLoggerCategory\";\r\nimport { BentleyError, Logger, LoggingMetaData, RealityDataStatus } from \"@itwin/core-bentley\";\r\nimport { RealityDataError, SpatialLocationAndExtents } from \"../RealityDataSource\";\r\n\r\nconst loggerCategory: string = FrontendLoggerCategory.RealityData;\r\n\r\n/**\r\n * This class provide methods used to interpret Orbit Point Cloud (OPC) format\r\n * @internal\r\n */\r\nexport class OPCFormatInterpreter {\r\n /** Gets an OPC file reader from a blobFileUrl\r\n * @param blobFileURL the name of the file.\r\n * @returns return a file reader open to read provided blob file\r\n * @internal\r\n */\r\n public static async getFileReaderFromBlobFileURL(blobFileURL: string): Promise<PointCloudReader> {\r\n if (Downloader.INSTANCE == null)\r\n Downloader.INSTANCE = new DownloaderXhr();\r\n if (CRSManager.ENGINE == null)\r\n CRSManager.ENGINE = await OnlineEngine.create();\r\n\r\n // let blobFileURL: string = rdUrl;\r\n // if (accountName.length > 0) blobFileURL = UrlFS.getAzureBlobSasUrl(opcConfig.accountName, opcConfig.containerName, opcConfig.blobFileName, opcConfig.sasToken);\r\n const urlFS: UrlFS = new UrlFS();\r\n // wrap a caching layer (16 MB) around the blob file\r\n const blobFileSize: ALong = await urlFS.getFileLength(blobFileURL);\r\n Logger.logTrace(loggerCategory, `OPC File Size is ${blobFileSize}`);\r\n const blobFile: PageCachedFile = new PageCachedFile(urlFS, blobFileURL, blobFileSize, 128 * 1024 /* pageSize */, 128 /* maxPageCount */);\r\n const fileReader: PointCloudReader = await OPCReader.openFile(blobFile, blobFileURL, true/* lazyLoading */);\r\n return fileReader;\r\n }\r\n\r\n /** Gets reality data spatial location and extents\r\n * @param fileReader a file reader instance obtains from call to getFileReaderFromBlobFileURL\r\n * @returns spatial location and volume of interest, in meters, centered around `spatial location`\r\n * @throws [[RealityDataError]] if source is invalid or cannot be read\r\n * @internal\r\n */\r\n public static async getSpatialLocationAndExtents(fileReader: PointCloudReader): Promise<SpatialLocationAndExtents> {\r\n let worldRange = new Range3d();\r\n let location: Cartographic | EcefLocation;\r\n let isGeolocated = true;\r\n\r\n const bounds = fileReader.getFileBounds();\r\n worldRange = Range3d.createXYZXYZ(bounds.getMinX(), bounds.getMinY(), bounds.getMinZ(), bounds.getMaxX(), bounds.getMaxY(), bounds.getMaxZ());\r\n isGeolocated = false;\r\n const fileCrs = fileReader.getFileCRS();\r\n if (fileCrs) {\r\n try {\r\n await CRSManager.ENGINE.prepareForArea(fileCrs, bounds);\r\n const wgs84ECEFCrs = \"4978\";\r\n await CRSManager.ENGINE.prepareForArea(wgs84ECEFCrs, new OrbitGtBounds());\r\n\r\n const ecefBounds = CRSManager.transformBounds(bounds, fileCrs, wgs84ECEFCrs);\r\n const ecefRange = Range3d.createXYZXYZ(ecefBounds.getMinX(), ecefBounds.getMinY(), ecefBounds.getMinZ(), ecefBounds.getMaxX(), ecefBounds.getMaxY(), ecefBounds.getMaxZ());\r\n const ecefCenter = ecefRange.localXYZToWorld(.5, .5, .5)!;\r\n const cartoCenter = Cartographic.fromEcef(ecefCenter)!;\r\n cartoCenter.height = 0;\r\n const ecefLocation = EcefLocation.createFromCartographicOrigin(cartoCenter);\r\n location = ecefLocation;\r\n // this.iModelDb.setEcefLocation(ecefLocation);\r\n const ecefToWorld = ecefLocation.getTransform().inverse()!;\r\n worldRange = ecefToWorld.multiplyRange(ecefRange);\r\n isGeolocated = true;\r\n } catch (e) {\r\n Logger.logWarning(loggerCategory, `Error getSpatialLocationAndExtents - cannot interpret point cloud`);\r\n const errorProps = BentleyError.getErrorProps(e);\r\n const getMetaData: LoggingMetaData = () => {\r\n return { errorProps };\r\n };\r\n const error = new RealityDataError(RealityDataStatus.InvalidData, \"Invalid or unknown data\", getMetaData);\r\n throw error;\r\n }\r\n } else {\r\n // NoGCS case\r\n isGeolocated = false;\r\n const centerOfEarth = new EcefLocation({ origin: { x: 0.0, y: 0.0, z: 0.0 }, orientation: { yaw: 0.0, pitch: 0.0, roll: 0.0 } });\r\n location = centerOfEarth;\r\n Logger.logTrace(loggerCategory, \"OPC RealityData NOT Geolocated\", () => ({ ...location }));\r\n }\r\n const spatialLocation: SpatialLocationAndExtents = { location, worldRange, isGeolocated };\r\n return spatialLocation;\r\n }\r\n}\r\n\r\n"]}
@@ -34,7 +34,7 @@ exports.readPointCloudTileContent = void 0;
34
34
  const core_bentley_1 = require("@itwin/core-bentley");
35
35
  const core_geometry_1 = require("@itwin/core-geometry");
36
36
  const core_common_1 = require("@itwin/core-common");
37
- const FrontendLoggerCategory_1 = require("../FrontendLoggerCategory");
37
+ const FrontendLoggerCategory_1 = require("../common/FrontendLoggerCategory");
38
38
  const MeshPrimitives_1 = require("../render/primitives/mesh/MeshPrimitives");
39
39
  function readPntsColors(stream, dataOffset, pnts) {
40
40
  const nPts = pnts.POINTS_LENGTH;
@@ -1 +1 @@
1
- {"version":3,"file":"PntsReader.js","sourceRoot":"","sources":["../../../src/tile/PntsReader.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\n\r\nimport { ByteStream, Id64String, Logger, utf8ToString } from \"@itwin/core-bentley\";\r\nimport { Point3d, Range3d } from \"@itwin/core-geometry\";\r\nimport { BatchType, Feature, FeatureTable, PackedFeatureTable, PntsHeader, QParams3d, QPoint3d, Quantization } from \"@itwin/core-common\";\r\nimport { FrontendLoggerCategory } from \"../FrontendLoggerCategory\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { Mesh } from \"../render/primitives/mesh/MeshPrimitives\";\r\nimport { RenderGraphic } from \"../render/RenderGraphic\";\r\nimport { RenderSystem } from \"../render/RenderSystem\";\r\nimport { RealityTile } from \"./internal\";\r\n\r\n/** Schema for the [3DTILES_draco_point_compression](https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_draco_point_compression) extension. */\r\ninterface DracoPointCloud {\r\n byteLength: number;\r\n byteOffset: number;\r\n /** Each specifies the Id of a compressed attribute. */\r\n properties: {\r\n POSITION?: number; // eslint-disable-line @typescript-eslint/naming-convention\r\n RGB?: number; // eslint-disable-line @typescript-eslint/naming-convention\r\n RGBA?: number; // eslint-disable-line @typescript-eslint/naming-convention\r\n NORMAL?: number; // eslint-disable-line @typescript-eslint/naming-convention\r\n BATCH_ID?: number; // eslint-disable-line @typescript-eslint/naming-convention\r\n /** This is not in the spec but is present in sample data in Cesium's git repository. */\r\n COLOR_0?: number; // eslint-disable-line @typescript-eslint/naming-convention\r\n };\r\n}\r\n\r\ninterface PointCloudProps {\r\n params: QParams3d;\r\n points: Uint16Array | Float32Array;\r\n colors?: Uint8Array;\r\n}\r\n\r\ninterface BinaryBodyReference {\r\n byteOffset: number;\r\n}\r\n\r\n/** [3D tiles specification section 10.3](https://docs.opengeospatial.org/cs/18-053r2/18-053r2.html#199).\r\n * [JSON schema](https://github.com/CesiumGS/3d-tiles/blob/main/specification/schema/pnts.featureTable.schema.json).\r\n */\r\ninterface CommonPntsProps {\r\n POINTS_LENGTH: number; // eslint-disable-line @typescript-eslint/naming-convention\r\n RTC_CENTER?: number[]; // eslint-disable-line @typescript-eslint/naming-convention\r\n CONSTANT_RGBA?: number[]; // eslint-disable-line @typescript-eslint/naming-convention\r\n RGB?: BinaryBodyReference; // eslint-disable-line @typescript-eslint/naming-convention\r\n RGBA?: BinaryBodyReference; // eslint-disable-line @typescript-eslint/naming-convention\r\n RGB565?: BinaryBodyReference; // eslint-disable-line @typescript-eslint/naming-convention\r\n\r\n extensions?: {\r\n \"3DTILES_draco_point_compression\"?: DracoPointCloud; // eslint-disable-line @typescript-eslint/naming-convention\r\n };\r\n\r\n // The following are currently ignored.\r\n NORMAL?: BinaryBodyReference; // eslint-disable-line @typescript-eslint/naming-convention\r\n NORMAL_OCT16P?: BinaryBodyReference; // eslint-disable-line @typescript-eslint/naming-convention\r\n BATCH_ID?: BinaryBodyReference; // eslint-disable-line @typescript-eslint/naming-convention\r\n BATCH_LENGTH?: number; // eslint-disable-line @typescript-eslint/naming-convention\r\n}\r\n\r\ntype QuantizedPntsProps = CommonPntsProps & {\r\n POSITION_QUANTIZED: BinaryBodyReference; // eslint-disable-line @typescript-eslint/naming-convention\r\n QUANTIZED_VOLUME_OFFSET: number[]; // eslint-disable-line @typescript-eslint/naming-convention\r\n QUANTIZED_VOLUME_SCALE: number[]; // eslint-disable-line @typescript-eslint/naming-convention\r\n\r\n POSITION?: never; // eslint-disable-line @typescript-eslint/naming-convention\r\n};\r\n\r\ntype UnquantizedPntsProps = CommonPntsProps & {\r\n POSITION: BinaryBodyReference; // eslint-disable-line @typescript-eslint/naming-convention\r\n\r\n POSITION_QUANTIZED?: never; // eslint-disable-line @typescript-eslint/naming-convention\r\n QUANTIZED_VOLUME_OFFSET?: never; // eslint-disable-line @typescript-eslint/naming-convention\r\n QUANTIZED_VOLUME_SCALE?: never; // eslint-disable-line @typescript-eslint/naming-convention\r\n};\r\n\r\ntype PntsProps = QuantizedPntsProps | UnquantizedPntsProps;\r\n\r\nfunction readPntsColors(stream: ByteStream, dataOffset: number, pnts: PntsProps): Uint8Array | undefined {\r\n const nPts = pnts.POINTS_LENGTH;\r\n const nComponents = 3 * nPts;\r\n if (pnts.RGB)\r\n return new Uint8Array(stream.arrayBuffer, dataOffset + pnts.RGB.byteOffset, nComponents);\r\n\r\n if (pnts.RGBA) {\r\n // ###TODO support point cloud transparency.\r\n const rgb = new Uint8Array(nComponents);\r\n const rgba = new Uint8Array(stream.arrayBuffer, dataOffset + pnts.RGBA.byteOffset, nComponents);\r\n for (let i = 0; i < nComponents; i += 4) {\r\n rgb[i + 0] = rgba[i + 0];\r\n rgb[i + 1] = rgba[i + 1];\r\n rgb[i + 2] = rgba[i + 2];\r\n }\r\n\r\n return rgb;\r\n } else if (pnts.RGB565) {\r\n // Each color is 16 bits: 5 red, 6 green, 5 blue.\r\n const crgb = new Uint16Array(stream.arrayBuffer, dataOffset + pnts.RGB565.byteOffset, nPts);\r\n const rgb = new Uint8Array(nComponents);\r\n for (let i = 0; i < nPts; i++) {\r\n const c = crgb[i];\r\n rgb[i + 0] = (c >> 11) & 0x1f;\r\n rgb[i + 1] = (c >> 5) & 0x3f;\r\n rgb[i + 2] = c & 0x1f;\r\n }\r\n\r\n return rgb;\r\n }\r\n\r\n return undefined;\r\n}\r\n\r\nfunction readPnts(stream: ByteStream, dataOffset: number, pnts: PntsProps): PointCloudProps | undefined {\r\n const nPts = pnts.POINTS_LENGTH;\r\n let params: QParams3d;\r\n let points: Uint16Array | Float32Array;\r\n\r\n if (pnts.POSITION_QUANTIZED) {\r\n const qpos = pnts.POSITION_QUANTIZED;\r\n const offset = pnts.QUANTIZED_VOLUME_OFFSET;\r\n const scale = pnts.QUANTIZED_VOLUME_SCALE;\r\n\r\n const qOrigin = new Point3d(offset[0], offset[1], offset[2]);\r\n const qScale = new Point3d(Quantization.computeScale(scale[0]), Quantization.computeScale(scale[1]), Quantization.computeScale(scale[2]));\r\n\r\n params = QParams3d.fromOriginAndScale(qOrigin, qScale);\r\n points = new Uint16Array(stream.arrayBuffer, dataOffset + qpos.byteOffset, 3 * nPts);\r\n } else {\r\n const qOrigin = new Point3d(0, 0, 0);\r\n const qScale = new Point3d(1, 1, 1);\r\n params = QParams3d.fromOriginAndScale(qOrigin, qScale);\r\n points = new Float32Array(stream.arrayBuffer, dataOffset + pnts.POSITION.byteOffset, 3 * nPts);\r\n }\r\n\r\n const colors = readPntsColors(stream, dataOffset, pnts);\r\n return { params, points, colors };\r\n}\r\n\r\nasync function decodeDracoPointCloud(buf: Uint8Array): Promise<PointCloudProps | undefined> {\r\n try {\r\n const dracoLoader = (await import(\"@loaders.gl/draco\")).DracoLoader;\r\n const mesh = await dracoLoader.parse(buf, {});\r\n if (mesh.topology !== \"point-list\")\r\n return undefined;\r\n\r\n const pos = mesh.attributes.POSITION?.value;\r\n if (!pos || (pos.length % 3) !== 0)\r\n return undefined;\r\n\r\n let colors = mesh.attributes.RGB?.value ?? mesh.attributes.COLOR_0?.value;\r\n if (!colors) {\r\n // ###TODO support point cloud transparency.\r\n const rgba = mesh.attributes.RGBA?.value;\r\n if (rgba && (rgba.length % 4) === 0) {\r\n // We currently don't support alpha channel for point clouds - strip it.\r\n colors = new Uint8Array(3 * rgba.length / 4);\r\n let j = 0;\r\n for (let i = 0; i < rgba.length; i += 4) {\r\n colors[j++] = rgba[i];\r\n colors[j++] = rgba[i + 1];\r\n colors[j++] = rgba[i + 2];\r\n }\r\n }\r\n }\r\n\r\n let posRange: Range3d;\r\n const bbox = mesh.header?.boundingBox;\r\n if (bbox) {\r\n posRange = Range3d.createXYZXYZ(bbox[0][0], bbox[0][1], bbox[0][2], bbox[1][0], bbox[1][1], bbox[1][2]);\r\n } else {\r\n posRange = Range3d.createNull();\r\n for (let i = 0; i < pos.length; i += 3)\r\n posRange.extendXYZ(pos[i], pos[i + 1], pos[i + 2]);\r\n }\r\n\r\n const params = QParams3d.fromRange(posRange);\r\n const pt = Point3d.createZero();\r\n const qpt = QPoint3d.create(pt, params);\r\n const points = new Uint16Array(pos.length);\r\n for (let i = 0; i < pos.length; i += 3) {\r\n pt.set(pos[i], pos[i + 1], pos[i + 2]);\r\n qpt.init(pt, params);\r\n points[i] = qpt.x;\r\n points[i + 1] = qpt.y;\r\n points[i + 2] = qpt.z;\r\n }\r\n\r\n return { points, params, colors: colors instanceof Uint8Array ? colors : undefined };\r\n } catch (err) {\r\n Logger.logWarning(FrontendLoggerCategory.Render, \"Failed to decode draco-encoded point cloud\");\r\n Logger.logException(FrontendLoggerCategory.Render, err);\r\n return undefined;\r\n }\r\n}\r\n\r\n/** Deserialize a point cloud tile and return it as a RenderGraphic.\r\n * @internal\r\n */\r\nexport async function readPointCloudTileContent(stream: ByteStream, iModel: IModelConnection, modelId: Id64String, _is3d: boolean, tile: RealityTile, system: RenderSystem): Promise<{ graphic: RenderGraphic | undefined, rtcCenter: Point3d | undefined }> {\r\n let graphic;\r\n let rtcCenter;\r\n const header = new PntsHeader(stream);\r\n if (!header.isValid)\r\n return { graphic, rtcCenter };\r\n\r\n const range = tile.contentRange;\r\n const featureTableJsonOffset = stream.curPos;\r\n const featureStrData = stream.nextBytes(header.featureTableJsonLength);\r\n const featureStr = utf8ToString(featureStrData);\r\n const featureValue = JSON.parse(featureStr as string) as PntsProps;\r\n\r\n if (undefined === featureValue)\r\n return { graphic, rtcCenter };\r\n\r\n let props: PointCloudProps | undefined;\r\n const dataOffset = featureTableJsonOffset + header.featureTableJsonLength;\r\n const draco = featureValue.extensions ? featureValue.extensions[\"3DTILES_draco_point_compression\"] : undefined;\r\n if (draco) {\r\n try {\r\n const buf = new Uint8Array(stream.arrayBuffer, dataOffset + draco.byteOffset, draco.byteLength);\r\n props = await decodeDracoPointCloud(buf);\r\n } catch (_) {\r\n //\r\n }\r\n } else {\r\n props = readPnts(stream, dataOffset, featureValue);\r\n }\r\n\r\n if (!props)\r\n return { graphic, rtcCenter };\r\n\r\n let batchRange = range;\r\n if (featureValue.RTC_CENTER) {\r\n rtcCenter = Point3d.fromJSON(featureValue.RTC_CENTER);\r\n batchRange = range.clone();\r\n batchRange.low.minus(rtcCenter, batchRange.low);\r\n batchRange.high.minus(rtcCenter, batchRange.high);\r\n }\r\n\r\n if (!props.colors) {\r\n // ###TODO we really should support uniform color instead of allocating an RGB value per point...\r\n props.colors = new Uint8Array(3 * featureValue.POINTS_LENGTH);\r\n const rgba = featureValue.CONSTANT_RGBA;\r\n if (rgba) {\r\n // ###TODO support point cloud transparency.\r\n for (let i = 0; i < featureValue.POINTS_LENGTH * 3; i += 3) {\r\n props.colors[i] = rgba[0];\r\n props.colors[i + 1] = rgba[1];\r\n props.colors[i + 2] = rgba[2];\r\n }\r\n } else {\r\n // Default to white.\r\n props.colors.fill(0xff, 0, props.colors.length);\r\n }\r\n }\r\n\r\n const featureTable = new FeatureTable(1, modelId, BatchType.Primary);\r\n const features = new Mesh.Features(featureTable);\r\n features.add(new Feature(modelId), 1);\r\n let params = props.params;\r\n if (props.points instanceof Float32Array) {\r\n // we don't have a true range for unquantized points, so calc one here for voxelSize\r\n const rng = Range3d.createNull();\r\n for (let i = 0; i < props.points.length; i += 3)\r\n rng.extendXYZ(props.points[i], props.points[i + 1], props.points[i + 2]);\r\n params = QParams3d.fromRange(rng);\r\n }\r\n // 256 here is tile.maximumSize (on non-additive refinement tiles)\r\n // If additiveRefinement, set voxelSize to 0 which will cause it draw to with minPixelsPerVoxel, which defaults to 2\r\n // That way, it will draw as if in pixel mode, and voxelScale will still function\r\n // Checking across a variety of 10 point clouds, 2 to 4 seems to work well for pixel settings (depending on the\r\n // cloud), so 2 is a decent default\r\n // (If voxelSize is used normally in this case, it draws different size pixels for different tiles, and since\r\n // they can overlap ranges, no good way found to calculate a voxelSize)\r\n const voxelSize = tile.additiveRefinement ? 0 : params.rangeDiagonal.maxAbs() / 256;\r\n\r\n graphic = system.createPointCloud({\r\n positions: props.points,\r\n qparams: props.params,\r\n colors: props.colors,\r\n features: features.toFeatureIndex(),\r\n voxelSize,\r\n colorFormat: \"rgb\",\r\n }, iModel);\r\n\r\n graphic = system.createBatch(graphic!, PackedFeatureTable.pack(featureTable), batchRange);\r\n return { graphic, rtcCenter };\r\n}\r\n"]}
1
+ {"version":3,"file":"PntsReader.js","sourceRoot":"","sources":["../../../src/tile/PntsReader.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\n\r\nimport { ByteStream, Id64String, Logger, utf8ToString } from \"@itwin/core-bentley\";\r\nimport { Point3d, Range3d } from \"@itwin/core-geometry\";\r\nimport { BatchType, Feature, FeatureTable, PackedFeatureTable, PntsHeader, QParams3d, QPoint3d, Quantization } from \"@itwin/core-common\";\r\nimport { FrontendLoggerCategory } from \"../common/FrontendLoggerCategory\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { Mesh } from \"../render/primitives/mesh/MeshPrimitives\";\r\nimport { RenderGraphic } from \"../render/RenderGraphic\";\r\nimport { RenderSystem } from \"../render/RenderSystem\";\r\nimport { RealityTile } from \"./internal\";\r\n\r\n/** Schema for the [3DTILES_draco_point_compression](https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_draco_point_compression) extension. */\r\ninterface DracoPointCloud {\r\n byteLength: number;\r\n byteOffset: number;\r\n /** Each specifies the Id of a compressed attribute. */\r\n properties: {\r\n POSITION?: number; // eslint-disable-line @typescript-eslint/naming-convention\r\n RGB?: number; // eslint-disable-line @typescript-eslint/naming-convention\r\n RGBA?: number; // eslint-disable-line @typescript-eslint/naming-convention\r\n NORMAL?: number; // eslint-disable-line @typescript-eslint/naming-convention\r\n BATCH_ID?: number; // eslint-disable-line @typescript-eslint/naming-convention\r\n /** This is not in the spec but is present in sample data in Cesium's git repository. */\r\n COLOR_0?: number; // eslint-disable-line @typescript-eslint/naming-convention\r\n };\r\n}\r\n\r\ninterface PointCloudProps {\r\n params: QParams3d;\r\n points: Uint16Array | Float32Array;\r\n colors?: Uint8Array;\r\n}\r\n\r\ninterface BinaryBodyReference {\r\n byteOffset: number;\r\n}\r\n\r\n/** [3D tiles specification section 10.3](https://docs.opengeospatial.org/cs/18-053r2/18-053r2.html#199).\r\n * [JSON schema](https://github.com/CesiumGS/3d-tiles/blob/main/specification/schema/pnts.featureTable.schema.json).\r\n */\r\ninterface CommonPntsProps {\r\n POINTS_LENGTH: number; // eslint-disable-line @typescript-eslint/naming-convention\r\n RTC_CENTER?: number[]; // eslint-disable-line @typescript-eslint/naming-convention\r\n CONSTANT_RGBA?: number[]; // eslint-disable-line @typescript-eslint/naming-convention\r\n RGB?: BinaryBodyReference; // eslint-disable-line @typescript-eslint/naming-convention\r\n RGBA?: BinaryBodyReference; // eslint-disable-line @typescript-eslint/naming-convention\r\n RGB565?: BinaryBodyReference; // eslint-disable-line @typescript-eslint/naming-convention\r\n\r\n extensions?: {\r\n \"3DTILES_draco_point_compression\"?: DracoPointCloud; // eslint-disable-line @typescript-eslint/naming-convention\r\n };\r\n\r\n // The following are currently ignored.\r\n NORMAL?: BinaryBodyReference; // eslint-disable-line @typescript-eslint/naming-convention\r\n NORMAL_OCT16P?: BinaryBodyReference; // eslint-disable-line @typescript-eslint/naming-convention\r\n BATCH_ID?: BinaryBodyReference; // eslint-disable-line @typescript-eslint/naming-convention\r\n BATCH_LENGTH?: number; // eslint-disable-line @typescript-eslint/naming-convention\r\n}\r\n\r\ntype QuantizedPntsProps = CommonPntsProps & {\r\n POSITION_QUANTIZED: BinaryBodyReference; // eslint-disable-line @typescript-eslint/naming-convention\r\n QUANTIZED_VOLUME_OFFSET: number[]; // eslint-disable-line @typescript-eslint/naming-convention\r\n QUANTIZED_VOLUME_SCALE: number[]; // eslint-disable-line @typescript-eslint/naming-convention\r\n\r\n POSITION?: never; // eslint-disable-line @typescript-eslint/naming-convention\r\n};\r\n\r\ntype UnquantizedPntsProps = CommonPntsProps & {\r\n POSITION: BinaryBodyReference; // eslint-disable-line @typescript-eslint/naming-convention\r\n\r\n POSITION_QUANTIZED?: never; // eslint-disable-line @typescript-eslint/naming-convention\r\n QUANTIZED_VOLUME_OFFSET?: never; // eslint-disable-line @typescript-eslint/naming-convention\r\n QUANTIZED_VOLUME_SCALE?: never; // eslint-disable-line @typescript-eslint/naming-convention\r\n};\r\n\r\ntype PntsProps = QuantizedPntsProps | UnquantizedPntsProps;\r\n\r\nfunction readPntsColors(stream: ByteStream, dataOffset: number, pnts: PntsProps): Uint8Array | undefined {\r\n const nPts = pnts.POINTS_LENGTH;\r\n const nComponents = 3 * nPts;\r\n if (pnts.RGB)\r\n return new Uint8Array(stream.arrayBuffer, dataOffset + pnts.RGB.byteOffset, nComponents);\r\n\r\n if (pnts.RGBA) {\r\n // ###TODO support point cloud transparency.\r\n const rgb = new Uint8Array(nComponents);\r\n const rgba = new Uint8Array(stream.arrayBuffer, dataOffset + pnts.RGBA.byteOffset, nComponents);\r\n for (let i = 0; i < nComponents; i += 4) {\r\n rgb[i + 0] = rgba[i + 0];\r\n rgb[i + 1] = rgba[i + 1];\r\n rgb[i + 2] = rgba[i + 2];\r\n }\r\n\r\n return rgb;\r\n } else if (pnts.RGB565) {\r\n // Each color is 16 bits: 5 red, 6 green, 5 blue.\r\n const crgb = new Uint16Array(stream.arrayBuffer, dataOffset + pnts.RGB565.byteOffset, nPts);\r\n const rgb = new Uint8Array(nComponents);\r\n for (let i = 0; i < nPts; i++) {\r\n const c = crgb[i];\r\n rgb[i + 0] = (c >> 11) & 0x1f;\r\n rgb[i + 1] = (c >> 5) & 0x3f;\r\n rgb[i + 2] = c & 0x1f;\r\n }\r\n\r\n return rgb;\r\n }\r\n\r\n return undefined;\r\n}\r\n\r\nfunction readPnts(stream: ByteStream, dataOffset: number, pnts: PntsProps): PointCloudProps | undefined {\r\n const nPts = pnts.POINTS_LENGTH;\r\n let params: QParams3d;\r\n let points: Uint16Array | Float32Array;\r\n\r\n if (pnts.POSITION_QUANTIZED) {\r\n const qpos = pnts.POSITION_QUANTIZED;\r\n const offset = pnts.QUANTIZED_VOLUME_OFFSET;\r\n const scale = pnts.QUANTIZED_VOLUME_SCALE;\r\n\r\n const qOrigin = new Point3d(offset[0], offset[1], offset[2]);\r\n const qScale = new Point3d(Quantization.computeScale(scale[0]), Quantization.computeScale(scale[1]), Quantization.computeScale(scale[2]));\r\n\r\n params = QParams3d.fromOriginAndScale(qOrigin, qScale);\r\n points = new Uint16Array(stream.arrayBuffer, dataOffset + qpos.byteOffset, 3 * nPts);\r\n } else {\r\n const qOrigin = new Point3d(0, 0, 0);\r\n const qScale = new Point3d(1, 1, 1);\r\n params = QParams3d.fromOriginAndScale(qOrigin, qScale);\r\n points = new Float32Array(stream.arrayBuffer, dataOffset + pnts.POSITION.byteOffset, 3 * nPts);\r\n }\r\n\r\n const colors = readPntsColors(stream, dataOffset, pnts);\r\n return { params, points, colors };\r\n}\r\n\r\nasync function decodeDracoPointCloud(buf: Uint8Array): Promise<PointCloudProps | undefined> {\r\n try {\r\n const dracoLoader = (await import(\"@loaders.gl/draco\")).DracoLoader;\r\n const mesh = await dracoLoader.parse(buf, {});\r\n if (mesh.topology !== \"point-list\")\r\n return undefined;\r\n\r\n const pos = mesh.attributes.POSITION?.value;\r\n if (!pos || (pos.length % 3) !== 0)\r\n return undefined;\r\n\r\n let colors = mesh.attributes.RGB?.value ?? mesh.attributes.COLOR_0?.value;\r\n if (!colors) {\r\n // ###TODO support point cloud transparency.\r\n const rgba = mesh.attributes.RGBA?.value;\r\n if (rgba && (rgba.length % 4) === 0) {\r\n // We currently don't support alpha channel for point clouds - strip it.\r\n colors = new Uint8Array(3 * rgba.length / 4);\r\n let j = 0;\r\n for (let i = 0; i < rgba.length; i += 4) {\r\n colors[j++] = rgba[i];\r\n colors[j++] = rgba[i + 1];\r\n colors[j++] = rgba[i + 2];\r\n }\r\n }\r\n }\r\n\r\n let posRange: Range3d;\r\n const bbox = mesh.header?.boundingBox;\r\n if (bbox) {\r\n posRange = Range3d.createXYZXYZ(bbox[0][0], bbox[0][1], bbox[0][2], bbox[1][0], bbox[1][1], bbox[1][2]);\r\n } else {\r\n posRange = Range3d.createNull();\r\n for (let i = 0; i < pos.length; i += 3)\r\n posRange.extendXYZ(pos[i], pos[i + 1], pos[i + 2]);\r\n }\r\n\r\n const params = QParams3d.fromRange(posRange);\r\n const pt = Point3d.createZero();\r\n const qpt = QPoint3d.create(pt, params);\r\n const points = new Uint16Array(pos.length);\r\n for (let i = 0; i < pos.length; i += 3) {\r\n pt.set(pos[i], pos[i + 1], pos[i + 2]);\r\n qpt.init(pt, params);\r\n points[i] = qpt.x;\r\n points[i + 1] = qpt.y;\r\n points[i + 2] = qpt.z;\r\n }\r\n\r\n return { points, params, colors: colors instanceof Uint8Array ? colors : undefined };\r\n } catch (err) {\r\n Logger.logWarning(FrontendLoggerCategory.Render, \"Failed to decode draco-encoded point cloud\");\r\n Logger.logException(FrontendLoggerCategory.Render, err);\r\n return undefined;\r\n }\r\n}\r\n\r\n/** Deserialize a point cloud tile and return it as a RenderGraphic.\r\n * @internal\r\n */\r\nexport async function readPointCloudTileContent(stream: ByteStream, iModel: IModelConnection, modelId: Id64String, _is3d: boolean, tile: RealityTile, system: RenderSystem): Promise<{ graphic: RenderGraphic | undefined, rtcCenter: Point3d | undefined }> {\r\n let graphic;\r\n let rtcCenter;\r\n const header = new PntsHeader(stream);\r\n if (!header.isValid)\r\n return { graphic, rtcCenter };\r\n\r\n const range = tile.contentRange;\r\n const featureTableJsonOffset = stream.curPos;\r\n const featureStrData = stream.nextBytes(header.featureTableJsonLength);\r\n const featureStr = utf8ToString(featureStrData);\r\n const featureValue = JSON.parse(featureStr as string) as PntsProps;\r\n\r\n if (undefined === featureValue)\r\n return { graphic, rtcCenter };\r\n\r\n let props: PointCloudProps | undefined;\r\n const dataOffset = featureTableJsonOffset + header.featureTableJsonLength;\r\n const draco = featureValue.extensions ? featureValue.extensions[\"3DTILES_draco_point_compression\"] : undefined;\r\n if (draco) {\r\n try {\r\n const buf = new Uint8Array(stream.arrayBuffer, dataOffset + draco.byteOffset, draco.byteLength);\r\n props = await decodeDracoPointCloud(buf);\r\n } catch (_) {\r\n //\r\n }\r\n } else {\r\n props = readPnts(stream, dataOffset, featureValue);\r\n }\r\n\r\n if (!props)\r\n return { graphic, rtcCenter };\r\n\r\n let batchRange = range;\r\n if (featureValue.RTC_CENTER) {\r\n rtcCenter = Point3d.fromJSON(featureValue.RTC_CENTER);\r\n batchRange = range.clone();\r\n batchRange.low.minus(rtcCenter, batchRange.low);\r\n batchRange.high.minus(rtcCenter, batchRange.high);\r\n }\r\n\r\n if (!props.colors) {\r\n // ###TODO we really should support uniform color instead of allocating an RGB value per point...\r\n props.colors = new Uint8Array(3 * featureValue.POINTS_LENGTH);\r\n const rgba = featureValue.CONSTANT_RGBA;\r\n if (rgba) {\r\n // ###TODO support point cloud transparency.\r\n for (let i = 0; i < featureValue.POINTS_LENGTH * 3; i += 3) {\r\n props.colors[i] = rgba[0];\r\n props.colors[i + 1] = rgba[1];\r\n props.colors[i + 2] = rgba[2];\r\n }\r\n } else {\r\n // Default to white.\r\n props.colors.fill(0xff, 0, props.colors.length);\r\n }\r\n }\r\n\r\n const featureTable = new FeatureTable(1, modelId, BatchType.Primary);\r\n const features = new Mesh.Features(featureTable);\r\n features.add(new Feature(modelId), 1);\r\n let params = props.params;\r\n if (props.points instanceof Float32Array) {\r\n // we don't have a true range for unquantized points, so calc one here for voxelSize\r\n const rng = Range3d.createNull();\r\n for (let i = 0; i < props.points.length; i += 3)\r\n rng.extendXYZ(props.points[i], props.points[i + 1], props.points[i + 2]);\r\n params = QParams3d.fromRange(rng);\r\n }\r\n // 256 here is tile.maximumSize (on non-additive refinement tiles)\r\n // If additiveRefinement, set voxelSize to 0 which will cause it draw to with minPixelsPerVoxel, which defaults to 2\r\n // That way, it will draw as if in pixel mode, and voxelScale will still function\r\n // Checking across a variety of 10 point clouds, 2 to 4 seems to work well for pixel settings (depending on the\r\n // cloud), so 2 is a decent default\r\n // (If voxelSize is used normally in this case, it draws different size pixels for different tiles, and since\r\n // they can overlap ranges, no good way found to calculate a voxelSize)\r\n const voxelSize = tile.additiveRefinement ? 0 : params.rangeDiagonal.maxAbs() / 256;\r\n\r\n graphic = system.createPointCloud({\r\n positions: props.points,\r\n qparams: props.params,\r\n colors: props.colors,\r\n features: features.toFeatureIndex(),\r\n voxelSize,\r\n colorFormat: \"rgb\",\r\n }, iModel);\r\n\r\n graphic = system.createBatch(graphic!, PackedFeatureTable.pack(featureTable), batchRange);\r\n return { graphic, rtcCenter };\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"PrimaryTileTree.d.ts","sourceRoot":"","sources":["../../../src/tile/PrimaryTileTree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PrimaryTileTree.d.ts","sourceRoot":"","sources":["../../../src/tile/PrimaryTileTree.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ const core_common_1 = require("@itwin/core-common");
13
13
  const core_geometry_1 = require("@itwin/core-geometry");
14
14
  const IModelApp_1 = require("../IModelApp");
15
15
  const GraphicBranch_1 = require("../render/GraphicBranch");
16
+ const AnimationNodeId_1 = require("../common/render/AnimationNodeId");
16
17
  const internal_1 = require("./internal");
17
18
  class PlanProjectionTileTree extends internal_1.IModelTileTree {
18
19
  constructor(params, treeId, baseElevation) {
@@ -121,7 +122,7 @@ class PrimaryTreeReference extends internal_1.TileTreeReference {
121
122
  this._owner = primaryTreeSupplier.getOwner(this._id, model.iModel);
122
123
  }
123
124
  getAnimationTransformNodeId() {
124
- return this._animationTransformNodeId ?? GraphicBranch_1.AnimationNodeId.Untransformed;
125
+ return this._animationTransformNodeId ?? AnimationNodeId_1.AnimationNodeId.Untransformed;
125
126
  }
126
127
  getViewFlagOverrides(_tree) {
127
128
  return this._viewFlagOverrides;