@itwin/core-frontend 4.1.0-dev.6 → 4.1.0-dev.63

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 (1172) hide show
  1. package/CHANGELOG.md +78 -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 +7 -1
  7. package/lib/cjs/AccuSnap.d.ts.map +1 -1
  8. package/lib/cjs/AccuSnap.js +24 -6
  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/GeoServices.d.ts +37 -7
  41. package/lib/cjs/GeoServices.d.ts.map +1 -1
  42. package/lib/cjs/GeoServices.js +75 -25
  43. package/lib/cjs/GeoServices.js.map +1 -1
  44. package/lib/cjs/GraphicalEditingScope.d.ts +2 -2
  45. package/lib/cjs/GraphicalEditingScope.d.ts.map +1 -1
  46. package/lib/cjs/GraphicalEditingScope.js +1 -1
  47. package/lib/cjs/GraphicalEditingScope.js.map +1 -1
  48. package/lib/cjs/HitDetail.d.ts +100 -29
  49. package/lib/cjs/HitDetail.d.ts.map +1 -1
  50. package/lib/cjs/HitDetail.js +89 -36
  51. package/lib/cjs/HitDetail.js.map +1 -1
  52. package/lib/cjs/IModelApp.d.ts +18 -14
  53. package/lib/cjs/IModelApp.d.ts.map +1 -1
  54. package/lib/cjs/IModelApp.js +17 -13
  55. package/lib/cjs/IModelApp.js.map +1 -1
  56. package/lib/cjs/IModelConnection.d.ts +64 -19
  57. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  58. package/lib/cjs/IModelConnection.js +131 -20
  59. package/lib/cjs/IModelConnection.js.map +1 -1
  60. package/lib/cjs/IpcApp.d.ts +1 -1
  61. package/lib/cjs/IpcApp.d.ts.map +1 -1
  62. package/lib/cjs/IpcApp.js +4 -4
  63. package/lib/cjs/IpcApp.js.map +1 -1
  64. package/lib/cjs/LocalhostIpcApp.js +1 -1
  65. package/lib/cjs/LocalhostIpcApp.js.map +1 -1
  66. package/lib/cjs/Marker.d.ts +1 -1
  67. package/lib/cjs/Marker.d.ts.map +1 -1
  68. package/lib/cjs/Marker.js +3 -3
  69. package/lib/cjs/Marker.js.map +1 -1
  70. package/lib/cjs/NativeApp.d.ts.map +1 -1
  71. package/lib/cjs/NativeApp.js +4 -4
  72. package/lib/cjs/NativeApp.js.map +1 -1
  73. package/lib/cjs/NoRenderApp.d.ts +1 -1
  74. package/lib/cjs/NoRenderApp.d.ts.map +1 -1
  75. package/lib/cjs/NoRenderApp.js +1 -1
  76. package/lib/cjs/NoRenderApp.js.map +1 -1
  77. package/lib/cjs/RealityDataSource.js +1 -1
  78. package/lib/cjs/RealityDataSource.js.map +1 -1
  79. package/lib/cjs/RealityDataSourceContextShareImpl.js +1 -1
  80. package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -1
  81. package/lib/cjs/SheetViewState.d.ts +9 -7
  82. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  83. package/lib/cjs/SheetViewState.js +22 -7
  84. package/lib/cjs/SheetViewState.js.map +1 -1
  85. package/lib/cjs/SpatialViewState.d.ts +20 -5
  86. package/lib/cjs/SpatialViewState.d.ts.map +1 -1
  87. package/lib/cjs/SpatialViewState.js +13 -5
  88. package/lib/cjs/SpatialViewState.js.map +1 -1
  89. package/lib/cjs/Sprites.js +2 -2
  90. package/lib/cjs/Sprites.js.map +1 -1
  91. package/lib/cjs/TentativePoint.d.ts.map +1 -1
  92. package/lib/cjs/TentativePoint.js +10 -1
  93. package/lib/cjs/TentativePoint.js.map +1 -1
  94. package/lib/cjs/ViewContext.d.ts +19 -0
  95. package/lib/cjs/ViewContext.d.ts.map +1 -1
  96. package/lib/cjs/ViewContext.js +9 -0
  97. package/lib/cjs/ViewContext.js.map +1 -1
  98. package/lib/cjs/ViewCreator3d.d.ts +3 -6
  99. package/lib/cjs/ViewCreator3d.d.ts.map +1 -1
  100. package/lib/cjs/ViewCreator3d.js +12 -33
  101. package/lib/cjs/ViewCreator3d.js.map +1 -1
  102. package/lib/cjs/ViewGlobalLocation.d.ts.map +1 -1
  103. package/lib/cjs/ViewGlobalLocation.js +4 -3
  104. package/lib/cjs/ViewGlobalLocation.js.map +1 -1
  105. package/lib/cjs/ViewManager.d.ts +4 -2
  106. package/lib/cjs/ViewManager.d.ts.map +1 -1
  107. package/lib/cjs/ViewManager.js +4 -2
  108. package/lib/cjs/ViewManager.js.map +1 -1
  109. package/lib/cjs/ViewPose.d.ts +11 -11
  110. package/lib/cjs/ViewPose.d.ts.map +1 -1
  111. package/lib/cjs/ViewPose.js +17 -11
  112. package/lib/cjs/ViewPose.js.map +1 -1
  113. package/lib/cjs/ViewState.d.ts +44 -26
  114. package/lib/cjs/ViewState.d.ts.map +1 -1
  115. package/lib/cjs/ViewState.js +52 -25
  116. package/lib/cjs/ViewState.js.map +1 -1
  117. package/lib/cjs/ViewingSpace.js +1 -1
  118. package/lib/cjs/ViewingSpace.js.map +1 -1
  119. package/lib/cjs/Viewport.d.ts +59 -21
  120. package/lib/cjs/Viewport.d.ts.map +1 -1
  121. package/lib/cjs/Viewport.js +67 -24
  122. package/lib/cjs/Viewport.js.map +1 -1
  123. package/lib/cjs/ViewportSync.d.ts +2 -2
  124. package/lib/cjs/ViewportSync.d.ts.map +1 -1
  125. package/lib/cjs/ViewportSync.js +2 -2
  126. package/lib/cjs/ViewportSync.js.map +1 -1
  127. package/lib/cjs/common/FrontendLoggerCategory.d.ts.map +1 -0
  128. package/lib/cjs/common/FrontendLoggerCategory.js.map +1 -0
  129. package/lib/cjs/common/ImageUtil.d.ts.map +1 -0
  130. package/lib/cjs/{ImageUtil.js → common/ImageUtil.js} +2 -0
  131. package/lib/cjs/common/ImageUtil.js.map +1 -0
  132. package/lib/cjs/common/ViewRect.d.ts.map +1 -0
  133. package/lib/cjs/common/ViewRect.js.map +1 -0
  134. package/lib/cjs/common/WorkerProxy.d.ts +73 -0
  135. package/lib/cjs/common/WorkerProxy.d.ts.map +1 -0
  136. package/lib/cjs/common/WorkerProxy.js +54 -0
  137. package/lib/cjs/common/WorkerProxy.js.map +1 -0
  138. package/lib/{esm → cjs/common}/gltf/GltfModel.d.ts +1 -1
  139. package/lib/cjs/common/gltf/GltfModel.d.ts.map +1 -0
  140. package/lib/cjs/common/gltf/GltfModel.js.map +1 -0
  141. package/lib/cjs/common/gltf/GltfParser.d.ts.map +1 -0
  142. package/lib/cjs/common/gltf/GltfParser.js.map +1 -0
  143. package/lib/cjs/common/gltf/GltfSchema.d.ts.map +1 -0
  144. package/lib/cjs/common/gltf/GltfSchema.js.map +1 -0
  145. package/lib/cjs/common/imdl/CompactEdges.d.ts +27 -0
  146. package/lib/cjs/common/imdl/CompactEdges.d.ts.map +1 -0
  147. package/lib/cjs/common/imdl/CompactEdges.js +96 -0
  148. package/lib/cjs/common/imdl/CompactEdges.js.map +1 -0
  149. package/lib/cjs/common/imdl/ImdlModel.d.ts +186 -0
  150. package/lib/cjs/common/imdl/ImdlModel.d.ts.map +1 -0
  151. package/lib/cjs/common/imdl/ImdlModel.js +71 -0
  152. package/lib/cjs/common/imdl/ImdlModel.js.map +1 -0
  153. package/lib/cjs/common/imdl/ImdlSchema.d.ts +412 -0
  154. package/lib/cjs/common/imdl/ImdlSchema.d.ts.map +1 -0
  155. package/lib/cjs/common/imdl/ImdlSchema.js +23 -0
  156. package/lib/cjs/common/imdl/ImdlSchema.js.map +1 -0
  157. package/lib/cjs/common/imdl/ParseImdlDocument.d.ts +45 -0
  158. package/lib/cjs/common/imdl/ParseImdlDocument.d.ts.map +1 -0
  159. package/lib/cjs/common/imdl/ParseImdlDocument.js +1011 -0
  160. package/lib/cjs/common/imdl/ParseImdlDocument.js.map +1 -0
  161. package/lib/cjs/common/render/AnimationNodeId.d.ts +11 -0
  162. package/lib/cjs/common/render/AnimationNodeId.d.ts.map +1 -0
  163. package/lib/cjs/common/render/AnimationNodeId.js +19 -0
  164. package/lib/cjs/common/render/AnimationNodeId.js.map +1 -0
  165. package/lib/{esm/render/RenderMaterial.d.ts → cjs/common/render/MaterialParams.d.ts} +7 -20
  166. package/lib/cjs/common/render/MaterialParams.d.ts.map +1 -0
  167. package/lib/cjs/{render/RenderMaterial.js → common/render/MaterialParams.js} +1 -1
  168. package/lib/cjs/common/render/MaterialParams.js.map +1 -0
  169. package/lib/cjs/common/render/TextureParams.d.ts +30 -0
  170. package/lib/cjs/common/render/TextureParams.d.ts.map +1 -0
  171. package/lib/cjs/{render/RenderTexture.js → common/render/TextureParams.js} +1 -1
  172. package/lib/cjs/common/render/TextureParams.js.map +1 -0
  173. package/lib/{esm → cjs/common}/render/primitives/AuxChannelTable.d.ts +12 -8
  174. package/lib/cjs/common/render/primitives/AuxChannelTable.d.ts.map +1 -0
  175. package/lib/cjs/{render → common/render}/primitives/AuxChannelTable.js +42 -9
  176. package/lib/cjs/common/render/primitives/AuxChannelTable.js.map +1 -0
  177. package/lib/cjs/common/render/primitives/DisplayParams.d.ts.map +1 -0
  178. package/lib/cjs/common/render/primitives/DisplayParams.js.map +1 -0
  179. package/lib/cjs/common/render/primitives/EdgeParams.d.ts +94 -0
  180. package/lib/cjs/common/render/primitives/EdgeParams.d.ts.map +1 -0
  181. package/lib/cjs/common/render/primitives/EdgeParams.js +46 -0
  182. package/lib/cjs/common/render/primitives/EdgeParams.js.map +1 -0
  183. package/lib/cjs/common/render/primitives/MeshParams.d.ts +20 -0
  184. package/lib/cjs/common/render/primitives/MeshParams.d.ts.map +1 -0
  185. package/lib/cjs/common/render/primitives/MeshParams.js +10 -0
  186. package/lib/cjs/common/render/primitives/MeshParams.js.map +1 -0
  187. package/lib/cjs/common/render/primitives/MeshPrimitive.d.ts +29 -0
  188. package/lib/cjs/common/render/primitives/MeshPrimitive.d.ts.map +1 -0
  189. package/lib/cjs/common/render/primitives/MeshPrimitive.js +18 -0
  190. package/lib/cjs/common/render/primitives/MeshPrimitive.js.map +1 -0
  191. package/lib/cjs/common/render/primitives/PointStringParams.d.ts +14 -0
  192. package/lib/cjs/common/render/primitives/PointStringParams.d.ts.map +1 -0
  193. package/lib/cjs/common/render/primitives/PointStringParams.js +10 -0
  194. package/lib/cjs/common/render/primitives/PointStringParams.js.map +1 -0
  195. package/lib/cjs/common/render/primitives/PolylineParams.d.ts +29 -0
  196. package/lib/cjs/common/render/primitives/PolylineParams.d.ts.map +1 -0
  197. package/lib/cjs/common/render/primitives/PolylineParams.js +10 -0
  198. package/lib/cjs/common/render/primitives/PolylineParams.js.map +1 -0
  199. package/lib/{esm → cjs/common}/render/primitives/SurfaceParams.d.ts +1 -1
  200. package/lib/cjs/common/render/primitives/SurfaceParams.d.ts.map +1 -0
  201. package/lib/cjs/common/render/primitives/SurfaceParams.js.map +1 -0
  202. package/lib/cjs/common/render/primitives/VertexIndices.d.ts +26 -0
  203. package/lib/cjs/common/render/primitives/VertexIndices.d.ts.map +1 -0
  204. package/lib/cjs/common/render/primitives/VertexIndices.js +64 -0
  205. package/lib/cjs/common/render/primitives/VertexIndices.js.map +1 -0
  206. package/lib/cjs/common/render/primitives/VertexTable.d.ts +45 -0
  207. package/lib/cjs/common/render/primitives/VertexTable.d.ts.map +1 -0
  208. package/lib/cjs/common/render/primitives/VertexTable.js +38 -0
  209. package/lib/cjs/common/render/primitives/VertexTable.js.map +1 -0
  210. package/lib/cjs/{render → common/render}/primitives/VertexTableSplitter.d.ts +23 -2
  211. package/lib/cjs/common/render/primitives/VertexTableSplitter.d.ts.map +1 -0
  212. package/lib/cjs/{render → common/render}/primitives/VertexTableSplitter.js +46 -35
  213. package/lib/cjs/common/render/primitives/VertexTableSplitter.js.map +1 -0
  214. package/lib/cjs/core-frontend.d.ts +45 -8
  215. package/lib/cjs/core-frontend.d.ts.map +1 -1
  216. package/lib/cjs/core-frontend.js +45 -8
  217. package/lib/cjs/core-frontend.js.map +1 -1
  218. package/lib/cjs/extension/ExtensionAdmin.js +1 -1
  219. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  220. package/lib/cjs/quantity-formatting/QuantityFormatter.js +1 -1
  221. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  222. package/lib/cjs/render/CreateRenderMaterialArgs.d.ts +24 -0
  223. package/lib/cjs/render/CreateRenderMaterialArgs.d.ts.map +1 -0
  224. package/lib/cjs/render/CreateRenderMaterialArgs.js +10 -0
  225. package/lib/cjs/render/CreateRenderMaterialArgs.js.map +1 -0
  226. package/lib/{esm/render/RenderTexture.d.ts → cjs/render/CreateTextureArgs.d.ts} +4 -28
  227. package/lib/cjs/render/CreateTextureArgs.d.ts.map +1 -0
  228. package/lib/cjs/render/CreateTextureArgs.js +10 -0
  229. package/lib/cjs/render/CreateTextureArgs.js.map +1 -0
  230. package/lib/cjs/render/GraphicBranch.d.ts +5 -7
  231. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  232. package/lib/cjs/render/GraphicBranch.js +1 -9
  233. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  234. package/lib/cjs/render/InstancedGraphicParams.d.ts +3 -4
  235. package/lib/cjs/render/InstancedGraphicParams.d.ts.map +1 -1
  236. package/lib/cjs/render/InstancedGraphicParams.js.map +1 -1
  237. package/lib/cjs/render/MockRender.d.ts +4 -4
  238. package/lib/cjs/render/MockRender.d.ts.map +1 -1
  239. package/lib/cjs/render/MockRender.js +1 -1
  240. package/lib/cjs/render/MockRender.js.map +1 -1
  241. package/lib/cjs/render/ParticleCollectionBuilder.d.ts.map +1 -1
  242. package/lib/cjs/render/ParticleCollectionBuilder.js +5 -5
  243. package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
  244. package/lib/cjs/render/Pixel.d.ts +57 -0
  245. package/lib/cjs/render/Pixel.d.ts.map +1 -1
  246. package/lib/cjs/render/Pixel.js +41 -0
  247. package/lib/cjs/render/Pixel.js.map +1 -1
  248. package/lib/cjs/render/RealityMeshParams.js +2 -2
  249. package/lib/cjs/render/RealityMeshParams.js.map +1 -1
  250. package/lib/cjs/render/RenderSystem.d.ts +24 -10
  251. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  252. package/lib/cjs/render/RenderSystem.js +7 -8
  253. package/lib/cjs/render/RenderSystem.js.map +1 -1
  254. package/lib/cjs/render/RenderTarget.d.ts +1 -1
  255. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  256. package/lib/cjs/render/RenderTarget.js.map +1 -1
  257. package/lib/cjs/render/VisibleFeature.d.ts +1 -1
  258. package/lib/cjs/render/VisibleFeature.d.ts.map +1 -1
  259. package/lib/cjs/render/VisibleFeature.js.map +1 -1
  260. package/lib/cjs/render/primitives/EdgeParams.d.ts +2 -89
  261. package/lib/cjs/render/primitives/EdgeParams.d.ts.map +1 -1
  262. package/lib/cjs/render/primitives/EdgeParams.js +44 -80
  263. package/lib/cjs/render/primitives/EdgeParams.js.map +1 -1
  264. package/lib/cjs/render/primitives/PointCloudPrimitive.d.ts +1 -0
  265. package/lib/cjs/render/primitives/PointCloudPrimitive.d.ts.map +1 -1
  266. package/lib/cjs/render/primitives/PointCloudPrimitive.js.map +1 -1
  267. package/lib/cjs/render/primitives/PointStringParams.d.ts +3 -11
  268. package/lib/cjs/render/primitives/PointStringParams.d.ts.map +1 -1
  269. package/lib/cjs/render/primitives/PointStringParams.js +27 -30
  270. package/lib/cjs/render/primitives/PointStringParams.js.map +1 -1
  271. package/lib/cjs/render/primitives/Polyface.d.ts +1 -1
  272. package/lib/cjs/render/primitives/Polyface.d.ts.map +1 -1
  273. package/lib/cjs/render/primitives/Polyface.js.map +1 -1
  274. package/lib/cjs/render/primitives/PolylineParams.d.ts +8 -37
  275. package/lib/cjs/render/primitives/PolylineParams.d.ts.map +1 -1
  276. package/lib/cjs/render/primitives/PolylineParams.js +40 -48
  277. package/lib/cjs/render/primitives/PolylineParams.js.map +1 -1
  278. package/lib/cjs/render/primitives/Strokes.d.ts +1 -1
  279. package/lib/cjs/render/primitives/Strokes.d.ts.map +1 -1
  280. package/lib/cjs/render/primitives/Strokes.js.map +1 -1
  281. package/lib/cjs/render/primitives/VertexTableBuilder.d.ts +31 -0
  282. package/lib/cjs/render/primitives/VertexTableBuilder.d.ts.map +1 -0
  283. package/lib/cjs/render/primitives/{VertexTable.js → VertexTableBuilder.js} +62 -173
  284. package/lib/cjs/render/primitives/VertexTableBuilder.js.map +1 -0
  285. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts +1 -1
  286. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  287. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  288. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts +1 -1
  289. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  290. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js +1 -1
  291. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  292. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.d.ts +1 -1
  293. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.d.ts.map +1 -1
  294. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.js +1 -1
  295. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.js.map +1 -1
  296. package/lib/cjs/render/primitives/mesh/MeshBuilder.d.ts +2 -1
  297. package/lib/cjs/render/primitives/mesh/MeshBuilder.d.ts.map +1 -1
  298. package/lib/cjs/render/primitives/mesh/MeshBuilder.js +5 -2
  299. package/lib/cjs/render/primitives/mesh/MeshBuilder.js.map +1 -1
  300. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.d.ts +6 -5
  301. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.d.ts.map +1 -1
  302. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js +7 -4
  303. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  304. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts +58 -31
  305. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  306. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js +25 -29
  307. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  308. package/lib/cjs/render/webgl/BatchState.js +1 -1
  309. package/lib/cjs/render/webgl/BatchState.js.map +1 -1
  310. package/lib/cjs/render/webgl/BranchState.d.ts +3 -0
  311. package/lib/cjs/render/webgl/BranchState.d.ts.map +1 -1
  312. package/lib/cjs/render/webgl/BranchState.js +2 -0
  313. package/lib/cjs/render/webgl/BranchState.js.map +1 -1
  314. package/lib/cjs/render/webgl/CachedGeometry.d.ts +1 -1
  315. package/lib/cjs/render/webgl/CachedGeometry.d.ts.map +1 -1
  316. package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
  317. package/lib/cjs/render/webgl/ColorInfo.d.ts +1 -1
  318. package/lib/cjs/render/webgl/ColorInfo.d.ts.map +1 -1
  319. package/lib/cjs/render/webgl/ColorInfo.js.map +1 -1
  320. package/lib/cjs/render/webgl/EdgeGeometry.d.ts +2 -2
  321. package/lib/cjs/render/webgl/EdgeGeometry.d.ts.map +1 -1
  322. package/lib/cjs/render/webgl/EdgeGeometry.js.map +1 -1
  323. package/lib/cjs/render/webgl/FeatureOverrides.js +1 -1
  324. package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
  325. package/lib/cjs/render/webgl/Graphic.d.ts +7 -1
  326. package/lib/cjs/render/webgl/Graphic.d.ts.map +1 -1
  327. package/lib/cjs/render/webgl/Graphic.js +7 -2
  328. package/lib/cjs/render/webgl/Graphic.js.map +1 -1
  329. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts +1 -1
  330. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -1
  331. package/lib/cjs/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  332. package/lib/cjs/render/webgl/Material.d.ts +1 -1
  333. package/lib/cjs/render/webgl/Material.d.ts.map +1 -1
  334. package/lib/cjs/render/webgl/Material.js.map +1 -1
  335. package/lib/cjs/render/webgl/Mesh.d.ts +2 -2
  336. package/lib/cjs/render/webgl/Mesh.d.ts.map +1 -1
  337. package/lib/cjs/render/webgl/Mesh.js +1 -1
  338. package/lib/cjs/render/webgl/Mesh.js.map +1 -1
  339. package/lib/cjs/render/webgl/MeshData.d.ts +2 -2
  340. package/lib/cjs/render/webgl/MeshData.d.ts.map +1 -1
  341. package/lib/cjs/render/webgl/MeshData.js.map +1 -1
  342. package/lib/cjs/render/webgl/MeshGeometry.d.ts +1 -1
  343. package/lib/cjs/render/webgl/MeshGeometry.d.ts.map +1 -1
  344. package/lib/cjs/render/webgl/PointString.d.ts +1 -1
  345. package/lib/cjs/render/webgl/PointString.d.ts.map +1 -1
  346. package/lib/cjs/render/webgl/PointString.js.map +1 -1
  347. package/lib/cjs/render/webgl/Polyline.d.ts +1 -1
  348. package/lib/cjs/render/webgl/Polyline.d.ts.map +1 -1
  349. package/lib/cjs/render/webgl/Polyline.js.map +1 -1
  350. package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
  351. package/lib/cjs/render/webgl/RenderCommands.js +1 -1
  352. package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
  353. package/lib/cjs/render/webgl/SceneCompositor.d.ts +2 -1
  354. package/lib/cjs/render/webgl/SceneCompositor.d.ts.map +1 -1
  355. package/lib/cjs/render/webgl/SceneCompositor.js +5 -2
  356. package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
  357. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts +1 -1
  358. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts.map +1 -1
  359. package/lib/cjs/render/webgl/SurfaceGeometry.js +1 -1
  360. package/lib/cjs/render/webgl/SurfaceGeometry.js.map +1 -1
  361. package/lib/cjs/render/webgl/System.d.ts +7 -6
  362. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  363. package/lib/cjs/render/webgl/System.js +1 -1
  364. package/lib/cjs/render/webgl/System.js.map +1 -1
  365. package/lib/cjs/render/webgl/Target.d.ts +1 -1
  366. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  367. package/lib/cjs/render/webgl/Target.js +14 -12
  368. package/lib/cjs/render/webgl/Target.js.map +1 -1
  369. package/lib/cjs/render/webgl/Texture.d.ts +1 -1
  370. package/lib/cjs/render/webgl/Texture.d.ts.map +1 -1
  371. package/lib/cjs/render/webgl/Texture.js +1 -1
  372. package/lib/cjs/render/webgl/Texture.js.map +1 -1
  373. package/lib/cjs/render/webgl/UniformHandle.js +1 -1
  374. package/lib/cjs/render/webgl/UniformHandle.js.map +1 -1
  375. package/lib/cjs/render/webgl/VertexLUT.d.ts +2 -2
  376. package/lib/cjs/render/webgl/VertexLUT.d.ts.map +1 -1
  377. package/lib/cjs/render/webgl/VertexLUT.js.map +1 -1
  378. package/lib/cjs/render/webgl/glsl/Animation.js.map +1 -1
  379. package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  380. package/lib/cjs/render/webgl/glsl/RealityMesh.js +32 -19
  381. package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
  382. package/lib/cjs/tile/B3dmReader.d.ts +1 -1
  383. package/lib/cjs/tile/B3dmReader.d.ts.map +1 -1
  384. package/lib/cjs/tile/B3dmReader.js +1 -1
  385. package/lib/cjs/tile/B3dmReader.js.map +1 -1
  386. package/lib/cjs/tile/DynamicIModelTile.js +1 -1
  387. package/lib/cjs/tile/DynamicIModelTile.js.map +1 -1
  388. package/lib/cjs/tile/FetchCloudStorage.d.ts +15 -0
  389. package/lib/cjs/tile/FetchCloudStorage.d.ts.map +1 -0
  390. package/lib/cjs/tile/FetchCloudStorage.js +35 -0
  391. package/lib/cjs/tile/FetchCloudStorage.js.map +1 -0
  392. package/lib/cjs/tile/GltfReader.d.ts +3 -3
  393. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  394. package/lib/cjs/tile/GltfReader.js +15 -22
  395. package/lib/cjs/tile/GltfReader.js.map +1 -1
  396. package/lib/cjs/tile/IModelTile.d.ts.map +1 -1
  397. package/lib/cjs/tile/IModelTile.js +11 -17
  398. package/lib/cjs/tile/IModelTile.js.map +1 -1
  399. package/lib/cjs/tile/IModelTileTree.d.ts +4 -1
  400. package/lib/cjs/tile/IModelTileTree.d.ts.map +1 -1
  401. package/lib/cjs/tile/IModelTileTree.js +15 -0
  402. package/lib/cjs/tile/IModelTileTree.js.map +1 -1
  403. package/lib/cjs/tile/ImdlDecoder.d.ts +52 -0
  404. package/lib/cjs/tile/ImdlDecoder.d.ts.map +1 -0
  405. package/lib/cjs/tile/ImdlDecoder.js +35 -0
  406. package/lib/cjs/tile/ImdlDecoder.js.map +1 -0
  407. package/lib/cjs/tile/ImdlGraphicsCreator.d.ts +19 -0
  408. package/lib/cjs/tile/ImdlGraphicsCreator.d.ts.map +1 -0
  409. package/lib/cjs/tile/ImdlGraphicsCreator.js +328 -0
  410. package/lib/cjs/tile/ImdlGraphicsCreator.js.map +1 -0
  411. package/lib/cjs/tile/ImdlParser.d.ts +26 -0
  412. package/lib/cjs/tile/ImdlParser.d.ts.map +1 -0
  413. package/lib/cjs/tile/ImdlParser.js +72 -0
  414. package/lib/cjs/tile/ImdlParser.js.map +1 -0
  415. package/lib/cjs/tile/ImdlReader.d.ts +16 -420
  416. package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
  417. package/lib/cjs/tile/ImdlReader.js +69 -902
  418. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  419. package/lib/cjs/tile/OPCFormatInterpreter.js +1 -1
  420. package/lib/cjs/tile/OPCFormatInterpreter.js.map +1 -1
  421. package/lib/cjs/tile/PntsReader.js +1 -1
  422. package/lib/cjs/tile/PntsReader.js.map +1 -1
  423. package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
  424. package/lib/cjs/tile/PrimaryTileTree.js +2 -1
  425. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  426. package/lib/cjs/tile/RealityTile.d.ts +8 -3
  427. package/lib/cjs/tile/RealityTile.d.ts.map +1 -1
  428. package/lib/cjs/tile/RealityTile.js +4 -1
  429. package/lib/cjs/tile/RealityTile.js.map +1 -1
  430. package/lib/cjs/tile/RealityTileLoader.js +1 -1
  431. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  432. package/lib/cjs/tile/RealityTileTree.js +1 -1
  433. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  434. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js +1 -1
  435. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  436. package/lib/cjs/tile/TileAdmin.d.ts +14 -11
  437. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  438. package/lib/cjs/tile/TileAdmin.js +9 -52
  439. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  440. package/lib/cjs/tile/internal.d.ts +8 -0
  441. package/lib/cjs/tile/internal.d.ts.map +1 -1
  442. package/lib/cjs/tile/internal.js +8 -0
  443. package/lib/cjs/tile/internal.js.map +1 -1
  444. package/lib/cjs/tile/map/ArcGisUtilities.d.ts +8 -1
  445. package/lib/cjs/tile/map/ArcGisUtilities.d.ts.map +1 -1
  446. package/lib/cjs/tile/map/ArcGisUtilities.js +21 -0
  447. package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
  448. package/lib/cjs/tile/map/EllipsoidTerrainProvider.d.ts +6 -4
  449. package/lib/cjs/tile/map/EllipsoidTerrainProvider.d.ts.map +1 -1
  450. package/lib/cjs/tile/map/EllipsoidTerrainProvider.js +6 -4
  451. package/lib/cjs/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  452. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts +2 -0
  453. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts.map +1 -1
  454. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js +4 -2
  455. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  456. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +55 -2
  457. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  458. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +96 -23
  459. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  460. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts +15 -0
  461. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts.map +1 -0
  462. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js +59 -0
  463. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -0
  464. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryRenderer.d.ts +44 -0
  465. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryRenderer.d.ts.map +1 -0
  466. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryRenderer.js +126 -0
  467. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryRenderer.js.map +1 -0
  468. package/lib/cjs/tile/map/ImageryProviders/ArcGisGraphicsRenderer.d.ts +26 -0
  469. package/lib/cjs/tile/map/ImageryProviders/ArcGisGraphicsRenderer.d.ts.map +1 -0
  470. package/lib/cjs/tile/map/ImageryProviders/ArcGisGraphicsRenderer.js +134 -0
  471. package/lib/cjs/tile/map/ImageryProviders/ArcGisGraphicsRenderer.js.map +1 -0
  472. package/lib/cjs/tile/map/ImageryProviders/WebMercator.d.ts +6 -0
  473. package/lib/cjs/tile/map/ImageryProviders/WebMercator.d.ts.map +1 -0
  474. package/lib/cjs/tile/map/ImageryProviders/WebMercator.js +22 -0
  475. package/lib/cjs/tile/map/ImageryProviders/WebMercator.js.map +1 -0
  476. package/lib/cjs/tile/map/ImageryTileTree.d.ts +2 -1
  477. package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
  478. package/lib/cjs/tile/map/ImageryTileTree.js +16 -9
  479. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  480. package/lib/cjs/tile/map/MapFeatureInfo.d.ts +67 -7
  481. package/lib/cjs/tile/map/MapFeatureInfo.d.ts.map +1 -1
  482. package/lib/cjs/tile/map/MapFeatureInfo.js +16 -2
  483. package/lib/cjs/tile/map/MapFeatureInfo.js.map +1 -1
  484. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  485. package/lib/cjs/tile/map/MapLayerImageryFormats.js +3 -0
  486. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  487. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +4 -1
  488. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  489. package/lib/cjs/tile/map/MapLayerImageryProvider.js +3 -1
  490. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  491. package/lib/cjs/tile/map/MapLayerSources.d.ts +4 -1
  492. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  493. package/lib/cjs/tile/map/MapLayerSources.js +3 -0
  494. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  495. package/lib/cjs/tile/map/MapTile.d.ts +6 -1
  496. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  497. package/lib/cjs/tile/map/MapTile.js +17 -8
  498. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  499. package/lib/cjs/tile/map/MapTileLoader.d.ts.map +1 -1
  500. package/lib/cjs/tile/map/MapTileLoader.js +1 -15
  501. package/lib/cjs/tile/map/MapTileLoader.js.map +1 -1
  502. package/lib/cjs/tile/map/MapTileTree.d.ts +12 -3
  503. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  504. package/lib/cjs/tile/map/MapTileTree.js +41 -22
  505. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  506. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts +2 -3
  507. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  508. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +3 -4
  509. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  510. package/lib/cjs/tile/map/MapTilingScheme.d.ts +4 -4
  511. package/lib/cjs/tile/map/MapTilingScheme.d.ts.map +1 -1
  512. package/lib/cjs/tile/map/MapTilingScheme.js +4 -4
  513. package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
  514. package/lib/cjs/tools/ElementSetTool.js +1 -1
  515. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  516. package/lib/cjs/tools/SelectTool.js +1 -1
  517. package/lib/cjs/tools/SelectTool.js.map +1 -1
  518. package/lib/cjs/tools/ToolAdmin.d.ts +8 -6
  519. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  520. package/lib/cjs/tools/ToolAdmin.js +9 -7
  521. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  522. package/lib/cjs/tools/ToolAssistance.d.ts +18 -0
  523. package/lib/cjs/tools/ToolAssistance.d.ts.map +1 -1
  524. package/lib/cjs/tools/ToolAssistance.js +8 -0
  525. package/lib/cjs/tools/ToolAssistance.js.map +1 -1
  526. package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
  527. package/lib/cjs/tools/ViewTool.js +3 -2
  528. package/lib/cjs/tools/ViewTool.js.map +1 -1
  529. package/lib/cjs/workers/ImdlParser/Worker.d.ts +20 -0
  530. package/lib/cjs/workers/ImdlParser/Worker.d.ts.map +1 -0
  531. package/lib/cjs/workers/ImdlParser/Worker.js +32 -0
  532. package/lib/cjs/workers/ImdlParser/Worker.js.map +1 -0
  533. package/lib/cjs/workers/ImdlParser/webpack.config.js +40 -0
  534. package/lib/cjs/workers/RegisterWorker.d.ts +9 -0
  535. package/lib/cjs/workers/RegisterWorker.d.ts.map +1 -0
  536. package/lib/cjs/workers/RegisterWorker.js +36 -0
  537. package/lib/cjs/workers/RegisterWorker.js.map +1 -0
  538. package/lib/esm/AccuDraw.d.ts +3 -4
  539. package/lib/esm/AccuDraw.d.ts.map +1 -1
  540. package/lib/esm/AccuDraw.js +6 -7
  541. package/lib/esm/AccuDraw.js.map +1 -1
  542. package/lib/esm/AccuSnap.d.ts +7 -1
  543. package/lib/esm/AccuSnap.d.ts.map +1 -1
  544. package/lib/esm/AccuSnap.js +24 -6
  545. package/lib/esm/AccuSnap.js.map +1 -1
  546. package/lib/esm/BackgroundMapGeometry.d.ts +3 -2
  547. package/lib/esm/BackgroundMapGeometry.d.ts.map +1 -1
  548. package/lib/esm/BackgroundMapGeometry.js +47 -7
  549. package/lib/esm/BackgroundMapGeometry.js.map +1 -1
  550. package/lib/esm/BriefcaseConnection.d.ts +3 -3
  551. package/lib/esm/BriefcaseConnection.js +3 -3
  552. package/lib/esm/BriefcaseConnection.js.map +1 -1
  553. package/lib/esm/BriefcaseTxns.d.ts +2 -2
  554. package/lib/esm/BriefcaseTxns.d.ts.map +1 -1
  555. package/lib/esm/BriefcaseTxns.js +3 -3
  556. package/lib/esm/BriefcaseTxns.js.map +1 -1
  557. package/lib/esm/ChangeFlags.d.ts +25 -12
  558. package/lib/esm/ChangeFlags.d.ts.map +1 -1
  559. package/lib/esm/ChangeFlags.js +24 -11
  560. package/lib/esm/ChangeFlags.js.map +1 -1
  561. package/lib/esm/CheckpointConnection.js +1 -1
  562. package/lib/esm/CheckpointConnection.js.map +1 -1
  563. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  564. package/lib/esm/DisplayStyleState.js +2 -1
  565. package/lib/esm/DisplayStyleState.js.map +1 -1
  566. package/lib/esm/DrawingViewState.d.ts +2 -2
  567. package/lib/esm/DrawingViewState.d.ts.map +1 -1
  568. package/lib/esm/DrawingViewState.js +3 -3
  569. package/lib/esm/DrawingViewState.js.map +1 -1
  570. package/lib/esm/ElementLocateManager.d.ts +0 -1
  571. package/lib/esm/ElementLocateManager.d.ts.map +1 -1
  572. package/lib/esm/ElementLocateManager.js +12 -20
  573. package/lib/esm/ElementLocateManager.js.map +1 -1
  574. package/lib/esm/EnvironmentDecorations.js +1 -1
  575. package/lib/esm/EnvironmentDecorations.js.map +1 -1
  576. package/lib/esm/GeoServices.d.ts +37 -7
  577. package/lib/esm/GeoServices.d.ts.map +1 -1
  578. package/lib/esm/GeoServices.js +75 -25
  579. package/lib/esm/GeoServices.js.map +1 -1
  580. package/lib/esm/GraphicalEditingScope.d.ts +2 -2
  581. package/lib/esm/GraphicalEditingScope.d.ts.map +1 -1
  582. package/lib/esm/GraphicalEditingScope.js +2 -2
  583. package/lib/esm/GraphicalEditingScope.js.map +1 -1
  584. package/lib/esm/HitDetail.d.ts +100 -29
  585. package/lib/esm/HitDetail.d.ts.map +1 -1
  586. package/lib/esm/HitDetail.js +90 -37
  587. package/lib/esm/HitDetail.js.map +1 -1
  588. package/lib/esm/IModelApp.d.ts +18 -14
  589. package/lib/esm/IModelApp.d.ts.map +1 -1
  590. package/lib/esm/IModelApp.js +17 -13
  591. package/lib/esm/IModelApp.js.map +1 -1
  592. package/lib/esm/IModelConnection.d.ts +64 -19
  593. package/lib/esm/IModelConnection.d.ts.map +1 -1
  594. package/lib/esm/IModelConnection.js +132 -21
  595. package/lib/esm/IModelConnection.js.map +1 -1
  596. package/lib/esm/IpcApp.d.ts +1 -1
  597. package/lib/esm/IpcApp.d.ts.map +1 -1
  598. package/lib/esm/IpcApp.js +5 -5
  599. package/lib/esm/IpcApp.js.map +1 -1
  600. package/lib/esm/LocalhostIpcApp.js +2 -2
  601. package/lib/esm/LocalhostIpcApp.js.map +1 -1
  602. package/lib/esm/Marker.d.ts +1 -1
  603. package/lib/esm/Marker.d.ts.map +1 -1
  604. package/lib/esm/Marker.js +3 -3
  605. package/lib/esm/Marker.js.map +1 -1
  606. package/lib/esm/NativeApp.d.ts.map +1 -1
  607. package/lib/esm/NativeApp.js +5 -5
  608. package/lib/esm/NativeApp.js.map +1 -1
  609. package/lib/esm/NoRenderApp.d.ts +1 -1
  610. package/lib/esm/NoRenderApp.d.ts.map +1 -1
  611. package/lib/esm/NoRenderApp.js +1 -1
  612. package/lib/esm/NoRenderApp.js.map +1 -1
  613. package/lib/esm/RealityDataSource.js +1 -1
  614. package/lib/esm/RealityDataSource.js.map +1 -1
  615. package/lib/esm/RealityDataSourceContextShareImpl.js +1 -1
  616. package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -1
  617. package/lib/esm/SheetViewState.d.ts +9 -7
  618. package/lib/esm/SheetViewState.d.ts.map +1 -1
  619. package/lib/esm/SheetViewState.js +22 -7
  620. package/lib/esm/SheetViewState.js.map +1 -1
  621. package/lib/esm/SpatialViewState.d.ts +20 -5
  622. package/lib/esm/SpatialViewState.d.ts.map +1 -1
  623. package/lib/esm/SpatialViewState.js +13 -5
  624. package/lib/esm/SpatialViewState.js.map +1 -1
  625. package/lib/esm/Sprites.js +2 -2
  626. package/lib/esm/Sprites.js.map +1 -1
  627. package/lib/esm/TentativePoint.d.ts.map +1 -1
  628. package/lib/esm/TentativePoint.js +10 -1
  629. package/lib/esm/TentativePoint.js.map +1 -1
  630. package/lib/esm/ViewContext.d.ts +19 -0
  631. package/lib/esm/ViewContext.d.ts.map +1 -1
  632. package/lib/esm/ViewContext.js +9 -0
  633. package/lib/esm/ViewContext.js.map +1 -1
  634. package/lib/esm/ViewCreator3d.d.ts +3 -6
  635. package/lib/esm/ViewCreator3d.d.ts.map +1 -1
  636. package/lib/esm/ViewCreator3d.js +14 -35
  637. package/lib/esm/ViewCreator3d.js.map +1 -1
  638. package/lib/esm/ViewGlobalLocation.d.ts.map +1 -1
  639. package/lib/esm/ViewGlobalLocation.js +4 -3
  640. package/lib/esm/ViewGlobalLocation.js.map +1 -1
  641. package/lib/esm/ViewManager.d.ts +4 -2
  642. package/lib/esm/ViewManager.d.ts.map +1 -1
  643. package/lib/esm/ViewManager.js +4 -2
  644. package/lib/esm/ViewManager.js.map +1 -1
  645. package/lib/esm/ViewPose.d.ts +11 -11
  646. package/lib/esm/ViewPose.d.ts.map +1 -1
  647. package/lib/esm/ViewPose.js +17 -11
  648. package/lib/esm/ViewPose.js.map +1 -1
  649. package/lib/esm/ViewState.d.ts +44 -26
  650. package/lib/esm/ViewState.d.ts.map +1 -1
  651. package/lib/esm/ViewState.js +52 -25
  652. package/lib/esm/ViewState.js.map +1 -1
  653. package/lib/esm/ViewingSpace.js +1 -1
  654. package/lib/esm/ViewingSpace.js.map +1 -1
  655. package/lib/esm/Viewport.d.ts +59 -21
  656. package/lib/esm/Viewport.d.ts.map +1 -1
  657. package/lib/esm/Viewport.js +67 -24
  658. package/lib/esm/Viewport.js.map +1 -1
  659. package/lib/esm/ViewportSync.d.ts +2 -2
  660. package/lib/esm/ViewportSync.d.ts.map +1 -1
  661. package/lib/esm/ViewportSync.js +2 -2
  662. package/lib/esm/ViewportSync.js.map +1 -1
  663. package/lib/esm/common/FrontendLoggerCategory.d.ts.map +1 -0
  664. package/lib/esm/common/FrontendLoggerCategory.js.map +1 -0
  665. package/lib/esm/common/ImageUtil.d.ts.map +1 -0
  666. package/lib/esm/{ImageUtil.js → common/ImageUtil.js} +2 -0
  667. package/lib/esm/common/ImageUtil.js.map +1 -0
  668. package/lib/esm/common/ViewRect.d.ts.map +1 -0
  669. package/lib/esm/common/ViewRect.js.map +1 -0
  670. package/lib/esm/common/WorkerProxy.d.ts +73 -0
  671. package/lib/esm/common/WorkerProxy.d.ts.map +1 -0
  672. package/lib/esm/common/WorkerProxy.js +50 -0
  673. package/lib/esm/common/WorkerProxy.js.map +1 -0
  674. package/lib/{cjs → esm/common}/gltf/GltfModel.d.ts +1 -1
  675. package/lib/esm/common/gltf/GltfModel.d.ts.map +1 -0
  676. package/lib/esm/common/gltf/GltfModel.js.map +1 -0
  677. package/lib/esm/common/gltf/GltfParser.d.ts.map +1 -0
  678. package/lib/esm/common/gltf/GltfParser.js.map +1 -0
  679. package/lib/esm/common/gltf/GltfSchema.d.ts.map +1 -0
  680. package/lib/esm/common/gltf/GltfSchema.js.map +1 -0
  681. package/lib/esm/common/imdl/CompactEdges.d.ts +27 -0
  682. package/lib/esm/common/imdl/CompactEdges.d.ts.map +1 -0
  683. package/lib/esm/common/imdl/CompactEdges.js +92 -0
  684. package/lib/esm/common/imdl/CompactEdges.js.map +1 -0
  685. package/lib/esm/common/imdl/ImdlModel.d.ts +186 -0
  686. package/lib/esm/common/imdl/ImdlModel.d.ts.map +1 -0
  687. package/lib/esm/common/imdl/ImdlModel.js +67 -0
  688. package/lib/esm/common/imdl/ImdlModel.js.map +1 -0
  689. package/lib/esm/common/imdl/ImdlSchema.d.ts +412 -0
  690. package/lib/esm/common/imdl/ImdlSchema.d.ts.map +1 -0
  691. package/lib/esm/common/imdl/ImdlSchema.js +20 -0
  692. package/lib/esm/common/imdl/ImdlSchema.js.map +1 -0
  693. package/lib/esm/common/imdl/ParseImdlDocument.d.ts +45 -0
  694. package/lib/esm/common/imdl/ParseImdlDocument.d.ts.map +1 -0
  695. package/lib/esm/common/imdl/ParseImdlDocument.js +1003 -0
  696. package/lib/esm/common/imdl/ParseImdlDocument.js.map +1 -0
  697. package/lib/esm/common/render/AnimationNodeId.d.ts +11 -0
  698. package/lib/esm/common/render/AnimationNodeId.d.ts.map +1 -0
  699. package/lib/esm/common/render/AnimationNodeId.js +16 -0
  700. package/lib/esm/common/render/AnimationNodeId.js.map +1 -0
  701. package/lib/{cjs/render/RenderMaterial.d.ts → esm/common/render/MaterialParams.d.ts} +7 -20
  702. package/lib/esm/common/render/MaterialParams.d.ts.map +1 -0
  703. package/lib/esm/{render/RenderMaterial.js → common/render/MaterialParams.js} +1 -1
  704. package/lib/esm/common/render/MaterialParams.js.map +1 -0
  705. package/lib/esm/common/render/TextureParams.d.ts +30 -0
  706. package/lib/esm/common/render/TextureParams.d.ts.map +1 -0
  707. package/lib/esm/{render/RenderTexture.js → common/render/TextureParams.js} +1 -1
  708. package/lib/esm/common/render/TextureParams.js.map +1 -0
  709. package/lib/{cjs → esm/common}/render/primitives/AuxChannelTable.d.ts +12 -8
  710. package/lib/esm/common/render/primitives/AuxChannelTable.d.ts.map +1 -0
  711. package/lib/esm/{render → common/render}/primitives/AuxChannelTable.js +42 -9
  712. package/lib/esm/common/render/primitives/AuxChannelTable.js.map +1 -0
  713. package/lib/esm/common/render/primitives/DisplayParams.d.ts.map +1 -0
  714. package/lib/esm/common/render/primitives/DisplayParams.js.map +1 -0
  715. package/lib/esm/common/render/primitives/EdgeParams.d.ts +94 -0
  716. package/lib/esm/common/render/primitives/EdgeParams.d.ts.map +1 -0
  717. package/lib/esm/common/render/primitives/EdgeParams.js +42 -0
  718. package/lib/esm/common/render/primitives/EdgeParams.js.map +1 -0
  719. package/lib/esm/common/render/primitives/MeshParams.d.ts +20 -0
  720. package/lib/esm/common/render/primitives/MeshParams.d.ts.map +1 -0
  721. package/lib/esm/common/render/primitives/MeshParams.js +9 -0
  722. package/lib/esm/common/render/primitives/MeshParams.js.map +1 -0
  723. package/lib/esm/common/render/primitives/MeshPrimitive.d.ts +29 -0
  724. package/lib/esm/common/render/primitives/MeshPrimitive.d.ts.map +1 -0
  725. package/lib/esm/common/render/primitives/MeshPrimitive.js +15 -0
  726. package/lib/esm/common/render/primitives/MeshPrimitive.js.map +1 -0
  727. package/lib/esm/common/render/primitives/PointStringParams.d.ts +14 -0
  728. package/lib/esm/common/render/primitives/PointStringParams.d.ts.map +1 -0
  729. package/lib/esm/common/render/primitives/PointStringParams.js +9 -0
  730. package/lib/esm/common/render/primitives/PointStringParams.js.map +1 -0
  731. package/lib/esm/common/render/primitives/PolylineParams.d.ts +29 -0
  732. package/lib/esm/common/render/primitives/PolylineParams.d.ts.map +1 -0
  733. package/lib/esm/common/render/primitives/PolylineParams.js +9 -0
  734. package/lib/esm/common/render/primitives/PolylineParams.js.map +1 -0
  735. package/lib/{cjs → esm/common}/render/primitives/SurfaceParams.d.ts +1 -1
  736. package/lib/esm/common/render/primitives/SurfaceParams.d.ts.map +1 -0
  737. package/lib/esm/common/render/primitives/SurfaceParams.js.map +1 -0
  738. package/lib/esm/common/render/primitives/VertexIndices.d.ts +26 -0
  739. package/lib/esm/common/render/primitives/VertexIndices.d.ts.map +1 -0
  740. package/lib/esm/common/render/primitives/VertexIndices.js +60 -0
  741. package/lib/esm/common/render/primitives/VertexIndices.js.map +1 -0
  742. package/lib/esm/common/render/primitives/VertexTable.d.ts +45 -0
  743. package/lib/esm/common/render/primitives/VertexTable.d.ts.map +1 -0
  744. package/lib/esm/common/render/primitives/VertexTable.js +34 -0
  745. package/lib/esm/common/render/primitives/VertexTable.js.map +1 -0
  746. package/lib/esm/{render → common/render}/primitives/VertexTableSplitter.d.ts +23 -2
  747. package/lib/esm/common/render/primitives/VertexTableSplitter.d.ts.map +1 -0
  748. package/lib/esm/{render → common/render}/primitives/VertexTableSplitter.js +44 -33
  749. package/lib/esm/common/render/primitives/VertexTableSplitter.js.map +1 -0
  750. package/lib/esm/core-frontend.d.ts +45 -8
  751. package/lib/esm/core-frontend.d.ts.map +1 -1
  752. package/lib/esm/core-frontend.js +45 -8
  753. package/lib/esm/core-frontend.js.map +1 -1
  754. package/lib/esm/extension/ExtensionAdmin.js +1 -1
  755. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  756. package/lib/esm/quantity-formatting/QuantityFormatter.js +1 -1
  757. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  758. package/lib/esm/render/CreateRenderMaterialArgs.d.ts +24 -0
  759. package/lib/esm/render/CreateRenderMaterialArgs.d.ts.map +1 -0
  760. package/lib/esm/render/CreateRenderMaterialArgs.js +9 -0
  761. package/lib/esm/render/CreateRenderMaterialArgs.js.map +1 -0
  762. package/lib/{cjs/render/RenderTexture.d.ts → esm/render/CreateTextureArgs.d.ts} +4 -28
  763. package/lib/esm/render/CreateTextureArgs.d.ts.map +1 -0
  764. package/lib/esm/render/CreateTextureArgs.js +9 -0
  765. package/lib/esm/render/CreateTextureArgs.js.map +1 -0
  766. package/lib/esm/render/GraphicBranch.d.ts +5 -7
  767. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  768. package/lib/esm/render/GraphicBranch.js +0 -8
  769. package/lib/esm/render/GraphicBranch.js.map +1 -1
  770. package/lib/esm/render/InstancedGraphicParams.d.ts +3 -4
  771. package/lib/esm/render/InstancedGraphicParams.d.ts.map +1 -1
  772. package/lib/esm/render/InstancedGraphicParams.js.map +1 -1
  773. package/lib/esm/render/MockRender.d.ts +4 -4
  774. package/lib/esm/render/MockRender.d.ts.map +1 -1
  775. package/lib/esm/render/MockRender.js +1 -1
  776. package/lib/esm/render/MockRender.js.map +1 -1
  777. package/lib/esm/render/ParticleCollectionBuilder.d.ts.map +1 -1
  778. package/lib/esm/render/ParticleCollectionBuilder.js +5 -5
  779. package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
  780. package/lib/esm/render/Pixel.d.ts +57 -0
  781. package/lib/esm/render/Pixel.d.ts.map +1 -1
  782. package/lib/esm/render/Pixel.js +41 -0
  783. package/lib/esm/render/Pixel.js.map +1 -1
  784. package/lib/esm/render/RealityMeshParams.js +2 -2
  785. package/lib/esm/render/RealityMeshParams.js.map +1 -1
  786. package/lib/esm/render/RenderSystem.d.ts +24 -10
  787. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  788. package/lib/esm/render/RenderSystem.js +8 -9
  789. package/lib/esm/render/RenderSystem.js.map +1 -1
  790. package/lib/esm/render/RenderTarget.d.ts +1 -1
  791. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  792. package/lib/esm/render/RenderTarget.js.map +1 -1
  793. package/lib/esm/render/VisibleFeature.d.ts +1 -1
  794. package/lib/esm/render/VisibleFeature.d.ts.map +1 -1
  795. package/lib/esm/render/VisibleFeature.js.map +1 -1
  796. package/lib/esm/render/primitives/EdgeParams.d.ts +2 -89
  797. package/lib/esm/render/primitives/EdgeParams.d.ts.map +1 -1
  798. package/lib/esm/render/primitives/EdgeParams.js +38 -74
  799. package/lib/esm/render/primitives/EdgeParams.js.map +1 -1
  800. package/lib/esm/render/primitives/PointCloudPrimitive.d.ts +1 -0
  801. package/lib/esm/render/primitives/PointCloudPrimitive.d.ts.map +1 -1
  802. package/lib/esm/render/primitives/PointCloudPrimitive.js.map +1 -1
  803. package/lib/esm/render/primitives/PointStringParams.d.ts +3 -11
  804. package/lib/esm/render/primitives/PointStringParams.d.ts.map +1 -1
  805. package/lib/esm/render/primitives/PointStringParams.js +25 -28
  806. package/lib/esm/render/primitives/PointStringParams.js.map +1 -1
  807. package/lib/esm/render/primitives/Polyface.d.ts +1 -1
  808. package/lib/esm/render/primitives/Polyface.d.ts.map +1 -1
  809. package/lib/esm/render/primitives/Polyface.js.map +1 -1
  810. package/lib/esm/render/primitives/PolylineParams.d.ts +8 -37
  811. package/lib/esm/render/primitives/PolylineParams.d.ts.map +1 -1
  812. package/lib/esm/render/primitives/PolylineParams.js +34 -43
  813. package/lib/esm/render/primitives/PolylineParams.js.map +1 -1
  814. package/lib/esm/render/primitives/Strokes.d.ts +1 -1
  815. package/lib/esm/render/primitives/Strokes.d.ts.map +1 -1
  816. package/lib/esm/render/primitives/Strokes.js.map +1 -1
  817. package/lib/esm/render/primitives/VertexTableBuilder.d.ts +31 -0
  818. package/lib/esm/render/primitives/VertexTableBuilder.d.ts.map +1 -0
  819. package/lib/esm/render/primitives/{VertexTable.js → VertexTableBuilder.js} +62 -170
  820. package/lib/esm/render/primitives/VertexTableBuilder.js.map +1 -0
  821. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts +1 -1
  822. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  823. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  824. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts +1 -1
  825. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  826. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js +1 -1
  827. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  828. package/lib/esm/render/primitives/geometry/GeometryPrimitives.d.ts +1 -1
  829. package/lib/esm/render/primitives/geometry/GeometryPrimitives.d.ts.map +1 -1
  830. package/lib/esm/render/primitives/geometry/GeometryPrimitives.js +1 -1
  831. package/lib/esm/render/primitives/geometry/GeometryPrimitives.js.map +1 -1
  832. package/lib/esm/render/primitives/mesh/MeshBuilder.d.ts +2 -1
  833. package/lib/esm/render/primitives/mesh/MeshBuilder.d.ts.map +1 -1
  834. package/lib/esm/render/primitives/mesh/MeshBuilder.js +5 -2
  835. package/lib/esm/render/primitives/mesh/MeshBuilder.js.map +1 -1
  836. package/lib/esm/render/primitives/mesh/MeshBuilderMap.d.ts +6 -5
  837. package/lib/esm/render/primitives/mesh/MeshBuilderMap.d.ts.map +1 -1
  838. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js +8 -5
  839. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  840. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts +58 -31
  841. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  842. package/lib/esm/render/primitives/mesh/MeshPrimitives.js +26 -30
  843. package/lib/esm/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  844. package/lib/esm/render/webgl/BatchState.js +1 -1
  845. package/lib/esm/render/webgl/BatchState.js.map +1 -1
  846. package/lib/esm/render/webgl/BranchState.d.ts +3 -0
  847. package/lib/esm/render/webgl/BranchState.d.ts.map +1 -1
  848. package/lib/esm/render/webgl/BranchState.js +2 -0
  849. package/lib/esm/render/webgl/BranchState.js.map +1 -1
  850. package/lib/esm/render/webgl/CachedGeometry.d.ts +1 -1
  851. package/lib/esm/render/webgl/CachedGeometry.d.ts.map +1 -1
  852. package/lib/esm/render/webgl/CachedGeometry.js.map +1 -1
  853. package/lib/esm/render/webgl/ColorInfo.d.ts +1 -1
  854. package/lib/esm/render/webgl/ColorInfo.d.ts.map +1 -1
  855. package/lib/esm/render/webgl/ColorInfo.js.map +1 -1
  856. package/lib/esm/render/webgl/EdgeGeometry.d.ts +2 -2
  857. package/lib/esm/render/webgl/EdgeGeometry.d.ts.map +1 -1
  858. package/lib/esm/render/webgl/EdgeGeometry.js.map +1 -1
  859. package/lib/esm/render/webgl/FeatureOverrides.js +1 -1
  860. package/lib/esm/render/webgl/FeatureOverrides.js.map +1 -1
  861. package/lib/esm/render/webgl/Graphic.d.ts +7 -1
  862. package/lib/esm/render/webgl/Graphic.d.ts.map +1 -1
  863. package/lib/esm/render/webgl/Graphic.js +7 -2
  864. package/lib/esm/render/webgl/Graphic.js.map +1 -1
  865. package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts +1 -1
  866. package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -1
  867. package/lib/esm/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  868. package/lib/esm/render/webgl/Material.d.ts +1 -1
  869. package/lib/esm/render/webgl/Material.d.ts.map +1 -1
  870. package/lib/esm/render/webgl/Material.js.map +1 -1
  871. package/lib/esm/render/webgl/Mesh.d.ts +2 -2
  872. package/lib/esm/render/webgl/Mesh.d.ts.map +1 -1
  873. package/lib/esm/render/webgl/Mesh.js +1 -1
  874. package/lib/esm/render/webgl/Mesh.js.map +1 -1
  875. package/lib/esm/render/webgl/MeshData.d.ts +2 -2
  876. package/lib/esm/render/webgl/MeshData.d.ts.map +1 -1
  877. package/lib/esm/render/webgl/MeshData.js.map +1 -1
  878. package/lib/esm/render/webgl/MeshGeometry.d.ts +1 -1
  879. package/lib/esm/render/webgl/MeshGeometry.d.ts.map +1 -1
  880. package/lib/esm/render/webgl/PointString.d.ts +1 -1
  881. package/lib/esm/render/webgl/PointString.d.ts.map +1 -1
  882. package/lib/esm/render/webgl/PointString.js.map +1 -1
  883. package/lib/esm/render/webgl/Polyline.d.ts +1 -1
  884. package/lib/esm/render/webgl/Polyline.d.ts.map +1 -1
  885. package/lib/esm/render/webgl/Polyline.js.map +1 -1
  886. package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
  887. package/lib/esm/render/webgl/RenderCommands.js +1 -1
  888. package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
  889. package/lib/esm/render/webgl/SceneCompositor.d.ts +2 -1
  890. package/lib/esm/render/webgl/SceneCompositor.d.ts.map +1 -1
  891. package/lib/esm/render/webgl/SceneCompositor.js +5 -2
  892. package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
  893. package/lib/esm/render/webgl/SurfaceGeometry.d.ts +1 -1
  894. package/lib/esm/render/webgl/SurfaceGeometry.d.ts.map +1 -1
  895. package/lib/esm/render/webgl/SurfaceGeometry.js +1 -1
  896. package/lib/esm/render/webgl/SurfaceGeometry.js.map +1 -1
  897. package/lib/esm/render/webgl/System.d.ts +7 -6
  898. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  899. package/lib/esm/render/webgl/System.js +1 -1
  900. package/lib/esm/render/webgl/System.js.map +1 -1
  901. package/lib/esm/render/webgl/Target.d.ts +1 -1
  902. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  903. package/lib/esm/render/webgl/Target.js +13 -11
  904. package/lib/esm/render/webgl/Target.js.map +1 -1
  905. package/lib/esm/render/webgl/Texture.d.ts +1 -1
  906. package/lib/esm/render/webgl/Texture.d.ts.map +1 -1
  907. package/lib/esm/render/webgl/Texture.js +1 -1
  908. package/lib/esm/render/webgl/Texture.js.map +1 -1
  909. package/lib/esm/render/webgl/UniformHandle.js +1 -1
  910. package/lib/esm/render/webgl/UniformHandle.js.map +1 -1
  911. package/lib/esm/render/webgl/VertexLUT.d.ts +2 -2
  912. package/lib/esm/render/webgl/VertexLUT.d.ts.map +1 -1
  913. package/lib/esm/render/webgl/VertexLUT.js.map +1 -1
  914. package/lib/esm/render/webgl/glsl/Animation.js.map +1 -1
  915. package/lib/esm/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  916. package/lib/esm/render/webgl/glsl/RealityMesh.js +32 -19
  917. package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
  918. package/lib/esm/tile/B3dmReader.d.ts +1 -1
  919. package/lib/esm/tile/B3dmReader.d.ts.map +1 -1
  920. package/lib/esm/tile/B3dmReader.js +1 -1
  921. package/lib/esm/tile/B3dmReader.js.map +1 -1
  922. package/lib/esm/tile/DynamicIModelTile.js +1 -1
  923. package/lib/esm/tile/DynamicIModelTile.js.map +1 -1
  924. package/lib/esm/tile/FetchCloudStorage.d.ts +15 -0
  925. package/lib/esm/tile/FetchCloudStorage.d.ts.map +1 -0
  926. package/lib/esm/tile/FetchCloudStorage.js +31 -0
  927. package/lib/esm/tile/FetchCloudStorage.js.map +1 -0
  928. package/lib/esm/tile/GltfReader.d.ts +3 -3
  929. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  930. package/lib/esm/tile/GltfReader.js +15 -22
  931. package/lib/esm/tile/GltfReader.js.map +1 -1
  932. package/lib/esm/tile/IModelTile.d.ts.map +1 -1
  933. package/lib/esm/tile/IModelTile.js +12 -18
  934. package/lib/esm/tile/IModelTile.js.map +1 -1
  935. package/lib/esm/tile/IModelTileTree.d.ts +4 -1
  936. package/lib/esm/tile/IModelTileTree.d.ts.map +1 -1
  937. package/lib/esm/tile/IModelTileTree.js +16 -1
  938. package/lib/esm/tile/IModelTileTree.js.map +1 -1
  939. package/lib/esm/tile/ImdlDecoder.d.ts +52 -0
  940. package/lib/esm/tile/ImdlDecoder.d.ts.map +1 -0
  941. package/lib/esm/tile/ImdlDecoder.js +31 -0
  942. package/lib/esm/tile/ImdlDecoder.js.map +1 -0
  943. package/lib/esm/tile/ImdlGraphicsCreator.d.ts +19 -0
  944. package/lib/esm/tile/ImdlGraphicsCreator.d.ts.map +1 -0
  945. package/lib/esm/tile/ImdlGraphicsCreator.js +324 -0
  946. package/lib/esm/tile/ImdlGraphicsCreator.js.map +1 -0
  947. package/lib/esm/tile/ImdlParser.d.ts +26 -0
  948. package/lib/esm/tile/ImdlParser.d.ts.map +1 -0
  949. package/lib/esm/tile/ImdlParser.js +68 -0
  950. package/lib/esm/tile/ImdlParser.js.map +1 -0
  951. package/lib/esm/tile/ImdlReader.d.ts +16 -420
  952. package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
  953. package/lib/esm/tile/ImdlReader.js +71 -903
  954. package/lib/esm/tile/ImdlReader.js.map +1 -1
  955. package/lib/esm/tile/OPCFormatInterpreter.js +1 -1
  956. package/lib/esm/tile/OPCFormatInterpreter.js.map +1 -1
  957. package/lib/esm/tile/PntsReader.js +1 -1
  958. package/lib/esm/tile/PntsReader.js.map +1 -1
  959. package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
  960. package/lib/esm/tile/PrimaryTileTree.js +2 -1
  961. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  962. package/lib/esm/tile/RealityTile.d.ts +8 -3
  963. package/lib/esm/tile/RealityTile.d.ts.map +1 -1
  964. package/lib/esm/tile/RealityTile.js +4 -1
  965. package/lib/esm/tile/RealityTile.js.map +1 -1
  966. package/lib/esm/tile/RealityTileLoader.js +1 -1
  967. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  968. package/lib/esm/tile/RealityTileTree.js +1 -1
  969. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  970. package/lib/esm/tile/ThreeDTileFormatInterpreter.js +1 -1
  971. package/lib/esm/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  972. package/lib/esm/tile/TileAdmin.d.ts +14 -11
  973. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  974. package/lib/esm/tile/TileAdmin.js +10 -30
  975. package/lib/esm/tile/TileAdmin.js.map +1 -1
  976. package/lib/esm/tile/internal.d.ts +8 -0
  977. package/lib/esm/tile/internal.d.ts.map +1 -1
  978. package/lib/esm/tile/internal.js +8 -0
  979. package/lib/esm/tile/internal.js.map +1 -1
  980. package/lib/esm/tile/map/ArcGisUtilities.d.ts +8 -1
  981. package/lib/esm/tile/map/ArcGisUtilities.d.ts.map +1 -1
  982. package/lib/esm/tile/map/ArcGisUtilities.js +21 -0
  983. package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
  984. package/lib/esm/tile/map/EllipsoidTerrainProvider.d.ts +6 -4
  985. package/lib/esm/tile/map/EllipsoidTerrainProvider.d.ts.map +1 -1
  986. package/lib/esm/tile/map/EllipsoidTerrainProvider.js +6 -4
  987. package/lib/esm/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  988. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts +2 -0
  989. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts.map +1 -1
  990. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js +4 -2
  991. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  992. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +55 -2
  993. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  994. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +96 -24
  995. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  996. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts +15 -0
  997. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts.map +1 -0
  998. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js +55 -0
  999. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -0
  1000. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryRenderer.d.ts +44 -0
  1001. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryRenderer.d.ts.map +1 -0
  1002. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryRenderer.js +122 -0
  1003. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryRenderer.js.map +1 -0
  1004. package/lib/esm/tile/map/ImageryProviders/ArcGisGraphicsRenderer.d.ts +26 -0
  1005. package/lib/esm/tile/map/ImageryProviders/ArcGisGraphicsRenderer.d.ts.map +1 -0
  1006. package/lib/esm/tile/map/ImageryProviders/ArcGisGraphicsRenderer.js +130 -0
  1007. package/lib/esm/tile/map/ImageryProviders/ArcGisGraphicsRenderer.js.map +1 -0
  1008. package/lib/esm/tile/map/ImageryProviders/WebMercator.d.ts +6 -0
  1009. package/lib/esm/tile/map/ImageryProviders/WebMercator.d.ts.map +1 -0
  1010. package/lib/esm/tile/map/ImageryProviders/WebMercator.js +18 -0
  1011. package/lib/esm/tile/map/ImageryProviders/WebMercator.js.map +1 -0
  1012. package/lib/esm/tile/map/ImageryTileTree.d.ts +2 -1
  1013. package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
  1014. package/lib/esm/tile/map/ImageryTileTree.js +16 -9
  1015. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  1016. package/lib/esm/tile/map/MapFeatureInfo.d.ts +67 -7
  1017. package/lib/esm/tile/map/MapFeatureInfo.d.ts.map +1 -1
  1018. package/lib/esm/tile/map/MapFeatureInfo.js +14 -1
  1019. package/lib/esm/tile/map/MapFeatureInfo.js.map +1 -1
  1020. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  1021. package/lib/esm/tile/map/MapLayerImageryFormats.js +3 -0
  1022. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  1023. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +4 -1
  1024. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  1025. package/lib/esm/tile/map/MapLayerImageryProvider.js +3 -1
  1026. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  1027. package/lib/esm/tile/map/MapLayerSources.d.ts +4 -1
  1028. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  1029. package/lib/esm/tile/map/MapLayerSources.js +3 -0
  1030. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  1031. package/lib/esm/tile/map/MapTile.d.ts +6 -1
  1032. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  1033. package/lib/esm/tile/map/MapTile.js +17 -8
  1034. package/lib/esm/tile/map/MapTile.js.map +1 -1
  1035. package/lib/esm/tile/map/MapTileLoader.d.ts.map +1 -1
  1036. package/lib/esm/tile/map/MapTileLoader.js +1 -15
  1037. package/lib/esm/tile/map/MapTileLoader.js.map +1 -1
  1038. package/lib/esm/tile/map/MapTileTree.d.ts +12 -3
  1039. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  1040. package/lib/esm/tile/map/MapTileTree.js +42 -23
  1041. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  1042. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts +2 -3
  1043. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  1044. package/lib/esm/tile/map/MapTiledGraphicsProvider.js +3 -4
  1045. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  1046. package/lib/esm/tile/map/MapTilingScheme.d.ts +4 -4
  1047. package/lib/esm/tile/map/MapTilingScheme.d.ts.map +1 -1
  1048. package/lib/esm/tile/map/MapTilingScheme.js +4 -4
  1049. package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
  1050. package/lib/esm/tools/ElementSetTool.js +1 -1
  1051. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  1052. package/lib/esm/tools/SelectTool.js +1 -1
  1053. package/lib/esm/tools/SelectTool.js.map +1 -1
  1054. package/lib/esm/tools/ToolAdmin.d.ts +8 -6
  1055. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  1056. package/lib/esm/tools/ToolAdmin.js +9 -7
  1057. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  1058. package/lib/esm/tools/ToolAssistance.d.ts +18 -0
  1059. package/lib/esm/tools/ToolAssistance.d.ts.map +1 -1
  1060. package/lib/esm/tools/ToolAssistance.js +8 -0
  1061. package/lib/esm/tools/ToolAssistance.js.map +1 -1
  1062. package/lib/esm/tools/ViewTool.d.ts.map +1 -1
  1063. package/lib/esm/tools/ViewTool.js +3 -2
  1064. package/lib/esm/tools/ViewTool.js.map +1 -1
  1065. package/lib/esm/workers/ImdlParser/Worker.d.ts +20 -0
  1066. package/lib/esm/workers/ImdlParser/Worker.d.ts.map +1 -0
  1067. package/lib/esm/workers/ImdlParser/Worker.js +30 -0
  1068. package/lib/esm/workers/ImdlParser/Worker.js.map +1 -0
  1069. package/lib/esm/workers/ImdlParser/webpack.config.js +40 -0
  1070. package/lib/esm/workers/RegisterWorker.d.ts +9 -0
  1071. package/lib/esm/workers/RegisterWorker.d.ts.map +1 -0
  1072. package/lib/esm/workers/RegisterWorker.js +32 -0
  1073. package/lib/esm/workers/RegisterWorker.js.map +1 -0
  1074. package/lib/public/scripts/parse-imdl-worker.js +1 -0
  1075. package/lib/workers/webpack/parse-imdl-worker.js +1 -0
  1076. package/package.json +30 -29
  1077. package/lib/cjs/FrontendLoggerCategory.d.ts.map +0 -1
  1078. package/lib/cjs/FrontendLoggerCategory.js.map +0 -1
  1079. package/lib/cjs/ImageUtil.d.ts.map +0 -1
  1080. package/lib/cjs/ImageUtil.js.map +0 -1
  1081. package/lib/cjs/ViewRect.d.ts.map +0 -1
  1082. package/lib/cjs/ViewRect.js.map +0 -1
  1083. package/lib/cjs/WebWorkerManager.d.ts +0 -49
  1084. package/lib/cjs/WebWorkerManager.d.ts.map +0 -1
  1085. package/lib/cjs/WebWorkerManager.js +0 -155
  1086. package/lib/cjs/WebWorkerManager.js.map +0 -1
  1087. package/lib/cjs/gltf/GltfModel.d.ts.map +0 -1
  1088. package/lib/cjs/gltf/GltfModel.js.map +0 -1
  1089. package/lib/cjs/gltf/GltfParser.d.ts.map +0 -1
  1090. package/lib/cjs/gltf/GltfParser.js.map +0 -1
  1091. package/lib/cjs/gltf/GltfSchema.d.ts.map +0 -1
  1092. package/lib/cjs/gltf/GltfSchema.js.map +0 -1
  1093. package/lib/cjs/render/RenderMaterial.d.ts.map +0 -1
  1094. package/lib/cjs/render/RenderMaterial.js.map +0 -1
  1095. package/lib/cjs/render/RenderTexture.d.ts.map +0 -1
  1096. package/lib/cjs/render/RenderTexture.js.map +0 -1
  1097. package/lib/cjs/render/primitives/AuxChannelTable.d.ts.map +0 -1
  1098. package/lib/cjs/render/primitives/AuxChannelTable.js.map +0 -1
  1099. package/lib/cjs/render/primitives/DisplayParams.d.ts.map +0 -1
  1100. package/lib/cjs/render/primitives/DisplayParams.js.map +0 -1
  1101. package/lib/cjs/render/primitives/SurfaceParams.d.ts.map +0 -1
  1102. package/lib/cjs/render/primitives/SurfaceParams.js.map +0 -1
  1103. package/lib/cjs/render/primitives/VertexTable.d.ts +0 -152
  1104. package/lib/cjs/render/primitives/VertexTable.d.ts.map +0 -1
  1105. package/lib/cjs/render/primitives/VertexTable.js.map +0 -1
  1106. package/lib/cjs/render/primitives/VertexTableSplitter.d.ts.map +0 -1
  1107. package/lib/cjs/render/primitives/VertexTableSplitter.js.map +0 -1
  1108. package/lib/cjs/render-primitives.d.ts +0 -21
  1109. package/lib/cjs/render-primitives.d.ts.map +0 -1
  1110. package/lib/cjs/render-primitives.js +0 -41
  1111. package/lib/cjs/render-primitives.js.map +0 -1
  1112. package/lib/esm/FrontendLoggerCategory.d.ts.map +0 -1
  1113. package/lib/esm/FrontendLoggerCategory.js.map +0 -1
  1114. package/lib/esm/ImageUtil.d.ts.map +0 -1
  1115. package/lib/esm/ImageUtil.js.map +0 -1
  1116. package/lib/esm/ViewRect.d.ts.map +0 -1
  1117. package/lib/esm/ViewRect.js.map +0 -1
  1118. package/lib/esm/WebWorkerManager.d.ts +0 -49
  1119. package/lib/esm/WebWorkerManager.d.ts.map +0 -1
  1120. package/lib/esm/WebWorkerManager.js +0 -150
  1121. package/lib/esm/WebWorkerManager.js.map +0 -1
  1122. package/lib/esm/gltf/GltfModel.d.ts.map +0 -1
  1123. package/lib/esm/gltf/GltfModel.js.map +0 -1
  1124. package/lib/esm/gltf/GltfParser.d.ts.map +0 -1
  1125. package/lib/esm/gltf/GltfParser.js.map +0 -1
  1126. package/lib/esm/gltf/GltfSchema.d.ts.map +0 -1
  1127. package/lib/esm/gltf/GltfSchema.js.map +0 -1
  1128. package/lib/esm/render/RenderMaterial.d.ts.map +0 -1
  1129. package/lib/esm/render/RenderMaterial.js.map +0 -1
  1130. package/lib/esm/render/RenderTexture.d.ts.map +0 -1
  1131. package/lib/esm/render/RenderTexture.js.map +0 -1
  1132. package/lib/esm/render/primitives/AuxChannelTable.d.ts.map +0 -1
  1133. package/lib/esm/render/primitives/AuxChannelTable.js.map +0 -1
  1134. package/lib/esm/render/primitives/DisplayParams.d.ts.map +0 -1
  1135. package/lib/esm/render/primitives/DisplayParams.js.map +0 -1
  1136. package/lib/esm/render/primitives/SurfaceParams.d.ts.map +0 -1
  1137. package/lib/esm/render/primitives/SurfaceParams.js.map +0 -1
  1138. package/lib/esm/render/primitives/VertexTable.d.ts +0 -152
  1139. package/lib/esm/render/primitives/VertexTable.d.ts.map +0 -1
  1140. package/lib/esm/render/primitives/VertexTable.js.map +0 -1
  1141. package/lib/esm/render/primitives/VertexTableSplitter.d.ts.map +0 -1
  1142. package/lib/esm/render/primitives/VertexTableSplitter.js.map +0 -1
  1143. package/lib/esm/render-primitives.d.ts +0 -21
  1144. package/lib/esm/render-primitives.d.ts.map +0 -1
  1145. package/lib/esm/render-primitives.js +0 -25
  1146. package/lib/esm/render-primitives.js.map +0 -1
  1147. /package/lib/cjs/{FrontendLoggerCategory.d.ts → common/FrontendLoggerCategory.d.ts} +0 -0
  1148. /package/lib/cjs/{FrontendLoggerCategory.js → common/FrontendLoggerCategory.js} +0 -0
  1149. /package/lib/cjs/{ImageUtil.d.ts → common/ImageUtil.d.ts} +0 -0
  1150. /package/lib/cjs/{ViewRect.d.ts → common/ViewRect.d.ts} +0 -0
  1151. /package/lib/cjs/{ViewRect.js → common/ViewRect.js} +0 -0
  1152. /package/lib/cjs/{gltf → common/gltf}/GltfModel.js +0 -0
  1153. /package/lib/cjs/{gltf → common/gltf}/GltfParser.d.ts +0 -0
  1154. /package/lib/cjs/{gltf → common/gltf}/GltfParser.js +0 -0
  1155. /package/lib/cjs/{gltf → common/gltf}/GltfSchema.d.ts +0 -0
  1156. /package/lib/cjs/{gltf → common/gltf}/GltfSchema.js +0 -0
  1157. /package/lib/cjs/{render → common/render}/primitives/DisplayParams.d.ts +0 -0
  1158. /package/lib/cjs/{render → common/render}/primitives/DisplayParams.js +0 -0
  1159. /package/lib/cjs/{render → common/render}/primitives/SurfaceParams.js +0 -0
  1160. /package/lib/esm/{FrontendLoggerCategory.d.ts → common/FrontendLoggerCategory.d.ts} +0 -0
  1161. /package/lib/esm/{FrontendLoggerCategory.js → common/FrontendLoggerCategory.js} +0 -0
  1162. /package/lib/esm/{ImageUtil.d.ts → common/ImageUtil.d.ts} +0 -0
  1163. /package/lib/esm/{ViewRect.d.ts → common/ViewRect.d.ts} +0 -0
  1164. /package/lib/esm/{ViewRect.js → common/ViewRect.js} +0 -0
  1165. /package/lib/esm/{gltf → common/gltf}/GltfModel.js +0 -0
  1166. /package/lib/esm/{gltf → common/gltf}/GltfParser.d.ts +0 -0
  1167. /package/lib/esm/{gltf → common/gltf}/GltfParser.js +0 -0
  1168. /package/lib/esm/{gltf → common/gltf}/GltfSchema.d.ts +0 -0
  1169. /package/lib/esm/{gltf → common/gltf}/GltfSchema.js +0 -0
  1170. /package/lib/esm/{render → common/render}/primitives/DisplayParams.d.ts +0 -0
  1171. /package/lib/esm/{render → common/render}/primitives/DisplayParams.js +0 -0
  1172. /package/lib/esm/{render → common/render}/primitives/SurfaceParams.js +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"VertexTable.js","sourceRoot":"","sources":["../../../../src/render/primitives/VertexTable.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 Rendering\r\n */\r\n\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport { Point2d, Point3d, Range2d } from \"@itwin/core-geometry\";\r\nimport {\r\n ColorDef, ColorIndex, FeatureIndex, FeatureIndexType, QParams2d, QParams3d, QPoint2d, QPoint3dList,\r\n} from \"@itwin/core-common\";\r\nimport { IModelApp } from \"../../IModelApp\";\r\nimport { AuxChannelTable } from \"./AuxChannelTable\";\r\nimport { MeshArgs, Point3dList, PolylineArgs } from \"./mesh/MeshPrimitives\";\r\nimport { createSurfaceMaterial, SurfaceMaterial, SurfaceParams, SurfaceType } from \"./SurfaceParams\";\r\nimport { EdgeParams } from \"./EdgeParams\";\r\n\r\n/**\r\n * Holds an array of indices into a VertexTable. Each index is a 24-bit unsigned integer.\r\n * The order of the indices specifies the order in which vertices are drawn.\r\n * @internal\r\n */\r\nexport class VertexIndices implements Iterable<number> {\r\n public readonly data: Uint8Array;\r\n\r\n /**\r\n * Directly construct from an array of bytes in which each index occupies 3 contiguous bytes.\r\n * The length of the array must be a multiple of 3. This object takes ownership of the array.\r\n */\r\n public constructor(data: Uint8Array) {\r\n this.data = data;\r\n assert(0 === this.data.length % 3);\r\n }\r\n\r\n /** Get the number of 24-bit indices. */\r\n public get length(): number { return this.data.length / 3; }\r\n\r\n /** Convert an array of 24-bit unsigned integer values into a VertexIndices object. */\r\n public static fromArray(indices: number[]): VertexIndices {\r\n const bytes = new Uint8Array(indices.length * 3);\r\n for (let i = 0; i < indices.length; i++)\r\n this.encodeIndex(indices[i], bytes, i * 3);\r\n\r\n return new VertexIndices(bytes);\r\n }\r\n\r\n public static encodeIndex(index: number, bytes: Uint8Array, byteIndex: number): void {\r\n assert(byteIndex + 2 < bytes.length);\r\n bytes[byteIndex + 0] = index & 0x000000ff;\r\n bytes[byteIndex + 1] = (index & 0x0000ff00) >> 8;\r\n bytes[byteIndex + 2] = (index & 0x00ff0000) >> 16;\r\n }\r\n\r\n public setNthIndex(n: number, value: number): void {\r\n VertexIndices.encodeIndex(value, this.data, n * 3);\r\n }\r\n\r\n public decodeIndex(index: number): number {\r\n assert(index < this.length);\r\n const byteIndex = index * 3;\r\n return this.data[byteIndex] | (this.data[byteIndex + 1] << 8) | (this.data[byteIndex + 2] << 16);\r\n }\r\n\r\n public decodeIndices(): number[] {\r\n const indices = [];\r\n for (let i = 0; i < this.length; i++)\r\n indices.push(this.decodeIndex(i));\r\n\r\n return indices;\r\n }\r\n\r\n public [Symbol.iterator]() {\r\n function * iterator(indices: VertexIndices) {\r\n for (let i = 0; i < indices.length; i++)\r\n yield indices.decodeIndex(i);\r\n }\r\n\r\n return iterator(this);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport interface Dimensions {\r\n width: number;\r\n height: number;\r\n}\r\n\r\n/** @internal */\r\nexport function computeDimensions(nEntries: number, nRgbaPerEntry: number, nExtraRgba: number, maxSize?: number): Dimensions {\r\n maxSize = maxSize ?? IModelApp.renderSystem.maxTextureSize;\r\n const nRgba = nEntries * nRgbaPerEntry + nExtraRgba;\r\n\r\n if (nRgba < maxSize)\r\n return { width: nRgba, height: 1 };\r\n\r\n // Make roughly square to reduce unused space in last row\r\n let width = Math.ceil(Math.sqrt(nRgba));\r\n\r\n // Ensure a given entry's RGBA values all fit on the same row.\r\n const remainder = width % nRgbaPerEntry;\r\n if (0 !== remainder) {\r\n width += nRgbaPerEntry - remainder;\r\n }\r\n\r\n // Compute height\r\n let height = Math.ceil(nRgba / width);\r\n if (width * height < nRgba)\r\n ++height;\r\n\r\n assert(height <= maxSize);\r\n assert(width <= maxSize);\r\n assert(width * height >= nRgba);\r\n assert(Math.floor(height) === height);\r\n assert(Math.floor(width) === width);\r\n\r\n // Row padding should never be necessary...\r\n assert(0 === width % nRgbaPerEntry);\r\n\r\n return { width, height };\r\n}\r\n\r\n/** Describes a VertexTable.\r\n * @internal\r\n */\r\nexport interface VertexTableProps {\r\n /** The rectangular array of vertex data, of size width*height*numRgbaPerVertex bytes. */\r\n readonly data: Uint8Array;\r\n /** If true, positions are not quantized but instead stored as 32-bit floats.\r\n * [[qparams]] will still be defined; it can be used to derive the range of positions in the table.\r\n */\r\n readonly usesUnquantizedPositions?: boolean;\r\n /** Quantization parameters for the vertex positions encoded into the array, if the positions are quantized;\r\n * and for deriving the range of positions in the table, whether quantized or not.\r\n */\r\n readonly qparams: QParams3d;\r\n /** The number of 4-byte 'RGBA' values in each row of the array. Must be divisible by numRgbaPerVertex. */\r\n readonly width: number;\r\n /** The number of rows in the array. */\r\n readonly height: number;\r\n /** Whether or not the vertex colors contain translucent colors. */\r\n readonly hasTranslucency: boolean;\r\n /** If no color table exists, the color to use for all vertices. */\r\n readonly uniformColor?: ColorDef;\r\n /** Describes the number of features (none, one, or multiple) contained. */\r\n readonly featureIndexType: FeatureIndexType;\r\n /** If featureIndexType is 'Uniform', the feature ID associated with all vertices. */\r\n readonly uniformFeatureID?: number;\r\n /** The number of vertices in the table. Must be less than (width*height)/numRgbaPerVertex. */\r\n readonly numVertices: number;\r\n /** The number of 4-byte 'RGBA' values associated with each vertex. */\r\n readonly numRgbaPerVertex: number;\r\n /** If vertex data include texture UV coordinates, the quantization params for those coordinates. */\r\n readonly uvParams?: QParams2d;\r\n}\r\n\r\n/**\r\n * Represents vertex data (position, color, normal, UV params, etc) in a rectangular array.\r\n * Each vertex is described by one or more contiguous 4-byte ('RGBA') values.\r\n * This allows vertex data to be uploaded to the GPU as a texture and vertex data to be sampled\r\n * from that texture using a single vertex ID representing an index into the array.\r\n * Vertex color is identified by a 16-bit index into a color table appended to the vertex data.\r\n * @internal\r\n */\r\nexport class VertexTable implements VertexTableProps {\r\n /** The rectangular array of vertex data, of size width*height*numRgbaPerVertex bytes. */\r\n public readonly data: Uint8Array;\r\n /** If true, positions are not quantized but instead stored as 32-bit floats.\r\n * [[qparams]] will still be defined; it can be used to derive the range of positions in the table.\r\n */\r\n public readonly usesUnquantizedPositions?: boolean;\r\n /** Quantization parameters for the vertex positions encoded into the array, the positions are quantized;\r\n * and for deriving the range of positions in the table, whether quantized or not.\r\n */\r\n public readonly qparams: QParams3d;\r\n /** The number of 4-byte 'RGBA' values in each row of the array. Must be divisible by numRgbaPerVertex. */\r\n public readonly width: number;\r\n /** The number of rows in the array. */\r\n public readonly height: number;\r\n /** Whether or not the vertex colors contain translucent colors. */\r\n public readonly hasTranslucency: boolean;\r\n /** If no color table exists, the color to use for all vertices. */\r\n public readonly uniformColor?: ColorDef;\r\n /** Describes the number of features (none, one, or multiple) contained. */\r\n public readonly featureIndexType: FeatureIndexType;\r\n /** If featureIndexType is 'Uniform', the feature ID associated with all vertices. */\r\n public readonly uniformFeatureID?: number;\r\n /** The number of vertices in the table. Must be less than (width*height)/numRgbaPerVertex. */\r\n public readonly numVertices: number;\r\n /** The number of 4-byte 'RGBA' values associated with each vertex. */\r\n public readonly numRgbaPerVertex: number;\r\n /** If vertex data include texture UV coordinates, the quantization params for those coordinates. */\r\n public readonly uvParams?: QParams2d;\r\n\r\n /** Construct a VertexTable. The VertexTable takes ownership of all input data - it must not be later modified by the caller. */\r\n public constructor(props: VertexTableProps) {\r\n this.data = props.data;\r\n this.qparams = props.qparams;\r\n this.usesUnquantizedPositions = !!props.usesUnquantizedPositions;\r\n this.width = props.width;\r\n this.height = props.height;\r\n this.hasTranslucency = true === props.hasTranslucency;\r\n this.uniformColor = props.uniformColor;\r\n this.featureIndexType = props.featureIndexType;\r\n this.uniformFeatureID = props.uniformFeatureID;\r\n this.numVertices = props.numVertices;\r\n this.numRgbaPerVertex = props.numRgbaPerVertex;\r\n this.uvParams = props.uvParams;\r\n }\r\n\r\n public static buildFrom(builder: VertexTableBuilder, colorIndex: ColorIndex, featureIndex: FeatureIndex): VertexTable {\r\n const { numVertices, numRgbaPerVertex } = builder;\r\n const numColors = colorIndex.isUniform ? 0 : colorIndex.numColors;\r\n const dimensions = computeDimensions(numVertices, numRgbaPerVertex, numColors);\r\n assert(0 === dimensions.width % numRgbaPerVertex || (0 < numColors && 1 === dimensions.height));\r\n\r\n const data = new Uint8Array(dimensions.width * dimensions.height * 4);\r\n\r\n builder.data = data;\r\n for (let i = 0; i < numVertices; i++)\r\n builder.appendVertex(i);\r\n\r\n builder.appendColorTable(colorIndex);\r\n\r\n builder.data = undefined;\r\n\r\n return new VertexTable({\r\n data,\r\n qparams: builder.qparams,\r\n usesUnquantizedPositions: builder.usesUnquantizedPositions,\r\n width: dimensions.width,\r\n height: dimensions.height,\r\n hasTranslucency: colorIndex.hasAlpha,\r\n uniformColor: colorIndex.uniform,\r\n numVertices,\r\n numRgbaPerVertex,\r\n uvParams: builder.uvParams,\r\n featureIndexType: featureIndex.type,\r\n uniformFeatureID: featureIndex.type === FeatureIndexType.Uniform ? featureIndex.featureID : undefined,\r\n });\r\n }\r\n\r\n public static createForPolylines(args: PolylineArgs): VertexTable | undefined {\r\n const polylines = args.polylines;\r\n if (0 < polylines.length)\r\n return this.buildFrom(createPolylineBuilder(args), args.colors, args.features);\r\n else\r\n return undefined;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport interface VertexTableWithIndices {\r\n vertices: VertexTable;\r\n indices: VertexIndices;\r\n material?: SurfaceMaterial;\r\n}\r\n\r\n/**\r\n * Describes mesh geometry to be submitted to the rendering system.\r\n * A mesh consists of a surface and its edges, which may include any combination of silhouettes, polylines, and single segments.\r\n * The surface and edges all refer to the same vertex table.\r\n */\r\nexport class MeshParams {\r\n public readonly vertices: VertexTable;\r\n public readonly surface: SurfaceParams;\r\n public edges?: EdgeParams;\r\n public readonly isPlanar: boolean;\r\n public readonly auxChannels?: AuxChannelTable;\r\n\r\n /** Directly construct a MeshParams. The MeshParams takes ownership of all input data. */\r\n public constructor(vertices: VertexTable, surface: SurfaceParams, edges?: EdgeParams, isPlanar?: boolean, auxChannels?: AuxChannelTable) {\r\n this.vertices = vertices;\r\n this.surface = surface;\r\n this.edges = edges;\r\n this.isPlanar = !!isPlanar;\r\n this.auxChannels = auxChannels;\r\n }\r\n\r\n /** Construct from a MeshArgs. */\r\n public static create(args: MeshArgs): MeshParams {\r\n const builder = createMeshBuilder(args);\r\n const vertices = VertexTable.buildFrom(builder, args.colors, args.features);\r\n\r\n const surfaceIndices = VertexIndices.fromArray(args.vertIndices);\r\n\r\n const surface: SurfaceParams = {\r\n type: builder.type,\r\n indices: surfaceIndices,\r\n fillFlags: args.fillFlags,\r\n hasBakedLighting: true === args.hasBakedLighting,\r\n textureMapping: undefined !== args.textureMapping ? { texture: args.textureMapping.texture, alwaysDisplayed: false } : undefined,\r\n material: createSurfaceMaterial(args.material),\r\n };\r\n\r\n const channels = undefined !== args.auxChannels ? AuxChannelTable.fromChannels(args.auxChannels, vertices.numVertices) : undefined;\r\n const edges = EdgeParams.fromMeshArgs(args);\r\n return new MeshParams(vertices, surface, edges, args.isPlanar, channels);\r\n }\r\n}\r\n\r\n/** Builds a VertexTable from some data type supplying the vertex data. */\r\nexport abstract class VertexTableBuilder {\r\n public data?: Uint8Array;\r\n private _curIndex: number = 0;\r\n\r\n public abstract get numVertices(): number;\r\n public abstract get numRgbaPerVertex(): number;\r\n public abstract get qparams(): QParams3d;\r\n public abstract get usesUnquantizedPositions(): boolean;\r\n public get uvParams(): QParams2d | undefined { return undefined; }\r\n public abstract appendVertex(vertIndex: number): void;\r\n\r\n public appendColorTable(colorIndex: ColorIndex) {\r\n if (undefined !== colorIndex.nonUniform) {\r\n for (const color of colorIndex.nonUniform.colors) {\r\n this.appendColor(color);\r\n }\r\n }\r\n }\r\n\r\n protected advance(nBytes: number) {\r\n this._curIndex += nBytes;\r\n assert(this._curIndex <= this.data!.length);\r\n }\r\n\r\n protected append8(val: number) {\r\n assert(0 <= val);\r\n assert(val <= 0xff);\r\n assert(val === Math.floor(val));\r\n\r\n this.data![this._curIndex] = val;\r\n this.advance(1);\r\n }\r\n protected append16(val: number) {\r\n this.append8(val & 0x00ff);\r\n this.append8(val >>> 8);\r\n }\r\n protected append32(val: number) {\r\n this.append16(val & 0x0000ffff);\r\n this.append16(val >>> 16);\r\n }\r\n\r\n private appendColor(tbgr: number) {\r\n const colors = ColorDef.getColors(tbgr);\r\n\r\n // invert transparency => alpha\r\n colors.t = 255 - colors.t;\r\n\r\n // premultiply alpha...\r\n switch (colors.t) {\r\n case 0:\r\n colors.r = colors.g = colors.b = 0;\r\n break;\r\n case 255:\r\n break;\r\n default: {\r\n const f = colors.t / 255.0;\r\n colors.r = Math.floor(colors.r * f + 0.5);\r\n colors.g = Math.floor(colors.g * f + 0.5);\r\n colors.b = Math.floor(colors.b * f + 0.5);\r\n break;\r\n }\r\n }\r\n\r\n // Store 32-bit value in little-endian order (red first)\r\n this.append8(colors.r);\r\n this.append8(colors.g);\r\n this.append8(colors.b);\r\n this.append8(colors.t);\r\n }\r\n}\r\n\r\ntype VertexData = PolylineArgs | MeshArgs;\r\ntype Quantized<T extends VertexData> = Omit<T, \"points\"> & { points: QPoint3dList };\r\ntype Unquantized<T extends VertexData> = Omit<T, \"points\"> & { points: Omit<Point3dList, \"add\"> };\r\n\r\nnamespace Quantized { // eslint-disable-line @typescript-eslint/no-redeclare\r\n /**\r\n * Supplies vertex data from a PolylineArgs or MeshArgs. Each vertex consists of 12 bytes:\r\n * pos.x 00\r\n * pos.y 02\r\n * pos.z 04\r\n * colorIndex 06\r\n * featureIndex 08 (24 bits)\r\n * materialIndex 0B (for meshes that use a material atlas; otherwise unused). NOTE: Currently front-end code does not produce material atlases.\r\n */\r\n export class SimpleBuilder<T extends Quantized<VertexData>> extends VertexTableBuilder {\r\n public args: T;\r\n protected _qpoints: QPoint3dList;\r\n\r\n public constructor(args: T) {\r\n super();\r\n this._qpoints = args.points;\r\n this.args = args;\r\n assert(undefined !== this.args.points);\r\n }\r\n\r\n public get numVertices() { return this.args.points.length; }\r\n public get numRgbaPerVertex() { return 3; }\r\n public get usesUnquantizedPositions() { return false; }\r\n public get qparams() {\r\n return this._qpoints.params;\r\n }\r\n\r\n public appendVertex(vertIndex: number): void {\r\n this.appendPosition(vertIndex);\r\n this.appendColorIndex(vertIndex);\r\n this.appendFeatureIndex(vertIndex);\r\n }\r\n\r\n protected appendPosition(vertIndex: number) {\r\n this.append16(this._qpoints.list[vertIndex].x);\r\n this.append16(this._qpoints.list[vertIndex].y);\r\n this.append16(this._qpoints.list[vertIndex].z);\r\n }\r\n\r\n protected appendColorIndex(vertIndex: number) {\r\n if (undefined !== this.args.colors.nonUniform) {\r\n this.append16(this.args.colors.nonUniform.indices[vertIndex]);\r\n } else {\r\n this.advance(2);\r\n }\r\n }\r\n\r\n protected appendFeatureIndex(vertIndex: number) {\r\n if (undefined !== this.args.features.featureIDs) {\r\n this.append32(this.args.features.featureIDs[vertIndex]);\r\n } else {\r\n this.advance(4);\r\n }\r\n }\r\n }\r\n\r\n /** Supplies vertex data from a MeshArgs. */\r\n export class MeshBuilder extends SimpleBuilder<Quantized<MeshArgs>> {\r\n public readonly type: SurfaceType;\r\n\r\n protected constructor(args: Quantized<MeshArgs>, type: SurfaceType) {\r\n super(args);\r\n this.type = type;\r\n }\r\n\r\n public static create(args: Quantized<MeshArgs>): MeshBuilder {\r\n if (args.isVolumeClassifier)\r\n return new MeshBuilder(args, SurfaceType.VolumeClassifier);\r\n\r\n const isLit = undefined !== args.normals && 0 < args.normals.length;\r\n const isTextured = undefined !== args.textureMapping;\r\n\r\n let uvParams: QParams2d | undefined;\r\n\r\n if (args.textureMapping) {\r\n const uvRange = Range2d.createNull();\r\n const fpts = args.textureMapping.uvParams;\r\n const pt2d = new Point2d();\r\n if (undefined !== fpts && fpts.length > 0)\r\n for (let i = 0; i < args.points.length; i++)\r\n uvRange.extendPoint(Point2d.create(fpts[i].x, fpts[i].y, pt2d));\r\n\r\n uvParams = QParams2d.fromRange(uvRange);\r\n }\r\n\r\n if (isLit)\r\n return isTextured ? new TexturedLitMeshBuilder(args, uvParams!) : new LitMeshBuilder(args);\r\n else\r\n return isTextured ? new TexturedMeshBuilder(args, uvParams!) : new MeshBuilder(args, SurfaceType.Unlit);\r\n }\r\n }\r\n\r\n /** Supplies vertex data from a MeshArgs where each vertex consists of 16 bytes.\r\n * In addition to the SimpleBuilder data, the final 4 bytes hold the quantized UV params\r\n * The color index is left uninitialized as it is unused.\r\n */\r\n class TexturedMeshBuilder extends MeshBuilder {\r\n private _qparams: QParams2d;\r\n private _qpoint = new QPoint2d();\r\n\r\n public constructor(args: Quantized<MeshArgs>, qparams: QParams2d, type: SurfaceType = SurfaceType.Textured) {\r\n super(args, type);\r\n this._qparams = qparams;\r\n assert(undefined !== args.textureMapping);\r\n }\r\n\r\n public override get numRgbaPerVertex() { return 4; }\r\n public override get uvParams() { return this._qparams; }\r\n\r\n public override appendVertex(vertIndex: number) {\r\n this.appendPosition(vertIndex);\r\n this.appendNormal(vertIndex);\r\n this.appendFeatureIndex(vertIndex);\r\n this.appendUVParams(vertIndex);\r\n }\r\n\r\n protected appendNormal(_vertIndex: number): void { this.advance(2); } // no normal for unlit meshes\r\n\r\n protected appendUVParams(vertIndex: number) {\r\n this._qpoint.init(this.args.textureMapping!.uvParams[vertIndex], this._qparams);\r\n this.append16(this._qpoint.x);\r\n this.append16(this._qpoint.y);\r\n }\r\n }\r\n\r\n /** As with TexturedMeshBuilder, but the color index is replaced with the oct-encoded normal value. */\r\n class TexturedLitMeshBuilder extends TexturedMeshBuilder {\r\n public constructor(args: Quantized<MeshArgs>, qparams: QParams2d) {\r\n super(args, qparams, SurfaceType.TexturedLit);\r\n assert(undefined !== args.normals);\r\n }\r\n\r\n protected override appendNormal(vertIndex: number) { this.append16(this.args.normals![vertIndex].value); }\r\n }\r\n\r\n /** 16 bytes. The last 2 bytes are unused; the 2 immediately preceding it hold the oct-encoded normal value. */\r\n class LitMeshBuilder extends MeshBuilder {\r\n public constructor(args: Quantized<MeshArgs>) {\r\n super(args, SurfaceType.Lit);\r\n assert(undefined !== args.normals);\r\n }\r\n\r\n public override get numRgbaPerVertex() { return 4; }\r\n\r\n public override appendVertex(vertIndex: number) {\r\n super.appendVertex(vertIndex);\r\n this.append16(this.args.normals![vertIndex].value);\r\n this.advance(2); // 2 unused bytes\r\n }\r\n }\r\n}\r\n\r\n/** Builders in this namespace store vertex positions as 32-bit floats instead of quantizing to 16-bit unsigned integers.\r\n * This is preferred for decoration graphics, which might contain ranges of positions that exceed the limits for quantization; if quantized,\r\n * they could produce visual artifacts.\r\n * Each builder produces a VertexTable that starts with the following layout:\r\n * pos.x: 00\r\n * pos.y: 04\r\n * pos.z: 08\r\n * featureIndex: 0C\r\n * materialIndex:0F (NOTE: frontend code currently doesn't produce material atlases, so this is always zero).\r\n * Followed (by default) by:\r\n * colorIndex: 10\r\n * unused: 12\r\n * Subclasses may add 4 more bytes and/or overwrite the final 4 bytes above.\r\n */\r\nnamespace Unquantized { // eslint-disable-line @typescript-eslint/no-redeclare\r\n const u32Array = new Uint32Array(1);\r\n const f32Array = new Float32Array(u32Array.buffer);\r\n\r\n // colorIndex: 10\r\n // unused: 12\r\n export class SimpleBuilder<T extends Unquantized<VertexData>> extends VertexTableBuilder {\r\n public args: T;\r\n protected _points: Point3d[];\r\n private _qparams3d: QParams3d;\r\n\r\n public constructor(args: T) {\r\n super();\r\n assert(!(args.points instanceof QPoint3dList));\r\n this._qparams3d = QParams3d.fromRange(args.points.range);\r\n this.args = args;\r\n this._points = args.points;\r\n }\r\n\r\n public get numVertices() { return this._points.length; }\r\n public get numRgbaPerVertex() { return 5; }\r\n public get usesUnquantizedPositions() { return true; }\r\n public get qparams() { return this._qparams3d; }\r\n\r\n public appendVertex(vertIndex: number): void {\r\n this.appendTransposePosAndFeatureNdx(vertIndex);\r\n this.appendColorIndex(vertIndex);\r\n }\r\n\r\n private appendFloat32(val: number) {\r\n f32Array[0] = val;\r\n this.append32(u32Array[0]);\r\n }\r\n\r\n private convertFloat32(val: number): number {\r\n f32Array[0] = val;\r\n return u32Array[0];\r\n }\r\n\r\n protected appendTransposePosAndFeatureNdx(vertIndex: number) {\r\n // transpose position xyz vals into [0].xyz - [3].xyz, and add feature index at .w\r\n // this is to order things to let shader code access much more efficiently\r\n const pt = this._points[vertIndex];\r\n const x = this.convertFloat32 (pt.x);\r\n const y = this.convertFloat32 (pt.y);\r\n const z = this.convertFloat32 (pt.z);\r\n const featID = (this.args.features.featureIDs) ? this.args.features.featureIDs[vertIndex] : 0;\r\n this.append8(x & 0x000000ff);\r\n this.append8(y & 0x000000ff);\r\n this.append8(z & 0x000000ff);\r\n this.append8(featID & 0x000000ff);\r\n this.append8((x >>> 8) & 0x000000ff);\r\n this.append8((y >>> 8) & 0x000000ff);\r\n this.append8((z >>> 8) & 0x000000ff);\r\n this.append8((featID >>> 8) & 0x000000ff);\r\n this.append8((x >>> 16) & 0x000000ff);\r\n this.append8((y >>> 16) & 0x000000ff);\r\n this.append8((z >>> 16) & 0x000000ff);\r\n this.append8((featID >>> 16) & 0x000000ff);\r\n this.append8(x >>> 24);\r\n this.append8(y >>> 24);\r\n this.append8(z >>> 24);\r\n this.append8(featID >>> 24);\r\n }\r\n\r\n protected appendPosition(vertIndex: number) {\r\n const pt = this._points[vertIndex];\r\n this.appendFloat32(pt.x);\r\n this.appendFloat32(pt.y);\r\n this.appendFloat32(pt.z);\r\n }\r\n\r\n protected appendFeatureIndex(vertIndex: number) {\r\n if (this.args.features.featureIDs)\r\n this.append32(this.args.features.featureIDs[vertIndex]);\r\n else\r\n this.advance(4);\r\n }\r\n\r\n protected _appendColorIndex(vertIndex: number) {\r\n if (undefined !== this.args.colors.nonUniform)\r\n this.append16(this.args.colors.nonUniform.indices[vertIndex]);\r\n else\r\n this.advance(2);\r\n }\r\n\r\n protected appendColorIndex(vertIndex: number) {\r\n this._appendColorIndex(vertIndex);\r\n this.advance(2);\r\n }\r\n }\r\n\r\n export class MeshBuilder extends SimpleBuilder<Unquantized<MeshArgs>> {\r\n public readonly type: SurfaceType;\r\n\r\n protected constructor(args: Unquantized<MeshArgs>, type: SurfaceType) {\r\n super(args);\r\n this.type = type;\r\n }\r\n\r\n public static create(args: Unquantized<MeshArgs>): MeshBuilder {\r\n if (args.isVolumeClassifier)\r\n return new MeshBuilder(args, SurfaceType.VolumeClassifier);\r\n\r\n const isLit = undefined !== args.normals && 0 < args.normals.length;\r\n const isTextured = undefined !== args.textureMapping;\r\n\r\n let uvParams: QParams2d | undefined;\r\n\r\n if (args.textureMapping) {\r\n const uvRange = Range2d.createNull();\r\n const fpts = args.textureMapping.uvParams;\r\n const pt2d = new Point2d();\r\n if (undefined !== fpts && fpts.length > 0)\r\n for (let i = 0; i < args.points.length; i++)\r\n uvRange.extendPoint(Point2d.create(fpts[i].x, fpts[i].y, pt2d));\r\n\r\n uvParams = QParams2d.fromRange(uvRange);\r\n }\r\n\r\n if (isLit)\r\n return isTextured ? new TexturedLitMeshBuilder(args, uvParams!) : new LitMeshBuilder(args);\r\n else\r\n return isTextured ? new TexturedMeshBuilder(args, uvParams!) : new MeshBuilder(args, SurfaceType.Unlit);\r\n }\r\n }\r\n\r\n // u: 10\r\n // v: 12\r\n class TexturedMeshBuilder extends MeshBuilder {\r\n private _qparams: QParams2d;\r\n private _qpoint = new QPoint2d();\r\n\r\n public constructor(args: Unquantized<MeshArgs>, qparams: QParams2d, type = SurfaceType.Textured) {\r\n super(args, type);\r\n this._qparams = qparams;\r\n assert(undefined !== args.textureMapping);\r\n }\r\n\r\n public override get uvParams() { return this._qparams; }\r\n\r\n public override appendVertex(vertIndex: number) {\r\n super.appendVertex(vertIndex);\r\n\r\n this._qpoint.init(this.args.textureMapping!.uvParams[vertIndex], this._qparams);\r\n this.append16(this._qpoint.x);\r\n this.append16(this._qpoint.y);\r\n }\r\n\r\n protected override appendColorIndex() { }\r\n }\r\n\r\n // u: 10\r\n // v: 12\r\n // normal: 14\r\n // unused: 16\r\n class TexturedLitMeshBuilder extends TexturedMeshBuilder {\r\n public constructor(args: Unquantized<MeshArgs>, qparams: QParams2d) {\r\n super(args, qparams, SurfaceType.TexturedLit);\r\n assert(undefined !== args.normals);\r\n }\r\n\r\n public override get numRgbaPerVertex() { return 6; }\r\n\r\n public override appendVertex(vertIndex: number) {\r\n super.appendVertex(vertIndex);\r\n this.append16(this.args.normals![vertIndex].value);\r\n this.advance(2);\r\n }\r\n }\r\n\r\n // color: 10\r\n // normal: 12\r\n class LitMeshBuilder extends MeshBuilder {\r\n public constructor(args: Unquantized<MeshArgs>) {\r\n super(args, SurfaceType.Lit);\r\n assert(undefined !== args.normals);\r\n }\r\n\r\n protected override appendColorIndex(vertIndex: number) {\r\n super._appendColorIndex(vertIndex);\r\n }\r\n\r\n public override appendVertex(vertIndex: number) {\r\n super.appendVertex(vertIndex);\r\n this.append16(this.args.normals![vertIndex].value);\r\n }\r\n }\r\n}\r\n\r\nfunction createMeshBuilder(args: MeshArgs): VertexTableBuilder & { type: SurfaceType } {\r\n if (args.points instanceof QPoint3dList)\r\n return Quantized.MeshBuilder.create(args as Quantized<MeshArgs>);\r\n else\r\n return Unquantized.MeshBuilder.create(args as Unquantized<MeshArgs>);\r\n}\r\n\r\nfunction createPolylineBuilder(args: PolylineArgs): VertexTableBuilder {\r\n if (args.points instanceof QPoint3dList)\r\n return new Quantized.SimpleBuilder(args as Quantized<PolylineArgs>);\r\n else\r\n return new Unquantized.SimpleBuilder(args as Unquantized<PolylineArgs>);\r\n}\r\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"VertexTableSplitter.d.ts","sourceRoot":"","sources":["../../../../src/render/primitives/VertexTableSplitter.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAY,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACc,UAAU,EAAE,aAAa,EAC7C,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAsB,MAAM,kBAAkB,CAAC;AAMtE;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8C;gBAEnD,eAAe,SAAI;IAItC,IAAW,UAAU,IAAI,MAAM,CAG9B;IAEM,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzB,eAAe,IAAI,aAAa;CAGxC;AAgPD,MAAM,MAAM,sBAAsB,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;AAuDtE,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,kBAAkB,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,sBAAsB,CAAC;CACvC;AAED,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAChE,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAcjG;AAqRD,MAAM,WAAW,aAAc,SAAQ,oBAAoB;IACzD,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAoC5E;AAED,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB;IAC7D,MAAM,EAAE,cAAc,CAAC;CACxB;AAOD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAsDxF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"VertexTableSplitter.js","sourceRoot":"","sources":["../../../../src/render/primitives/VertexTableSplitter.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAsB,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACL,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,GAC1D,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAsB,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAA4C,MAAM,cAAc,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAmB,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C;;GAEG;AACH,MAAM,OAAO,WAAW;IAKtB,YAAmB,eAAe,GAAG,CAAC;QAHrB,aAAQ,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;QAC9B,YAAO,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAGpE,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,EAAE,eAAe,EAAE,eAAe,GAAG,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,IAAW,UAAU;QACnB,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,CAAC;IAEM,IAAI,CAAC,KAAa;QACvB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;IACzD,CAAC;CACF;AAED,mCAAmC;AACnC,MAAM,YAAY;IAIhB,iHAAiH;IACjH,YAAmB,MAAmB;QACpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,kBAAkB,CAAC,EAAE,eAAe,EAAE,CAAC,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,qDAAqD;IACrD,IAAW,MAAM;QACf,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;IAChD,CAAC;IAED,uEAAuE;IACvE,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACvC,CAAC;IAED,gEAAgE;IACzD,IAAI,CAAC,MAAmB;QAC7B,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,2CAA2C;IACpC,gBAAgB,CAAC,YAAoB,EAAE,UAAkC,EAAE,kBAAsC;QACtH,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,UAAU,GAAG,UAAU,IAAI,MAAM,CAAC,YAAY,CAAC;QAC/C,MAAM,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC;QAEjC,MAAM,gBAAgB,GAAG,UAAU,YAAY,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,MAAM,wBAAwB,GAAG,kBAAkB,YAAY,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3G,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,gBAAgB,GAAG,wBAAwB,EAAE,YAAY,CAAC,CAAC;QAE9H,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC5C,IAAI,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE;YAC1D,MAAM,QAAQ,GAAG,QAAQ,CAAC;YAC1B,QAAQ,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YACjE,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;SAC3B;QAED,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAC9C,IAAI,UAAU,YAAY,WAAW,EAAE;YACrC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACpC,SAAS,IAAI,UAAU,CAAC,MAAM,CAAC;SAChC;QAED,IAAI,kBAAkB,YAAY,WAAW;YAC3C,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;QAE9C,MAAM,UAAU,GAAqB;YACnC,IAAI,EAAE,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;YAC/E,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;YACzD,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,YAAY,EAAE,UAAU,YAAY,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YACrE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,WAAW,EAAE,IAAI,CAAC,MAAM;YACxB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC;QAEF,OAAO,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;CACF;AAID,kFAAkF;AAClF,MAAM,kBAAkB;IAOtB,YAAmB,UAAuB;QANzB,qBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE9C,WAAM,GAAa,EAAE,CAAC;QACrB,QAAG,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;QACzB,QAAG,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAGtD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,wIAAwI;IACjI,KAAK,CAAC,MAAmB,EAAE,wBAA6C;QAC7E,MAAM,SAAS,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,SAAS,KAAK,QAAQ,EAAE;YAC1B,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACzB;QAED,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;QAChC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,0CAA0C;IACnC,eAAe;QACpB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACnG,CAAC;CACF;AAID,MAAM,qBAAqB;IAOzB,YAAmB,WAAwB;QAN1B,qBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE9C,cAAS,GAAa,EAAE,CAAC;QACxB,QAAG,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;QACzB,OAAE,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAGpD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,sIAAsI;IAC/H,KAAK,CAAC,MAAmB,EAAE,wBAA6C;QAC7E,MAAM,SAAS,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,SAAS,KAAK,QAAQ,EAAE;YAC1B,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC9C,IAAI,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;SAC9C;QAED,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;QACtB,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAEO,WAAW,CAAC,KAAa;QAC/B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,IAAI,GAAG,CAAC,SAAS,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC;QACtC,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,IAAI,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QACnC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,UAAU,CAAC;QACxD,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC;QAC3B,OAAO,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAEO,sBAAsB,CAAC,KAAkB;QAC/C,MAAM,aAAa,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,eAAe,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,IAAI,GAA6B;YACrC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS;YAC9D,OAAO,EAAE;gBACP,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;gBACzE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK;aACjC;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK;gBAC1C,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACrC;SACF,CAAC;QACF,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACnE,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,0CAA0C;IACnC,eAAe;QACpB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC;CACF;AAED,qFAAqF;AACrF,MAAM,IAAI;IAQR,2IAA2I;IAC3I,YAAmB,WAAwB,EAAE,uBAA2C;QAPxE,oBAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,YAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAO1C,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,SAAS,KAAK,WAAW,CAAC,YAAY;YACxC,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAkB,CAAC,IAAI,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAE3K,IAAI,SAAS,KAAK,uBAAuB,EAAE;YACzC,MAAM,WAAW,GAAG,CAAC,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC,gBAAgB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;YAC3G,IAAI,CAAC,KAAK,GAAG,IAAI,qBAAqB,CAAC,IAAI,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC;SAC7H;QAED,IAAI,CAAC,wBAAwB,GAAG,WAAW,CAAC,wBAAwB,CAAC;IACvE,CAAC;IAEM,SAAS,CAAC,aAAqB,EAAE,MAAmB;QACzD,IAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACvD,IAAI,SAAS,KAAK,QAAQ,EAAE;YAC1B,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAChC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAElD,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACzD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC5B;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAEM,WAAW,CAAC,YAAoB;QACrC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,EAAE,eAAe,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAgC,CAAC,aAAa,YAAY,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC;QACjH,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,aAAa,CAAC;YACrG,QAAQ;SACT,CAAC;IACJ,CAAC;CACF;AASD,MAAM,mBAAmB;IAKvB,YAAoB,KAA2B,EAAE,aAAqC;QAFrE,WAAM,GAAG,IAAI,GAAG,EAAgB,CAAC;QAGhD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACtC,CAAC;IAED,sGAAsG;IAC/F,MAAM,CAAC,KAAK,CAAC,MAA4B,EAAE,aAAqC;QACrF,MAAM,QAAQ,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAChE,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,QAAQ,CAAC,MAAM,CAAC;IACzB,CAAC;IAEO,KAAK;QACX,gGAAgG;QAChG,8CAA8C;QAC9C,MAAM,QAAQ,GAAG;YACf,YAAY,EAAE,CAAC,CAAC;YAChB,IAAI,EAAE,SAA4B;SACnC,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,CAAC;QAEzJ,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACvC,wEAAwE;YACxE,MAAM,YAAY,GAAG,KAAK,GAAG,QAAQ,CAAC;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE;gBACpC,MAAM,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YAE5C,iFAAiF;YACjF,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;YAC5C,IAAI,QAAQ,CAAC,YAAY,KAAK,YAAY,EAAE;gBAC1C,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;gBACrC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;gBACjD,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACnC,IAAI,SAAS,KAAK,IAAI;oBACpB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;gBAE1F,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;aACtB;YAED,0CAA0C;YAC1C,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;SACxC;IACH,CAAC;CACF;AAYD;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAA0B;IAC/D,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC;QACtC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;QAC5B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;QAC9B,YAAY,EAAE,IAAI,CAAC,YAAY;KAChC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAEvB,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6B,CAAC;IACpD,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE;QAC9B,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClE,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;KAC9E;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAWD,MAAM,qBAAqB;IAA3B;QACkB,YAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAC5B,gBAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAChC,yBAAoB,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAClE,CAAC;CAAA;AAoBD,SAAS,UAAU,CAAC,GAAkB,EAAE,QAAgB,EAAE,KAAwB;IAChF,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,SAAS,KAAK,KAAK,EAAE;YACvB,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;YAClB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;YAChB,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;SACb;KACF;IAED,MAAM,CAAC,KAAK,CAAC,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAgC,EAAE,MAAkB,EAAE,KAAwB,EAAE,KAAiC;IAC1I,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACzB,IAAI,CAAC,GAAG;QACN,OAAO;IAET,MAAM,SAAS,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,sBAAsB,CAAC,UAAU,EAAE,GAAG,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnJ,IAAI,cAAc,CAAC;IACnB,IAAI,IAAI,KAAK,aAAa,EAAE;QAC1B,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,WAAW,CAAC,CAAC;QACzC,cAAc,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAC/J;IAED,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,aAAa,GAAG,EAA+B,CAAC;IACtD,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,OAAO,EAAE;QAClC,IAAI,UAAU,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE;YAC9C,IAAI,eAAe,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,CAAC,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YACxD,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACzE,MAAM,CAAC,SAAS,KAAK,aAAa,CAAC,CAAC;YACpC,eAAe,GAAG,CAAC,eAAe,GAAG,UAAU,CAAC,GAAG,aAAa,CAAC;YAEjE,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK;gBACR,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,GAAG,EAAG,CAAC,CAAC;YAE3C,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,KAAK,CAAC,WAAW;oBACpB,KAAK,CAAC,WAAW,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,EAAE,EAAE,sBAAsB,EAAE,IAAI,kBAAkB,EAAE,EAAE,WAAW,EAAE,IAAI,kBAAkB,EAAE,EAAE,CAAC;gBAE9I,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;aACnE;iBAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAC1B,KAAK,CAAC,QAAQ,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,EAAE,EAAE,sBAAsB,EAAE,IAAI,kBAAkB,EAAE,EAAE,CAAC;aACnG;YAED,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC;YAE/B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC3C,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACvD;QAED,EAAE,aAAa,CAAC;KACjB;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAuB,EAAE,KAAwB,EAAE,KAAiC;IAC9G,MAAM,eAAe,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,oBAAoB,CAAC,UAAU,EAAE,GAAG,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnJ,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IACpD,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,aAAa,GAAG,EAA+B,CAAC;IACtD,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,OAAO,EAAE;QAClC,IAAI,UAAU,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE;YAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YACxC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;YAChC,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvE,MAAM,CAAC,SAAS,KAAK,YAAY,CAAC,CAAC;YAEnC,IAAI,YAAY,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,CAAC,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvE,MAAM,CAAC,SAAS,KAAK,YAAY,CAAC,CAAC;YACnC,YAAY,GAAG,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,YAAY,CAAC;YAE1D,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK;gBACR,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,GAAG,EAAG,CAAC,CAAC;YAE3C,IAAI,CAAC,KAAK,CAAC,SAAS;gBAClB,KAAK,CAAC,SAAS,GAAG,IAAI,qBAAqB,EAAE,CAAC;YAEhD,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAClD,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC/C,KAAK,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACzD;QAED,EAAE,aAAa,CAAC;KACjB;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAsB,EAAE,KAAwB,EAAE,KAAiC;IAC5G,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;IACnC,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;IAC1C,MAAM,wBAAwB,GAAG,WAAW,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC;IAE/E,SAAS,iBAAiB,CAAC,SAAiB;QAC1C,OAAO,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE;YACvG,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvG,CAAC;IAED,SAAS,iBAAiB,CAAC,QAA4B,EAAE,MAAc,EAAE,MAAc;QACrF,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;QACvC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QAChD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;QACvC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,SAAS,gBAAgB,CAAC,SAAiB;QACzC,OAAO,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE;YACvG,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE;YACjG,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpI,CAAC;IAED,SAAS,gBAAgB,CAAC,MAA0B,EAAE,MAAc,EAAE,MAAc,EAAE,KAAa,EAAE,KAAa;QAChH,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;QAC3C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;QAC3C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC;QAC1C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC;QAC1C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,OAAO;QAChC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE3C,MAAM,aAAa,GAAG,EAA+B,CAAC;IACtD,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC/C,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,EAAE,UAAU,IAAI,QAAQ,EAAE,EAAE,UAAU,EAAE;QAC5E,IAAI,UAAU,GAAG,WAAW,EAAE,EAAG,QAAQ;YACvC,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACpD,SAAS,IAAI,CAAC,CAAC;SAChB;aAAM,EAAG,cAAc;YACtB,SAAS,GAAG,wBAAwB,GAAG,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YACvE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;SAC5D;QAED,IAAI,UAAU,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE;YAC9C,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK;gBACR,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,GAAG,EAAG,CAAC,CAAC;YAE3C,IAAI,CAAC,KAAK,CAAC,OAAO;gBAChB,KAAK,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,IAAI,iBAAiB,EAAE,EAAE,WAAW,EAAE,IAAI,iBAAiB,EAAE,EAAE,CAAC;YAE3F,IAAI,UAAU,GAAG,WAAW,EAAE,EAAG,QAAQ;gBACvC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC;gBACjC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC;gBACjC,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;aAC1D;iBAAM,EAAG,cAAc;gBACtB,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC;gBACjC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC;gBACjC,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;aACjE;SACF;KACF;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAAkB,EAAE,KAAwB;IAC9D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC/C,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACpD,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAEvD,IAAI,MAAM,CAAC,SAAS;QAClB,kBAAkB,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAErD,IAAI,MAAM,CAAC,OAAO;QAChB,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC7C,KAAK,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,IAAI,KAAK,EAAE;QACvC,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,CAAC,aAAa,CAAC,OAAO;YACjF,SAAS;QAEX,IAAI,SAAS,GAAG,EAA2B,CAAC;QAC5C,IAAI,WAAW,GAAG,EAA+B,CAAC;QAClD,IAAI,aAAa,CAAC,OAAO,EAAE;YACzB,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAC/D,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC;YACrE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,GAAG,wBAAwB,CAAC,eAAe,EAAE,cAAc,EAAE,SAAS,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;YACxK,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;YAChD,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;YACxD,IAAI,cAAc,GAAG,CAAC;gBACpB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,wBAAwB,GAAG,iBAAiB,CAAC,CAAC;YAE3G,MAAM,aAAa,GAAG,eAAe,GAAG,cAAc,CAAC;YACvD,WAAW,GAAG,IAAI,aAAa,CAAC,IAAI,UAAU,CAAC,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE;gBACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;oBACxB,WAAW,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAE1C,SAAS,GAAG;gBACV,IAAI;gBACJ,KAAK;gBACL,MAAM;gBACN,WAAW,EAAE,eAAe;gBAC5B,iBAAiB;aAClB,CAAC;SACH;QAED,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE;YACb,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACjC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE;gBACzD,sBAAsB,EAAE,aAAa,CAAC,QAAQ,CAAC,sBAAsB,CAAC,YAAY,EAAE;aACrF,CAAC,CAAC,CAAC,SAAS;YACb,WAAW,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;gBACvC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,eAAe,EAAE;gBAC5D,sBAAsB,EAAE,aAAa,CAAC,WAAW,CAAC,sBAAsB,CAAC,YAAY,EAAE;gBACvF,WAAW,EAAE,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,YAAY,EAAE;aAClE,CAAC,CAAC,CAAC,SAAS;YACb,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;gBACnC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE;gBAC1D,WAAW,EAAE,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,EAAE;gBAClE,oBAAoB,EAAE,aAAa,CAAC,SAAS,CAAC,oBAAoB,CAAC,YAAY,EAAE;aAClF,CAAC,CAAC,CAAC,SAAS;YACb,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC/B,OAAO,EAAE,WAAW;gBACpB,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;KACJ;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAMD,MAAM,UAAU,eAAe,CAAC,IAAmB;IACjD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE7C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzC,MAAM,WAAW,GAAG,SAAS,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;IAEzF,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC;QACtC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;QACpC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;QAC9B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,WAAW;KACZ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAEvB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnF,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE;QAC9B,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,IAAI,UAAU,CAC3B,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;YAC9B,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS;YACxC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB;YACtD,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc;YAClD,QAAQ,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ;SAC3E,EACD,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,EACd,IAAI,CAAC,MAAM,CAAC,QAAQ;QACpB,qCAAqC;QACrC,IAAI,CAAC,MAAM,CAAC,WAAW,CACxB,CAAC;QAEF,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;KACxB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAWD,MAAM,UAAU,mBAAmB,CAAC,IAAuB;IACzD,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC;QACtC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO;QACrC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;QAC9B,YAAY,EAAE,IAAI,CAAC,YAAY;KAChC,EAAE,IAAI,CAAC,aAAa,CAA8B,CAAC;IAEpD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IACjC,MAAM,eAAe,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,oBAAoB,CAAC,UAAU,EAAE,GAAG,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnJ,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,aAAa,GAAG,EAA+B,CAAC;IACtD,KAAK,MAAM,SAAS,IAAI,GAAG,CAAC,WAAW,EAAE;QACvC,IAAI,UAAU,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE;YAC/C,MAAM,IAAI,GAAG,aAAa,CAAC,IAAoB,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBAChD,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC5D,IAAI,CAAC,oBAAoB,GAAG,IAAI,kBAAkB,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;aAClG;iBAAM;gBACL,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,oBAAoB,CAAC,CAAC;aACjD;YAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAE3C,IAAI,YAAY,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,CAAC,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvE,MAAM,CAAC,SAAS,KAAK,YAAY,CAAC,CAAC;YACnC,YAAY,GAAG,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,YAAY,CAAC;YAC1D,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC9C;QAED,EAAE,aAAa,CAAC;KACjB;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;IACjD,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE;QAC9B,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,WAAW,IAAI,SAAS,KAAK,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAClF,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,IAAI,cAAc,CAC/B,QAAQ,EAAE;YACR,OAAO;YACP,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE;YAC/C,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE;SAC/D,EACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEpB,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;KACxB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Rendering\r\n */\r\n\r\nimport { assert, Uint32ArrayBuilder, Uint8ArrayBuilder } from \"@itwin/core-bentley\";\r\nimport { ColorDef, RenderFeatureTable } from \"@itwin/core-common\";\r\nimport {\r\n computeDimensions, MeshParams, VertexIndices, VertexTable, VertexTableProps, VertexTableWithIndices,\r\n} from \"./VertexTable\";\r\nimport { PointStringParams } from \"./PointStringParams\";\r\nimport { PolylineParams, TesselatedPolyline } from \"./PolylineParams\";\r\nimport { calculateEdgeTableParams, EdgeParams, EdgeTable, IndexedEdgeParams } from \"./EdgeParams\";\r\nimport { createSurfaceMaterial, SurfaceMaterial } from \"./SurfaceParams\";\r\nimport { IModelApp } from \"../../IModelApp\";\r\nimport { CreateRenderMaterialArgs } from \"../RenderMaterial\";\r\n\r\n/** Builds up a [[VertexIndices]].\r\n * Exported strictly for tests.\r\n */\r\nexport class IndexBuffer {\r\n private readonly _builder: Uint8ArrayBuilder;\r\n private readonly _index32 = new Uint32Array(1);\r\n private readonly _index8 = new Uint8Array(this._index32.buffer, 0, 3);\r\n\r\n public constructor(initialCapacity = 3) {\r\n this._builder = new Uint8ArrayBuilder({ initialCapacity: initialCapacity * 3 });\r\n }\r\n\r\n public get numIndices(): number {\r\n assert((this._builder.length % 3) === 0);\r\n return this._builder.length / 3;\r\n }\r\n\r\n public push(index: number): void {\r\n this._index32[0] = index;\r\n this._builder.append(this._index8);\r\n }\r\n\r\n public toVertexIndices(): VertexIndices {\r\n return new VertexIndices(this._builder.toTypedArray());\r\n }\r\n}\r\n\r\n/** Builds up a [[VertexTable]]. */\r\nclass VertexBuffer {\r\n private readonly _builder: Uint32ArrayBuilder;\r\n private readonly _source: VertexTable;\r\n\r\n /** `source` is the original table containing the vertex data from which individual vertices will be obtained. */\r\n public constructor(source: VertexTable) {\r\n this._source = source;\r\n this._builder = new Uint32ArrayBuilder({ initialCapacity: 3 * source.numRgbaPerVertex });\r\n }\r\n\r\n /** The number of vertices currently in the table. */\r\n public get length(): number {\r\n assert((this._builder.length % this.vertexSize) === 0);\r\n return this._builder.length / this.vertexSize;\r\n }\r\n\r\n /** The number of 32-bit unsigned integers (RGBA values) per vertex. */\r\n public get vertexSize(): number {\r\n return this._source.numRgbaPerVertex;\r\n }\r\n\r\n /** Append a vertex. `vertex` must be of size [[vertexSize]]. */\r\n public push(vertex: Uint32Array): void {\r\n assert(vertex.length === this.vertexSize);\r\n this._builder.append(vertex);\r\n }\r\n\r\n /** Construct the finished vertex table. */\r\n public buildVertexTable(maxDimension: number, colorTable: ColorTable | undefined, materialAtlasTable: MaterialAtlasTable): VertexTable {\r\n const source = this._source;\r\n colorTable = colorTable ?? source.uniformColor;\r\n assert(undefined !== colorTable);\r\n\r\n const colorTableLength = colorTable instanceof Uint32Array ? colorTable.length : 0;\r\n const materialAtlasTableLength = materialAtlasTable instanceof Uint32Array ? materialAtlasTable.length : 0;\r\n const dimensions = computeDimensions(this.length, this.vertexSize, colorTableLength + materialAtlasTableLength, maxDimension);\r\n\r\n let rgbaData = this._builder.toTypedArray();\r\n if (dimensions.width * dimensions.height > rgbaData.length) {\r\n const prevData = rgbaData;\r\n rgbaData = new Uint32Array(dimensions.width * dimensions.height);\r\n rgbaData.set(prevData, 0);\r\n }\r\n\r\n let tableSize = this.vertexSize * this.length;\r\n if (colorTable instanceof Uint32Array) {\r\n rgbaData.set(colorTable, tableSize);\r\n tableSize += colorTable.length;\r\n }\r\n\r\n if (materialAtlasTable instanceof Uint32Array)\r\n rgbaData.set(materialAtlasTable, tableSize);\r\n\r\n const tableProps: VertexTableProps = {\r\n data: new Uint8Array(rgbaData.buffer, rgbaData.byteOffset, rgbaData.byteLength),\r\n usesUnquantizedPositions: source.usesUnquantizedPositions,\r\n qparams: source.qparams,\r\n width: dimensions.width,\r\n height: dimensions.height,\r\n hasTranslucency: source.hasTranslucency,\r\n uniformColor: colorTable instanceof ColorDef ? colorTable : undefined,\r\n featureIndexType: source.featureIndexType,\r\n uniformFeatureID: source.uniformFeatureID,\r\n numVertices: this.length,\r\n numRgbaPerVertex: source.numRgbaPerVertex,\r\n uvParams: source.uvParams,\r\n };\r\n\r\n return new VertexTable(tableProps);\r\n }\r\n}\r\n\r\ntype ColorTable = Uint32Array | ColorDef;\r\n\r\n/** Remaps portions of a source color table into a filtered target color table. */\r\nclass ColorTableRemapper {\r\n private readonly _remappedIndices = new Map<number, number>();\r\n private readonly _colorTable: Uint32Array;\r\n public readonly colors: number[] = [];\r\n private readonly _32 = new Uint32Array(1);\r\n private readonly _16 = new Uint16Array(this._32.buffer);\r\n\r\n public constructor(colorTable: Uint32Array) {\r\n this._colorTable = colorTable;\r\n }\r\n\r\n /** Extract the color index stored in `vertex`, ensure it is present in the remapped color table, and return its index in that table. */\r\n public remap(vertex: Uint32Array, usesUnquantizedPositions: boolean | undefined): void {\r\n const vertIndex = usesUnquantizedPositions ? 4 : 1;\r\n const shortIndex = usesUnquantizedPositions ? 0 : 1;\r\n this._32[0] = vertex[vertIndex];\r\n const oldIndex = this._16[shortIndex];\r\n let newIndex = this._remappedIndices.get(oldIndex);\r\n if (undefined === newIndex) {\r\n newIndex = this.colors.length;\r\n this._remappedIndices.set(oldIndex, newIndex);\r\n const color = this._colorTable[oldIndex];\r\n this.colors.push(color);\r\n }\r\n\r\n this._16[shortIndex] = newIndex;\r\n vertex[vertIndex] = this._32[0];\r\n }\r\n\r\n /** Construct the finished color table. */\r\n public buildColorTable(): ColorTable {\r\n assert(this.colors.length > 0);\r\n return this.colors.length > 1 ? new Uint32Array(this.colors) : ColorDef.fromAbgr(this.colors[0]);\r\n }\r\n}\r\n\r\ntype MaterialAtlasTable = Uint32Array | SurfaceMaterial | undefined;\r\n\r\nclass MaterialAtlasRemapper {\r\n private readonly _remappedIndices = new Map<number, number>();\r\n private readonly _atlasTable: Uint32Array;\r\n public readonly materials: number[] = [];\r\n private readonly _32 = new Uint32Array(1);\r\n private readonly _8 = new Uint8Array(this._32.buffer);\r\n\r\n public constructor(_atlasTable: Uint32Array) {\r\n this._atlasTable = _atlasTable;\r\n }\r\n\r\n /** Extract the mat index stored in `vertex`, ensure it is present in the remapped atlas table, and return its index in that table. */\r\n public remap(vertex: Uint32Array, usesUnquantizedPositions: boolean | undefined): void {\r\n const vertIndex = usesUnquantizedPositions ? 3 : 2;\r\n this._32[0] = vertex[vertIndex];\r\n const oldIndex = this._8[3];\r\n let newIndex = this._remappedIndices.get(oldIndex);\r\n if (undefined === newIndex) {\r\n newIndex = this.materials.length / 4;\r\n this._remappedIndices.set(oldIndex, newIndex);\r\n let index = oldIndex * 4;\r\n this.materials.push(this._atlasTable[index++]);\r\n this.materials.push(this._atlasTable[index++]);\r\n this.materials.push(this._atlasTable[index++]);\r\n this.materials.push(this._atlasTable[index]);\r\n }\r\n\r\n this._8[3] = newIndex;\r\n vertex[vertIndex] = this._32[0];\r\n }\r\n\r\n private unpackFloat(value: number): number {\r\n this._32[0] = value;\r\n const valUint32 = this._32[0];\r\n const bias = 38.0;\r\n const temp = (valUint32 >>> 24) / 2.0;\r\n let exponent = Math.floor(temp);\r\n let sign = (temp - exponent) * 2.0;\r\n sign = -(sign * 2.0 - 1.0);\r\n const base = sign * (valUint32 & 0xffffff) / 16777216.0;\r\n exponent = exponent - bias;\r\n return base * Math.pow(10.0, exponent);\r\n }\r\n\r\n private materialFromAtlasEntry(entry: Uint32Array): SurfaceMaterial | undefined {\r\n const rgbOverridden = (entry[1] & 0x1000000) !== 0;\r\n const alphaOverridden = (entry[1] & 0x2000000) !== 0;\r\n const args: CreateRenderMaterialArgs = {\r\n alpha: alphaOverridden ? (entry[0] >>> 24) / 255.0 : undefined,\r\n diffuse: {\r\n color: rgbOverridden ? ColorDef.fromTbgr(entry[0] & 0xffffff) : undefined,\r\n weight: (entry[1] >>> 8) / 255.0,\r\n },\r\n specular: {\r\n color: ColorDef.fromTbgr(entry[2]),\r\n weight: ((entry[1] >>> 16) & 0xff) / 255.0,\r\n exponent: this.unpackFloat(entry[3]),\r\n },\r\n };\r\n const material = IModelApp.renderSystem.createRenderMaterial(args);\r\n return createSurfaceMaterial(material);\r\n }\r\n\r\n /** Construct the finished color table. */\r\n public buildAtlasTable(): MaterialAtlasTable {\r\n assert(this.materials.length > 0);\r\n const m = new Uint32Array(this.materials);\r\n return this.materials.length > 4 ? m : this.materialFromAtlasEntry(m);\r\n }\r\n}\r\n\r\n/** A node in a split vertex table. Each node corresponds to one or more elements. */\r\nclass Node {\r\n public readonly vertices: VertexBuffer;\r\n public readonly remappedIndices = new Map<number, number>();\r\n public readonly indices = new IndexBuffer();\r\n public readonly colors?: ColorTableRemapper;\r\n public readonly atlas?: MaterialAtlasRemapper;\r\n public readonly usesUnquantizedPositions?: boolean;\r\n\r\n /** `vertexTable` is the source table containing vertex data for all nodes, from which this node will extract the vertices belong to it. */\r\n public constructor(vertexTable: VertexTable, numColorsPrecedingAtlas: number | undefined) {\r\n this.vertices = new VertexBuffer(vertexTable);\r\n if (undefined === vertexTable.uniformColor)\r\n this.colors = new ColorTableRemapper(new Uint32Array(vertexTable.data.buffer, vertexTable.data.byteOffset + 4 * vertexTable.numVertices * vertexTable.numRgbaPerVertex));\r\n\r\n if (undefined !== numColorsPrecedingAtlas) {\r\n const atlasOffset = (vertexTable.numVertices * vertexTable.numRgbaPerVertex + numColorsPrecedingAtlas) * 4;\r\n this.atlas = new MaterialAtlasRemapper(new Uint32Array(vertexTable.data.buffer, vertexTable.data.byteOffset + atlasOffset));\r\n }\r\n\r\n this.usesUnquantizedPositions = vertexTable.usesUnquantizedPositions;\r\n }\r\n\r\n public addVertex(originalIndex: number, vertex: Uint32Array): void {\r\n let newIndex = this.remappedIndices.get(originalIndex);\r\n if (undefined === newIndex) {\r\n newIndex = this.vertices.length;\r\n this.remappedIndices.set(originalIndex, newIndex);\r\n\r\n this.colors?.remap(vertex, this.usesUnquantizedPositions);\r\n this.atlas?.remap(vertex, this.usesUnquantizedPositions);\r\n this.vertices.push(vertex);\r\n }\r\n\r\n this.indices.push(newIndex);\r\n }\r\n\r\n public buildOutput(maxDimension: number): VertexTableWithIndices {\r\n const materialAtlas = this.atlas?.buildAtlasTable();\r\n const material: SurfaceMaterial | undefined = (materialAtlas instanceof Uint32Array) ? undefined : materialAtlas;\r\n return {\r\n indices: this.indices.toVertexIndices(),\r\n vertices: this.vertices.buildVertexTable(maxDimension, this.colors?.buildColorTable(), materialAtlas),\r\n material,\r\n };\r\n }\r\n}\r\n\r\ninterface VertexTableSplitArgs extends VertexTableWithIndices {\r\n featureTable: RenderFeatureTable;\r\n atlasOffset?: number;\r\n}\r\n\r\nexport type ComputeAnimationNodeId = (featureIndex: number) => number;\r\n\r\nclass VertexTableSplitter {\r\n private readonly _input: VertexTableSplitArgs;\r\n private readonly _computeNodeId: ComputeAnimationNodeId;\r\n private readonly _nodes = new Map<number, Node>();\r\n\r\n private constructor(input: VertexTableSplitArgs, computeNodeId: ComputeAnimationNodeId) {\r\n this._input = input;\r\n this._computeNodeId = computeNodeId;\r\n }\r\n\r\n /** Split the source into one or more output nodes, returning a mapping of integer node Id to node. */\r\n public static split(source: VertexTableSplitArgs, computeNodeId: ComputeAnimationNodeId): Map<number, Node> {\r\n const splitter = new VertexTableSplitter(source, computeNodeId);\r\n splitter.split();\r\n return splitter._nodes;\r\n }\r\n\r\n private split(): void {\r\n // Track the most recent feature and corresponding node to avoid repeated lookups - vertices for\r\n // individual features are largely contiguous.\r\n const curState = {\r\n featureIndex: -1,\r\n node: undefined as unknown as Node,\r\n };\r\n\r\n const vertSize = this._input.vertices.numRgbaPerVertex;\r\n const vertex = new Uint32Array(vertSize);\r\n const vertexTable = new Uint32Array(this._input.vertices.data.buffer, this._input.vertices.data.byteOffset, this._input.vertices.numVertices * vertSize);\r\n\r\n for (const index of this._input.indices) {\r\n // Extract the data for this vertex without allocating new typed arrays.\r\n const vertexOffset = index * vertSize;\r\n for (let i = 0; i < vertex.length; i++)\r\n vertex[i] = vertexTable[vertexOffset + i];\r\n\r\n // Determine to which element the vertex belongs and find the corresponding Node.\r\n const featureIndex = vertex[2] & 0x00ffffff;\r\n if (curState.featureIndex !== featureIndex) {\r\n curState.featureIndex = featureIndex;\r\n const nodeId = this._computeNodeId(featureIndex);\r\n let node = this._nodes.get(nodeId);\r\n if (undefined === node)\r\n this._nodes.set(nodeId, node = new Node(this._input.vertices, this._input.atlasOffset));\r\n\r\n curState.node = node;\r\n }\r\n\r\n // Add the vertex to the appropriate node.\r\n curState.node.addVertex(index, vertex);\r\n }\r\n }\r\n}\r\n\r\nexport interface SplitVertexTableArgs {\r\n featureTable: RenderFeatureTable;\r\n maxDimension: number;\r\n computeNodeId: ComputeAnimationNodeId;\r\n}\r\n\r\nexport interface SplitPointStringArgs extends SplitVertexTableArgs {\r\n params: PointStringParams;\r\n}\r\n\r\n/** Given a PointStringParams and a function that can associate a node Id with an element Id, produce a mapping of nodes to PointStringParams, splitting up\r\n * the input params as needed.\r\n * @internal\r\n */\r\nexport function splitPointStringParams(args: SplitPointStringArgs): Map<number, PointStringParams> {\r\n const nodes = VertexTableSplitter.split({\r\n indices: args.params.indices,\r\n vertices: args.params.vertices,\r\n featureTable: args.featureTable,\r\n }, args.computeNodeId);\r\n\r\n const result = new Map<number, PointStringParams>();\r\n for (const [id, node] of nodes) {\r\n const { vertices, indices } = node.buildOutput(args.maxDimension);\r\n result.set(id, new PointStringParams(vertices, indices, args.params.weight));\r\n }\r\n\r\n return result;\r\n}\r\n\r\ninterface RemappedSegmentEdges {\r\n indices: IndexBuffer;\r\n endPointAndQuadIndices: Uint32ArrayBuilder;\r\n}\r\n\r\ninterface RemappedSilhouetteEdges extends RemappedSegmentEdges {\r\n normalPairs: Uint32ArrayBuilder;\r\n}\r\n\r\nclass RemappedPolylineEdges {\r\n public readonly indices = new IndexBuffer();\r\n public readonly prevIndices = new IndexBuffer();\r\n public readonly nextIndicesAndParams = new Uint32ArrayBuilder();\r\n}\r\n\r\ninterface RemappedIndexEdges {\r\n edges: Uint8ArrayBuilder;\r\n silhouettes: Uint8ArrayBuilder;\r\n}\r\n\r\ninterface RemappedEdges {\r\n segments?: RemappedSegmentEdges;\r\n silhouettes?: RemappedSilhouetteEdges;\r\n polylines?: RemappedPolylineEdges;\r\n indexed?: RemappedIndexEdges;\r\n}\r\n\r\ninterface RemappedIndex {\r\n node: Node;\r\n id: number;\r\n index: number;\r\n}\r\n\r\nfunction remapIndex(out: RemappedIndex, srcIndex: number, nodes: Map<number, Node>): boolean {\r\n for (const [id, node] of nodes) {\r\n const index = node.remappedIndices.get(srcIndex);\r\n if (undefined !== index) {\r\n out.index = index;\r\n out.node = node;\r\n out.id = id;\r\n return true;\r\n }\r\n }\r\n\r\n assert(false);\r\n return false;\r\n}\r\n\r\nfunction remapSegmentEdges(type: \"segments\" | \"silhouettes\", source: EdgeParams, nodes: Map<number, Node>, edges: Map<number, RemappedEdges>): void {\r\n const src = source[type];\r\n if (!src)\r\n return;\r\n\r\n const srcEndPts = new Uint32Array(src.endPointAndQuadIndices.buffer, src.endPointAndQuadIndices.byteOffset, src.endPointAndQuadIndices.length / 4);\r\n let srcNormalPairs;\r\n if (type === \"silhouettes\") {\r\n assert(undefined !== source.silhouettes);\r\n srcNormalPairs = new Uint32Array(source.silhouettes.normalPairs.buffer, source.silhouettes.normalPairs.byteOffset, source.silhouettes.normalPairs.length / 4);\r\n }\r\n\r\n let curIndexIndex = 0;\r\n const remappedIndex = { } as unknown as RemappedIndex;\r\n for (const srcIndex of src.indices) {\r\n if (remapIndex(remappedIndex, srcIndex, nodes)) {\r\n let endPointAndQuad = srcEndPts[curIndexIndex];\r\n const otherIndex = (endPointAndQuad & 0x00ffffff) >>> 0;\r\n const newOtherIndex = remappedIndex.node.remappedIndices.get(otherIndex);\r\n assert(undefined !== newOtherIndex);\r\n endPointAndQuad = (endPointAndQuad & 0xff000000) | newOtherIndex;\r\n\r\n let entry = edges.get(remappedIndex.id);\r\n if (!entry)\r\n edges.set(remappedIndex.id, entry = { });\r\n\r\n if (srcNormalPairs) {\r\n if (!entry.silhouettes)\r\n entry.silhouettes = { indices: new IndexBuffer(), endPointAndQuadIndices: new Uint32ArrayBuilder(), normalPairs: new Uint32ArrayBuilder() };\r\n\r\n entry.silhouettes.normalPairs.push(srcNormalPairs[curIndexIndex]);\r\n } else if (!entry.segments) {\r\n entry.segments = { indices: new IndexBuffer(), endPointAndQuadIndices: new Uint32ArrayBuilder() };\r\n }\r\n\r\n const segments = entry[type];\r\n assert(undefined !== segments);\r\n\r\n segments.indices.push(remappedIndex.index);\r\n segments.endPointAndQuadIndices.push(endPointAndQuad);\r\n }\r\n\r\n ++curIndexIndex;\r\n }\r\n}\r\n\r\nfunction remapPolylineEdges(src: TesselatedPolyline, nodes: Map<number, Node>, edges: Map<number, RemappedEdges>): void {\r\n const srcNextAndParam = new Uint32Array(src.nextIndicesAndParams.buffer, src.nextIndicesAndParams.byteOffset, src.nextIndicesAndParams.length / 4);\r\n const prevIter = src.prevIndices[Symbol.iterator]();\r\n let curIndexIndex = 0;\r\n const remappedIndex = { } as unknown as RemappedIndex;\r\n for (const srcIndex of src.indices) {\r\n if (remapIndex(remappedIndex, srcIndex, nodes)) {\r\n const prevIndex = prevIter.next().value;\r\n assert(undefined !== prevIndex);\r\n const newPrevIndex = remappedIndex.node.remappedIndices.get(prevIndex);\r\n assert(undefined !== newPrevIndex);\r\n\r\n let nextAndParam = srcNextAndParam[curIndexIndex];\r\n const nextIndex = (nextAndParam & 0x00ffffff) >>> 0;\r\n const newNextIndex = remappedIndex.node.remappedIndices.get(nextIndex);\r\n assert(undefined !== newNextIndex);\r\n nextAndParam = (nextAndParam & 0xff000000) | newNextIndex;\r\n\r\n let entry = edges.get(remappedIndex.id);\r\n if (!entry)\r\n edges.set(remappedIndex.id, entry = { });\r\n\r\n if (!entry.polylines)\r\n entry.polylines = new RemappedPolylineEdges();\r\n\r\n entry.polylines.indices.push(remappedIndex.index);\r\n entry.polylines.prevIndices.push(newPrevIndex);\r\n entry.polylines.nextIndicesAndParams.push(nextAndParam);\r\n }\r\n\r\n ++curIndexIndex;\r\n }\r\n}\r\n\r\nfunction remapIndexedEdges(src: IndexedEdgeParams, nodes: Map<number, Node>, edges: Map<number, RemappedEdges>): void {\r\n const srcEdgeData = src.edges.data;\r\n const numSegments = src.edges.numSegments;\r\n const silhouetteStartByteIndex = numSegments * 6 + src.edges.silhouettePadding;\r\n\r\n function getUint24EdgePair(byteIndex: number): [number, number] {\r\n return [srcEdgeData[byteIndex + 0] | (srcEdgeData[byteIndex + 1] << 8) | srcEdgeData[byteIndex + 2] << 16,\r\n srcEdgeData[byteIndex + 3] | (srcEdgeData[byteIndex + 4] << 8) | srcEdgeData[byteIndex + 5] << 16];\r\n }\r\n\r\n function setUint24EdgePair(indEdges: RemappedIndexEdges, value1: number, value2: number): void {\r\n indEdges.edges.push(value1 & 0x0000ff);\r\n indEdges.edges.push((value1 & 0x00ff00) >>> 8);\r\n indEdges.edges.push((value1 & 0xff0000) >>> 16);\r\n indEdges.edges.push(value2 & 0x0000ff);\r\n indEdges.edges.push((value2 & 0x00ff00) >>> 8);\r\n indEdges.edges.push((value2 & 0xff0000) >>> 16);\r\n }\r\n\r\n function getUint24SilPair(byteIndex: number): [number, number, number, number] {\r\n return [srcEdgeData[byteIndex + 0] | (srcEdgeData[byteIndex + 1] << 8) | srcEdgeData[byteIndex + 2] << 16,\r\n srcEdgeData[byteIndex + 3] | (srcEdgeData[byteIndex + 4] << 8) | srcEdgeData[byteIndex + 5] << 16,\r\n srcEdgeData[byteIndex + 6] | (srcEdgeData[byteIndex + 7] << 8), srcEdgeData[byteIndex + 8] | (srcEdgeData[byteIndex + 9] << 8)];\r\n }\r\n\r\n function setUint24SilPair(indSil: RemappedIndexEdges, value1: number, value2: number, norm1: number, norm2: number): void {\r\n indSil.silhouettes.push(value1 & 0x0000ff);\r\n indSil.silhouettes.push((value1 & 0x00ff00) >>> 8);\r\n indSil.silhouettes.push((value1 & 0xff0000) >>> 16);\r\n indSil.silhouettes.push(value2 & 0x0000ff);\r\n indSil.silhouettes.push((value2 & 0x00ff00) >>> 8);\r\n indSil.silhouettes.push((value2 & 0xff0000) >>> 16);\r\n indSil.silhouettes.push(norm1 & 0x0000ff);\r\n indSil.silhouettes.push((norm1 & 0x00ff00) >>> 8);\r\n indSil.silhouettes.push(norm2 & 0x0000ff);\r\n indSil.silhouettes.push((norm2 & 0x00ff00) >>> 8);\r\n }\r\n\r\n let maxIndex = 0;\r\n for (const srcIndex of src.indices)\r\n maxIndex = Math.max (srcIndex, maxIndex);\r\n\r\n const remappedIndex = { } as unknown as RemappedIndex;\r\n let es1Index = 0, es2Index = 0, n1 = 0, n2 = 0;\r\n for (let curSegment = 0, byteIndex = 0; curSegment <= maxIndex; ++curSegment) {\r\n if (curSegment < numSegments) { // edges\r\n [es1Index, es2Index] = getUint24EdgePair(byteIndex);\r\n byteIndex += 6;\r\n } else { // silhouettes\r\n byteIndex = silhouetteStartByteIndex + (curSegment - numSegments) * 10;\r\n [es1Index, es2Index, n1, n2] = getUint24SilPair(byteIndex);\r\n }\r\n\r\n if (remapIndex(remappedIndex, es1Index, nodes)) {\r\n let entry = edges.get(remappedIndex.id);\r\n if (!entry)\r\n edges.set(remappedIndex.id, entry = { });\r\n\r\n if (!entry.indexed)\r\n entry.indexed = { edges: new Uint8ArrayBuilder(), silhouettes: new Uint8ArrayBuilder() };\r\n\r\n if (curSegment < numSegments) { // edges\r\n const newE1Index = remappedIndex.node.remappedIndices.get(es1Index);\r\n assert(undefined !== newE1Index);\r\n const newE2Index = remappedIndex.node.remappedIndices.get(es2Index);\r\n assert(undefined !== newE2Index);\r\n setUint24EdgePair(entry.indexed, newE1Index, newE2Index);\r\n } else { // silhouettes\r\n const newS1Index = remappedIndex.node.remappedIndices.get(es1Index);\r\n assert(undefined !== newS1Index);\r\n const newS2Index = remappedIndex.node.remappedIndices.get(es2Index);\r\n assert(undefined !== newS2Index);\r\n setUint24SilPair(entry.indexed, newS1Index, newS2Index, n1, n2);\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction splitEdges(source: EdgeParams, nodes: Map<number, Node>): Map<number, EdgeParams> {\r\n const edges = new Map<number, RemappedEdges>();\r\n remapSegmentEdges(\"segments\", source, nodes, edges);\r\n remapSegmentEdges(\"silhouettes\", source, nodes, edges);\r\n\r\n if (source.polylines)\r\n remapPolylineEdges(source.polylines, nodes, edges);\r\n\r\n if (source.indexed)\r\n remapIndexedEdges(source.indexed, nodes, edges);\r\n\r\n const result = new Map<number, EdgeParams>();\r\n for (const [id, remappedEdges] of edges) {\r\n if (!remappedEdges.segments && !remappedEdges.silhouettes && !remappedEdges.indexed)\r\n continue;\r\n\r\n let edgeTable = { } as unknown as EdgeTable;\r\n let edgeIndices = { } as unknown as VertexIndices;\r\n if (remappedEdges.indexed) {\r\n const numSegmentEdges = remappedEdges.indexed.edges.length / 6;\r\n const numSilhouettes = remappedEdges.indexed.silhouettes.length / 10;\r\n const { width, height, silhouettePadding, silhouetteStartByteIndex } = calculateEdgeTableParams(numSegmentEdges, numSilhouettes, IModelApp.renderSystem.maxTextureSize);\r\n const data = new Uint8Array(width * height * 4);\r\n data.set(remappedEdges.indexed.edges.toTypedArray(), 0);\r\n if (numSilhouettes > 0)\r\n data.set(remappedEdges.indexed.silhouettes.toTypedArray(), silhouetteStartByteIndex + silhouettePadding);\r\n\r\n const numTotalEdges = numSegmentEdges + numSilhouettes;\r\n edgeIndices = new VertexIndices(new Uint8Array(numTotalEdges * 6 * 3));\r\n for (let i = 0; i < numTotalEdges; i++)\r\n for (let j = 0; j < 6; j++)\r\n edgeIndices.setNthIndex(i * 6 + j, i);\r\n\r\n edgeTable = {\r\n data,\r\n width,\r\n height,\r\n numSegments: numSegmentEdges,\r\n silhouettePadding,\r\n };\r\n }\r\n\r\n result.set(id, {\r\n weight: source.weight,\r\n linePixels: source.linePixels,\r\n segments: remappedEdges.segments ? {\r\n indices: remappedEdges.segments.indices.toVertexIndices(),\r\n endPointAndQuadIndices: remappedEdges.segments.endPointAndQuadIndices.toUint8Array(),\r\n } : undefined,\r\n silhouettes: remappedEdges.silhouettes ? {\r\n indices: remappedEdges.silhouettes.indices.toVertexIndices(),\r\n endPointAndQuadIndices: remappedEdges.silhouettes.endPointAndQuadIndices.toUint8Array(),\r\n normalPairs: remappedEdges.silhouettes.normalPairs.toUint8Array(),\r\n } : undefined,\r\n polylines: remappedEdges.polylines ? {\r\n indices: remappedEdges.polylines.indices.toVertexIndices(),\r\n prevIndices: remappedEdges.polylines.prevIndices.toVertexIndices(),\r\n nextIndicesAndParams: remappedEdges.polylines.nextIndicesAndParams.toUint8Array(),\r\n } : undefined,\r\n indexed: remappedEdges.indexed ? {\r\n indices: edgeIndices,\r\n edges: edgeTable,\r\n } : undefined,\r\n });\r\n }\r\n\r\n return result;\r\n}\r\n\r\nexport interface SplitMeshArgs extends SplitVertexTableArgs {\r\n params: MeshParams;\r\n}\r\n\r\nexport function splitMeshParams(args: SplitMeshArgs): Map<number, MeshParams> {\r\n const result = new Map<number, MeshParams>();\r\n\r\n const mat = args.params.surface.material;\r\n const atlasOffset = undefined !== mat && mat.isAtlas ? mat.vertexTableOffset : undefined;\r\n\r\n const nodes = VertexTableSplitter.split({\r\n indices: args.params.surface.indices,\r\n vertices: args.params.vertices,\r\n featureTable: args.featureTable,\r\n atlasOffset,\r\n }, args.computeNodeId);\r\n\r\n const edges = args.params.edges ? splitEdges(args.params.edges, nodes) : undefined;\r\n\r\n for (const [id, node] of nodes) {\r\n const { vertices, indices, material } = node.buildOutput(args.maxDimension);\r\n const params = new MeshParams(\r\n vertices, {\r\n type: args.params.surface.type,\r\n indices,\r\n fillFlags: args.params.surface.fillFlags,\r\n hasBakedLighting: args.params.surface.hasBakedLighting,\r\n textureMapping: args.params.surface.textureMapping,\r\n material: material !== undefined ? material : args.params.surface.material,\r\n },\r\n edges?.get(id),\r\n args.params.isPlanar,\r\n // ###TODO handle aux channels.......\r\n args.params.auxChannels,\r\n );\r\n\r\n result.set(id, params);\r\n }\r\n\r\n return result;\r\n}\r\n\r\nexport interface SplitPolylineArgs extends SplitVertexTableArgs {\r\n params: PolylineParams;\r\n}\r\n\r\ninterface PolylineNode extends Node {\r\n prevIndices?: IndexBuffer;\r\n nextIndicesAndParams?: Uint32ArrayBuilder;\r\n}\r\n\r\nexport function splitPolylineParams(args: SplitPolylineArgs): Map<number, PolylineParams> {\r\n const nodes = VertexTableSplitter.split({\r\n indices: args.params.polyline.indices,\r\n vertices: args.params.vertices,\r\n featureTable: args.featureTable,\r\n }, args.computeNodeId) as Map<number, PolylineNode>;\r\n\r\n const src = args.params.polyline;\r\n const srcNextAndParam = new Uint32Array(src.nextIndicesAndParams.buffer, src.nextIndicesAndParams.byteOffset, src.nextIndicesAndParams.length / 4);\r\n let curIndexIndex = 0;\r\n const remappedIndex = { } as unknown as RemappedIndex;\r\n for (const prevIndex of src.prevIndices) {\r\n if (remapIndex(remappedIndex, prevIndex, nodes)) {\r\n const node = remappedIndex.node as PolylineNode;\r\n if (!node.prevIndices) {\r\n assert(undefined === node.nextIndicesAndParams);\r\n node.prevIndices = new IndexBuffer(node.indices.numIndices);\r\n node.nextIndicesAndParams = new Uint32ArrayBuilder({ initialCapacity: node.indices.numIndices });\r\n } else {\r\n assert(undefined !== node.nextIndicesAndParams);\r\n }\r\n\r\n node.prevIndices.push(remappedIndex.index);\r\n\r\n let nextAndParam = srcNextAndParam[curIndexIndex];\r\n const nextIndex = (nextAndParam & 0x00ffffff) >>> 0;\r\n const newNextIndex = remappedIndex.node.remappedIndices.get(nextIndex);\r\n assert(undefined !== newNextIndex);\r\n nextAndParam = (nextAndParam & 0xff000000) | newNextIndex;\r\n node.nextIndicesAndParams.push(nextAndParam);\r\n }\r\n\r\n ++curIndexIndex;\r\n }\r\n\r\n const result = new Map<number, PolylineParams>();\r\n for (const [id, node] of nodes) {\r\n assert(undefined !== node.prevIndices && undefined !== node.nextIndicesAndParams);\r\n const { vertices, indices } = node.buildOutput(args.maxDimension);\r\n const params = new PolylineParams(\r\n vertices, {\r\n indices,\r\n prevIndices: node.prevIndices.toVertexIndices(),\r\n nextIndicesAndParams: node.nextIndicesAndParams.toUint8Array(),\r\n },\r\n args.params.weight,\r\n args.params.linePixels,\r\n args.params.isPlanar,\r\n args.params.type);\r\n\r\n result.set(id, params);\r\n }\r\n\r\n return result;\r\n}\r\n"]}
