@itwin/core-frontend 4.1.0-dev.8 → 4.1.0-dev.81

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 (1200) hide show
  1. package/CHANGELOG.md +105 -1
  2. package/lib/cjs/AccuDraw.d.ts +3 -4
  3. package/lib/cjs/AccuDraw.d.ts.map +1 -1
  4. package/lib/cjs/AccuDraw.js +6 -7
  5. package/lib/cjs/AccuDraw.js.map +1 -1
  6. package/lib/cjs/AccuSnap.d.ts +17 -2
  7. package/lib/cjs/AccuSnap.d.ts.map +1 -1
  8. package/lib/cjs/AccuSnap.js +35 -8
  9. package/lib/cjs/AccuSnap.js.map +1 -1
  10. package/lib/cjs/BackgroundMapGeometry.d.ts +3 -2
  11. package/lib/cjs/BackgroundMapGeometry.d.ts.map +1 -1
  12. package/lib/cjs/BackgroundMapGeometry.js +47 -7
  13. package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
  14. package/lib/cjs/BriefcaseConnection.d.ts +3 -3
  15. package/lib/cjs/BriefcaseConnection.js +3 -3
  16. package/lib/cjs/BriefcaseConnection.js.map +1 -1
  17. package/lib/cjs/ChangeFlags.d.ts +25 -12
  18. package/lib/cjs/ChangeFlags.d.ts.map +1 -1
  19. package/lib/cjs/ChangeFlags.js +24 -11
  20. package/lib/cjs/ChangeFlags.js.map +1 -1
  21. package/lib/cjs/CheckpointConnection.js +1 -1
  22. package/lib/cjs/CheckpointConnection.js.map +1 -1
  23. package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
  24. package/lib/cjs/DisplayStyleState.js +2 -1
  25. package/lib/cjs/DisplayStyleState.js.map +1 -1
  26. package/lib/cjs/DrawingViewState.d.ts +2 -2
  27. package/lib/cjs/DrawingViewState.d.ts.map +1 -1
  28. package/lib/cjs/DrawingViewState.js +3 -3
  29. package/lib/cjs/DrawingViewState.js.map +1 -1
  30. package/lib/cjs/ElementLocateManager.d.ts +0 -1
  31. package/lib/cjs/ElementLocateManager.d.ts.map +1 -1
  32. package/lib/cjs/ElementLocateManager.js +11 -19
  33. package/lib/cjs/ElementLocateManager.js.map +1 -1
  34. package/lib/cjs/EnvironmentDecorations.js +1 -1
  35. package/lib/cjs/EnvironmentDecorations.js.map +1 -1
  36. package/lib/cjs/FrustumAnimator.js.map +1 -1
  37. package/lib/cjs/GeoServices.d.ts +37 -7
  38. package/lib/cjs/GeoServices.d.ts.map +1 -1
  39. package/lib/cjs/GeoServices.js +75 -25
  40. package/lib/cjs/GeoServices.js.map +1 -1
  41. package/lib/cjs/HitDetail.d.ts +100 -29
  42. package/lib/cjs/HitDetail.d.ts.map +1 -1
  43. package/lib/cjs/HitDetail.js +89 -36
  44. package/lib/cjs/HitDetail.js.map +1 -1
  45. package/lib/cjs/IModelApp.d.ts +19 -14
  46. package/lib/cjs/IModelApp.d.ts.map +1 -1
  47. package/lib/cjs/IModelApp.js +22 -19
  48. package/lib/cjs/IModelApp.js.map +1 -1
  49. package/lib/cjs/IModelConnection.d.ts +64 -19
  50. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  51. package/lib/cjs/IModelConnection.js +131 -20
  52. package/lib/cjs/IModelConnection.js.map +1 -1
  53. package/lib/cjs/IpcApp.d.ts +1 -1
  54. package/lib/cjs/IpcApp.js +1 -1
  55. package/lib/cjs/IpcApp.js.map +1 -1
  56. package/lib/cjs/Marker.d.ts +1 -1
  57. package/lib/cjs/Marker.d.ts.map +1 -1
  58. package/lib/cjs/Marker.js +3 -3
  59. package/lib/cjs/Marker.js.map +1 -1
  60. package/lib/cjs/NativeApp.js +1 -1
  61. package/lib/cjs/NativeApp.js.map +1 -1
  62. package/lib/cjs/NoRenderApp.d.ts +1 -1
  63. package/lib/cjs/NoRenderApp.d.ts.map +1 -1
  64. package/lib/cjs/NoRenderApp.js +1 -1
  65. package/lib/cjs/NoRenderApp.js.map +1 -1
  66. package/lib/cjs/RealityDataSource.js +1 -1
  67. package/lib/cjs/RealityDataSource.js.map +1 -1
  68. package/lib/cjs/RealityDataSourceContextShareImpl.js +1 -1
  69. package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -1
  70. package/lib/cjs/SheetViewState.d.ts +9 -7
  71. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  72. package/lib/cjs/SheetViewState.js +22 -7
  73. package/lib/cjs/SheetViewState.js.map +1 -1
  74. package/lib/cjs/SpatialViewState.d.ts +20 -5
  75. package/lib/cjs/SpatialViewState.d.ts.map +1 -1
  76. package/lib/cjs/SpatialViewState.js +13 -5
  77. package/lib/cjs/SpatialViewState.js.map +1 -1
  78. package/lib/cjs/Sprites.js +2 -2
  79. package/lib/cjs/Sprites.js.map +1 -1
  80. package/lib/cjs/TentativePoint.d.ts.map +1 -1
  81. package/lib/cjs/TentativePoint.js +10 -1
  82. package/lib/cjs/TentativePoint.js.map +1 -1
  83. package/lib/cjs/ViewContext.d.ts +19 -0
  84. package/lib/cjs/ViewContext.d.ts.map +1 -1
  85. package/lib/cjs/ViewContext.js +9 -0
  86. package/lib/cjs/ViewContext.js.map +1 -1
  87. package/lib/cjs/ViewCreator3d.d.ts +3 -6
  88. package/lib/cjs/ViewCreator3d.d.ts.map +1 -1
  89. package/lib/cjs/ViewCreator3d.js +12 -33
  90. package/lib/cjs/ViewCreator3d.js.map +1 -1
  91. package/lib/cjs/ViewGlobalLocation.d.ts.map +1 -1
  92. package/lib/cjs/ViewGlobalLocation.js +4 -3
  93. package/lib/cjs/ViewGlobalLocation.js.map +1 -1
  94. package/lib/cjs/ViewManager.d.ts +4 -2
  95. package/lib/cjs/ViewManager.d.ts.map +1 -1
  96. package/lib/cjs/ViewManager.js +4 -2
  97. package/lib/cjs/ViewManager.js.map +1 -1
  98. package/lib/cjs/ViewPose.d.ts +11 -11
  99. package/lib/cjs/ViewPose.d.ts.map +1 -1
  100. package/lib/cjs/ViewPose.js +17 -11
  101. package/lib/cjs/ViewPose.js.map +1 -1
  102. package/lib/cjs/ViewState.d.ts +44 -26
  103. package/lib/cjs/ViewState.d.ts.map +1 -1
  104. package/lib/cjs/ViewState.js +52 -25
  105. package/lib/cjs/ViewState.js.map +1 -1
  106. package/lib/cjs/ViewingSpace.js +1 -1
  107. package/lib/cjs/ViewingSpace.js.map +1 -1
  108. package/lib/cjs/Viewport.d.ts +59 -21
  109. package/lib/cjs/Viewport.d.ts.map +1 -1
  110. package/lib/cjs/Viewport.js +68 -25
  111. package/lib/cjs/Viewport.js.map +1 -1
  112. package/lib/cjs/ViewportSync.d.ts +2 -2
  113. package/lib/cjs/ViewportSync.d.ts.map +1 -1
  114. package/lib/cjs/ViewportSync.js +2 -2
  115. package/lib/cjs/ViewportSync.js.map +1 -1
  116. package/lib/cjs/common/FrontendLoggerCategory.d.ts.map +1 -0
  117. package/lib/cjs/common/FrontendLoggerCategory.js.map +1 -0
  118. package/lib/cjs/common/ImageUtil.d.ts.map +1 -0
  119. package/lib/cjs/{ImageUtil.js → common/ImageUtil.js} +2 -0
  120. package/lib/cjs/common/ImageUtil.js.map +1 -0
  121. package/lib/cjs/common/ViewRect.d.ts.map +1 -0
  122. package/lib/cjs/common/ViewRect.js.map +1 -0
  123. package/lib/cjs/common/WorkerProxy.d.ts +73 -0
  124. package/lib/cjs/common/WorkerProxy.d.ts.map +1 -0
  125. package/lib/cjs/common/WorkerProxy.js +54 -0
  126. package/lib/cjs/common/WorkerProxy.js.map +1 -0
  127. package/lib/{esm → cjs/common}/gltf/GltfModel.d.ts +1 -1
  128. package/lib/cjs/common/gltf/GltfModel.d.ts.map +1 -0
  129. package/lib/cjs/common/gltf/GltfModel.js.map +1 -0
  130. package/lib/cjs/common/gltf/GltfParser.d.ts.map +1 -0
  131. package/lib/cjs/common/gltf/GltfParser.js.map +1 -0
  132. package/lib/cjs/common/gltf/GltfSchema.d.ts.map +1 -0
  133. package/lib/cjs/common/gltf/GltfSchema.js.map +1 -0
  134. package/lib/cjs/common/imdl/CompactEdges.d.ts +27 -0
  135. package/lib/cjs/common/imdl/CompactEdges.d.ts.map +1 -0
  136. package/lib/cjs/common/imdl/CompactEdges.js +96 -0
  137. package/lib/cjs/common/imdl/CompactEdges.js.map +1 -0
  138. package/lib/cjs/{imdl → common/imdl}/ImdlModel.d.ts +5 -0
  139. package/lib/cjs/common/imdl/ImdlModel.d.ts.map +1 -0
  140. package/lib/cjs/common/imdl/ImdlModel.js +71 -0
  141. package/lib/cjs/common/imdl/ImdlModel.js.map +1 -0
  142. package/lib/{esm → cjs/common}/imdl/ImdlSchema.d.ts +68 -36
  143. package/lib/cjs/common/imdl/ImdlSchema.d.ts.map +1 -0
  144. package/lib/cjs/common/imdl/ImdlSchema.js +23 -0
  145. package/lib/cjs/common/imdl/ImdlSchema.js.map +1 -0
  146. package/lib/cjs/{imdl/ImdlParser.d.ts → common/imdl/ParseImdlDocument.d.ts} +13 -8
  147. package/lib/cjs/common/imdl/ParseImdlDocument.d.ts.map +1 -0
  148. package/lib/cjs/{imdl/ImdlParser.js → common/imdl/ParseImdlDocument.js} +52 -37
  149. package/lib/cjs/common/imdl/ParseImdlDocument.js.map +1 -0
  150. package/lib/cjs/common/render/AnimationNodeId.d.ts +11 -0
  151. package/lib/cjs/common/render/AnimationNodeId.d.ts.map +1 -0
  152. package/lib/cjs/common/render/AnimationNodeId.js +19 -0
  153. package/lib/cjs/common/render/AnimationNodeId.js.map +1 -0
  154. package/lib/{esm/render/RenderMaterial.d.ts → cjs/common/render/MaterialParams.d.ts} +7 -20
  155. package/lib/cjs/common/render/MaterialParams.d.ts.map +1 -0
  156. package/lib/cjs/{render/RenderMaterial.js → common/render/MaterialParams.js} +1 -1
  157. package/lib/cjs/common/render/MaterialParams.js.map +1 -0
  158. package/lib/cjs/common/render/TextureParams.d.ts +30 -0
  159. package/lib/cjs/common/render/TextureParams.d.ts.map +1 -0
  160. package/lib/cjs/{render/RenderTexture.js → common/render/TextureParams.js} +1 -1
  161. package/lib/cjs/common/render/TextureParams.js.map +1 -0
  162. package/lib/{esm → cjs/common}/render/primitives/AuxChannelTable.d.ts +8 -8
  163. package/lib/cjs/common/render/primitives/AuxChannelTable.d.ts.map +1 -0
  164. package/lib/cjs/{render → common/render}/primitives/AuxChannelTable.js +9 -9
  165. package/lib/cjs/common/render/primitives/AuxChannelTable.js.map +1 -0
  166. package/lib/cjs/common/render/primitives/DisplayParams.d.ts.map +1 -0
  167. package/lib/cjs/common/render/primitives/DisplayParams.js.map +1 -0
  168. package/lib/cjs/common/render/primitives/EdgeParams.d.ts +94 -0
  169. package/lib/cjs/common/render/primitives/EdgeParams.d.ts.map +1 -0
  170. package/lib/cjs/common/render/primitives/EdgeParams.js +46 -0
  171. package/lib/cjs/common/render/primitives/EdgeParams.js.map +1 -0
  172. package/lib/cjs/common/render/primitives/MeshParams.d.ts +20 -0
  173. package/lib/cjs/common/render/primitives/MeshParams.d.ts.map +1 -0
  174. package/lib/cjs/{imdl/ImdlModel.js → common/render/primitives/MeshParams.js} +2 -2
  175. package/lib/cjs/common/render/primitives/MeshParams.js.map +1 -0
  176. package/lib/cjs/common/render/primitives/MeshPrimitive.d.ts +29 -0
  177. package/lib/cjs/common/render/primitives/MeshPrimitive.d.ts.map +1 -0
  178. package/lib/cjs/common/render/primitives/MeshPrimitive.js +18 -0
  179. package/lib/cjs/common/render/primitives/MeshPrimitive.js.map +1 -0
  180. package/lib/cjs/common/render/primitives/PointStringParams.d.ts +14 -0
  181. package/lib/cjs/common/render/primitives/PointStringParams.d.ts.map +1 -0
  182. package/lib/cjs/common/render/primitives/PointStringParams.js +10 -0
  183. package/lib/cjs/common/render/primitives/PointStringParams.js.map +1 -0
  184. package/lib/cjs/common/render/primitives/PolylineParams.d.ts +29 -0
  185. package/lib/cjs/common/render/primitives/PolylineParams.d.ts.map +1 -0
  186. package/lib/cjs/common/render/primitives/PolylineParams.js +10 -0
  187. package/lib/cjs/common/render/primitives/PolylineParams.js.map +1 -0
  188. package/lib/{esm → cjs/common}/render/primitives/SurfaceParams.d.ts +1 -1
  189. package/lib/cjs/common/render/primitives/SurfaceParams.d.ts.map +1 -0
  190. package/lib/cjs/common/render/primitives/SurfaceParams.js.map +1 -0
  191. package/lib/cjs/common/render/primitives/VertexIndices.d.ts +26 -0
  192. package/lib/cjs/common/render/primitives/VertexIndices.d.ts.map +1 -0
  193. package/lib/cjs/common/render/primitives/VertexIndices.js +64 -0
  194. package/lib/cjs/common/render/primitives/VertexIndices.js.map +1 -0
  195. package/lib/cjs/common/render/primitives/VertexTable.d.ts +45 -0
  196. package/lib/cjs/common/render/primitives/VertexTable.d.ts.map +1 -0
  197. package/lib/cjs/common/render/primitives/VertexTable.js +38 -0
  198. package/lib/cjs/common/render/primitives/VertexTable.js.map +1 -0
  199. package/lib/{esm → cjs/common}/render/primitives/VertexTableSplitter.d.ts +20 -3
  200. package/lib/cjs/common/render/primitives/VertexTableSplitter.d.ts.map +1 -0
  201. package/lib/cjs/{render → common/render}/primitives/VertexTableSplitter.js +33 -23
  202. package/lib/cjs/common/render/primitives/VertexTableSplitter.js.map +1 -0
  203. package/lib/cjs/core-frontend.d.ts +45 -11
  204. package/lib/cjs/core-frontend.d.ts.map +1 -1
  205. package/lib/cjs/core-frontend.js +45 -11
  206. package/lib/cjs/core-frontend.js.map +1 -1
  207. package/lib/cjs/extension/ExtensionAdmin.js +1 -1
  208. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  209. package/lib/cjs/extension/providers/ExtensionLoadScript.js.map +1 -1
  210. package/lib/cjs/quantity-formatting/QuantityFormatter.js +1 -1
  211. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  212. package/lib/cjs/render/CanvasDecoration.d.ts +6 -2
  213. package/lib/cjs/render/CanvasDecoration.d.ts.map +1 -1
  214. package/lib/cjs/render/CanvasDecoration.js.map +1 -1
  215. package/lib/cjs/render/CreateRenderMaterialArgs.d.ts +24 -0
  216. package/lib/cjs/render/CreateRenderMaterialArgs.d.ts.map +1 -0
  217. package/lib/cjs/render/CreateRenderMaterialArgs.js +10 -0
  218. package/lib/cjs/render/CreateRenderMaterialArgs.js.map +1 -0
  219. package/lib/{esm/render/RenderTexture.d.ts → cjs/render/CreateTextureArgs.d.ts} +4 -28
  220. package/lib/cjs/render/CreateTextureArgs.d.ts.map +1 -0
  221. package/lib/cjs/render/CreateTextureArgs.js +10 -0
  222. package/lib/cjs/render/CreateTextureArgs.js.map +1 -0
  223. package/lib/cjs/render/GraphicBranch.d.ts +5 -7
  224. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  225. package/lib/cjs/render/GraphicBranch.js +1 -9
  226. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  227. package/lib/cjs/render/InstancedGraphicParams.d.ts +3 -4
  228. package/lib/cjs/render/InstancedGraphicParams.d.ts.map +1 -1
  229. package/lib/cjs/render/InstancedGraphicParams.js.map +1 -1
  230. package/lib/cjs/render/MockRender.d.ts +4 -4
  231. package/lib/cjs/render/MockRender.d.ts.map +1 -1
  232. package/lib/cjs/render/MockRender.js +1 -1
  233. package/lib/cjs/render/MockRender.js.map +1 -1
  234. package/lib/cjs/render/ParticleCollectionBuilder.d.ts.map +1 -1
  235. package/lib/cjs/render/ParticleCollectionBuilder.js +5 -5
  236. package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
  237. package/lib/cjs/render/Pixel.d.ts +57 -0
  238. package/lib/cjs/render/Pixel.d.ts.map +1 -1
  239. package/lib/cjs/render/Pixel.js +41 -0
  240. package/lib/cjs/render/Pixel.js.map +1 -1
  241. package/lib/cjs/render/RealityMeshParams.js +2 -2
  242. package/lib/cjs/render/RealityMeshParams.js.map +1 -1
  243. package/lib/cjs/render/RenderSystem.d.ts +24 -10
  244. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  245. package/lib/cjs/render/RenderSystem.js +7 -8
  246. package/lib/cjs/render/RenderSystem.js.map +1 -1
  247. package/lib/cjs/render/RenderTarget.d.ts +1 -1
  248. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  249. package/lib/cjs/render/RenderTarget.js.map +1 -1
  250. package/lib/cjs/render/UpsampleRealityMeshParams.js.map +1 -1
  251. package/lib/cjs/render/VisibleFeature.d.ts +1 -1
  252. package/lib/cjs/render/VisibleFeature.d.ts.map +1 -1
  253. package/lib/cjs/render/VisibleFeature.js.map +1 -1
  254. package/lib/cjs/render/primitives/EdgeParams.d.ts +2 -89
  255. package/lib/cjs/render/primitives/EdgeParams.d.ts.map +1 -1
  256. package/lib/cjs/render/primitives/EdgeParams.js +44 -80
  257. package/lib/cjs/render/primitives/EdgeParams.js.map +1 -1
  258. package/lib/cjs/render/primitives/PointCloudPrimitive.d.ts +1 -0
  259. package/lib/cjs/render/primitives/PointCloudPrimitive.d.ts.map +1 -1
  260. package/lib/cjs/render/primitives/PointCloudPrimitive.js.map +1 -1
  261. package/lib/cjs/render/primitives/PointStringParams.d.ts +3 -11
  262. package/lib/cjs/render/primitives/PointStringParams.d.ts.map +1 -1
  263. package/lib/cjs/render/primitives/PointStringParams.js +27 -30
  264. package/lib/cjs/render/primitives/PointStringParams.js.map +1 -1
  265. package/lib/cjs/render/primitives/Polyface.d.ts +1 -1
  266. package/lib/cjs/render/primitives/Polyface.d.ts.map +1 -1
  267. package/lib/cjs/render/primitives/Polyface.js.map +1 -1
  268. package/lib/cjs/render/primitives/PolylineParams.d.ts +8 -37
  269. package/lib/cjs/render/primitives/PolylineParams.d.ts.map +1 -1
  270. package/lib/cjs/render/primitives/PolylineParams.js +40 -48
  271. package/lib/cjs/render/primitives/PolylineParams.js.map +1 -1
  272. package/lib/cjs/render/primitives/Strokes.d.ts +1 -1
  273. package/lib/cjs/render/primitives/Strokes.d.ts.map +1 -1
  274. package/lib/cjs/render/primitives/Strokes.js.map +1 -1
  275. package/lib/cjs/render/primitives/VertexTableBuilder.d.ts +31 -0
  276. package/lib/cjs/render/primitives/VertexTableBuilder.d.ts.map +1 -0
  277. package/lib/cjs/render/primitives/{VertexTable.js → VertexTableBuilder.js} +62 -173
  278. package/lib/cjs/render/primitives/VertexTableBuilder.js.map +1 -0
  279. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts +1 -1
  280. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  281. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  282. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts +1 -1
  283. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  284. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js +1 -1
  285. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  286. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.d.ts +1 -1
  287. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.d.ts.map +1 -1
  288. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.js +1 -1
  289. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.js.map +1 -1
  290. package/lib/cjs/render/primitives/mesh/MeshBuilder.d.ts +2 -1
  291. package/lib/cjs/render/primitives/mesh/MeshBuilder.d.ts.map +1 -1
  292. package/lib/cjs/render/primitives/mesh/MeshBuilder.js +5 -2
  293. package/lib/cjs/render/primitives/mesh/MeshBuilder.js.map +1 -1
  294. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.d.ts +6 -5
  295. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.d.ts.map +1 -1
  296. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js +7 -4
  297. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  298. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts +58 -31
  299. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  300. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js +25 -29
  301. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  302. package/lib/cjs/render/webgl/BatchState.js +1 -1
  303. package/lib/cjs/render/webgl/BatchState.js.map +1 -1
  304. package/lib/cjs/render/webgl/BranchState.d.ts +3 -0
  305. package/lib/cjs/render/webgl/BranchState.d.ts.map +1 -1
  306. package/lib/cjs/render/webgl/BranchState.js +2 -0
  307. package/lib/cjs/render/webgl/BranchState.js.map +1 -1
  308. package/lib/cjs/render/webgl/CachedGeometry.d.ts +1 -1
  309. package/lib/cjs/render/webgl/CachedGeometry.d.ts.map +1 -1
  310. package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
  311. package/lib/cjs/render/webgl/ColorInfo.d.ts +1 -1
  312. package/lib/cjs/render/webgl/ColorInfo.d.ts.map +1 -1
  313. package/lib/cjs/render/webgl/ColorInfo.js.map +1 -1
  314. package/lib/cjs/render/webgl/EdgeGeometry.d.ts +2 -2
  315. package/lib/cjs/render/webgl/EdgeGeometry.d.ts.map +1 -1
  316. package/lib/cjs/render/webgl/EdgeGeometry.js.map +1 -1
  317. package/lib/cjs/render/webgl/FeatureOverrides.js +1 -1
  318. package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
  319. package/lib/cjs/render/webgl/Graphic.d.ts +7 -1
  320. package/lib/cjs/render/webgl/Graphic.d.ts.map +1 -1
  321. package/lib/cjs/render/webgl/Graphic.js +7 -2
  322. package/lib/cjs/render/webgl/Graphic.js.map +1 -1
  323. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts +1 -1
  324. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -1
  325. package/lib/cjs/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  326. package/lib/cjs/render/webgl/InstancedGeometry.js.map +1 -1
  327. package/lib/cjs/render/webgl/Material.d.ts +1 -1
  328. package/lib/cjs/render/webgl/Material.d.ts.map +1 -1
  329. package/lib/cjs/render/webgl/Material.js.map +1 -1
  330. package/lib/cjs/render/webgl/Mesh.d.ts +2 -2
  331. package/lib/cjs/render/webgl/Mesh.d.ts.map +1 -1
  332. package/lib/cjs/render/webgl/Mesh.js +1 -1
  333. package/lib/cjs/render/webgl/Mesh.js.map +1 -1
  334. package/lib/cjs/render/webgl/MeshData.d.ts +2 -2
  335. package/lib/cjs/render/webgl/MeshData.d.ts.map +1 -1
  336. package/lib/cjs/render/webgl/MeshData.js.map +1 -1
  337. package/lib/cjs/render/webgl/MeshGeometry.d.ts +1 -1
  338. package/lib/cjs/render/webgl/MeshGeometry.d.ts.map +1 -1
  339. package/lib/cjs/render/webgl/PointString.d.ts +1 -1
  340. package/lib/cjs/render/webgl/PointString.d.ts.map +1 -1
  341. package/lib/cjs/render/webgl/PointString.js.map +1 -1
  342. package/lib/cjs/render/webgl/Polyline.d.ts +1 -1
  343. package/lib/cjs/render/webgl/Polyline.d.ts.map +1 -1
  344. package/lib/cjs/render/webgl/Polyline.js.map +1 -1
  345. package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
  346. package/lib/cjs/render/webgl/RenderCommands.js +1 -1
  347. package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
  348. package/lib/cjs/render/webgl/SceneCompositor.d.ts +2 -1
  349. package/lib/cjs/render/webgl/SceneCompositor.d.ts.map +1 -1
  350. package/lib/cjs/render/webgl/SceneCompositor.js +5 -2
  351. package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
  352. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts +1 -1
  353. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts.map +1 -1
  354. package/lib/cjs/render/webgl/SurfaceGeometry.js +1 -1
  355. package/lib/cjs/render/webgl/SurfaceGeometry.js.map +1 -1
  356. package/lib/cjs/render/webgl/System.d.ts +7 -6
  357. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  358. package/lib/cjs/render/webgl/System.js +2 -2
  359. package/lib/cjs/render/webgl/System.js.map +1 -1
  360. package/lib/cjs/render/webgl/Target.d.ts +1 -1
  361. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  362. package/lib/cjs/render/webgl/Target.js +14 -12
  363. package/lib/cjs/render/webgl/Target.js.map +1 -1
  364. package/lib/cjs/render/webgl/Texture.d.ts +1 -1
  365. package/lib/cjs/render/webgl/Texture.d.ts.map +1 -1
  366. package/lib/cjs/render/webgl/Texture.js +1 -1
  367. package/lib/cjs/render/webgl/Texture.js.map +1 -1
  368. package/lib/cjs/render/webgl/UniformHandle.js +1 -1
  369. package/lib/cjs/render/webgl/UniformHandle.js.map +1 -1
  370. package/lib/cjs/render/webgl/VertexLUT.d.ts +2 -2
  371. package/lib/cjs/render/webgl/VertexLUT.d.ts.map +1 -1
  372. package/lib/cjs/render/webgl/VertexLUT.js.map +1 -1
  373. package/lib/cjs/render/webgl/glsl/Animation.js.map +1 -1
  374. package/lib/cjs/render/webgl/glsl/Atmosphere.js.map +1 -1
  375. package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  376. package/lib/cjs/render/webgl/glsl/RealityMesh.js +32 -19
  377. package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
  378. package/lib/cjs/tile/B3dmReader.d.ts +1 -1
  379. package/lib/cjs/tile/B3dmReader.d.ts.map +1 -1
  380. package/lib/cjs/tile/B3dmReader.js +1 -1
  381. package/lib/cjs/tile/B3dmReader.js.map +1 -1
  382. package/lib/cjs/tile/DynamicIModelTile.js +1 -1
  383. package/lib/cjs/tile/DynamicIModelTile.js.map +1 -1
  384. package/lib/cjs/tile/FetchCloudStorage.d.ts +15 -0
  385. package/lib/cjs/tile/FetchCloudStorage.d.ts.map +1 -0
  386. package/lib/cjs/tile/FetchCloudStorage.js +35 -0
  387. package/lib/cjs/tile/FetchCloudStorage.js.map +1 -0
  388. package/lib/cjs/tile/GltfReader.d.ts +13 -4
  389. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  390. package/lib/cjs/tile/GltfReader.js +80 -28
  391. package/lib/cjs/tile/GltfReader.js.map +1 -1
  392. package/lib/cjs/tile/IModelTile.d.ts.map +1 -1
  393. package/lib/cjs/tile/IModelTile.js +4 -9
  394. package/lib/cjs/tile/IModelTile.js.map +1 -1
  395. package/lib/cjs/tile/IModelTileTree.d.ts +4 -1
  396. package/lib/cjs/tile/IModelTileTree.d.ts.map +1 -1
  397. package/lib/cjs/tile/IModelTileTree.js +15 -0
  398. package/lib/cjs/tile/IModelTileTree.js.map +1 -1
  399. package/lib/cjs/tile/ImdlDecoder.d.ts +52 -0
  400. package/lib/cjs/tile/ImdlDecoder.d.ts.map +1 -0
  401. package/lib/cjs/tile/ImdlDecoder.js +35 -0
  402. package/lib/cjs/tile/ImdlDecoder.js.map +1 -0
  403. package/lib/{esm/imdl → cjs/tile}/ImdlGraphicsCreator.d.ts +1 -1
  404. package/lib/cjs/tile/ImdlGraphicsCreator.d.ts.map +1 -0
  405. package/lib/cjs/{imdl → tile}/ImdlGraphicsCreator.js +13 -13
  406. package/lib/cjs/tile/ImdlGraphicsCreator.js.map +1 -0
  407. package/lib/cjs/tile/ImdlParser.d.ts +26 -0
  408. package/lib/cjs/tile/ImdlParser.d.ts.map +1 -0
  409. package/lib/cjs/tile/ImdlParser.js +72 -0
  410. package/lib/cjs/tile/ImdlParser.js.map +1 -0
  411. package/lib/cjs/tile/ImdlReader.d.ts +6 -1
  412. package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
  413. package/lib/cjs/tile/ImdlReader.js +16 -11
  414. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  415. package/lib/cjs/tile/OPCFormatInterpreter.js +1 -1
  416. package/lib/cjs/tile/OPCFormatInterpreter.js.map +1 -1
  417. package/lib/cjs/tile/PntsReader.js +1 -1
  418. package/lib/cjs/tile/PntsReader.js.map +1 -1
  419. package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
  420. package/lib/cjs/tile/PrimaryTileTree.js +2 -1
  421. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  422. package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
  423. package/lib/cjs/tile/RealityTile.d.ts +8 -3
  424. package/lib/cjs/tile/RealityTile.d.ts.map +1 -1
  425. package/lib/cjs/tile/RealityTile.js +4 -1
  426. package/lib/cjs/tile/RealityTile.js.map +1 -1
  427. package/lib/cjs/tile/RealityTileLoader.d.ts.map +1 -1
  428. package/lib/cjs/tile/RealityTileLoader.js +10 -5
  429. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  430. package/lib/cjs/tile/RealityTileTree.js +1 -1
  431. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  432. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js +1 -1
  433. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  434. package/lib/cjs/tile/TileAdmin.d.ts +14 -11
  435. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  436. package/lib/cjs/tile/TileAdmin.js +9 -52
  437. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  438. package/lib/cjs/tile/TileContent.d.ts +6 -0
  439. package/lib/cjs/tile/TileContent.d.ts.map +1 -1
  440. package/lib/cjs/tile/TileContent.js.map +1 -1
  441. package/lib/cjs/tile/TileStorage.js.map +1 -1
  442. package/lib/cjs/tile/internal.d.ts +9 -0
  443. package/lib/cjs/tile/internal.d.ts.map +1 -1
  444. package/lib/cjs/tile/internal.js +9 -0
  445. package/lib/cjs/tile/internal.js.map +1 -1
  446. package/lib/cjs/tile/map/ArcGisUtilities.d.ts +8 -1
  447. package/lib/cjs/tile/map/ArcGisUtilities.d.ts.map +1 -1
  448. package/lib/cjs/tile/map/ArcGisUtilities.js +21 -0
  449. package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
  450. package/lib/cjs/tile/map/EllipsoidTerrainProvider.d.ts +6 -4
  451. package/lib/cjs/tile/map/EllipsoidTerrainProvider.d.ts.map +1 -1
  452. package/lib/cjs/tile/map/EllipsoidTerrainProvider.js +6 -4
  453. package/lib/cjs/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  454. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts +2 -0
  455. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts.map +1 -1
  456. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js +4 -2
  457. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  458. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +55 -2
  459. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  460. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +96 -23
  461. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  462. package/lib/cjs/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.d.ts +11 -0
  463. package/lib/cjs/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.d.ts.map +1 -0
  464. package/lib/cjs/{imdl/ImdlSchema.js → tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.js} +1 -1
  465. package/lib/cjs/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.js.map +1 -0
  466. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts +15 -0
  467. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts.map +1 -0
  468. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js +59 -0
  469. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -0
  470. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryRenderer.d.ts +47 -0
  471. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryRenderer.d.ts.map +1 -0
  472. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryRenderer.js +126 -0
  473. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryRenderer.js.map +1 -0
  474. package/lib/cjs/tile/map/ImageryProviders/ArcGisGraphicsRenderer.d.ts +27 -0
  475. package/lib/cjs/tile/map/ImageryProviders/ArcGisGraphicsRenderer.d.ts.map +1 -0
  476. package/lib/cjs/tile/map/ImageryProviders/ArcGisGraphicsRenderer.js +135 -0
  477. package/lib/cjs/tile/map/ImageryProviders/ArcGisGraphicsRenderer.js.map +1 -0
  478. package/lib/cjs/tile/map/ImageryProviders/WebMercator.d.ts +6 -0
  479. package/lib/cjs/tile/map/ImageryProviders/WebMercator.d.ts.map +1 -0
  480. package/lib/cjs/tile/map/ImageryProviders/WebMercator.js +22 -0
  481. package/lib/cjs/tile/map/ImageryProviders/WebMercator.js.map +1 -0
  482. package/lib/cjs/tile/map/ImageryTileTree.d.ts +2 -1
  483. package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
  484. package/lib/cjs/tile/map/ImageryTileTree.js +27 -11
  485. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  486. package/lib/cjs/tile/map/MapFeatureInfo.d.ts +67 -7
  487. package/lib/cjs/tile/map/MapFeatureInfo.d.ts.map +1 -1
  488. package/lib/cjs/tile/map/MapFeatureInfo.js +16 -2
  489. package/lib/cjs/tile/map/MapFeatureInfo.js.map +1 -1
  490. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  491. package/lib/cjs/tile/map/MapLayerImageryFormats.js +3 -0
  492. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  493. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +4 -1
  494. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  495. package/lib/cjs/tile/map/MapLayerImageryProvider.js +3 -1
  496. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  497. package/lib/cjs/tile/map/MapLayerSources.d.ts +5 -3
  498. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  499. package/lib/cjs/tile/map/MapLayerSources.js +3 -0
  500. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  501. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  502. package/lib/cjs/tile/map/MapTile.js +9 -1
  503. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  504. package/lib/cjs/tile/map/MapTileLoader.d.ts.map +1 -1
  505. package/lib/cjs/tile/map/MapTileLoader.js +1 -15
  506. package/lib/cjs/tile/map/MapTileLoader.js.map +1 -1
  507. package/lib/cjs/tile/map/MapTileTree.d.ts +12 -3
  508. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  509. package/lib/cjs/tile/map/MapTileTree.js +33 -20
  510. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  511. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts +2 -3
  512. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  513. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +3 -4
  514. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  515. package/lib/cjs/tile/map/MapTilingScheme.d.ts +4 -4
  516. package/lib/cjs/tile/map/MapTilingScheme.d.ts.map +1 -1
  517. package/lib/cjs/tile/map/MapTilingScheme.js +4 -4
  518. package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
  519. package/lib/cjs/tile/map/QuadId.js.map +1 -1
  520. package/lib/cjs/tools/ElementSetTool.js +1 -1
  521. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  522. package/lib/cjs/tools/SelectTool.js +1 -1
  523. package/lib/cjs/tools/SelectTool.js.map +1 -1
  524. package/lib/cjs/tools/ToolAdmin.d.ts +8 -6
  525. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  526. package/lib/cjs/tools/ToolAdmin.js +11 -8
  527. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  528. package/lib/cjs/tools/ToolAssistance.d.ts +18 -0
  529. package/lib/cjs/tools/ToolAssistance.d.ts.map +1 -1
  530. package/lib/cjs/tools/ToolAssistance.js +8 -0
  531. package/lib/cjs/tools/ToolAssistance.js.map +1 -1
  532. package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
  533. package/lib/cjs/tools/ViewTool.js +3 -2
  534. package/lib/cjs/tools/ViewTool.js.map +1 -1
  535. package/lib/cjs/workers/ImdlParser/Worker.d.ts +20 -0
  536. package/lib/cjs/workers/ImdlParser/Worker.d.ts.map +1 -0
  537. package/lib/cjs/workers/ImdlParser/Worker.js +32 -0
  538. package/lib/cjs/workers/ImdlParser/Worker.js.map +1 -0
  539. package/lib/cjs/workers/ImdlParser/webpack.config.js +40 -0
  540. package/lib/cjs/workers/RegisterWorker.d.ts +9 -0
  541. package/lib/cjs/workers/RegisterWorker.d.ts.map +1 -0
  542. package/lib/cjs/workers/RegisterWorker.js +36 -0
  543. package/lib/cjs/workers/RegisterWorker.js.map +1 -0
  544. package/lib/esm/AccuDraw.d.ts +3 -4
  545. package/lib/esm/AccuDraw.d.ts.map +1 -1
  546. package/lib/esm/AccuDraw.js +6 -7
  547. package/lib/esm/AccuDraw.js.map +1 -1
  548. package/lib/esm/AccuSnap.d.ts +17 -2
  549. package/lib/esm/AccuSnap.d.ts.map +1 -1
  550. package/lib/esm/AccuSnap.js +35 -8
  551. package/lib/esm/AccuSnap.js.map +1 -1
  552. package/lib/esm/BackgroundMapGeometry.d.ts +3 -2
  553. package/lib/esm/BackgroundMapGeometry.d.ts.map +1 -1
  554. package/lib/esm/BackgroundMapGeometry.js +47 -7
  555. package/lib/esm/BackgroundMapGeometry.js.map +1 -1
  556. package/lib/esm/BriefcaseConnection.d.ts +3 -3
  557. package/lib/esm/BriefcaseConnection.js +3 -3
  558. package/lib/esm/BriefcaseConnection.js.map +1 -1
  559. package/lib/esm/ChangeFlags.d.ts +25 -12
  560. package/lib/esm/ChangeFlags.d.ts.map +1 -1
  561. package/lib/esm/ChangeFlags.js +24 -11
  562. package/lib/esm/ChangeFlags.js.map +1 -1
  563. package/lib/esm/CheckpointConnection.js +1 -1
  564. package/lib/esm/CheckpointConnection.js.map +1 -1
  565. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  566. package/lib/esm/DisplayStyleState.js +2 -1
  567. package/lib/esm/DisplayStyleState.js.map +1 -1
  568. package/lib/esm/DrawingViewState.d.ts +2 -2
  569. package/lib/esm/DrawingViewState.d.ts.map +1 -1
  570. package/lib/esm/DrawingViewState.js +3 -3
  571. package/lib/esm/DrawingViewState.js.map +1 -1
  572. package/lib/esm/ElementLocateManager.d.ts +0 -1
  573. package/lib/esm/ElementLocateManager.d.ts.map +1 -1
  574. package/lib/esm/ElementLocateManager.js +12 -20
  575. package/lib/esm/ElementLocateManager.js.map +1 -1
  576. package/lib/esm/EnvironmentDecorations.js +1 -1
  577. package/lib/esm/EnvironmentDecorations.js.map +1 -1
  578. package/lib/esm/FrustumAnimator.js.map +1 -1
  579. package/lib/esm/GeoServices.d.ts +37 -7
  580. package/lib/esm/GeoServices.d.ts.map +1 -1
  581. package/lib/esm/GeoServices.js +75 -25
  582. package/lib/esm/GeoServices.js.map +1 -1
  583. package/lib/esm/HitDetail.d.ts +100 -29
  584. package/lib/esm/HitDetail.d.ts.map +1 -1
  585. package/lib/esm/HitDetail.js +90 -37
  586. package/lib/esm/HitDetail.js.map +1 -1
  587. package/lib/esm/IModelApp.d.ts +19 -14
  588. package/lib/esm/IModelApp.d.ts.map +1 -1
  589. package/lib/esm/IModelApp.js +23 -20
  590. package/lib/esm/IModelApp.js.map +1 -1
  591. package/lib/esm/IModelConnection.d.ts +64 -19
  592. package/lib/esm/IModelConnection.d.ts.map +1 -1
  593. package/lib/esm/IModelConnection.js +132 -21
  594. package/lib/esm/IModelConnection.js.map +1 -1
  595. package/lib/esm/IpcApp.d.ts +1 -1
  596. package/lib/esm/IpcApp.js +1 -1
  597. package/lib/esm/IpcApp.js.map +1 -1
  598. package/lib/esm/Marker.d.ts +1 -1
  599. package/lib/esm/Marker.d.ts.map +1 -1
  600. package/lib/esm/Marker.js +3 -3
  601. package/lib/esm/Marker.js.map +1 -1
  602. package/lib/esm/NativeApp.js +1 -1
  603. package/lib/esm/NativeApp.js.map +1 -1
  604. package/lib/esm/NoRenderApp.d.ts +1 -1
  605. package/lib/esm/NoRenderApp.d.ts.map +1 -1
  606. package/lib/esm/NoRenderApp.js +1 -1
  607. package/lib/esm/NoRenderApp.js.map +1 -1
  608. package/lib/esm/RealityDataSource.js +1 -1
  609. package/lib/esm/RealityDataSource.js.map +1 -1
  610. package/lib/esm/RealityDataSourceContextShareImpl.js +1 -1
  611. package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -1
  612. package/lib/esm/SheetViewState.d.ts +9 -7
  613. package/lib/esm/SheetViewState.d.ts.map +1 -1
  614. package/lib/esm/SheetViewState.js +22 -7
  615. package/lib/esm/SheetViewState.js.map +1 -1
  616. package/lib/esm/SpatialViewState.d.ts +20 -5
  617. package/lib/esm/SpatialViewState.d.ts.map +1 -1
  618. package/lib/esm/SpatialViewState.js +13 -5
  619. package/lib/esm/SpatialViewState.js.map +1 -1
  620. package/lib/esm/Sprites.js +2 -2
  621. package/lib/esm/Sprites.js.map +1 -1
  622. package/lib/esm/TentativePoint.d.ts.map +1 -1
  623. package/lib/esm/TentativePoint.js +10 -1
  624. package/lib/esm/TentativePoint.js.map +1 -1
  625. package/lib/esm/ViewContext.d.ts +19 -0
  626. package/lib/esm/ViewContext.d.ts.map +1 -1
  627. package/lib/esm/ViewContext.js +9 -0
  628. package/lib/esm/ViewContext.js.map +1 -1
  629. package/lib/esm/ViewCreator3d.d.ts +3 -6
  630. package/lib/esm/ViewCreator3d.d.ts.map +1 -1
  631. package/lib/esm/ViewCreator3d.js +14 -35
  632. package/lib/esm/ViewCreator3d.js.map +1 -1
  633. package/lib/esm/ViewGlobalLocation.d.ts.map +1 -1
  634. package/lib/esm/ViewGlobalLocation.js +4 -3
  635. package/lib/esm/ViewGlobalLocation.js.map +1 -1
  636. package/lib/esm/ViewManager.d.ts +4 -2
  637. package/lib/esm/ViewManager.d.ts.map +1 -1
  638. package/lib/esm/ViewManager.js +4 -2
  639. package/lib/esm/ViewManager.js.map +1 -1
  640. package/lib/esm/ViewPose.d.ts +11 -11
  641. package/lib/esm/ViewPose.d.ts.map +1 -1
  642. package/lib/esm/ViewPose.js +17 -11
  643. package/lib/esm/ViewPose.js.map +1 -1
  644. package/lib/esm/ViewState.d.ts +44 -26
  645. package/lib/esm/ViewState.d.ts.map +1 -1
  646. package/lib/esm/ViewState.js +52 -25
  647. package/lib/esm/ViewState.js.map +1 -1
  648. package/lib/esm/ViewingSpace.js +1 -1
  649. package/lib/esm/ViewingSpace.js.map +1 -1
  650. package/lib/esm/Viewport.d.ts +59 -21
  651. package/lib/esm/Viewport.d.ts.map +1 -1
  652. package/lib/esm/Viewport.js +68 -25
  653. package/lib/esm/Viewport.js.map +1 -1
  654. package/lib/esm/ViewportSync.d.ts +2 -2
  655. package/lib/esm/ViewportSync.d.ts.map +1 -1
  656. package/lib/esm/ViewportSync.js +2 -2
  657. package/lib/esm/ViewportSync.js.map +1 -1
  658. package/lib/esm/common/FrontendLoggerCategory.d.ts.map +1 -0
  659. package/lib/esm/common/FrontendLoggerCategory.js.map +1 -0
  660. package/lib/esm/common/ImageUtil.d.ts.map +1 -0
  661. package/lib/esm/{ImageUtil.js → common/ImageUtil.js} +2 -0
  662. package/lib/esm/common/ImageUtil.js.map +1 -0
  663. package/lib/esm/common/ViewRect.d.ts.map +1 -0
  664. package/lib/esm/common/ViewRect.js.map +1 -0
  665. package/lib/esm/common/WorkerProxy.d.ts +73 -0
  666. package/lib/esm/common/WorkerProxy.d.ts.map +1 -0
  667. package/lib/esm/common/WorkerProxy.js +50 -0
  668. package/lib/esm/common/WorkerProxy.js.map +1 -0
  669. package/lib/{cjs → esm/common}/gltf/GltfModel.d.ts +1 -1
  670. package/lib/esm/common/gltf/GltfModel.d.ts.map +1 -0
  671. package/lib/esm/common/gltf/GltfModel.js.map +1 -0
  672. package/lib/esm/common/gltf/GltfParser.d.ts.map +1 -0
  673. package/lib/esm/common/gltf/GltfParser.js.map +1 -0
  674. package/lib/esm/common/gltf/GltfSchema.d.ts.map +1 -0
  675. package/lib/esm/common/gltf/GltfSchema.js.map +1 -0
  676. package/lib/esm/common/imdl/CompactEdges.d.ts +27 -0
  677. package/lib/esm/common/imdl/CompactEdges.d.ts.map +1 -0
  678. package/lib/esm/common/imdl/CompactEdges.js +92 -0
  679. package/lib/esm/common/imdl/CompactEdges.js.map +1 -0
  680. package/lib/esm/{imdl → common/imdl}/ImdlModel.d.ts +5 -0
  681. package/lib/esm/common/imdl/ImdlModel.d.ts.map +1 -0
  682. package/lib/esm/common/imdl/ImdlModel.js +67 -0
  683. package/lib/esm/common/imdl/ImdlModel.js.map +1 -0
  684. package/lib/{cjs → esm/common}/imdl/ImdlSchema.d.ts +68 -36
  685. package/lib/esm/common/imdl/ImdlSchema.d.ts.map +1 -0
  686. package/lib/esm/common/imdl/ImdlSchema.js +20 -0
  687. package/lib/esm/common/imdl/ImdlSchema.js.map +1 -0
  688. package/lib/esm/{imdl/ImdlParser.d.ts → common/imdl/ParseImdlDocument.d.ts} +13 -8
  689. package/lib/esm/common/imdl/ParseImdlDocument.d.ts.map +1 -0
  690. package/lib/esm/{imdl/ImdlParser.js → common/imdl/ParseImdlDocument.js} +40 -25
  691. package/lib/esm/common/imdl/ParseImdlDocument.js.map +1 -0
  692. package/lib/esm/common/render/AnimationNodeId.d.ts +11 -0
  693. package/lib/esm/common/render/AnimationNodeId.d.ts.map +1 -0
  694. package/lib/esm/common/render/AnimationNodeId.js +16 -0
  695. package/lib/esm/common/render/AnimationNodeId.js.map +1 -0
  696. package/lib/{cjs/render/RenderMaterial.d.ts → esm/common/render/MaterialParams.d.ts} +7 -20
  697. package/lib/esm/common/render/MaterialParams.d.ts.map +1 -0
  698. package/lib/esm/{render/RenderMaterial.js → common/render/MaterialParams.js} +1 -1
  699. package/lib/esm/common/render/MaterialParams.js.map +1 -0
  700. package/lib/esm/common/render/TextureParams.d.ts +30 -0
  701. package/lib/esm/common/render/TextureParams.d.ts.map +1 -0
  702. package/lib/esm/{render/RenderTexture.js → common/render/TextureParams.js} +1 -1
  703. package/lib/esm/common/render/TextureParams.js.map +1 -0
  704. package/lib/{cjs → esm/common}/render/primitives/AuxChannelTable.d.ts +8 -8
  705. package/lib/esm/common/render/primitives/AuxChannelTable.d.ts.map +1 -0
  706. package/lib/esm/{render → common/render}/primitives/AuxChannelTable.js +9 -9
  707. package/lib/esm/common/render/primitives/AuxChannelTable.js.map +1 -0
  708. package/lib/esm/common/render/primitives/DisplayParams.d.ts.map +1 -0
  709. package/lib/esm/common/render/primitives/DisplayParams.js.map +1 -0
  710. package/lib/esm/common/render/primitives/EdgeParams.d.ts +94 -0
  711. package/lib/esm/common/render/primitives/EdgeParams.d.ts.map +1 -0
  712. package/lib/esm/common/render/primitives/EdgeParams.js +42 -0
  713. package/lib/esm/common/render/primitives/EdgeParams.js.map +1 -0
  714. package/lib/esm/common/render/primitives/MeshParams.d.ts +20 -0
  715. package/lib/esm/common/render/primitives/MeshParams.d.ts.map +1 -0
  716. package/lib/esm/{imdl/ImdlSchema.js → common/render/primitives/MeshParams.js} +2 -2
  717. package/lib/esm/common/render/primitives/MeshParams.js.map +1 -0
  718. package/lib/esm/common/render/primitives/MeshPrimitive.d.ts +29 -0
  719. package/lib/esm/common/render/primitives/MeshPrimitive.d.ts.map +1 -0
  720. package/lib/esm/common/render/primitives/MeshPrimitive.js +15 -0
  721. package/lib/esm/common/render/primitives/MeshPrimitive.js.map +1 -0
  722. package/lib/esm/common/render/primitives/PointStringParams.d.ts +14 -0
  723. package/lib/esm/common/render/primitives/PointStringParams.d.ts.map +1 -0
  724. package/lib/esm/common/render/primitives/PointStringParams.js +9 -0
  725. package/lib/esm/common/render/primitives/PointStringParams.js.map +1 -0
  726. package/lib/esm/common/render/primitives/PolylineParams.d.ts +29 -0
  727. package/lib/esm/common/render/primitives/PolylineParams.d.ts.map +1 -0
  728. package/lib/esm/common/render/primitives/PolylineParams.js +9 -0
  729. package/lib/esm/common/render/primitives/PolylineParams.js.map +1 -0
  730. package/lib/{cjs → esm/common}/render/primitives/SurfaceParams.d.ts +1 -1
  731. package/lib/esm/common/render/primitives/SurfaceParams.d.ts.map +1 -0
  732. package/lib/esm/common/render/primitives/SurfaceParams.js.map +1 -0
  733. package/lib/esm/common/render/primitives/VertexIndices.d.ts +26 -0
  734. package/lib/esm/common/render/primitives/VertexIndices.d.ts.map +1 -0
  735. package/lib/esm/common/render/primitives/VertexIndices.js +60 -0
  736. package/lib/esm/common/render/primitives/VertexIndices.js.map +1 -0
  737. package/lib/esm/common/render/primitives/VertexTable.d.ts +45 -0
  738. package/lib/esm/common/render/primitives/VertexTable.d.ts.map +1 -0
  739. package/lib/esm/common/render/primitives/VertexTable.js +34 -0
  740. package/lib/esm/common/render/primitives/VertexTable.js.map +1 -0
  741. package/lib/{cjs → esm/common}/render/primitives/VertexTableSplitter.d.ts +20 -3
  742. package/lib/esm/common/render/primitives/VertexTableSplitter.d.ts.map +1 -0
  743. package/lib/esm/{render → common/render}/primitives/VertexTableSplitter.js +31 -21
  744. package/lib/esm/common/render/primitives/VertexTableSplitter.js.map +1 -0
  745. package/lib/esm/core-frontend.d.ts +45 -11
  746. package/lib/esm/core-frontend.d.ts.map +1 -1
  747. package/lib/esm/core-frontend.js +45 -11
  748. package/lib/esm/core-frontend.js.map +1 -1
  749. package/lib/esm/extension/ExtensionAdmin.js +1 -1
  750. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  751. package/lib/esm/extension/providers/ExtensionLoadScript.js.map +1 -1
  752. package/lib/esm/quantity-formatting/QuantityFormatter.js +1 -1
  753. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  754. package/lib/esm/render/CanvasDecoration.d.ts +6 -2
  755. package/lib/esm/render/CanvasDecoration.d.ts.map +1 -1
  756. package/lib/esm/render/CanvasDecoration.js.map +1 -1
  757. package/lib/esm/render/CreateRenderMaterialArgs.d.ts +24 -0
  758. package/lib/esm/render/CreateRenderMaterialArgs.d.ts.map +1 -0
  759. package/lib/esm/render/CreateRenderMaterialArgs.js +9 -0
  760. package/lib/esm/render/CreateRenderMaterialArgs.js.map +1 -0
  761. package/lib/{cjs/render/RenderTexture.d.ts → esm/render/CreateTextureArgs.d.ts} +4 -28
  762. package/lib/esm/render/CreateTextureArgs.d.ts.map +1 -0
  763. package/lib/esm/render/CreateTextureArgs.js +9 -0
  764. package/lib/esm/render/CreateTextureArgs.js.map +1 -0
  765. package/lib/esm/render/GraphicBranch.d.ts +5 -7
  766. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  767. package/lib/esm/render/GraphicBranch.js +0 -8
  768. package/lib/esm/render/GraphicBranch.js.map +1 -1
  769. package/lib/esm/render/InstancedGraphicParams.d.ts +3 -4
  770. package/lib/esm/render/InstancedGraphicParams.d.ts.map +1 -1
  771. package/lib/esm/render/InstancedGraphicParams.js.map +1 -1
  772. package/lib/esm/render/MockRender.d.ts +4 -4
  773. package/lib/esm/render/MockRender.d.ts.map +1 -1
  774. package/lib/esm/render/MockRender.js +1 -1
  775. package/lib/esm/render/MockRender.js.map +1 -1
  776. package/lib/esm/render/ParticleCollectionBuilder.d.ts.map +1 -1
  777. package/lib/esm/render/ParticleCollectionBuilder.js +5 -5
  778. package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
  779. package/lib/esm/render/Pixel.d.ts +57 -0
  780. package/lib/esm/render/Pixel.d.ts.map +1 -1
  781. package/lib/esm/render/Pixel.js +41 -0
  782. package/lib/esm/render/Pixel.js.map +1 -1
  783. package/lib/esm/render/RealityMeshParams.js +2 -2
  784. package/lib/esm/render/RealityMeshParams.js.map +1 -1
  785. package/lib/esm/render/RenderSystem.d.ts +24 -10
  786. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  787. package/lib/esm/render/RenderSystem.js +8 -9
  788. package/lib/esm/render/RenderSystem.js.map +1 -1
  789. package/lib/esm/render/RenderTarget.d.ts +1 -1
  790. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  791. package/lib/esm/render/RenderTarget.js.map +1 -1
  792. package/lib/esm/render/UpsampleRealityMeshParams.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/InstancedGeometry.js.map +1 -1
  869. package/lib/esm/render/webgl/Material.d.ts +1 -1
  870. package/lib/esm/render/webgl/Material.d.ts.map +1 -1
  871. package/lib/esm/render/webgl/Material.js.map +1 -1
  872. package/lib/esm/render/webgl/Mesh.d.ts +2 -2
  873. package/lib/esm/render/webgl/Mesh.d.ts.map +1 -1
  874. package/lib/esm/render/webgl/Mesh.js +1 -1
  875. package/lib/esm/render/webgl/Mesh.js.map +1 -1
  876. package/lib/esm/render/webgl/MeshData.d.ts +2 -2
  877. package/lib/esm/render/webgl/MeshData.d.ts.map +1 -1
  878. package/lib/esm/render/webgl/MeshData.js.map +1 -1
  879. package/lib/esm/render/webgl/MeshGeometry.d.ts +1 -1
  880. package/lib/esm/render/webgl/MeshGeometry.d.ts.map +1 -1
  881. package/lib/esm/render/webgl/PointString.d.ts +1 -1
  882. package/lib/esm/render/webgl/PointString.d.ts.map +1 -1
  883. package/lib/esm/render/webgl/PointString.js.map +1 -1
  884. package/lib/esm/render/webgl/Polyline.d.ts +1 -1
  885. package/lib/esm/render/webgl/Polyline.d.ts.map +1 -1
  886. package/lib/esm/render/webgl/Polyline.js.map +1 -1
  887. package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
  888. package/lib/esm/render/webgl/RenderCommands.js +1 -1
  889. package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
  890. package/lib/esm/render/webgl/SceneCompositor.d.ts +2 -1
  891. package/lib/esm/render/webgl/SceneCompositor.d.ts.map +1 -1
  892. package/lib/esm/render/webgl/SceneCompositor.js +5 -2
  893. package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
  894. package/lib/esm/render/webgl/SurfaceGeometry.d.ts +1 -1
  895. package/lib/esm/render/webgl/SurfaceGeometry.d.ts.map +1 -1
  896. package/lib/esm/render/webgl/SurfaceGeometry.js +1 -1
  897. package/lib/esm/render/webgl/SurfaceGeometry.js.map +1 -1
  898. package/lib/esm/render/webgl/System.d.ts +7 -6
  899. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  900. package/lib/esm/render/webgl/System.js +2 -2
  901. package/lib/esm/render/webgl/System.js.map +1 -1
  902. package/lib/esm/render/webgl/Target.d.ts +1 -1
  903. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  904. package/lib/esm/render/webgl/Target.js +13 -11
  905. package/lib/esm/render/webgl/Target.js.map +1 -1
  906. package/lib/esm/render/webgl/Texture.d.ts +1 -1
  907. package/lib/esm/render/webgl/Texture.d.ts.map +1 -1
  908. package/lib/esm/render/webgl/Texture.js +1 -1
  909. package/lib/esm/render/webgl/Texture.js.map +1 -1
  910. package/lib/esm/render/webgl/UniformHandle.js +1 -1
  911. package/lib/esm/render/webgl/UniformHandle.js.map +1 -1
  912. package/lib/esm/render/webgl/VertexLUT.d.ts +2 -2
  913. package/lib/esm/render/webgl/VertexLUT.d.ts.map +1 -1
  914. package/lib/esm/render/webgl/VertexLUT.js.map +1 -1
  915. package/lib/esm/render/webgl/glsl/Animation.js.map +1 -1
  916. package/lib/esm/render/webgl/glsl/Atmosphere.js.map +1 -1
  917. package/lib/esm/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  918. package/lib/esm/render/webgl/glsl/RealityMesh.js +32 -19
  919. package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
  920. package/lib/esm/tile/B3dmReader.d.ts +1 -1
  921. package/lib/esm/tile/B3dmReader.d.ts.map +1 -1
  922. package/lib/esm/tile/B3dmReader.js +1 -1
  923. package/lib/esm/tile/B3dmReader.js.map +1 -1
  924. package/lib/esm/tile/DynamicIModelTile.js +1 -1
  925. package/lib/esm/tile/DynamicIModelTile.js.map +1 -1
  926. package/lib/esm/tile/FetchCloudStorage.d.ts +15 -0
  927. package/lib/esm/tile/FetchCloudStorage.d.ts.map +1 -0
  928. package/lib/esm/tile/FetchCloudStorage.js +31 -0
  929. package/lib/esm/tile/FetchCloudStorage.js.map +1 -0
  930. package/lib/esm/tile/GltfReader.d.ts +13 -4
  931. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  932. package/lib/esm/tile/GltfReader.js +81 -29
  933. package/lib/esm/tile/GltfReader.js.map +1 -1
  934. package/lib/esm/tile/IModelTile.d.ts.map +1 -1
  935. package/lib/esm/tile/IModelTile.js +5 -10
  936. package/lib/esm/tile/IModelTile.js.map +1 -1
  937. package/lib/esm/tile/IModelTileTree.d.ts +4 -1
  938. package/lib/esm/tile/IModelTileTree.d.ts.map +1 -1
  939. package/lib/esm/tile/IModelTileTree.js +16 -1
  940. package/lib/esm/tile/IModelTileTree.js.map +1 -1
  941. package/lib/esm/tile/ImdlDecoder.d.ts +52 -0
  942. package/lib/esm/tile/ImdlDecoder.d.ts.map +1 -0
  943. package/lib/esm/tile/ImdlDecoder.js +31 -0
  944. package/lib/esm/tile/ImdlDecoder.js.map +1 -0
  945. package/lib/{cjs/imdl → esm/tile}/ImdlGraphicsCreator.d.ts +1 -1
  946. package/lib/esm/tile/ImdlGraphicsCreator.d.ts.map +1 -0
  947. package/lib/esm/{imdl → tile}/ImdlGraphicsCreator.js +5 -5
  948. package/lib/esm/tile/ImdlGraphicsCreator.js.map +1 -0
  949. package/lib/esm/tile/ImdlParser.d.ts +26 -0
  950. package/lib/esm/tile/ImdlParser.d.ts.map +1 -0
  951. package/lib/esm/tile/ImdlParser.js +68 -0
  952. package/lib/esm/tile/ImdlParser.js.map +1 -0
  953. package/lib/esm/tile/ImdlReader.d.ts +6 -1
  954. package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
  955. package/lib/esm/tile/ImdlReader.js +13 -9
  956. package/lib/esm/tile/ImdlReader.js.map +1 -1
  957. package/lib/esm/tile/OPCFormatInterpreter.js +1 -1
  958. package/lib/esm/tile/OPCFormatInterpreter.js.map +1 -1
  959. package/lib/esm/tile/PntsReader.js +1 -1
  960. package/lib/esm/tile/PntsReader.js.map +1 -1
  961. package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
  962. package/lib/esm/tile/PrimaryTileTree.js +2 -1
  963. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  964. package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
  965. package/lib/esm/tile/RealityTile.d.ts +8 -3
  966. package/lib/esm/tile/RealityTile.d.ts.map +1 -1
  967. package/lib/esm/tile/RealityTile.js +4 -1
  968. package/lib/esm/tile/RealityTile.js.map +1 -1
  969. package/lib/esm/tile/RealityTileLoader.d.ts.map +1 -1
  970. package/lib/esm/tile/RealityTileLoader.js +10 -5
  971. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  972. package/lib/esm/tile/RealityTileTree.js +1 -1
  973. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  974. package/lib/esm/tile/ThreeDTileFormatInterpreter.js +1 -1
  975. package/lib/esm/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  976. package/lib/esm/tile/TileAdmin.d.ts +14 -11
  977. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  978. package/lib/esm/tile/TileAdmin.js +10 -30
  979. package/lib/esm/tile/TileAdmin.js.map +1 -1
  980. package/lib/esm/tile/TileContent.d.ts +6 -0
  981. package/lib/esm/tile/TileContent.d.ts.map +1 -1
  982. package/lib/esm/tile/TileContent.js.map +1 -1
  983. package/lib/esm/tile/TileStorage.js.map +1 -1
  984. package/lib/esm/tile/internal.d.ts +9 -0
  985. package/lib/esm/tile/internal.d.ts.map +1 -1
  986. package/lib/esm/tile/internal.js +9 -0
  987. package/lib/esm/tile/internal.js.map +1 -1
  988. package/lib/esm/tile/map/ArcGisUtilities.d.ts +8 -1
  989. package/lib/esm/tile/map/ArcGisUtilities.d.ts.map +1 -1
  990. package/lib/esm/tile/map/ArcGisUtilities.js +21 -0
  991. package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
  992. package/lib/esm/tile/map/EllipsoidTerrainProvider.d.ts +6 -4
  993. package/lib/esm/tile/map/EllipsoidTerrainProvider.d.ts.map +1 -1
  994. package/lib/esm/tile/map/EllipsoidTerrainProvider.js +6 -4
  995. package/lib/esm/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  996. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts +2 -0
  997. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts.map +1 -1
  998. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js +4 -2
  999. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  1000. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +55 -2
  1001. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  1002. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +96 -24
  1003. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  1004. package/lib/esm/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.d.ts +11 -0
  1005. package/lib/esm/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.d.ts.map +1 -0
  1006. package/lib/esm/{imdl/ImdlModel.js → tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.js} +1 -1
  1007. package/lib/esm/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.js.map +1 -0
  1008. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts +15 -0
  1009. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts.map +1 -0
  1010. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js +55 -0
  1011. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -0
  1012. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryRenderer.d.ts +47 -0
  1013. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryRenderer.d.ts.map +1 -0
  1014. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryRenderer.js +122 -0
  1015. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryRenderer.js.map +1 -0
  1016. package/lib/esm/tile/map/ImageryProviders/ArcGisGraphicsRenderer.d.ts +27 -0
  1017. package/lib/esm/tile/map/ImageryProviders/ArcGisGraphicsRenderer.d.ts.map +1 -0
  1018. package/lib/esm/tile/map/ImageryProviders/ArcGisGraphicsRenderer.js +131 -0
  1019. package/lib/esm/tile/map/ImageryProviders/ArcGisGraphicsRenderer.js.map +1 -0
  1020. package/lib/esm/tile/map/ImageryProviders/WebMercator.d.ts +6 -0
  1021. package/lib/esm/tile/map/ImageryProviders/WebMercator.d.ts.map +1 -0
  1022. package/lib/esm/tile/map/ImageryProviders/WebMercator.js +18 -0
  1023. package/lib/esm/tile/map/ImageryProviders/WebMercator.js.map +1 -0
  1024. package/lib/esm/tile/map/ImageryTileTree.d.ts +2 -1
  1025. package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
  1026. package/lib/esm/tile/map/ImageryTileTree.js +28 -12
  1027. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  1028. package/lib/esm/tile/map/MapFeatureInfo.d.ts +67 -7
  1029. package/lib/esm/tile/map/MapFeatureInfo.d.ts.map +1 -1
  1030. package/lib/esm/tile/map/MapFeatureInfo.js +14 -1
  1031. package/lib/esm/tile/map/MapFeatureInfo.js.map +1 -1
  1032. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  1033. package/lib/esm/tile/map/MapLayerImageryFormats.js +3 -0
  1034. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  1035. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +4 -1
  1036. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  1037. package/lib/esm/tile/map/MapLayerImageryProvider.js +3 -1
  1038. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  1039. package/lib/esm/tile/map/MapLayerSources.d.ts +5 -3
  1040. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  1041. package/lib/esm/tile/map/MapLayerSources.js +3 -0
  1042. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  1043. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  1044. package/lib/esm/tile/map/MapTile.js +9 -1
  1045. package/lib/esm/tile/map/MapTile.js.map +1 -1
  1046. package/lib/esm/tile/map/MapTileLoader.d.ts.map +1 -1
  1047. package/lib/esm/tile/map/MapTileLoader.js +1 -15
  1048. package/lib/esm/tile/map/MapTileLoader.js.map +1 -1
  1049. package/lib/esm/tile/map/MapTileTree.d.ts +12 -3
  1050. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  1051. package/lib/esm/tile/map/MapTileTree.js +34 -21
  1052. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  1053. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts +2 -3
  1054. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  1055. package/lib/esm/tile/map/MapTiledGraphicsProvider.js +3 -4
  1056. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  1057. package/lib/esm/tile/map/MapTilingScheme.d.ts +4 -4
  1058. package/lib/esm/tile/map/MapTilingScheme.d.ts.map +1 -1
  1059. package/lib/esm/tile/map/MapTilingScheme.js +4 -4
  1060. package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
  1061. package/lib/esm/tile/map/QuadId.js.map +1 -1
  1062. package/lib/esm/tools/ElementSetTool.js +1 -1
  1063. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  1064. package/lib/esm/tools/SelectTool.js +1 -1
  1065. package/lib/esm/tools/SelectTool.js.map +1 -1
  1066. package/lib/esm/tools/ToolAdmin.d.ts +8 -6
  1067. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  1068. package/lib/esm/tools/ToolAdmin.js +11 -8
  1069. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  1070. package/lib/esm/tools/ToolAssistance.d.ts +18 -0
  1071. package/lib/esm/tools/ToolAssistance.d.ts.map +1 -1
  1072. package/lib/esm/tools/ToolAssistance.js +8 -0
  1073. package/lib/esm/tools/ToolAssistance.js.map +1 -1
  1074. package/lib/esm/tools/ViewTool.d.ts.map +1 -1
  1075. package/lib/esm/tools/ViewTool.js +3 -2
  1076. package/lib/esm/tools/ViewTool.js.map +1 -1
  1077. package/lib/esm/workers/ImdlParser/Worker.d.ts +20 -0
  1078. package/lib/esm/workers/ImdlParser/Worker.d.ts.map +1 -0
  1079. package/lib/esm/workers/ImdlParser/Worker.js +30 -0
  1080. package/lib/esm/workers/ImdlParser/Worker.js.map +1 -0
  1081. package/lib/esm/workers/ImdlParser/webpack.config.js +40 -0
  1082. package/lib/esm/workers/RegisterWorker.d.ts +9 -0
  1083. package/lib/esm/workers/RegisterWorker.d.ts.map +1 -0
  1084. package/lib/esm/workers/RegisterWorker.js +32 -0
  1085. package/lib/esm/workers/RegisterWorker.js.map +1 -0
  1086. package/lib/public/scripts/parse-imdl-worker.js +1 -0
  1087. package/lib/workers/webpack/parse-imdl-worker.js +1 -0
  1088. package/package.json +32 -69
  1089. package/lib/cjs/FrontendLoggerCategory.d.ts.map +0 -1
  1090. package/lib/cjs/FrontendLoggerCategory.js.map +0 -1
  1091. package/lib/cjs/ImageUtil.d.ts.map +0 -1
  1092. package/lib/cjs/ImageUtil.js.map +0 -1
  1093. package/lib/cjs/ViewRect.d.ts.map +0 -1
  1094. package/lib/cjs/ViewRect.js.map +0 -1
  1095. package/lib/cjs/WebWorkerManager.d.ts +0 -49
  1096. package/lib/cjs/WebWorkerManager.d.ts.map +0 -1
  1097. package/lib/cjs/WebWorkerManager.js +0 -155
  1098. package/lib/cjs/WebWorkerManager.js.map +0 -1
  1099. package/lib/cjs/gltf/GltfModel.d.ts.map +0 -1
  1100. package/lib/cjs/gltf/GltfModel.js.map +0 -1
  1101. package/lib/cjs/gltf/GltfParser.d.ts.map +0 -1
  1102. package/lib/cjs/gltf/GltfParser.js.map +0 -1
  1103. package/lib/cjs/gltf/GltfSchema.d.ts.map +0 -1
  1104. package/lib/cjs/gltf/GltfSchema.js.map +0 -1
  1105. package/lib/cjs/imdl/ImdlGraphicsCreator.d.ts.map +0 -1
  1106. package/lib/cjs/imdl/ImdlGraphicsCreator.js.map +0 -1
  1107. package/lib/cjs/imdl/ImdlModel.d.ts.map +0 -1
  1108. package/lib/cjs/imdl/ImdlModel.js.map +0 -1
  1109. package/lib/cjs/imdl/ImdlParser.d.ts.map +0 -1
  1110. package/lib/cjs/imdl/ImdlParser.js.map +0 -1
  1111. package/lib/cjs/imdl/ImdlSchema.d.ts.map +0 -1
  1112. package/lib/cjs/imdl/ImdlSchema.js.map +0 -1
  1113. package/lib/cjs/render/RenderMaterial.d.ts.map +0 -1
  1114. package/lib/cjs/render/RenderMaterial.js.map +0 -1
  1115. package/lib/cjs/render/RenderTexture.d.ts.map +0 -1
  1116. package/lib/cjs/render/RenderTexture.js.map +0 -1
  1117. package/lib/cjs/render/primitives/AuxChannelTable.d.ts.map +0 -1
  1118. package/lib/cjs/render/primitives/AuxChannelTable.js.map +0 -1
  1119. package/lib/cjs/render/primitives/DisplayParams.d.ts.map +0 -1
  1120. package/lib/cjs/render/primitives/DisplayParams.js.map +0 -1
  1121. package/lib/cjs/render/primitives/SurfaceParams.d.ts.map +0 -1
  1122. package/lib/cjs/render/primitives/SurfaceParams.js.map +0 -1
  1123. package/lib/cjs/render/primitives/VertexTable.d.ts +0 -152
  1124. package/lib/cjs/render/primitives/VertexTable.d.ts.map +0 -1
  1125. package/lib/cjs/render/primitives/VertexTable.js.map +0 -1
  1126. package/lib/cjs/render/primitives/VertexTableSplitter.d.ts.map +0 -1
  1127. package/lib/cjs/render/primitives/VertexTableSplitter.js.map +0 -1
  1128. package/lib/cjs/render-primitives.d.ts +0 -21
  1129. package/lib/cjs/render-primitives.d.ts.map +0 -1
  1130. package/lib/cjs/render-primitives.js +0 -41
  1131. package/lib/cjs/render-primitives.js.map +0 -1
  1132. package/lib/esm/FrontendLoggerCategory.d.ts.map +0 -1
  1133. package/lib/esm/FrontendLoggerCategory.js.map +0 -1
  1134. package/lib/esm/ImageUtil.d.ts.map +0 -1
  1135. package/lib/esm/ImageUtil.js.map +0 -1
  1136. package/lib/esm/ViewRect.d.ts.map +0 -1
  1137. package/lib/esm/ViewRect.js.map +0 -1
  1138. package/lib/esm/WebWorkerManager.d.ts +0 -49
  1139. package/lib/esm/WebWorkerManager.d.ts.map +0 -1
  1140. package/lib/esm/WebWorkerManager.js +0 -150
  1141. package/lib/esm/WebWorkerManager.js.map +0 -1
  1142. package/lib/esm/gltf/GltfModel.d.ts.map +0 -1
  1143. package/lib/esm/gltf/GltfModel.js.map +0 -1
  1144. package/lib/esm/gltf/GltfParser.d.ts.map +0 -1
  1145. package/lib/esm/gltf/GltfParser.js.map +0 -1
  1146. package/lib/esm/gltf/GltfSchema.d.ts.map +0 -1
  1147. package/lib/esm/gltf/GltfSchema.js.map +0 -1
  1148. package/lib/esm/imdl/ImdlGraphicsCreator.d.ts.map +0 -1
  1149. package/lib/esm/imdl/ImdlGraphicsCreator.js.map +0 -1
  1150. package/lib/esm/imdl/ImdlModel.d.ts.map +0 -1
  1151. package/lib/esm/imdl/ImdlModel.js.map +0 -1
  1152. package/lib/esm/imdl/ImdlParser.d.ts.map +0 -1
  1153. package/lib/esm/imdl/ImdlParser.js.map +0 -1
  1154. package/lib/esm/imdl/ImdlSchema.d.ts.map +0 -1
  1155. package/lib/esm/imdl/ImdlSchema.js.map +0 -1
  1156. package/lib/esm/render/RenderMaterial.d.ts.map +0 -1
  1157. package/lib/esm/render/RenderMaterial.js.map +0 -1
  1158. package/lib/esm/render/RenderTexture.d.ts.map +0 -1
  1159. package/lib/esm/render/RenderTexture.js.map +0 -1
  1160. package/lib/esm/render/primitives/AuxChannelTable.d.ts.map +0 -1
  1161. package/lib/esm/render/primitives/AuxChannelTable.js.map +0 -1
  1162. package/lib/esm/render/primitives/DisplayParams.d.ts.map +0 -1
  1163. package/lib/esm/render/primitives/DisplayParams.js.map +0 -1
  1164. package/lib/esm/render/primitives/SurfaceParams.d.ts.map +0 -1
  1165. package/lib/esm/render/primitives/SurfaceParams.js.map +0 -1
  1166. package/lib/esm/render/primitives/VertexTable.d.ts +0 -152
  1167. package/lib/esm/render/primitives/VertexTable.d.ts.map +0 -1
  1168. package/lib/esm/render/primitives/VertexTable.js.map +0 -1
  1169. package/lib/esm/render/primitives/VertexTableSplitter.d.ts.map +0 -1
  1170. package/lib/esm/render/primitives/VertexTableSplitter.js.map +0 -1
  1171. package/lib/esm/render-primitives.d.ts +0 -21
  1172. package/lib/esm/render-primitives.d.ts.map +0 -1
  1173. package/lib/esm/render-primitives.js +0 -25
  1174. package/lib/esm/render-primitives.js.map +0 -1
  1175. /package/lib/cjs/{FrontendLoggerCategory.d.ts → common/FrontendLoggerCategory.d.ts} +0 -0
  1176. /package/lib/cjs/{FrontendLoggerCategory.js → common/FrontendLoggerCategory.js} +0 -0
  1177. /package/lib/cjs/{ImageUtil.d.ts → common/ImageUtil.d.ts} +0 -0
  1178. /package/lib/cjs/{ViewRect.d.ts → common/ViewRect.d.ts} +0 -0
  1179. /package/lib/cjs/{ViewRect.js → common/ViewRect.js} +0 -0
  1180. /package/lib/cjs/{gltf → common/gltf}/GltfModel.js +0 -0
  1181. /package/lib/cjs/{gltf → common/gltf}/GltfParser.d.ts +0 -0
  1182. /package/lib/cjs/{gltf → common/gltf}/GltfParser.js +0 -0
  1183. /package/lib/cjs/{gltf → common/gltf}/GltfSchema.d.ts +0 -0
  1184. /package/lib/cjs/{gltf → common/gltf}/GltfSchema.js +0 -0
  1185. /package/lib/cjs/{render → common/render}/primitives/DisplayParams.d.ts +0 -0
  1186. /package/lib/cjs/{render → common/render}/primitives/DisplayParams.js +0 -0
  1187. /package/lib/cjs/{render → common/render}/primitives/SurfaceParams.js +0 -0
  1188. /package/lib/esm/{FrontendLoggerCategory.d.ts → common/FrontendLoggerCategory.d.ts} +0 -0
  1189. /package/lib/esm/{FrontendLoggerCategory.js → common/FrontendLoggerCategory.js} +0 -0
  1190. /package/lib/esm/{ImageUtil.d.ts → common/ImageUtil.d.ts} +0 -0
  1191. /package/lib/esm/{ViewRect.d.ts → common/ViewRect.d.ts} +0 -0
  1192. /package/lib/esm/{ViewRect.js → common/ViewRect.js} +0 -0
  1193. /package/lib/esm/{gltf → common/gltf}/GltfModel.js +0 -0
  1194. /package/lib/esm/{gltf → common/gltf}/GltfParser.d.ts +0 -0
  1195. /package/lib/esm/{gltf → common/gltf}/GltfParser.js +0 -0
  1196. /package/lib/esm/{gltf → common/gltf}/GltfSchema.d.ts +0 -0
  1197. /package/lib/esm/{gltf → common/gltf}/GltfSchema.js +0 -0
  1198. /package/lib/esm/{render → common/render}/primitives/DisplayParams.d.ts +0 -0
  1199. /package/lib/esm/{render → common/render}/primitives/DisplayParams.js +0 -0
  1200. /package/lib/esm/{render → common/render}/primitives/SurfaceParams.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"PolylineParams.d.ts","sourceRoot":"","sources":["../../../../src/render/primitives/PolylineParams.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAc3D;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,2DAA2D;IAC3D,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IACpC,qHAAqH;IACrH,QAAQ,CAAC,oBAAoB,EAAE,UAAU,CAAC;CAC3C;AAED,yBAAiB,kBAAkB,CAAC;IAClC,SAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,kBAAkB,GAAG,SAAS,CAGvE;CACF;AAgLD,oCAAoC;AACpC,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,OAAO,GAAG,kBAAkB,CAGhI;AAED;;;;GAIG;AACH,qBAAa,cAAc;IACzB,SAAgB,QAAQ,EAAE,WAAW,CAAC;IACtC,SAAgB,QAAQ,EAAE,kBAAkB,CAAC;IAC7C,SAAgB,QAAQ,EAAE,OAAO,CAAC;IAClC,SAAgB,IAAI,EAAE,iBAAiB,CAAC;IACxC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,UAAU,EAAE,UAAU,CAAC;IAEvC,iGAAiG;gBAC9E,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,GAAE,iBAA4C;IASrL,sCAAsC;WACxB,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,GAAG,SAAS;CAYrE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAIzE"}
1
+ {"version":3,"file":"PolylineParams.d.ts","sourceRoot":"","sources":["../../../../src/render/primitives/PolylineParams.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,eAAe,EAAqB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AAgBnG,gBAAgB;AAChB,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,GAAG,kBAAkB,GAAG,SAAS,CAGxF;AAgLD,oCAAoC;AACpC,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,OAAO,GAAG,kBAAkB,CAGnI;AAED,gBAAgB;AAChB,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,GAAG,SAAS,CAkBnF;AAED,gBAAgB;AAChB,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAIzE"}
@@ -7,19 +7,19 @@
7
7
  * @module Rendering
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.wantJointTriangles = exports.PolylineParams = exports.tesselatePolyline = exports.TesselatedPolyline = void 0;
10
+ exports.wantJointTriangles = exports.createPolylineParams = exports.tesselatePolyline = exports.tesselatePolylineFromMesh = void 0;
11
11
  const core_bentley_1 = require("@itwin/core-bentley");
12
12
  const core_geometry_1 = require("@itwin/core-geometry");
13
13
  const core_common_1 = require("@itwin/core-common");
14
- const VertexTable_1 = require("./VertexTable");
15
- var TesselatedPolyline;
16
- (function (TesselatedPolyline) {
17
- function fromMesh(args) {
18
- const tesselator = PolylineTesselator.fromMesh(args);
19
- return tesselator?.tesselate();
20
- }
21
- TesselatedPolyline.fromMesh = fromMesh;
22
- })(TesselatedPolyline = exports.TesselatedPolyline || (exports.TesselatedPolyline = {}));
14
+ const VertexTableBuilder_1 = require("./VertexTableBuilder");
15
+ const VertexIndices_1 = require("../../common/render/primitives/VertexIndices");
16
+ const IModelApp_1 = require("../../IModelApp");
17
+ /** @internal */
18
+ function tesselatePolylineFromMesh(args) {
19
+ const tesselator = PolylineTesselator.fromMesh(args);
20
+ return tesselator?.tesselate();
21
+ }
22
+ exports.tesselatePolylineFromMesh = tesselatePolylineFromMesh;
23
23
  class PolylineVertex {
24
24
  constructor() {
25
25
  this.isSegmentStart = false;
@@ -72,7 +72,7 @@ class PolylineTesselator {
72
72
  this._doJoints = doJointTriangles;
73
73
  }
74
74
  static fromPolyline(args) {
75
- return new PolylineTesselator(args.polylines, args.points, wantJointTriangles(args.width, args.flags.is2d));
75
+ return new PolylineTesselator(args.polylines, args.points, wantJointTriangles(args.width, !!args.flags.is2d));
76
76
  }
77
77
  static fromMesh(args) {
78
78
  if (undefined !== args.edges?.polylines.lines && undefined !== args.points)
@@ -81,13 +81,13 @@ class PolylineTesselator {
81
81
  }
82
82
  tesselate() {
83
83
  this._tesselate();
84
- const vertIndex = VertexTable_1.VertexIndices.fromArray(this._vertIndex);
85
- const prevIndex = VertexTable_1.VertexIndices.fromArray(this._prevIndex);
84
+ const vertIndex = VertexIndices_1.VertexIndices.fromArray(this._vertIndex);
85
+ const prevIndex = VertexIndices_1.VertexIndices.fromArray(this._prevIndex);
86
86
  const nextIndexAndParam = new Uint8Array(this._numIndices * 4);
87
87
  for (let i = 0; i < this._numIndices; i++) {
88
88
  const index = this._nextIndex[i];
89
89
  const j = i * 4;
90
- VertexTable_1.VertexIndices.encodeIndex(index, nextIndexAndParam, j);
90
+ VertexIndices_1.VertexIndices.encodeIndex(index, nextIndexAndParam, j);
91
91
  nextIndexAndParam[j + 3] = this._nextParam[i] & 0x000000ff;
92
92
  }
93
93
  return {
@@ -100,17 +100,17 @@ class PolylineTesselator {
100
100
  const v0 = new PolylineVertex(), v1 = new PolylineVertex();
101
101
  const maxJointDot = -0.7;
102
102
  for (const line of this._polylines) {
103
- if (line.numIndices < 2)
103
+ if (line.length < 2)
104
104
  continue;
105
- const last = line.numIndices - 1;
106
- const isClosed = line.vertIndices[0] === line.vertIndices[last];
105
+ const last = line.length - 1;
106
+ const isClosed = line[0] === line[last];
107
107
  for (let i = 0; i < last; ++i) {
108
- const idx0 = line.vertIndices[i];
109
- const idx1 = line.vertIndices[i + 1];
108
+ const idx0 = line[i];
109
+ const idx1 = line[i + 1];
110
110
  const isStart = (0 === i);
111
111
  const isEnd = (last - 1 === i);
112
- const prevIdx0 = isStart ? (isClosed ? line.vertIndices[last - 1] : idx0) : line.vertIndices[i - 1];
113
- const nextIdx1 = isEnd ? (isClosed ? line.vertIndices[1] : idx1) : line.vertIndices[i + 2];
112
+ const prevIdx0 = isStart ? (isClosed ? line[last - 1] : idx0) : line[i - 1];
113
+ const nextIdx1 = isEnd ? (isClosed ? line[1] : idx1) : line[i + 2];
114
114
  v0.init(true, isStart && !isClosed, idx0, prevIdx0, idx1);
115
115
  v1.init(false, isEnd && !isClosed, idx1, nextIdx1, idx0);
116
116
  const jointAt0 = this._doJoints && (isClosed || !isStart) && this._dotProduct(v0) > maxJointDot;
@@ -172,34 +172,26 @@ function tesselatePolyline(polylines, points, doJointTriangles) {
172
172
  return tesselator.tesselate();
173
173
  }
174
174
  exports.tesselatePolyline = tesselatePolyline;
175
- /**
176
- * Describes a set of tesselated polylines.
177
- * Each segment of each polyline is triangulated into a quad. Additional triangles may be inserted
178
- * between segments to enable rounded corners.
179
- */
180
- class PolylineParams {
181
- /** Directly construct a PolylineParams. The PolylineParams takes ownership of all input data. */
182
- constructor(vertices, polyline, weight, linePixels, isPlanar, type = core_common_1.PolylineTypeFlags.Normal) {
183
- this.vertices = vertices;
184
- this.polyline = polyline;
185
- this.isPlanar = isPlanar;
186
- this.weight = weight;
187
- this.linePixels = linePixels;
188
- this.type = type;
189
- }
190
- /** Construct from an PolylineArgs. */
191
- static create(args) {
192
- (0, core_bentley_1.assert)(!args.flags.isDisjoint);
193
- const vertices = VertexTable_1.VertexTable.createForPolylines(args);
194
- if (undefined === vertices)
195
- return undefined;
196
- const tesselator = PolylineTesselator.fromPolyline(args);
197
- if (undefined === tesselator)
198
- return undefined;
199
- return new PolylineParams(vertices, tesselator.tesselate(), args.width, args.linePixels, args.flags.isPlanar, args.flags.type);
200
- }
175
+ /** @internal */
176
+ function createPolylineParams(args) {
177
+ (0, core_bentley_1.assert)(!args.flags.isDisjoint);
178
+ const vertices = VertexTableBuilder_1.VertexTableBuilder.buildFromPolylines(args, IModelApp_1.IModelApp.renderSystem.maxTextureSize);
179
+ if (undefined === vertices)
180
+ return undefined;
181
+ const tesselator = PolylineTesselator.fromPolyline(args);
182
+ if (undefined === tesselator)
183
+ return undefined;
184
+ return {
185
+ vertices,
186
+ polyline: tesselator.tesselate(),
187
+ isPlanar: !!args.flags.isPlanar,
188
+ type: args.flags.type ?? core_common_1.PolylineTypeFlags.Normal,
189
+ weight: args.width,
190
+ linePixels: args.linePixels,
191
+ };
201
192
  }
202
- exports.PolylineParams = PolylineParams;
193
+ exports.createPolylineParams = createPolylineParams;
194
+ /** @internal */
203
195
  function wantJointTriangles(weight, is2d) {
204
196
  // Joints are incredibly expensive. In 3d, only generate them if the line is sufficiently wide for them to be noticeable.
205
197
  const jointWidthThreshold = 3;
@@ -1 +1 @@
1
- {"version":3,"file":"PolylineParams.js","sourceRoot":"","sources":["../../../../src/render/primitives/PolylineParams.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 { Point3d, Vector3d } from \"@itwin/core-geometry\";\r\nimport { LinePixels, PolylineData, PolylineTypeFlags, QPoint3dList } from \"@itwin/core-common\";\r\nimport { MeshArgs, PolylineArgs } from \"./mesh/MeshPrimitives\";\r\nimport { VertexIndices, VertexTable } from \"./VertexTable\";\r\n\r\n/** Parameter associated with each vertex index of a tesselated polyline. */\r\nconst enum PolylineParam { // eslint-disable-line no-restricted-syntax\r\n kNone = 0,\r\n kSquare = 1 * 3,\r\n kMiter = 2 * 3,\r\n kMiterInsideOnly = 3 * 3,\r\n kJointBase = 4 * 3,\r\n kNegatePerp = 8 * 3,\r\n kNegateAlong = 16 * 3,\r\n kNoneAdjustWeight = 32 * 3,\r\n}\r\n\r\n/**\r\n * Represents a tesselated polyline.\r\n * Given a polyline as a line string, each segment of the line string is triangulated into a quad.\r\n * Based on the angle between two segments, additional joint triangles may be inserted in between to enable smoothly-rounded corners.\r\n * @internal\r\n */\r\nexport interface TesselatedPolyline {\r\n /** 24-bit index of each vertex. */\r\n readonly indices: VertexIndices;\r\n /** 24-bit index of the previous vertex in the polyline. */\r\n readonly prevIndices: VertexIndices;\r\n /** 24-bit index of the next vertex in the polyline, plus 8-bit parameter describing the semantics of this vertex. */\r\n readonly nextIndicesAndParams: Uint8Array;\r\n}\r\n\r\nexport namespace TesselatedPolyline {\r\n export function fromMesh(args: MeshArgs): TesselatedPolyline | undefined {\r\n const tesselator = PolylineTesselator.fromMesh(args);\r\n return tesselator?.tesselate();\r\n }\r\n}\r\n\r\nclass PolylineVertex {\r\n public isSegmentStart: boolean = false;\r\n public isPolylineStartOrEnd: boolean = false;\r\n public vertexIndex: number = 0;\r\n public prevIndex: number = 0;\r\n public nextIndex: number = 0;\r\n\r\n public constructor() { }\r\n\r\n public init(isSegmentStart: boolean, isPolylineStartOrEnd: boolean, vertexIndex: number, prevIndex: number, nextIndex: number) {\r\n this.isSegmentStart = isSegmentStart;\r\n this.isPolylineStartOrEnd = isPolylineStartOrEnd;\r\n this.vertexIndex = vertexIndex;\r\n this.prevIndex = prevIndex;\r\n this.nextIndex = nextIndex;\r\n }\r\n\r\n public computeParam(negatePerp: boolean, adjacentToJoint: boolean = false, joint: boolean = false, noDisplacement: boolean = false): number {\r\n if (joint)\r\n return PolylineParam.kJointBase;\r\n\r\n let param: PolylineParam;\r\n if (noDisplacement)\r\n param = PolylineParam.kNoneAdjustWeight; // prevent getting tossed before width adjustment\r\n else if (adjacentToJoint)\r\n param = PolylineParam.kMiterInsideOnly;\r\n else\r\n param = this.isPolylineStartOrEnd ? PolylineParam.kSquare : PolylineParam.kMiter;\r\n\r\n let adjust = 0;\r\n if (negatePerp)\r\n adjust = PolylineParam.kNegatePerp;\r\n if (!this.isSegmentStart)\r\n adjust += PolylineParam.kNegateAlong;\r\n\r\n return param + adjust;\r\n }\r\n}\r\n\r\nclass PolylineTesselator {\r\n private _polylines: PolylineData[];\r\n private _doJoints: boolean;\r\n private _numIndices = 0;\r\n private _vertIndex: number[] = [];\r\n private _prevIndex: number[] = [];\r\n private _nextIndex: number[] = [];\r\n private _nextParam: number[] = [];\r\n private _position: Point3d[] = [];\r\n\r\n public constructor(polylines: PolylineData[], points: QPoint3dList | Point3d[], doJointTriangles: boolean) {\r\n this._polylines = polylines;\r\n if (points instanceof QPoint3dList) {\r\n for (const p of points.list)\r\n this._position.push(p.unquantize(points.params));\r\n } else {\r\n this._position = points;\r\n }\r\n\r\n this._doJoints = doJointTriangles;\r\n }\r\n\r\n public static fromPolyline(args: PolylineArgs): PolylineTesselator {\r\n return new PolylineTesselator(args.polylines, args.points, wantJointTriangles(args.width, args.flags.is2d));\r\n }\r\n\r\n public static fromMesh(args: MeshArgs): PolylineTesselator | undefined {\r\n if (undefined !== args.edges?.polylines.lines && undefined !== args.points)\r\n return new PolylineTesselator(args.edges.polylines.lines, args.points, wantJointTriangles(args.edges.width, true === args.is2d));\r\n\r\n return undefined;\r\n }\r\n\r\n public tesselate(): TesselatedPolyline {\r\n this._tesselate();\r\n\r\n const vertIndex = VertexIndices.fromArray(this._vertIndex);\r\n const prevIndex = VertexIndices.fromArray(this._prevIndex);\r\n\r\n const nextIndexAndParam = new Uint8Array(this._numIndices * 4);\r\n for (let i = 0; i < this._numIndices; i++) {\r\n const index = this._nextIndex[i];\r\n const j = i * 4;\r\n VertexIndices.encodeIndex(index, nextIndexAndParam, j);\r\n nextIndexAndParam[j + 3] = this._nextParam[i] & 0x000000ff;\r\n }\r\n\r\n return {\r\n indices: vertIndex,\r\n prevIndices: prevIndex,\r\n nextIndicesAndParams: nextIndexAndParam,\r\n };\r\n }\r\n\r\n private _tesselate() {\r\n const v0 = new PolylineVertex(), v1 = new PolylineVertex();\r\n const maxJointDot = -0.7;\r\n\r\n for (const line of this._polylines) {\r\n if (line.numIndices < 2)\r\n continue;\r\n\r\n const last = line.numIndices - 1;\r\n const isClosed: boolean = line.vertIndices[0] === line.vertIndices[last];\r\n\r\n for (let i = 0; i < last; ++i) {\r\n const idx0 = line.vertIndices[i];\r\n const idx1 = line.vertIndices[i + 1];\r\n const isStart: boolean = (0 === i);\r\n const isEnd: boolean = (last - 1 === i);\r\n const prevIdx0 = isStart ? (isClosed ? line.vertIndices[last - 1] : idx0) : line.vertIndices[i - 1];\r\n const nextIdx1 = isEnd ? (isClosed ? line.vertIndices[1] : idx1) : line.vertIndices[i + 2];\r\n\r\n v0.init(true, isStart && !isClosed, idx0, prevIdx0, idx1);\r\n v1.init(false, isEnd && !isClosed, idx1, nextIdx1, idx0);\r\n\r\n const jointAt0: boolean = this._doJoints && (isClosed || !isStart) && this._dotProduct(v0) > maxJointDot;\r\n const jointAt1: boolean = this._doJoints && (isClosed || !isEnd) && this._dotProduct(v1) > maxJointDot;\r\n\r\n if (jointAt0 || jointAt1) {\r\n this._addVertex(v0, v0.computeParam(true, jointAt0, false, false));\r\n this._addVertex(v1, v1.computeParam(false, jointAt1, false, false));\r\n this._addVertex(v0, v0.computeParam(false, jointAt0, false, true));\r\n this._addVertex(v0, v0.computeParam(false, jointAt0, false, true));\r\n this._addVertex(v1, v1.computeParam(false, jointAt1, false, false));\r\n this._addVertex(v1, v1.computeParam(false, jointAt1, false, true));\r\n this._addVertex(v0, v0.computeParam(false, jointAt0, false, true));\r\n this._addVertex(v1, v1.computeParam(false, jointAt1, false, true));\r\n this._addVertex(v0, v0.computeParam(false, jointAt0, false, false));\r\n this._addVertex(v0, v0.computeParam(false, jointAt0, false, false));\r\n this._addVertex(v1, v1.computeParam(false, jointAt1, false, true));\r\n this._addVertex(v1, v1.computeParam(true, jointAt1, false, false));\r\n\r\n if (jointAt0)\r\n this.addJointTriangles(v0, v0.computeParam(false, true, false, true), v0);\r\n\r\n if (jointAt1)\r\n this.addJointTriangles(v1, v1.computeParam(false, true, false, true), v1);\r\n } else {\r\n this._addVertex(v0, v0.computeParam(true));\r\n this._addVertex(v1, v1.computeParam(false));\r\n this._addVertex(v0, v0.computeParam(false));\r\n this._addVertex(v0, v0.computeParam(false));\r\n this._addVertex(v1, v1.computeParam(false));\r\n this._addVertex(v1, v1.computeParam(true));\r\n }\r\n }\r\n }\r\n }\r\n\r\n private addJointTriangles(v0: PolylineVertex, p0: number, v1: PolylineVertex): void {\r\n const param = v1.computeParam(false, false, true);\r\n for (let i = 0; i < 3; i++) {\r\n this._addVertex(v0, p0);\r\n this._addVertex(v1, param + i + 1);\r\n this._addVertex(v1, param + i);\r\n }\r\n }\r\n\r\n private _dotProduct(v: PolylineVertex): number {\r\n const pos: Point3d = this._position[v.vertexIndex];\r\n const prevDir: Vector3d = Vector3d.createStartEnd(this._position[v.prevIndex], pos);\r\n const nextDir: Vector3d = Vector3d.createStartEnd(this._position[v.nextIndex], pos);\r\n return prevDir.dotProduct(nextDir);\r\n }\r\n\r\n private _addVertex(vertex: PolylineVertex, param: number): void {\r\n this._vertIndex[this._numIndices] = vertex.vertexIndex;\r\n this._prevIndex[this._numIndices] = vertex.prevIndex;\r\n this._nextIndex[this._numIndices] = vertex.nextIndex;\r\n this._nextParam[this._numIndices] = param;\r\n this._numIndices++;\r\n }\r\n}\r\n\r\n/** Strictly for tests. @internal */\r\nexport function tesselatePolyline(polylines: PolylineData[], points: QPoint3dList, doJointTriangles: boolean): TesselatedPolyline {\r\n const tesselator = new PolylineTesselator(polylines, points, doJointTriangles);\r\n return tesselator.tesselate();\r\n}\r\n\r\n/**\r\n * Describes a set of tesselated polylines.\r\n * Each segment of each polyline is triangulated into a quad. Additional triangles may be inserted\r\n * between segments to enable rounded corners.\r\n */\r\nexport class PolylineParams {\r\n public readonly vertices: VertexTable;\r\n public readonly polyline: TesselatedPolyline;\r\n public readonly isPlanar: boolean;\r\n public readonly type: PolylineTypeFlags;\r\n public readonly weight: number;\r\n public readonly linePixels: LinePixels;\r\n\r\n /** Directly construct a PolylineParams. The PolylineParams takes ownership of all input data. */\r\n public constructor(vertices: VertexTable, polyline: TesselatedPolyline, weight: number, linePixels: LinePixels, isPlanar: boolean, type: PolylineTypeFlags = PolylineTypeFlags.Normal) {\r\n this.vertices = vertices;\r\n this.polyline = polyline;\r\n this.isPlanar = isPlanar;\r\n this.weight = weight;\r\n this.linePixels = linePixels;\r\n this.type = type;\r\n }\r\n\r\n /** Construct from an PolylineArgs. */\r\n public static create(args: PolylineArgs): PolylineParams | undefined {\r\n assert(!args.flags.isDisjoint);\r\n const vertices = VertexTable.createForPolylines(args);\r\n if (undefined === vertices)\r\n return undefined;\r\n\r\n const tesselator = PolylineTesselator.fromPolyline(args);\r\n if (undefined === tesselator)\r\n return undefined;\r\n\r\n return new PolylineParams(vertices, tesselator.tesselate(), args.width, args.linePixels, args.flags.isPlanar, args.flags.type);\r\n }\r\n}\r\n\r\nexport function wantJointTriangles(weight: number, is2d: boolean): boolean {\r\n // Joints are incredibly expensive. In 3d, only generate them if the line is sufficiently wide for them to be noticeable.\r\n const jointWidthThreshold = 3;\r\n return is2d || weight >= jointWidthThreshold;\r\n}\r\n"]}
1
+ {"version":3,"file":"PolylineParams.js","sourceRoot":"","sources":["../../../../src/render/primitives/PolylineParams.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 { Point3d, Vector3d } from \"@itwin/core-geometry\";\r\nimport { PolylineIndices, PolylineTypeFlags, QPoint3dList } from \"@itwin/core-common\";\r\nimport { MeshArgs, PolylineArgs } from \"./mesh/MeshPrimitives\";\r\nimport { VertexTableBuilder } from \"./VertexTableBuilder\";\r\nimport { PolylineParams, TesselatedPolyline } from \"../../common/render/primitives/PolylineParams\";\r\nimport { VertexIndices } from \"../../common/render/primitives/VertexIndices\";\r\nimport { IModelApp } from \"../../IModelApp\";\r\n\r\n/** Parameter associated with each vertex index of a tesselated polyline. */\r\nconst enum PolylineParam { // eslint-disable-line no-restricted-syntax\r\n kNone = 0,\r\n kSquare = 1 * 3,\r\n kMiter = 2 * 3,\r\n kMiterInsideOnly = 3 * 3,\r\n kJointBase = 4 * 3,\r\n kNegatePerp = 8 * 3,\r\n kNegateAlong = 16 * 3,\r\n kNoneAdjustWeight = 32 * 3,\r\n}\r\n\r\n/** @internal */\r\nexport function tesselatePolylineFromMesh(args: MeshArgs): TesselatedPolyline | undefined {\r\n const tesselator = PolylineTesselator.fromMesh(args);\r\n return tesselator?.tesselate();\r\n}\r\n\r\nclass PolylineVertex {\r\n public isSegmentStart: boolean = false;\r\n public isPolylineStartOrEnd: boolean = false;\r\n public vertexIndex: number = 0;\r\n public prevIndex: number = 0;\r\n public nextIndex: number = 0;\r\n\r\n public constructor() { }\r\n\r\n public init(isSegmentStart: boolean, isPolylineStartOrEnd: boolean, vertexIndex: number, prevIndex: number, nextIndex: number) {\r\n this.isSegmentStart = isSegmentStart;\r\n this.isPolylineStartOrEnd = isPolylineStartOrEnd;\r\n this.vertexIndex = vertexIndex;\r\n this.prevIndex = prevIndex;\r\n this.nextIndex = nextIndex;\r\n }\r\n\r\n public computeParam(negatePerp: boolean, adjacentToJoint: boolean = false, joint: boolean = false, noDisplacement: boolean = false): number {\r\n if (joint)\r\n return PolylineParam.kJointBase;\r\n\r\n let param: PolylineParam;\r\n if (noDisplacement)\r\n param = PolylineParam.kNoneAdjustWeight; // prevent getting tossed before width adjustment\r\n else if (adjacentToJoint)\r\n param = PolylineParam.kMiterInsideOnly;\r\n else\r\n param = this.isPolylineStartOrEnd ? PolylineParam.kSquare : PolylineParam.kMiter;\r\n\r\n let adjust = 0;\r\n if (negatePerp)\r\n adjust = PolylineParam.kNegatePerp;\r\n if (!this.isSegmentStart)\r\n adjust += PolylineParam.kNegateAlong;\r\n\r\n return param + adjust;\r\n }\r\n}\r\n\r\nclass PolylineTesselator {\r\n private _polylines: PolylineIndices[];\r\n private _doJoints: boolean;\r\n private _numIndices = 0;\r\n private _vertIndex: number[] = [];\r\n private _prevIndex: number[] = [];\r\n private _nextIndex: number[] = [];\r\n private _nextParam: number[] = [];\r\n private _position: Point3d[] = [];\r\n\r\n public constructor(polylines: PolylineIndices[], points: QPoint3dList | Point3d[], doJointTriangles: boolean) {\r\n this._polylines = polylines;\r\n if (points instanceof QPoint3dList) {\r\n for (const p of points.list)\r\n this._position.push(p.unquantize(points.params));\r\n } else {\r\n this._position = points;\r\n }\r\n\r\n this._doJoints = doJointTriangles;\r\n }\r\n\r\n public static fromPolyline(args: PolylineArgs): PolylineTesselator {\r\n return new PolylineTesselator(args.polylines, args.points, wantJointTriangles(args.width, !!args.flags.is2d));\r\n }\r\n\r\n public static fromMesh(args: MeshArgs): PolylineTesselator | undefined {\r\n if (undefined !== args.edges?.polylines.lines && undefined !== args.points)\r\n return new PolylineTesselator(args.edges.polylines.lines, args.points, wantJointTriangles(args.edges.width, true === args.is2d));\r\n\r\n return undefined;\r\n }\r\n\r\n public tesselate(): TesselatedPolyline {\r\n this._tesselate();\r\n\r\n const vertIndex = VertexIndices.fromArray(this._vertIndex);\r\n const prevIndex = VertexIndices.fromArray(this._prevIndex);\r\n\r\n const nextIndexAndParam = new Uint8Array(this._numIndices * 4);\r\n for (let i = 0; i < this._numIndices; i++) {\r\n const index = this._nextIndex[i];\r\n const j = i * 4;\r\n VertexIndices.encodeIndex(index, nextIndexAndParam, j);\r\n nextIndexAndParam[j + 3] = this._nextParam[i] & 0x000000ff;\r\n }\r\n\r\n return {\r\n indices: vertIndex,\r\n prevIndices: prevIndex,\r\n nextIndicesAndParams: nextIndexAndParam,\r\n };\r\n }\r\n\r\n private _tesselate() {\r\n const v0 = new PolylineVertex(), v1 = new PolylineVertex();\r\n const maxJointDot = -0.7;\r\n\r\n for (const line of this._polylines) {\r\n if (line.length < 2)\r\n continue;\r\n\r\n const last = line.length - 1;\r\n const isClosed: boolean = line[0] === line[last];\r\n\r\n for (let i = 0; i < last; ++i) {\r\n const idx0 = line[i];\r\n const idx1 = line[i + 1];\r\n const isStart: boolean = (0 === i);\r\n const isEnd: boolean = (last - 1 === i);\r\n const prevIdx0 = isStart ? (isClosed ? line[last - 1] : idx0) : line[i - 1];\r\n const nextIdx1 = isEnd ? (isClosed ? line[1] : idx1) : line[i + 2];\r\n\r\n v0.init(true, isStart && !isClosed, idx0, prevIdx0, idx1);\r\n v1.init(false, isEnd && !isClosed, idx1, nextIdx1, idx0);\r\n\r\n const jointAt0: boolean = this._doJoints && (isClosed || !isStart) && this._dotProduct(v0) > maxJointDot;\r\n const jointAt1: boolean = this._doJoints && (isClosed || !isEnd) && this._dotProduct(v1) > maxJointDot;\r\n\r\n if (jointAt0 || jointAt1) {\r\n this._addVertex(v0, v0.computeParam(true, jointAt0, false, false));\r\n this._addVertex(v1, v1.computeParam(false, jointAt1, false, false));\r\n this._addVertex(v0, v0.computeParam(false, jointAt0, false, true));\r\n this._addVertex(v0, v0.computeParam(false, jointAt0, false, true));\r\n this._addVertex(v1, v1.computeParam(false, jointAt1, false, false));\r\n this._addVertex(v1, v1.computeParam(false, jointAt1, false, true));\r\n this._addVertex(v0, v0.computeParam(false, jointAt0, false, true));\r\n this._addVertex(v1, v1.computeParam(false, jointAt1, false, true));\r\n this._addVertex(v0, v0.computeParam(false, jointAt0, false, false));\r\n this._addVertex(v0, v0.computeParam(false, jointAt0, false, false));\r\n this._addVertex(v1, v1.computeParam(false, jointAt1, false, true));\r\n this._addVertex(v1, v1.computeParam(true, jointAt1, false, false));\r\n\r\n if (jointAt0)\r\n this.addJointTriangles(v0, v0.computeParam(false, true, false, true), v0);\r\n\r\n if (jointAt1)\r\n this.addJointTriangles(v1, v1.computeParam(false, true, false, true), v1);\r\n } else {\r\n this._addVertex(v0, v0.computeParam(true));\r\n this._addVertex(v1, v1.computeParam(false));\r\n this._addVertex(v0, v0.computeParam(false));\r\n this._addVertex(v0, v0.computeParam(false));\r\n this._addVertex(v1, v1.computeParam(false));\r\n this._addVertex(v1, v1.computeParam(true));\r\n }\r\n }\r\n }\r\n }\r\n\r\n private addJointTriangles(v0: PolylineVertex, p0: number, v1: PolylineVertex): void {\r\n const param = v1.computeParam(false, false, true);\r\n for (let i = 0; i < 3; i++) {\r\n this._addVertex(v0, p0);\r\n this._addVertex(v1, param + i + 1);\r\n this._addVertex(v1, param + i);\r\n }\r\n }\r\n\r\n private _dotProduct(v: PolylineVertex): number {\r\n const pos: Point3d = this._position[v.vertexIndex];\r\n const prevDir: Vector3d = Vector3d.createStartEnd(this._position[v.prevIndex], pos);\r\n const nextDir: Vector3d = Vector3d.createStartEnd(this._position[v.nextIndex], pos);\r\n return prevDir.dotProduct(nextDir);\r\n }\r\n\r\n private _addVertex(vertex: PolylineVertex, param: number): void {\r\n this._vertIndex[this._numIndices] = vertex.vertexIndex;\r\n this._prevIndex[this._numIndices] = vertex.prevIndex;\r\n this._nextIndex[this._numIndices] = vertex.nextIndex;\r\n this._nextParam[this._numIndices] = param;\r\n this._numIndices++;\r\n }\r\n}\r\n\r\n/** Strictly for tests. @internal */\r\nexport function tesselatePolyline(polylines: PolylineIndices[], points: QPoint3dList, doJointTriangles: boolean): TesselatedPolyline {\r\n const tesselator = new PolylineTesselator(polylines, points, doJointTriangles);\r\n return tesselator.tesselate();\r\n}\r\n\r\n/** @internal */\r\nexport function createPolylineParams(args: PolylineArgs): PolylineParams | undefined {\r\n assert(!args.flags.isDisjoint);\r\n const vertices = VertexTableBuilder.buildFromPolylines(args, IModelApp.renderSystem.maxTextureSize);\r\n if (undefined === vertices)\r\n return undefined;\r\n\r\n const tesselator = PolylineTesselator.fromPolyline(args);\r\n if (undefined === tesselator)\r\n return undefined;\r\n\r\n return {\r\n vertices,\r\n polyline: tesselator.tesselate(),\r\n isPlanar: !!args.flags.isPlanar,\r\n type: args.flags.type ?? PolylineTypeFlags.Normal,\r\n weight: args.width,\r\n linePixels: args.linePixels,\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport function wantJointTriangles(weight: number, is2d: boolean): boolean {\r\n // Joints are incredibly expensive. In 3d, only generate them if the line is sufficiently wide for them to be noticeable.\r\n const jointWidthThreshold = 3;\r\n return is2d || weight >= jointWidthThreshold;\r\n}\r\n"]}
@@ -2,7 +2,7 @@
2
2
  * @module Rendering
3
3
  */
4
4
  import { Point3d, Transform } from "@itwin/core-geometry";
5
- import { DisplayParams } from "./DisplayParams";
5
+ import { DisplayParams } from "../../common/render/primitives/DisplayParams";
6
6
  /** @internal */
7
7
  export declare class StrokesPrimitivePointList {
8
8
  points: Point3d[];
@@ -1 +1 @@
1
- {"version":3,"file":"Strokes.d.ts","sourceRoot":"","sources":["../../../../src/render/primitives/Strokes.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,gBAAgB;AAChB,qBAAa,yBAAyB;IAC7B,MAAM,EAAE,OAAO,EAAE,CAAC;gBACb,MAAM,GAAE,OAAO,EAAO;CACnC;AAED,gBAAgB;AAChB,qBAAa,0BAA2B,SAAQ,KAAK,CAAC,yBAAyB,CAAC;gBAClE,GAAG,IAAI,EAAE,yBAAyB,EAAE;CAGjD;AAED,gBAAgB;AAChB,qBAAa,gBAAgB;IAC3B,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C,SAAgB,UAAU,EAAE,OAAO,CAAC;IACpC,SAAgB,QAAQ,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,0BAA0B,CAAC;WAE7B,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO;IAIlF,OAAO;IAOA,SAAS,CAAC,KAAK,EAAE,SAAS;CAKlC;AAED,gBAAgB;AAChB,qBAAa,oBAAqB,SAAQ,KAAK,CAAC,gBAAgB,CAAC;gBACnD,GAAG,IAAI,EAAE,gBAAgB,EAAE;CAGxC"}
1
+ {"version":3,"file":"Strokes.d.ts","sourceRoot":"","sources":["../../../../src/render/primitives/Strokes.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAE7E,gBAAgB;AAChB,qBAAa,yBAAyB;IAC7B,MAAM,EAAE,OAAO,EAAE,CAAC;gBACb,MAAM,GAAE,OAAO,EAAO;CACnC;AAED,gBAAgB;AAChB,qBAAa,0BAA2B,SAAQ,KAAK,CAAC,yBAAyB,CAAC;gBAClE,GAAG,IAAI,EAAE,yBAAyB,EAAE;CAGjD;AAED,gBAAgB;AAChB,qBAAa,gBAAgB;IAC3B,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C,SAAgB,UAAU,EAAE,OAAO,CAAC;IACpC,SAAgB,QAAQ,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,0BAA0B,CAAC;WAE7B,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO;IAIlF,OAAO;IAOA,SAAS,CAAC,KAAK,EAAE,SAAS;CAKlC;AAED,gBAAgB;AAChB,qBAAa,oBAAqB,SAAQ,KAAK,CAAC,gBAAgB,CAAC;gBACnD,GAAG,IAAI,EAAE,gBAAgB,EAAE;CAGxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Strokes.js","sourceRoot":"","sources":["../../../../src/render/primitives/Strokes.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAKH,gBAAgB;AAChB,MAAa,yBAAyB;IAEpC,YAAY,SAAoB,EAAE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;CACnE;AAHD,8DAGC;AAED,gBAAgB;AAChB,MAAa,0BAA2B,SAAQ,KAAgC;IAC9E,YAAY,GAAG,IAAiC;QAC9C,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACjB,CAAC;CACF;AAJD,gEAIC;AAED,gBAAgB;AAChB,MAAa,gBAAgB;IAMpB,MAAM,CAAC,MAAM,CAAC,MAAqB,EAAE,UAAmB,EAAE,QAAiB;QAChF,OAAO,IAAI,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED,YAAoB,MAAqB,EAAE,UAAmB,EAAE,QAAiB;QAC/E,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,0BAA0B,EAAE,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEM,SAAS,CAAC,KAAgB;QAC/B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;YAC/B,KAAK,CAAC,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAChD;IACH,CAAC;CACF;AAtBD,4CAsBC;AAED,gBAAgB;AAChB,MAAa,oBAAqB,SAAQ,KAAuB;IAC/D,YAAY,GAAG,IAAwB;QACrC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACjB,CAAC;CACF;AAJD,oDAIC","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 { Point3d, Transform } from \"@itwin/core-geometry\";\r\nimport { DisplayParams } from \"./DisplayParams\";\r\n\r\n/** @internal */\r\nexport class StrokesPrimitivePointList {\r\n public points: Point3d[];\r\n constructor(points: Point3d[] = []) { this.points = [...points]; }\r\n}\r\n\r\n/** @internal */\r\nexport class StrokesPrimitivePointLists extends Array<StrokesPrimitivePointList> {\r\n constructor(...args: StrokesPrimitivePointList[]) {\r\n super(...args);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class StrokesPrimitive {\r\n public readonly displayParams: DisplayParams;\r\n public readonly isDisjoint: boolean;\r\n public readonly isPlanar: boolean;\r\n public strokes: StrokesPrimitivePointLists;\r\n\r\n public static create(params: DisplayParams, isDisjoint: boolean, isPlanar: boolean) {\r\n return new StrokesPrimitive(params, isDisjoint, isPlanar);\r\n }\r\n\r\n private constructor(params: DisplayParams, isDisjoint: boolean, isPlanar: boolean) {\r\n this.displayParams = params;\r\n this.strokes = new StrokesPrimitivePointLists();\r\n this.isDisjoint = isDisjoint;\r\n this.isPlanar = isPlanar;\r\n }\r\n\r\n public transform(trans: Transform) {\r\n for (const strk of this.strokes) {\r\n trans.multiplyPoint3dArrayInPlace(strk.points);\r\n }\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class StrokesPrimitiveList extends Array<StrokesPrimitive> {\r\n constructor(...args: StrokesPrimitive[]) {\r\n super(...args);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"Strokes.js","sourceRoot":"","sources":["../../../../src/render/primitives/Strokes.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAKH,gBAAgB;AAChB,MAAa,yBAAyB;IAEpC,YAAY,SAAoB,EAAE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;CACnE;AAHD,8DAGC;AAED,gBAAgB;AAChB,MAAa,0BAA2B,SAAQ,KAAgC;IAC9E,YAAY,GAAG,IAAiC;QAC9C,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACjB,CAAC;CACF;AAJD,gEAIC;AAED,gBAAgB;AAChB,MAAa,gBAAgB;IAMpB,MAAM,CAAC,MAAM,CAAC,MAAqB,EAAE,UAAmB,EAAE,QAAiB;QAChF,OAAO,IAAI,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED,YAAoB,MAAqB,EAAE,UAAmB,EAAE,QAAiB;QAC/E,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,0BAA0B,EAAE,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEM,SAAS,CAAC,KAAgB;QAC/B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;YAC/B,KAAK,CAAC,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAChD;IACH,CAAC;CACF;AAtBD,4CAsBC;AAED,gBAAgB;AAChB,MAAa,oBAAqB,SAAQ,KAAuB;IAC/D,YAAY,GAAG,IAAwB;QACrC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACjB,CAAC;CACF;AAJD,oDAIC","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 { Point3d, Transform } from \"@itwin/core-geometry\";\r\nimport { DisplayParams } from \"../../common/render/primitives/DisplayParams\";\r\n\r\n/** @internal */\r\nexport class StrokesPrimitivePointList {\r\n public points: Point3d[];\r\n constructor(points: Point3d[] = []) { this.points = [...points]; }\r\n}\r\n\r\n/** @internal */\r\nexport class StrokesPrimitivePointLists extends Array<StrokesPrimitivePointList> {\r\n constructor(...args: StrokesPrimitivePointList[]) {\r\n super(...args);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class StrokesPrimitive {\r\n public readonly displayParams: DisplayParams;\r\n public readonly isDisjoint: boolean;\r\n public readonly isPlanar: boolean;\r\n public strokes: StrokesPrimitivePointLists;\r\n\r\n public static create(params: DisplayParams, isDisjoint: boolean, isPlanar: boolean) {\r\n return new StrokesPrimitive(params, isDisjoint, isPlanar);\r\n }\r\n\r\n private constructor(params: DisplayParams, isDisjoint: boolean, isPlanar: boolean) {\r\n this.displayParams = params;\r\n this.strokes = new StrokesPrimitivePointLists();\r\n this.isDisjoint = isDisjoint;\r\n this.isPlanar = isPlanar;\r\n }\r\n\r\n public transform(trans: Transform) {\r\n for (const strk of this.strokes) {\r\n trans.multiplyPoint3dArrayInPlace(strk.points);\r\n }\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class StrokesPrimitiveList extends Array<StrokesPrimitive> {\r\n constructor(...args: StrokesPrimitive[]) {\r\n super(...args);\r\n }\r\n}\r\n"]}
@@ -0,0 +1,31 @@
1
+ /** @packageDocumentation
2
+ * @module Rendering
3
+ */
4
+ import { ColorIndex, FeatureIndex, QParams2d, QParams3d } from "@itwin/core-common";
5
+ import { VertexTable } from "../../common/render/primitives/VertexTable";
6
+ import { MeshParams } from "../../common/render/primitives/MeshParams";
7
+ import { MeshArgs, PolylineArgs } from "./mesh/MeshPrimitives";
8
+ /** @internal */
9
+ export declare function createMeshParams(args: MeshArgs, maxDimension: number): MeshParams;
10
+ /** Builds a VertexTable from some data type supplying the vertex data.
11
+ * @internal
12
+ */
13
+ export declare abstract class VertexTableBuilder {
14
+ data?: Uint8Array;
15
+ private _curIndex;
16
+ abstract get numVertices(): number;
17
+ abstract get numRgbaPerVertex(): number;
18
+ abstract get qparams(): QParams3d;
19
+ abstract get usesUnquantizedPositions(): boolean;
20
+ get uvParams(): QParams2d | undefined;
21
+ abstract appendVertex(vertIndex: number): void;
22
+ appendColorTable(colorIndex: ColorIndex): void;
23
+ protected advance(nBytes: number): void;
24
+ protected append8(val: number): void;
25
+ protected append16(val: number): void;
26
+ protected append32(val: number): void;
27
+ private appendColor;
28
+ build(colorIndex: ColorIndex, featureIndex: FeatureIndex, maxDimension: number): VertexTable;
29
+ static buildFromPolylines(args: PolylineArgs, maxDimension: number): VertexTable | undefined;
30
+ }
31
+ //# sourceMappingURL=VertexTableBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VertexTableBuilder.d.ts","sourceRoot":"","sources":["../../../../src/render/primitives/VertexTableBuilder.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EACK,UAAU,EAAE,YAAY,EAA+B,SAAS,EAAE,SAAS,EACtF,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAqB,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAE5F,OAAO,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAGvE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG/D,gBAAgB;AAChB,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,UAAU,CAwBjF;AAED;;GAEG;AACH,8BAAsB,kBAAkB;IAC/B,IAAI,CAAC,EAAE,UAAU,CAAC;IACzB,OAAO,CAAC,SAAS,CAAa;IAE9B,aAAoB,WAAW,IAAI,MAAM,CAAC;IAC1C,aAAoB,gBAAgB,IAAI,MAAM,CAAC;IAC/C,aAAoB,OAAO,IAAI,SAAS,CAAC;IACzC,aAAoB,wBAAwB,IAAI,OAAO,CAAC;IACxD,IAAW,QAAQ,IAAI,SAAS,GAAG,SAAS,CAAsB;aAClD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAE9C,gBAAgB,CAAC,UAAU,EAAE,UAAU;IAQ9C,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM;IAKhC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM;IAQ7B,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM;IAI9B,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM;IAK9B,OAAO,CAAC,WAAW;IA6BZ,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,GAAG,WAAW;WAgCrF,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;CAQpG"}
@@ -7,186 +7,42 @@
7
7
  * @module Rendering
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.VertexTableBuilder = exports.MeshParams = exports.VertexTable = exports.computeDimensions = exports.VertexIndices = void 0;
10
+ exports.VertexTableBuilder = exports.createMeshParams = void 0;
11
11
  const core_bentley_1 = require("@itwin/core-bentley");
12
12
  const core_geometry_1 = require("@itwin/core-geometry");
13
13
  const core_common_1 = require("@itwin/core-common");
14
- const IModelApp_1 = require("../../IModelApp");
15
- const AuxChannelTable_1 = require("./AuxChannelTable");
16
- const SurfaceParams_1 = require("./SurfaceParams");
14
+ const AuxChannelTable_1 = require("../../common/render/primitives/AuxChannelTable");
15
+ const VertexTable_1 = require("../../common/render/primitives/VertexTable");
16
+ const SurfaceParams_1 = require("../../common/render/primitives/SurfaceParams");
17
+ const VertexIndices_1 = require("../../common/render/primitives/VertexIndices");
17
18
  const EdgeParams_1 = require("./EdgeParams");
18
- /**
19
- * Holds an array of indices into a VertexTable. Each index is a 24-bit unsigned integer.
20
- * The order of the indices specifies the order in which vertices are drawn.
21
- * @internal
22
- */
23
- class VertexIndices {
24
- /**
25
- * Directly construct from an array of bytes in which each index occupies 3 contiguous bytes.
26
- * The length of the array must be a multiple of 3. This object takes ownership of the array.
27
- */
28
- constructor(data) {
29
- this.data = data;
30
- (0, core_bentley_1.assert)(0 === this.data.length % 3);
31
- }
32
- /** Get the number of 24-bit indices. */
33
- get length() { return this.data.length / 3; }
34
- /** Convert an array of 24-bit unsigned integer values into a VertexIndices object. */
35
- static fromArray(indices) {
36
- const bytes = new Uint8Array(indices.length * 3);
37
- for (let i = 0; i < indices.length; i++)
38
- this.encodeIndex(indices[i], bytes, i * 3);
39
- return new VertexIndices(bytes);
40
- }
41
- static encodeIndex(index, bytes, byteIndex) {
42
- (0, core_bentley_1.assert)(byteIndex + 2 < bytes.length);
43
- bytes[byteIndex + 0] = index & 0x000000ff;
44
- bytes[byteIndex + 1] = (index & 0x0000ff00) >> 8;
45
- bytes[byteIndex + 2] = (index & 0x00ff0000) >> 16;
46
- }
47
- setNthIndex(n, value) {
48
- VertexIndices.encodeIndex(value, this.data, n * 3);
49
- }
50
- decodeIndex(index) {
51
- (0, core_bentley_1.assert)(index < this.length);
52
- const byteIndex = index * 3;
53
- return this.data[byteIndex] | (this.data[byteIndex + 1] << 8) | (this.data[byteIndex + 2] << 16);
54
- }
55
- decodeIndices() {
56
- const indices = [];
57
- for (let i = 0; i < this.length; i++)
58
- indices.push(this.decodeIndex(i));
59
- return indices;
60
- }
61
- [Symbol.iterator]() {
62
- function* iterator(indices) {
63
- for (let i = 0; i < indices.length; i++)
64
- yield indices.decodeIndex(i);
65
- }
66
- return iterator(this);
67
- }
68
- }
69
- exports.VertexIndices = VertexIndices;
70
19
  /** @internal */
71
- function computeDimensions(nEntries, nRgbaPerEntry, nExtraRgba, maxSize) {
72
- maxSize = maxSize ?? IModelApp_1.IModelApp.renderSystem.maxTextureSize;
73
- const nRgba = nEntries * nRgbaPerEntry + nExtraRgba;
74
- if (nRgba < maxSize)
75
- return { width: nRgba, height: 1 };
76
- // Make roughly square to reduce unused space in last row
77
- let width = Math.ceil(Math.sqrt(nRgba));
78
- // Ensure a given entry's RGBA values all fit on the same row.
79
- const remainder = width % nRgbaPerEntry;
80
- if (0 !== remainder) {
81
- width += nRgbaPerEntry - remainder;
82
- }
83
- // Compute height
84
- let height = Math.ceil(nRgba / width);
85
- if (width * height < nRgba)
86
- ++height;
87
- (0, core_bentley_1.assert)(height <= maxSize);
88
- (0, core_bentley_1.assert)(width <= maxSize);
89
- (0, core_bentley_1.assert)(width * height >= nRgba);
90
- (0, core_bentley_1.assert)(Math.floor(height) === height);
91
- (0, core_bentley_1.assert)(Math.floor(width) === width);
92
- // Row padding should never be necessary...
93
- (0, core_bentley_1.assert)(0 === width % nRgbaPerEntry);
94
- return { width, height };
20
+ function createMeshParams(args, maxDimension) {
21
+ const builder = createMeshBuilder(args);
22
+ const vertices = builder.build(args.colors, args.features, maxDimension);
23
+ const surfaceIndices = VertexIndices_1.VertexIndices.fromArray(args.vertIndices);
24
+ const surface = {
25
+ type: builder.type,
26
+ indices: surfaceIndices,
27
+ fillFlags: args.fillFlags ?? core_common_1.FillFlags.ByView,
28
+ hasBakedLighting: true === args.hasBakedLighting,
29
+ textureMapping: undefined !== args.textureMapping ? { texture: args.textureMapping.texture, alwaysDisplayed: false } : undefined,
30
+ material: (0, SurfaceParams_1.createSurfaceMaterial)(args.material),
31
+ };
32
+ const channels = undefined !== args.auxChannels ? AuxChannelTable_1.AuxChannelTable.fromChannels(args.auxChannels, vertices.numVertices, maxDimension) : undefined;
33
+ const edges = (0, EdgeParams_1.createEdgeParams)(args);
34
+ return {
35
+ vertices,
36
+ surface,
37
+ edges,
38
+ isPlanar: !!args.isPlanar,
39
+ auxChannels: channels,
40
+ };
95
41
  }
96
- exports.computeDimensions = computeDimensions;
97
- /**
98
- * Represents vertex data (position, color, normal, UV params, etc) in a rectangular array.
99
- * Each vertex is described by one or more contiguous 4-byte ('RGBA') values.
100
- * This allows vertex data to be uploaded to the GPU as a texture and vertex data to be sampled
101
- * from that texture using a single vertex ID representing an index into the array.
102
- * Vertex color is identified by a 16-bit index into a color table appended to the vertex data.
42
+ exports.createMeshParams = createMeshParams;
43
+ /** Builds a VertexTable from some data type supplying the vertex data.
103
44
  * @internal
104
45
  */
105
- class VertexTable {
106
- /** Construct a VertexTable. The VertexTable takes ownership of all input data - it must not be later modified by the caller. */
107
- constructor(props) {
108
- this.data = props.data;
109
- this.qparams = props.qparams;
110
- this.usesUnquantizedPositions = !!props.usesUnquantizedPositions;
111
- this.width = props.width;
112
- this.height = props.height;
113
- this.hasTranslucency = true === props.hasTranslucency;
114
- this.uniformColor = props.uniformColor;
115
- this.featureIndexType = props.featureIndexType;
116
- this.uniformFeatureID = props.uniformFeatureID;
117
- this.numVertices = props.numVertices;
118
- this.numRgbaPerVertex = props.numRgbaPerVertex;
119
- this.uvParams = props.uvParams;
120
- }
121
- static buildFrom(builder, colorIndex, featureIndex) {
122
- const { numVertices, numRgbaPerVertex } = builder;
123
- const numColors = colorIndex.isUniform ? 0 : colorIndex.numColors;
124
- const dimensions = computeDimensions(numVertices, numRgbaPerVertex, numColors);
125
- (0, core_bentley_1.assert)(0 === dimensions.width % numRgbaPerVertex || (0 < numColors && 1 === dimensions.height));
126
- const data = new Uint8Array(dimensions.width * dimensions.height * 4);
127
- builder.data = data;
128
- for (let i = 0; i < numVertices; i++)
129
- builder.appendVertex(i);
130
- builder.appendColorTable(colorIndex);
131
- builder.data = undefined;
132
- return new VertexTable({
133
- data,
134
- qparams: builder.qparams,
135
- usesUnquantizedPositions: builder.usesUnquantizedPositions,
136
- width: dimensions.width,
137
- height: dimensions.height,
138
- hasTranslucency: colorIndex.hasAlpha,
139
- uniformColor: colorIndex.uniform,
140
- numVertices,
141
- numRgbaPerVertex,
142
- uvParams: builder.uvParams,
143
- featureIndexType: featureIndex.type,
144
- uniformFeatureID: featureIndex.type === core_common_1.FeatureIndexType.Uniform ? featureIndex.featureID : undefined,
145
- });
146
- }
147
- static createForPolylines(args) {
148
- const polylines = args.polylines;
149
- if (0 < polylines.length)
150
- return this.buildFrom(createPolylineBuilder(args), args.colors, args.features);
151
- else
152
- return undefined;
153
- }
154
- }
155
- exports.VertexTable = VertexTable;
156
- /**
157
- * Describes mesh geometry to be submitted to the rendering system.
158
- * A mesh consists of a surface and its edges, which may include any combination of silhouettes, polylines, and single segments.
159
- * The surface and edges all refer to the same vertex table.
160
- */
161
- class MeshParams {
162
- /** Directly construct a MeshParams. The MeshParams takes ownership of all input data. */
163
- constructor(vertices, surface, edges, isPlanar, auxChannels) {
164
- this.vertices = vertices;
165
- this.surface = surface;
166
- this.edges = edges;
167
- this.isPlanar = !!isPlanar;
168
- this.auxChannels = auxChannels;
169
- }
170
- /** Construct from a MeshArgs. */
171
- static create(args) {
172
- const builder = createMeshBuilder(args);
173
- const vertices = VertexTable.buildFrom(builder, args.colors, args.features);
174
- const surfaceIndices = VertexIndices.fromArray(args.vertIndices);
175
- const surface = {
176
- type: builder.type,
177
- indices: surfaceIndices,
178
- fillFlags: args.fillFlags,
179
- hasBakedLighting: true === args.hasBakedLighting,
180
- textureMapping: undefined !== args.textureMapping ? { texture: args.textureMapping.texture, alwaysDisplayed: false } : undefined,
181
- material: (0, SurfaceParams_1.createSurfaceMaterial)(args.material),
182
- };
183
- const channels = undefined !== args.auxChannels ? AuxChannelTable_1.AuxChannelTable.fromChannels(args.auxChannels, vertices.numVertices) : undefined;
184
- const edges = EdgeParams_1.EdgeParams.fromMeshArgs(args);
185
- return new MeshParams(vertices, surface, edges, args.isPlanar, channels);
186
- }
187
- }
188
- exports.MeshParams = MeshParams;
189
- /** Builds a VertexTable from some data type supplying the vertex data. */
190
46
  class VertexTableBuilder {
191
47
  constructor() {
192
48
  this._curIndex = 0;
@@ -243,6 +99,39 @@ class VertexTableBuilder {
243
99
  this.append8(colors.b);
244
100
  this.append8(colors.t);
245
101
  }
102
+ build(colorIndex, featureIndex, maxDimension) {
103
+ const { numVertices, numRgbaPerVertex } = this;
104
+ const numColors = colorIndex.isUniform ? 0 : colorIndex.numColors;
105
+ const dimensions = (0, VertexTable_1.computeDimensions)(numVertices, numRgbaPerVertex, numColors, maxDimension);
106
+ (0, core_bentley_1.assert)(0 === dimensions.width % numRgbaPerVertex || (0 < numColors && 1 === dimensions.height));
107
+ const data = new Uint8Array(dimensions.width * dimensions.height * 4);
108
+ this.data = data;
109
+ for (let i = 0; i < numVertices; i++)
110
+ this.appendVertex(i);
111
+ this.appendColorTable(colorIndex);
112
+ this.data = undefined;
113
+ return {
114
+ data,
115
+ qparams: this.qparams,
116
+ usesUnquantizedPositions: this.usesUnquantizedPositions,
117
+ width: dimensions.width,
118
+ height: dimensions.height,
119
+ hasTranslucency: colorIndex.hasAlpha,
120
+ uniformColor: colorIndex.uniform,
121
+ numVertices,
122
+ numRgbaPerVertex,
123
+ uvParams: this.uvParams,
124
+ featureIndexType: featureIndex.type,
125
+ uniformFeatureID: featureIndex.type === core_common_1.FeatureIndexType.Uniform ? featureIndex.featureID : undefined,
126
+ };
127
+ }
128
+ static buildFromPolylines(args, maxDimension) {
129
+ const polylines = args.polylines;
130
+ if (polylines.length === 0)
131
+ return undefined;
132
+ const builder = createPolylineBuilder(args);
133
+ return builder.build(args.colors, args.features, maxDimension);
134
+ }
246
135
  }
247
136
  exports.VertexTableBuilder = VertexTableBuilder;
248
137
  var Quantized;
@@ -555,4 +444,4 @@ function createPolylineBuilder(args) {
555
444
  else
556
445
  return new Unquantized.SimpleBuilder(args);
557
446
  }
558
- //# sourceMappingURL=VertexTable.js.map
447
+ //# sourceMappingURL=VertexTableBuilder.js.map