@@ -1,21 +0,0 @@
1
- export * from "./render/primitives/geometry/GeometryPrimitives";
2
- export * from "./render/primitives/geometry/GeometryList";
3
- export * from "./render/primitives/geometry/GeometryListBuilder";
4
- export * from "./render/primitives/geometry/GeometryAccumulator";
5
- export * from "./render/primitives/mesh/MeshBuilder";
6
- export * from "./render/primitives/mesh/MeshBuilderMap";
7
- export * from "./render/primitives/mesh/MeshPrimitives";
8
- export * from "./render/primitives/ColorMap";
9
- export * from "./render/primitives/DisplayParams";
10
- export * from "./render/primitives/EdgeParams";
11
- export * from "./render/primitives/PointCloudPrimitive";
12
- export * from "./render/primitives/PointStringParams";
13
- export * from "./render/primitives/Polyface";
14
- export * from "./render/primitives/PolylineParams";
15
- export * from "./render/primitives/Primitives";
16
- export * from "./render/primitives/Strokes";
17
- export * from "./render/primitives/SurfaceParams";
18
- export * from "./render/primitives/VertexKey";
19
- export * from "./render/primitives/VertexTable";
20
- export * from "./render/primitives/VertexTableSplitter";
21
- //# sourceMappingURL=render-primitives.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"render-primitives.d.ts","sourceRoot":"","sources":["../../src/render-primitives.ts"],"names":[],"mappings":"AAIA,cAAc,iDAAiD,CAAC;AAChE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kDAAkD,CAAC;AACjE,cAAc,kDAAkD,CAAC;AAEjE,cAAc,sCAAsC,CAAC;AACrD,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AAExD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,yCAAyC,CAAC"}
@@ -1,25 +0,0 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- export * from "./render/primitives/geometry/GeometryPrimitives";
6
- export * from "./render/primitives/geometry/GeometryList";
7
- export * from "./render/primitives/geometry/GeometryListBuilder";
8
- export * from "./render/primitives/geometry/GeometryAccumulator";
9
- export * from "./render/primitives/mesh/MeshBuilder";
10
- export * from "./render/primitives/mesh/MeshBuilderMap";
11
- export * from "./render/primitives/mesh/MeshPrimitives";
12
- export * from "./render/primitives/ColorMap";
13
- export * from "./render/primitives/DisplayParams";
14
- export * from "./render/primitives/EdgeParams";
15
- export * from "./render/primitives/PointCloudPrimitive";
16
- export * from "./render/primitives/PointStringParams";
17
- export * from "./render/primitives/Polyface";
18
- export * from "./render/primitives/PolylineParams";
19
- export * from "./render/primitives/Primitives";
20
- export * from "./render/primitives/Strokes";
21
- export * from "./render/primitives/SurfaceParams";
22
- export * from "./render/primitives/VertexKey";
23
- export * from "./render/primitives/VertexTable";
24
- export * from "./render/primitives/VertexTableSplitter";
25
- //# sourceMappingURL=render-primitives.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"render-primitives.js","sourceRoot":"","sources":["../../src/render-primitives.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,cAAc,iDAAiD,CAAC;AAChE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kDAAkD,CAAC;AACjE,cAAc,kDAAkD,CAAC;AAEjE,cAAc,sCAAsC,CAAC;AACrD,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AAExD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,yCAAyC,CAAC","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\nexport * from \"./render/primitives/geometry/GeometryPrimitives\";\r\nexport * from \"./render/primitives/geometry/GeometryList\";\r\nexport * from \"./render/primitives/geometry/GeometryListBuilder\";\r\nexport * from \"./render/primitives/geometry/GeometryAccumulator\";\r\n\r\nexport * from \"./render/primitives/mesh/MeshBuilder\";\r\nexport * from \"./render/primitives/mesh/MeshBuilderMap\";\r\nexport * from \"./render/primitives/mesh/MeshPrimitives\";\r\n\r\nexport * from \"./render/primitives/ColorMap\";\r\nexport * from \"./render/primitives/DisplayParams\";\r\nexport * from \"./render/primitives/EdgeParams\";\r\nexport * from \"./render/primitives/PointCloudPrimitive\";\r\nexport * from \"./render/primitives/PointStringParams\";\r\nexport * from \"./render/primitives/Polyface\";\r\nexport * from \"./render/primitives/PolylineParams\";\r\nexport * from \"./render/primitives/Primitives\";\r\nexport * from \"./render/primitives/Strokes\";\r\nexport * from \"./render/primitives/SurfaceParams\";\r\nexport * from \"./render/primitives/VertexKey\";\r\nexport * from \"./render/primitives/VertexTable\";\r\nexport * from \"./render/primitives/VertexTableSplitter\";\r\n"]}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes