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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1224) hide show
  1. package/CHANGELOG.md +100 -1
  2. package/lib/cjs/AccuDraw.d.ts +3 -4
  3. package/lib/cjs/AccuDraw.d.ts.map +1 -1
  4. package/lib/cjs/AccuDraw.js +6 -7
  5. package/lib/cjs/AccuDraw.js.map +1 -1
  6. package/lib/cjs/AccuSnap.d.ts +7 -1
  7. package/lib/cjs/AccuSnap.d.ts.map +1 -1
  8. package/lib/cjs/AccuSnap.js +24 -6
  9. package/lib/cjs/AccuSnap.js.map +1 -1
  10. package/lib/cjs/BackgroundMapGeometry.d.ts +3 -2
  11. package/lib/cjs/BackgroundMapGeometry.d.ts.map +1 -1
  12. package/lib/cjs/BackgroundMapGeometry.js +47 -7
  13. package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
  14. package/lib/cjs/BriefcaseConnection.d.ts +3 -3
  15. package/lib/cjs/BriefcaseConnection.js +3 -3
  16. package/lib/cjs/BriefcaseConnection.js.map +1 -1
  17. package/lib/cjs/BriefcaseTxns.d.ts +2 -2
  18. package/lib/cjs/BriefcaseTxns.d.ts.map +1 -1
  19. package/lib/cjs/BriefcaseTxns.js +3 -3
  20. package/lib/cjs/BriefcaseTxns.js.map +1 -1
  21. package/lib/cjs/ChangeFlags.d.ts +25 -12
  22. package/lib/cjs/ChangeFlags.d.ts.map +1 -1
  23. package/lib/cjs/ChangeFlags.js +24 -11
  24. package/lib/cjs/ChangeFlags.js.map +1 -1
  25. package/lib/cjs/CheckpointConnection.js +1 -1
  26. package/lib/cjs/CheckpointConnection.js.map +1 -1
  27. package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
  28. package/lib/cjs/DisplayStyleState.js +2 -1
  29. package/lib/cjs/DisplayStyleState.js.map +1 -1
  30. package/lib/cjs/DrawingViewState.d.ts +2 -2
  31. package/lib/cjs/DrawingViewState.d.ts.map +1 -1
  32. package/lib/cjs/DrawingViewState.js +3 -3
  33. package/lib/cjs/DrawingViewState.js.map +1 -1
  34. package/lib/cjs/ElementLocateManager.d.ts +0 -1
  35. package/lib/cjs/ElementLocateManager.d.ts.map +1 -1
  36. package/lib/cjs/ElementLocateManager.js +11 -19
  37. package/lib/cjs/ElementLocateManager.js.map +1 -1
  38. package/lib/cjs/EnvironmentDecorations.js +1 -1
  39. package/lib/cjs/EnvironmentDecorations.js.map +1 -1
  40. package/lib/cjs/FrustumAnimator.js.map +1 -1
  41. package/lib/cjs/GeoServices.d.ts +37 -7
  42. package/lib/cjs/GeoServices.d.ts.map +1 -1
  43. package/lib/cjs/GeoServices.js +75 -25
  44. package/lib/cjs/GeoServices.js.map +1 -1
  45. package/lib/cjs/GraphicalEditingScope.d.ts +2 -2
  46. package/lib/cjs/GraphicalEditingScope.d.ts.map +1 -1
  47. package/lib/cjs/GraphicalEditingScope.js +1 -1
  48. package/lib/cjs/GraphicalEditingScope.js.map +1 -1
  49. package/lib/cjs/HitDetail.d.ts +100 -29
  50. package/lib/cjs/HitDetail.d.ts.map +1 -1
  51. package/lib/cjs/HitDetail.js +89 -36
  52. package/lib/cjs/HitDetail.js.map +1 -1
  53. package/lib/cjs/IModelApp.d.ts +18 -14
  54. package/lib/cjs/IModelApp.d.ts.map +1 -1
  55. package/lib/cjs/IModelApp.js +22 -18
  56. package/lib/cjs/IModelApp.js.map +1 -1
  57. package/lib/cjs/IModelConnection.d.ts +64 -19
  58. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  59. package/lib/cjs/IModelConnection.js +131 -20
  60. package/lib/cjs/IModelConnection.js.map +1 -1
  61. package/lib/cjs/IpcApp.d.ts +1 -1
  62. package/lib/cjs/IpcApp.d.ts.map +1 -1
  63. package/lib/cjs/IpcApp.js +4 -4
  64. package/lib/cjs/IpcApp.js.map +1 -1
  65. package/lib/cjs/LocalhostIpcApp.js +1 -1
  66. package/lib/cjs/LocalhostIpcApp.js.map +1 -1
  67. package/lib/cjs/Marker.d.ts +1 -1
  68. package/lib/cjs/Marker.d.ts.map +1 -1
  69. package/lib/cjs/Marker.js +3 -3
  70. package/lib/cjs/Marker.js.map +1 -1
  71. package/lib/cjs/NativeApp.d.ts.map +1 -1
  72. package/lib/cjs/NativeApp.js +4 -4
  73. package/lib/cjs/NativeApp.js.map +1 -1
  74. package/lib/cjs/NoRenderApp.d.ts +1 -1
  75. package/lib/cjs/NoRenderApp.d.ts.map +1 -1
  76. package/lib/cjs/NoRenderApp.js +1 -1
  77. package/lib/cjs/NoRenderApp.js.map +1 -1
  78. package/lib/cjs/RealityDataSource.js +1 -1
  79. package/lib/cjs/RealityDataSource.js.map +1 -1
  80. package/lib/cjs/RealityDataSourceContextShareImpl.js +1 -1
  81. package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -1
  82. package/lib/cjs/SheetViewState.d.ts +9 -7
  83. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  84. package/lib/cjs/SheetViewState.js +22 -7
  85. package/lib/cjs/SheetViewState.js.map +1 -1
  86. package/lib/cjs/SpatialViewState.d.ts +20 -5
  87. package/lib/cjs/SpatialViewState.d.ts.map +1 -1
  88. package/lib/cjs/SpatialViewState.js +13 -5
  89. package/lib/cjs/SpatialViewState.js.map +1 -1
  90. package/lib/cjs/Sprites.js +2 -2
  91. package/lib/cjs/Sprites.js.map +1 -1
  92. package/lib/cjs/TentativePoint.d.ts.map +1 -1
  93. package/lib/cjs/TentativePoint.js +10 -1
  94. package/lib/cjs/TentativePoint.js.map +1 -1
  95. package/lib/cjs/ViewContext.d.ts +19 -0
  96. package/lib/cjs/ViewContext.d.ts.map +1 -1
  97. package/lib/cjs/ViewContext.js +9 -0
  98. package/lib/cjs/ViewContext.js.map +1 -1
  99. package/lib/cjs/ViewCreator3d.d.ts +3 -6
  100. package/lib/cjs/ViewCreator3d.d.ts.map +1 -1
  101. package/lib/cjs/ViewCreator3d.js +12 -33
  102. package/lib/cjs/ViewCreator3d.js.map +1 -1
  103. package/lib/cjs/ViewGlobalLocation.d.ts.map +1 -1
  104. package/lib/cjs/ViewGlobalLocation.js +4 -3
  105. package/lib/cjs/ViewGlobalLocation.js.map +1 -1
  106. package/lib/cjs/ViewManager.d.ts +4 -2
  107. package/lib/cjs/ViewManager.d.ts.map +1 -1
  108. package/lib/cjs/ViewManager.js +4 -2
  109. package/lib/cjs/ViewManager.js.map +1 -1
  110. package/lib/cjs/ViewPose.d.ts +11 -11
  111. package/lib/cjs/ViewPose.d.ts.map +1 -1
  112. package/lib/cjs/ViewPose.js +17 -11
  113. package/lib/cjs/ViewPose.js.map +1 -1
  114. package/lib/cjs/ViewState.d.ts +44 -26
  115. package/lib/cjs/ViewState.d.ts.map +1 -1
  116. package/lib/cjs/ViewState.js +52 -25
  117. package/lib/cjs/ViewState.js.map +1 -1
  118. package/lib/cjs/ViewingSpace.js +1 -1
  119. package/lib/cjs/ViewingSpace.js.map +1 -1
  120. package/lib/cjs/Viewport.d.ts +59 -21
  121. package/lib/cjs/Viewport.d.ts.map +1 -1
  122. package/lib/cjs/Viewport.js +68 -25
  123. package/lib/cjs/Viewport.js.map +1 -1
  124. package/lib/cjs/ViewportSync.d.ts +2 -2
  125. package/lib/cjs/ViewportSync.d.ts.map +1 -1
  126. package/lib/cjs/ViewportSync.js +2 -2
  127. package/lib/cjs/ViewportSync.js.map +1 -1
  128. package/lib/cjs/common/FrontendLoggerCategory.d.ts.map +1 -0
  129. package/lib/cjs/common/FrontendLoggerCategory.js.map +1 -0
  130. package/lib/cjs/common/ImageUtil.d.ts.map +1 -0
  131. package/lib/cjs/{ImageUtil.js → common/ImageUtil.js} +2 -0
  132. package/lib/cjs/common/ImageUtil.js.map +1 -0
  133. package/lib/cjs/common/ViewRect.d.ts.map +1 -0
  134. package/lib/cjs/common/ViewRect.js.map +1 -0
  135. package/lib/cjs/common/WorkerProxy.d.ts +73 -0
  136. package/lib/cjs/common/WorkerProxy.d.ts.map +1 -0
  137. package/lib/cjs/common/WorkerProxy.js +54 -0
  138. package/lib/cjs/common/WorkerProxy.js.map +1 -0
  139. package/lib/{esm → cjs/common}/gltf/GltfModel.d.ts +1 -1
  140. package/lib/cjs/common/gltf/GltfModel.d.ts.map +1 -0
  141. package/lib/cjs/common/gltf/GltfModel.js.map +1 -0
  142. package/lib/cjs/common/gltf/GltfParser.d.ts.map +1 -0
  143. package/lib/cjs/common/gltf/GltfParser.js.map +1 -0
  144. package/lib/cjs/common/gltf/GltfSchema.d.ts.map +1 -0
  145. package/lib/cjs/common/gltf/GltfSchema.js.map +1 -0
  146. package/lib/cjs/common/imdl/CompactEdges.d.ts +27 -0
  147. package/lib/cjs/common/imdl/CompactEdges.d.ts.map +1 -0
  148. package/lib/cjs/common/imdl/CompactEdges.js +96 -0
  149. package/lib/cjs/common/imdl/CompactEdges.js.map +1 -0
  150. package/lib/cjs/{imdl → common/imdl}/ImdlModel.d.ts +5 -0
  151. package/lib/cjs/common/imdl/ImdlModel.d.ts.map +1 -0
  152. package/lib/cjs/common/imdl/ImdlModel.js +71 -0
  153. package/lib/cjs/common/imdl/ImdlModel.js.map +1 -0
  154. package/lib/{esm → cjs/common}/imdl/ImdlSchema.d.ts +68 -36
  155. package/lib/cjs/common/imdl/ImdlSchema.d.ts.map +1 -0
  156. package/lib/cjs/common/imdl/ImdlSchema.js +23 -0
  157. package/lib/cjs/common/imdl/ImdlSchema.js.map +1 -0
  158. package/lib/cjs/{imdl/ImdlParser.d.ts → common/imdl/ParseImdlDocument.d.ts} +13 -8
  159. package/lib/cjs/common/imdl/ParseImdlDocument.d.ts.map +1 -0
  160. package/lib/cjs/{imdl/ImdlParser.js → common/imdl/ParseImdlDocument.js} +52 -37
  161. package/lib/cjs/common/imdl/ParseImdlDocument.js.map +1 -0
  162. package/lib/cjs/common/render/AnimationNodeId.d.ts +11 -0
  163. package/lib/cjs/common/render/AnimationNodeId.d.ts.map +1 -0
  164. package/lib/cjs/common/render/AnimationNodeId.js +19 -0
  165. package/lib/cjs/common/render/AnimationNodeId.js.map +1 -0
  166. package/lib/{esm/render/RenderMaterial.d.ts → cjs/common/render/MaterialParams.d.ts} +7 -20
  167. package/lib/cjs/common/render/MaterialParams.d.ts.map +1 -0
  168. package/lib/cjs/{render/RenderMaterial.js → common/render/MaterialParams.js} +1 -1
  169. package/lib/cjs/common/render/MaterialParams.js.map +1 -0
  170. package/lib/cjs/common/render/TextureParams.d.ts +30 -0
  171. package/lib/cjs/common/render/TextureParams.d.ts.map +1 -0
  172. package/lib/cjs/{render/RenderTexture.js → common/render/TextureParams.js} +1 -1
  173. package/lib/cjs/common/render/TextureParams.js.map +1 -0
  174. package/lib/{esm → cjs/common}/render/primitives/AuxChannelTable.d.ts +8 -8
  175. package/lib/cjs/common/render/primitives/AuxChannelTable.d.ts.map +1 -0
  176. package/lib/cjs/{render → common/render}/primitives/AuxChannelTable.js +9 -9
  177. package/lib/cjs/common/render/primitives/AuxChannelTable.js.map +1 -0
  178. package/lib/cjs/common/render/primitives/DisplayParams.d.ts.map +1 -0
  179. package/lib/cjs/common/render/primitives/DisplayParams.js.map +1 -0
  180. package/lib/cjs/common/render/primitives/EdgeParams.d.ts +94 -0
  181. package/lib/cjs/common/render/primitives/EdgeParams.d.ts.map +1 -0
  182. package/lib/cjs/common/render/primitives/EdgeParams.js +46 -0
  183. package/lib/cjs/common/render/primitives/EdgeParams.js.map +1 -0
  184. package/lib/cjs/common/render/primitives/MeshParams.d.ts +20 -0
  185. package/lib/cjs/common/render/primitives/MeshParams.d.ts.map +1 -0
  186. package/lib/cjs/{imdl/ImdlModel.js → common/render/primitives/MeshParams.js} +2 -2
  187. package/lib/cjs/common/render/primitives/MeshParams.js.map +1 -0
  188. package/lib/cjs/common/render/primitives/MeshPrimitive.d.ts +29 -0
  189. package/lib/cjs/common/render/primitives/MeshPrimitive.d.ts.map +1 -0
  190. package/lib/cjs/common/render/primitives/MeshPrimitive.js +18 -0
  191. package/lib/cjs/common/render/primitives/MeshPrimitive.js.map +1 -0
  192. package/lib/cjs/common/render/primitives/PointStringParams.d.ts +14 -0
  193. package/lib/cjs/common/render/primitives/PointStringParams.d.ts.map +1 -0
  194. package/lib/cjs/common/render/primitives/PointStringParams.js +10 -0
  195. package/lib/cjs/common/render/primitives/PointStringParams.js.map +1 -0
  196. package/lib/cjs/common/render/primitives/PolylineParams.d.ts +29 -0
  197. package/lib/cjs/common/render/primitives/PolylineParams.d.ts.map +1 -0
  198. package/lib/cjs/common/render/primitives/PolylineParams.js +10 -0
  199. package/lib/cjs/common/render/primitives/PolylineParams.js.map +1 -0
  200. package/lib/{esm → cjs/common}/render/primitives/SurfaceParams.d.ts +1 -1
  201. package/lib/cjs/common/render/primitives/SurfaceParams.d.ts.map +1 -0
  202. package/lib/cjs/common/render/primitives/SurfaceParams.js.map +1 -0
  203. package/lib/cjs/common/render/primitives/VertexIndices.d.ts +26 -0
  204. package/lib/cjs/common/render/primitives/VertexIndices.d.ts.map +1 -0
  205. package/lib/cjs/common/render/primitives/VertexIndices.js +64 -0
  206. package/lib/cjs/common/render/primitives/VertexIndices.js.map +1 -0
  207. package/lib/cjs/common/render/primitives/VertexTable.d.ts +45 -0
  208. package/lib/cjs/common/render/primitives/VertexTable.d.ts.map +1 -0
  209. package/lib/cjs/common/render/primitives/VertexTable.js +38 -0
  210. package/lib/cjs/common/render/primitives/VertexTable.js.map +1 -0
  211. package/lib/{esm → cjs/common}/render/primitives/VertexTableSplitter.d.ts +20 -3
  212. package/lib/cjs/common/render/primitives/VertexTableSplitter.d.ts.map +1 -0
  213. package/lib/cjs/{render → common/render}/primitives/VertexTableSplitter.js +33 -23
  214. package/lib/cjs/common/render/primitives/VertexTableSplitter.js.map +1 -0
  215. package/lib/cjs/core-frontend.d.ts +45 -11
  216. package/lib/cjs/core-frontend.d.ts.map +1 -1
  217. package/lib/cjs/core-frontend.js +45 -11
  218. package/lib/cjs/core-frontend.js.map +1 -1
  219. package/lib/cjs/extension/ExtensionAdmin.js +1 -1
  220. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  221. package/lib/cjs/extension/providers/ExtensionLoadScript.js.map +1 -1
  222. package/lib/cjs/quantity-formatting/QuantityFormatter.js +1 -1
  223. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  224. package/lib/cjs/render/CanvasDecoration.d.ts +6 -2
  225. package/lib/cjs/render/CanvasDecoration.d.ts.map +1 -1
  226. package/lib/cjs/render/CanvasDecoration.js.map +1 -1
  227. package/lib/cjs/render/CreateRenderMaterialArgs.d.ts +24 -0
  228. package/lib/cjs/render/CreateRenderMaterialArgs.d.ts.map +1 -0
  229. package/lib/cjs/render/CreateRenderMaterialArgs.js +10 -0
  230. package/lib/cjs/render/CreateRenderMaterialArgs.js.map +1 -0
  231. package/lib/{esm/render/RenderTexture.d.ts → cjs/render/CreateTextureArgs.d.ts} +4 -28
  232. package/lib/cjs/render/CreateTextureArgs.d.ts.map +1 -0
  233. package/lib/cjs/render/CreateTextureArgs.js +10 -0
  234. package/lib/cjs/render/CreateTextureArgs.js.map +1 -0
  235. package/lib/cjs/render/GraphicBranch.d.ts +5 -7
  236. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  237. package/lib/cjs/render/GraphicBranch.js +1 -9
  238. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  239. package/lib/cjs/render/InstancedGraphicParams.d.ts +3 -4
  240. package/lib/cjs/render/InstancedGraphicParams.d.ts.map +1 -1
  241. package/lib/cjs/render/InstancedGraphicParams.js.map +1 -1
  242. package/lib/cjs/render/MockRender.d.ts +4 -4
  243. package/lib/cjs/render/MockRender.d.ts.map +1 -1
  244. package/lib/cjs/render/MockRender.js +1 -1
  245. package/lib/cjs/render/MockRender.js.map +1 -1
  246. package/lib/cjs/render/ParticleCollectionBuilder.d.ts.map +1 -1
  247. package/lib/cjs/render/ParticleCollectionBuilder.js +5 -5
  248. package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
  249. package/lib/cjs/render/Pixel.d.ts +57 -0
  250. package/lib/cjs/render/Pixel.d.ts.map +1 -1
  251. package/lib/cjs/render/Pixel.js +41 -0
  252. package/lib/cjs/render/Pixel.js.map +1 -1
  253. package/lib/cjs/render/RealityMeshParams.js +2 -2
  254. package/lib/cjs/render/RealityMeshParams.js.map +1 -1
  255. package/lib/cjs/render/RenderSystem.d.ts +24 -10
  256. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  257. package/lib/cjs/render/RenderSystem.js +7 -8
  258. package/lib/cjs/render/RenderSystem.js.map +1 -1
  259. package/lib/cjs/render/RenderTarget.d.ts +1 -1
  260. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  261. package/lib/cjs/render/RenderTarget.js.map +1 -1
  262. package/lib/cjs/render/UpsampleRealityMeshParams.js.map +1 -1
  263. package/lib/cjs/render/VisibleFeature.d.ts +1 -1
  264. package/lib/cjs/render/VisibleFeature.d.ts.map +1 -1
  265. package/lib/cjs/render/VisibleFeature.js.map +1 -1
  266. package/lib/cjs/render/primitives/EdgeParams.d.ts +2 -89
  267. package/lib/cjs/render/primitives/EdgeParams.d.ts.map +1 -1
  268. package/lib/cjs/render/primitives/EdgeParams.js +44 -80
  269. package/lib/cjs/render/primitives/EdgeParams.js.map +1 -1
  270. package/lib/cjs/render/primitives/PointCloudPrimitive.d.ts +1 -0
  271. package/lib/cjs/render/primitives/PointCloudPrimitive.d.ts.map +1 -1
  272. package/lib/cjs/render/primitives/PointCloudPrimitive.js.map +1 -1
  273. package/lib/cjs/render/primitives/PointStringParams.d.ts +3 -11
  274. package/lib/cjs/render/primitives/PointStringParams.d.ts.map +1 -1
  275. package/lib/cjs/render/primitives/PointStringParams.js +27 -30
  276. package/lib/cjs/render/primitives/PointStringParams.js.map +1 -1
  277. package/lib/cjs/render/primitives/Polyface.d.ts +1 -1
  278. package/lib/cjs/render/primitives/Polyface.d.ts.map +1 -1
  279. package/lib/cjs/render/primitives/Polyface.js.map +1 -1
  280. package/lib/cjs/render/primitives/PolylineParams.d.ts +8 -37
  281. package/lib/cjs/render/primitives/PolylineParams.d.ts.map +1 -1
  282. package/lib/cjs/render/primitives/PolylineParams.js +40 -48
  283. package/lib/cjs/render/primitives/PolylineParams.js.map +1 -1
  284. package/lib/cjs/render/primitives/Strokes.d.ts +1 -1
  285. package/lib/cjs/render/primitives/Strokes.d.ts.map +1 -1
  286. package/lib/cjs/render/primitives/Strokes.js.map +1 -1
  287. package/lib/cjs/render/primitives/VertexTableBuilder.d.ts +31 -0
  288. package/lib/cjs/render/primitives/VertexTableBuilder.d.ts.map +1 -0
  289. package/lib/cjs/render/primitives/{VertexTable.js → VertexTableBuilder.js} +62 -173
  290. package/lib/cjs/render/primitives/VertexTableBuilder.js.map +1 -0
  291. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts +1 -1
  292. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  293. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  294. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts +1 -1
  295. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  296. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js +1 -1
  297. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  298. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.d.ts +1 -1
  299. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.d.ts.map +1 -1
  300. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.js +1 -1
  301. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.js.map +1 -1
  302. package/lib/cjs/render/primitives/mesh/MeshBuilder.d.ts +2 -1
  303. package/lib/cjs/render/primitives/mesh/MeshBuilder.d.ts.map +1 -1
  304. package/lib/cjs/render/primitives/mesh/MeshBuilder.js +5 -2
  305. package/lib/cjs/render/primitives/mesh/MeshBuilder.js.map +1 -1
  306. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.d.ts +6 -5
  307. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.d.ts.map +1 -1
  308. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js +7 -4
  309. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  310. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts +58 -31
  311. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  312. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js +25 -29
  313. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  314. package/lib/cjs/render/webgl/BatchState.js +1 -1
  315. package/lib/cjs/render/webgl/BatchState.js.map +1 -1
  316. package/lib/cjs/render/webgl/BranchState.d.ts +3 -0
  317. package/lib/cjs/render/webgl/BranchState.d.ts.map +1 -1
  318. package/lib/cjs/render/webgl/BranchState.js +2 -0
  319. package/lib/cjs/render/webgl/BranchState.js.map +1 -1
  320. package/lib/cjs/render/webgl/CachedGeometry.d.ts +1 -1
  321. package/lib/cjs/render/webgl/CachedGeometry.d.ts.map +1 -1
  322. package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
  323. package/lib/cjs/render/webgl/ColorInfo.d.ts +1 -1
  324. package/lib/cjs/render/webgl/ColorInfo.d.ts.map +1 -1
  325. package/lib/cjs/render/webgl/ColorInfo.js.map +1 -1
  326. package/lib/cjs/render/webgl/EdgeGeometry.d.ts +2 -2
  327. package/lib/cjs/render/webgl/EdgeGeometry.d.ts.map +1 -1
  328. package/lib/cjs/render/webgl/EdgeGeometry.js.map +1 -1
  329. package/lib/cjs/render/webgl/FeatureOverrides.js +1 -1
  330. package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
  331. package/lib/cjs/render/webgl/Graphic.d.ts +7 -1
  332. package/lib/cjs/render/webgl/Graphic.d.ts.map +1 -1
  333. package/lib/cjs/render/webgl/Graphic.js +7 -2
  334. package/lib/cjs/render/webgl/Graphic.js.map +1 -1
  335. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts +1 -1
  336. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -1
  337. package/lib/cjs/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  338. package/lib/cjs/render/webgl/InstancedGeometry.js.map +1 -1
  339. package/lib/cjs/render/webgl/Material.d.ts +1 -1
  340. package/lib/cjs/render/webgl/Material.d.ts.map +1 -1
  341. package/lib/cjs/render/webgl/Material.js.map +1 -1
  342. package/lib/cjs/render/webgl/Mesh.d.ts +2 -2
  343. package/lib/cjs/render/webgl/Mesh.d.ts.map +1 -1
  344. package/lib/cjs/render/webgl/Mesh.js +1 -1
  345. package/lib/cjs/render/webgl/Mesh.js.map +1 -1
  346. package/lib/cjs/render/webgl/MeshData.d.ts +2 -2
  347. package/lib/cjs/render/webgl/MeshData.d.ts.map +1 -1
  348. package/lib/cjs/render/webgl/MeshData.js.map +1 -1
  349. package/lib/cjs/render/webgl/MeshGeometry.d.ts +1 -1
  350. package/lib/cjs/render/webgl/MeshGeometry.d.ts.map +1 -1
  351. package/lib/cjs/render/webgl/PointString.d.ts +1 -1
  352. package/lib/cjs/render/webgl/PointString.d.ts.map +1 -1
  353. package/lib/cjs/render/webgl/PointString.js.map +1 -1
  354. package/lib/cjs/render/webgl/Polyline.d.ts +1 -1
  355. package/lib/cjs/render/webgl/Polyline.d.ts.map +1 -1
  356. package/lib/cjs/render/webgl/Polyline.js.map +1 -1
  357. package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
  358. package/lib/cjs/render/webgl/RenderCommands.js +1 -1
  359. package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
  360. package/lib/cjs/render/webgl/SceneCompositor.d.ts +2 -1
  361. package/lib/cjs/render/webgl/SceneCompositor.d.ts.map +1 -1
  362. package/lib/cjs/render/webgl/SceneCompositor.js +5 -2
  363. package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
  364. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts +1 -1
  365. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts.map +1 -1
  366. package/lib/cjs/render/webgl/SurfaceGeometry.js +1 -1
  367. package/lib/cjs/render/webgl/SurfaceGeometry.js.map +1 -1
  368. package/lib/cjs/render/webgl/System.d.ts +7 -6
  369. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  370. package/lib/cjs/render/webgl/System.js +2 -2
  371. package/lib/cjs/render/webgl/System.js.map +1 -1
  372. package/lib/cjs/render/webgl/Target.d.ts +1 -1
  373. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  374. package/lib/cjs/render/webgl/Target.js +14 -12
  375. package/lib/cjs/render/webgl/Target.js.map +1 -1
  376. package/lib/cjs/render/webgl/Texture.d.ts +1 -1
  377. package/lib/cjs/render/webgl/Texture.d.ts.map +1 -1
  378. package/lib/cjs/render/webgl/Texture.js +1 -1
  379. package/lib/cjs/render/webgl/Texture.js.map +1 -1
  380. package/lib/cjs/render/webgl/UniformHandle.js +1 -1
  381. package/lib/cjs/render/webgl/UniformHandle.js.map +1 -1
  382. package/lib/cjs/render/webgl/VertexLUT.d.ts +2 -2
  383. package/lib/cjs/render/webgl/VertexLUT.d.ts.map +1 -1
  384. package/lib/cjs/render/webgl/VertexLUT.js.map +1 -1
  385. package/lib/cjs/render/webgl/glsl/Animation.js.map +1 -1
  386. package/lib/cjs/render/webgl/glsl/Atmosphere.js.map +1 -1
  387. package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  388. package/lib/cjs/render/webgl/glsl/RealityMesh.js +32 -19
  389. package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
  390. package/lib/cjs/tile/B3dmReader.d.ts +1 -1
  391. package/lib/cjs/tile/B3dmReader.d.ts.map +1 -1
  392. package/lib/cjs/tile/B3dmReader.js +1 -1
  393. package/lib/cjs/tile/B3dmReader.js.map +1 -1
  394. package/lib/cjs/tile/DynamicIModelTile.js +1 -1
  395. package/lib/cjs/tile/DynamicIModelTile.js.map +1 -1
  396. package/lib/cjs/tile/FetchCloudStorage.d.ts +15 -0
  397. package/lib/cjs/tile/FetchCloudStorage.d.ts.map +1 -0
  398. package/lib/cjs/tile/FetchCloudStorage.js +35 -0
  399. package/lib/cjs/tile/FetchCloudStorage.js.map +1 -0
  400. package/lib/cjs/tile/GltfReader.d.ts +13 -4
  401. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  402. package/lib/cjs/tile/GltfReader.js +80 -28
  403. package/lib/cjs/tile/GltfReader.js.map +1 -1
  404. package/lib/cjs/tile/IModelTile.d.ts.map +1 -1
  405. package/lib/cjs/tile/IModelTile.js +4 -9
  406. package/lib/cjs/tile/IModelTile.js.map +1 -1
  407. package/lib/cjs/tile/IModelTileTree.d.ts +4 -1
  408. package/lib/cjs/tile/IModelTileTree.d.ts.map +1 -1
  409. package/lib/cjs/tile/IModelTileTree.js +15 -0
  410. package/lib/cjs/tile/IModelTileTree.js.map +1 -1
  411. package/lib/cjs/tile/ImdlDecoder.d.ts +52 -0
  412. package/lib/cjs/tile/ImdlDecoder.d.ts.map +1 -0
  413. package/lib/cjs/tile/ImdlDecoder.js +35 -0
  414. package/lib/cjs/tile/ImdlDecoder.js.map +1 -0
  415. package/lib/{esm/imdl → cjs/tile}/ImdlGraphicsCreator.d.ts +1 -1
  416. package/lib/cjs/tile/ImdlGraphicsCreator.d.ts.map +1 -0
  417. package/lib/cjs/{imdl → tile}/ImdlGraphicsCreator.js +13 -13
  418. package/lib/cjs/tile/ImdlGraphicsCreator.js.map +1 -0
  419. package/lib/cjs/tile/ImdlParser.d.ts +26 -0
  420. package/lib/cjs/tile/ImdlParser.d.ts.map +1 -0
  421. package/lib/cjs/tile/ImdlParser.js +72 -0
  422. package/lib/cjs/tile/ImdlParser.js.map +1 -0
  423. package/lib/cjs/tile/ImdlReader.d.ts +6 -1
  424. package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
  425. package/lib/cjs/tile/ImdlReader.js +16 -11
  426. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  427. package/lib/cjs/tile/OPCFormatInterpreter.js +1 -1
  428. package/lib/cjs/tile/OPCFormatInterpreter.js.map +1 -1
  429. package/lib/cjs/tile/PntsReader.js +1 -1
  430. package/lib/cjs/tile/PntsReader.js.map +1 -1
  431. package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
  432. package/lib/cjs/tile/PrimaryTileTree.js +2 -1
  433. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  434. package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
  435. package/lib/cjs/tile/RealityTile.d.ts +8 -3
  436. package/lib/cjs/tile/RealityTile.d.ts.map +1 -1
  437. package/lib/cjs/tile/RealityTile.js +4 -1
  438. package/lib/cjs/tile/RealityTile.js.map +1 -1
  439. package/lib/cjs/tile/RealityTileLoader.d.ts.map +1 -1
  440. package/lib/cjs/tile/RealityTileLoader.js +10 -5
  441. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  442. package/lib/cjs/tile/RealityTileTree.js +1 -1
  443. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  444. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js +1 -1
  445. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  446. package/lib/cjs/tile/TileAdmin.d.ts +14 -11
  447. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  448. package/lib/cjs/tile/TileAdmin.js +9 -52
  449. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  450. package/lib/cjs/tile/TileContent.d.ts +6 -0
  451. package/lib/cjs/tile/TileContent.d.ts.map +1 -1
  452. package/lib/cjs/tile/TileContent.js.map +1 -1
  453. package/lib/cjs/tile/TileStorage.js.map +1 -1
  454. package/lib/cjs/tile/internal.d.ts +9 -0
  455. package/lib/cjs/tile/internal.d.ts.map +1 -1
  456. package/lib/cjs/tile/internal.js +9 -0
  457. package/lib/cjs/tile/internal.js.map +1 -1
  458. package/lib/cjs/tile/map/ArcGisUtilities.d.ts +8 -1
  459. package/lib/cjs/tile/map/ArcGisUtilities.d.ts.map +1 -1
  460. package/lib/cjs/tile/map/ArcGisUtilities.js +21 -0
  461. package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
  462. package/lib/cjs/tile/map/EllipsoidTerrainProvider.d.ts +6 -4
  463. package/lib/cjs/tile/map/EllipsoidTerrainProvider.d.ts.map +1 -1
  464. package/lib/cjs/tile/map/EllipsoidTerrainProvider.js +6 -4
  465. package/lib/cjs/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  466. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts +2 -0
  467. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts.map +1 -1
  468. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js +4 -2
  469. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  470. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +55 -2
  471. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  472. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +96 -23
  473. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  474. package/lib/cjs/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.d.ts +11 -0
  475. package/lib/cjs/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.d.ts.map +1 -0
  476. package/lib/cjs/{imdl/ImdlSchema.js → tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.js} +1 -1
  477. package/lib/cjs/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.js.map +1 -0
  478. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts +15 -0
  479. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts.map +1 -0
  480. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js +59 -0
  481. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -0
  482. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryRenderer.d.ts +47 -0
  483. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryRenderer.d.ts.map +1 -0
  484. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryRenderer.js +126 -0
  485. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryRenderer.js.map +1 -0
  486. package/lib/cjs/tile/map/ImageryProviders/ArcGisGraphicsRenderer.d.ts +27 -0
  487. package/lib/cjs/tile/map/ImageryProviders/ArcGisGraphicsRenderer.d.ts.map +1 -0
  488. package/lib/cjs/tile/map/ImageryProviders/ArcGisGraphicsRenderer.js +135 -0
  489. package/lib/cjs/tile/map/ImageryProviders/ArcGisGraphicsRenderer.js.map +1 -0
  490. package/lib/cjs/tile/map/ImageryProviders/WebMercator.d.ts +6 -0
  491. package/lib/cjs/tile/map/ImageryProviders/WebMercator.d.ts.map +1 -0
  492. package/lib/cjs/tile/map/ImageryProviders/WebMercator.js +22 -0
  493. package/lib/cjs/tile/map/ImageryProviders/WebMercator.js.map +1 -0
  494. package/lib/cjs/tile/map/ImageryTileTree.d.ts +2 -1
  495. package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
  496. package/lib/cjs/tile/map/ImageryTileTree.js +16 -9
  497. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  498. package/lib/cjs/tile/map/MapFeatureInfo.d.ts +67 -7
  499. package/lib/cjs/tile/map/MapFeatureInfo.d.ts.map +1 -1
  500. package/lib/cjs/tile/map/MapFeatureInfo.js +16 -2
  501. package/lib/cjs/tile/map/MapFeatureInfo.js.map +1 -1
  502. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  503. package/lib/cjs/tile/map/MapLayerImageryFormats.js +3 -0
  504. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  505. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +4 -1
  506. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  507. package/lib/cjs/tile/map/MapLayerImageryProvider.js +3 -1
  508. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  509. package/lib/cjs/tile/map/MapLayerSources.d.ts +4 -1
  510. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  511. package/lib/cjs/tile/map/MapLayerSources.js +3 -0
  512. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  513. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  514. package/lib/cjs/tile/map/MapTile.js +9 -1
  515. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  516. package/lib/cjs/tile/map/MapTileLoader.d.ts.map +1 -1
  517. package/lib/cjs/tile/map/MapTileLoader.js +1 -15
  518. package/lib/cjs/tile/map/MapTileLoader.js.map +1 -1
  519. package/lib/cjs/tile/map/MapTileTree.d.ts +12 -3
  520. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  521. package/lib/cjs/tile/map/MapTileTree.js +33 -20
  522. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  523. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts +2 -3
  524. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  525. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +3 -4
  526. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  527. package/lib/cjs/tile/map/MapTilingScheme.d.ts +4 -4
  528. package/lib/cjs/tile/map/MapTilingScheme.d.ts.map +1 -1
  529. package/lib/cjs/tile/map/MapTilingScheme.js +4 -4
  530. package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
  531. package/lib/cjs/tile/map/QuadId.js.map +1 -1
  532. package/lib/cjs/tools/ElementSetTool.js +1 -1
  533. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  534. package/lib/cjs/tools/SelectTool.js +1 -1
  535. package/lib/cjs/tools/SelectTool.js.map +1 -1
  536. package/lib/cjs/tools/ToolAdmin.d.ts +8 -6
  537. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  538. package/lib/cjs/tools/ToolAdmin.js +11 -8
  539. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  540. package/lib/cjs/tools/ToolAssistance.d.ts +18 -0
  541. package/lib/cjs/tools/ToolAssistance.d.ts.map +1 -1
  542. package/lib/cjs/tools/ToolAssistance.js +8 -0
  543. package/lib/cjs/tools/ToolAssistance.js.map +1 -1
  544. package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
  545. package/lib/cjs/tools/ViewTool.js +3 -2
  546. package/lib/cjs/tools/ViewTool.js.map +1 -1
  547. package/lib/cjs/workers/ImdlParser/Worker.d.ts +20 -0
  548. package/lib/cjs/workers/ImdlParser/Worker.d.ts.map +1 -0
  549. package/lib/cjs/workers/ImdlParser/Worker.js +32 -0
  550. package/lib/cjs/workers/ImdlParser/Worker.js.map +1 -0
  551. package/lib/cjs/workers/ImdlParser/webpack.config.js +40 -0
  552. package/lib/cjs/workers/RegisterWorker.d.ts +9 -0
  553. package/lib/cjs/workers/RegisterWorker.d.ts.map +1 -0
  554. package/lib/cjs/workers/RegisterWorker.js +36 -0
  555. package/lib/cjs/workers/RegisterWorker.js.map +1 -0
  556. package/lib/esm/AccuDraw.d.ts +3 -4
  557. package/lib/esm/AccuDraw.d.ts.map +1 -1
  558. package/lib/esm/AccuDraw.js +6 -7
  559. package/lib/esm/AccuDraw.js.map +1 -1
  560. package/lib/esm/AccuSnap.d.ts +7 -1
  561. package/lib/esm/AccuSnap.d.ts.map +1 -1
  562. package/lib/esm/AccuSnap.js +24 -6
  563. package/lib/esm/AccuSnap.js.map +1 -1
  564. package/lib/esm/BackgroundMapGeometry.d.ts +3 -2
  565. package/lib/esm/BackgroundMapGeometry.d.ts.map +1 -1
  566. package/lib/esm/BackgroundMapGeometry.js +47 -7
  567. package/lib/esm/BackgroundMapGeometry.js.map +1 -1
  568. package/lib/esm/BriefcaseConnection.d.ts +3 -3
  569. package/lib/esm/BriefcaseConnection.js +3 -3
  570. package/lib/esm/BriefcaseConnection.js.map +1 -1
  571. package/lib/esm/BriefcaseTxns.d.ts +2 -2
  572. package/lib/esm/BriefcaseTxns.d.ts.map +1 -1
  573. package/lib/esm/BriefcaseTxns.js +3 -3
  574. package/lib/esm/BriefcaseTxns.js.map +1 -1
  575. package/lib/esm/ChangeFlags.d.ts +25 -12
  576. package/lib/esm/ChangeFlags.d.ts.map +1 -1
  577. package/lib/esm/ChangeFlags.js +24 -11
  578. package/lib/esm/ChangeFlags.js.map +1 -1
  579. package/lib/esm/CheckpointConnection.js +1 -1
  580. package/lib/esm/CheckpointConnection.js.map +1 -1
  581. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  582. package/lib/esm/DisplayStyleState.js +2 -1
  583. package/lib/esm/DisplayStyleState.js.map +1 -1
  584. package/lib/esm/DrawingViewState.d.ts +2 -2
  585. package/lib/esm/DrawingViewState.d.ts.map +1 -1
  586. package/lib/esm/DrawingViewState.js +3 -3
  587. package/lib/esm/DrawingViewState.js.map +1 -1
  588. package/lib/esm/ElementLocateManager.d.ts +0 -1
  589. package/lib/esm/ElementLocateManager.d.ts.map +1 -1
  590. package/lib/esm/ElementLocateManager.js +12 -20
  591. package/lib/esm/ElementLocateManager.js.map +1 -1
  592. package/lib/esm/EnvironmentDecorations.js +1 -1
  593. package/lib/esm/EnvironmentDecorations.js.map +1 -1
  594. package/lib/esm/FrustumAnimator.js.map +1 -1
  595. package/lib/esm/GeoServices.d.ts +37 -7
  596. package/lib/esm/GeoServices.d.ts.map +1 -1
  597. package/lib/esm/GeoServices.js +75 -25
  598. package/lib/esm/GeoServices.js.map +1 -1
  599. package/lib/esm/GraphicalEditingScope.d.ts +2 -2
  600. package/lib/esm/GraphicalEditingScope.d.ts.map +1 -1
  601. package/lib/esm/GraphicalEditingScope.js +2 -2
  602. package/lib/esm/GraphicalEditingScope.js.map +1 -1
  603. package/lib/esm/HitDetail.d.ts +100 -29
  604. package/lib/esm/HitDetail.d.ts.map +1 -1
  605. package/lib/esm/HitDetail.js +90 -37
  606. package/lib/esm/HitDetail.js.map +1 -1
  607. package/lib/esm/IModelApp.d.ts +18 -14
  608. package/lib/esm/IModelApp.d.ts.map +1 -1
  609. package/lib/esm/IModelApp.js +22 -18
  610. package/lib/esm/IModelApp.js.map +1 -1
  611. package/lib/esm/IModelConnection.d.ts +64 -19
  612. package/lib/esm/IModelConnection.d.ts.map +1 -1
  613. package/lib/esm/IModelConnection.js +132 -21
  614. package/lib/esm/IModelConnection.js.map +1 -1
  615. package/lib/esm/IpcApp.d.ts +1 -1
  616. package/lib/esm/IpcApp.d.ts.map +1 -1
  617. package/lib/esm/IpcApp.js +5 -5
  618. package/lib/esm/IpcApp.js.map +1 -1
  619. package/lib/esm/LocalhostIpcApp.js +2 -2
  620. package/lib/esm/LocalhostIpcApp.js.map +1 -1
  621. package/lib/esm/Marker.d.ts +1 -1
  622. package/lib/esm/Marker.d.ts.map +1 -1
  623. package/lib/esm/Marker.js +3 -3
  624. package/lib/esm/Marker.js.map +1 -1
  625. package/lib/esm/NativeApp.d.ts.map +1 -1
  626. package/lib/esm/NativeApp.js +5 -5
  627. package/lib/esm/NativeApp.js.map +1 -1
  628. package/lib/esm/NoRenderApp.d.ts +1 -1
  629. package/lib/esm/NoRenderApp.d.ts.map +1 -1
  630. package/lib/esm/NoRenderApp.js +1 -1
  631. package/lib/esm/NoRenderApp.js.map +1 -1
  632. package/lib/esm/RealityDataSource.js +1 -1
  633. package/lib/esm/RealityDataSource.js.map +1 -1
  634. package/lib/esm/RealityDataSourceContextShareImpl.js +1 -1
  635. package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -1
  636. package/lib/esm/SheetViewState.d.ts +9 -7
  637. package/lib/esm/SheetViewState.d.ts.map +1 -1
  638. package/lib/esm/SheetViewState.js +22 -7
  639. package/lib/esm/SheetViewState.js.map +1 -1
  640. package/lib/esm/SpatialViewState.d.ts +20 -5
  641. package/lib/esm/SpatialViewState.d.ts.map +1 -1
  642. package/lib/esm/SpatialViewState.js +13 -5
  643. package/lib/esm/SpatialViewState.js.map +1 -1
  644. package/lib/esm/Sprites.js +2 -2
  645. package/lib/esm/Sprites.js.map +1 -1
  646. package/lib/esm/TentativePoint.d.ts.map +1 -1
  647. package/lib/esm/TentativePoint.js +10 -1
  648. package/lib/esm/TentativePoint.js.map +1 -1
  649. package/lib/esm/ViewContext.d.ts +19 -0
  650. package/lib/esm/ViewContext.d.ts.map +1 -1
  651. package/lib/esm/ViewContext.js +9 -0
  652. package/lib/esm/ViewContext.js.map +1 -1
  653. package/lib/esm/ViewCreator3d.d.ts +3 -6
  654. package/lib/esm/ViewCreator3d.d.ts.map +1 -1
  655. package/lib/esm/ViewCreator3d.js +14 -35
  656. package/lib/esm/ViewCreator3d.js.map +1 -1
  657. package/lib/esm/ViewGlobalLocation.d.ts.map +1 -1
  658. package/lib/esm/ViewGlobalLocation.js +4 -3
  659. package/lib/esm/ViewGlobalLocation.js.map +1 -1
  660. package/lib/esm/ViewManager.d.ts +4 -2
  661. package/lib/esm/ViewManager.d.ts.map +1 -1
  662. package/lib/esm/ViewManager.js +4 -2
  663. package/lib/esm/ViewManager.js.map +1 -1
  664. package/lib/esm/ViewPose.d.ts +11 -11
  665. package/lib/esm/ViewPose.d.ts.map +1 -1
  666. package/lib/esm/ViewPose.js +17 -11
  667. package/lib/esm/ViewPose.js.map +1 -1
  668. package/lib/esm/ViewState.d.ts +44 -26
  669. package/lib/esm/ViewState.d.ts.map +1 -1
  670. package/lib/esm/ViewState.js +52 -25
  671. package/lib/esm/ViewState.js.map +1 -1
  672. package/lib/esm/ViewingSpace.js +1 -1
  673. package/lib/esm/ViewingSpace.js.map +1 -1
  674. package/lib/esm/Viewport.d.ts +59 -21
  675. package/lib/esm/Viewport.d.ts.map +1 -1
  676. package/lib/esm/Viewport.js +68 -25
  677. package/lib/esm/Viewport.js.map +1 -1
  678. package/lib/esm/ViewportSync.d.ts +2 -2
  679. package/lib/esm/ViewportSync.d.ts.map +1 -1
  680. package/lib/esm/ViewportSync.js +2 -2
  681. package/lib/esm/ViewportSync.js.map +1 -1
  682. package/lib/esm/common/FrontendLoggerCategory.d.ts.map +1 -0
  683. package/lib/esm/common/FrontendLoggerCategory.js.map +1 -0
  684. package/lib/esm/common/ImageUtil.d.ts.map +1 -0
  685. package/lib/esm/{ImageUtil.js → common/ImageUtil.js} +2 -0
  686. package/lib/esm/common/ImageUtil.js.map +1 -0
  687. package/lib/esm/common/ViewRect.d.ts.map +1 -0
  688. package/lib/esm/common/ViewRect.js.map +1 -0
  689. package/lib/esm/common/WorkerProxy.d.ts +73 -0
  690. package/lib/esm/common/WorkerProxy.d.ts.map +1 -0
  691. package/lib/esm/common/WorkerProxy.js +50 -0
  692. package/lib/esm/common/WorkerProxy.js.map +1 -0
  693. package/lib/{cjs → esm/common}/gltf/GltfModel.d.ts +1 -1
  694. package/lib/esm/common/gltf/GltfModel.d.ts.map +1 -0
  695. package/lib/esm/common/gltf/GltfModel.js.map +1 -0
  696. package/lib/esm/common/gltf/GltfParser.d.ts.map +1 -0
  697. package/lib/esm/common/gltf/GltfParser.js.map +1 -0
  698. package/lib/esm/common/gltf/GltfSchema.d.ts.map +1 -0
  699. package/lib/esm/common/gltf/GltfSchema.js.map +1 -0
  700. package/lib/esm/common/imdl/CompactEdges.d.ts +27 -0
  701. package/lib/esm/common/imdl/CompactEdges.d.ts.map +1 -0
  702. package/lib/esm/common/imdl/CompactEdges.js +92 -0
  703. package/lib/esm/common/imdl/CompactEdges.js.map +1 -0
  704. package/lib/esm/{imdl → common/imdl}/ImdlModel.d.ts +5 -0
  705. package/lib/esm/common/imdl/ImdlModel.d.ts.map +1 -0
  706. package/lib/esm/common/imdl/ImdlModel.js +67 -0
  707. package/lib/esm/common/imdl/ImdlModel.js.map +1 -0
  708. package/lib/{cjs → esm/common}/imdl/ImdlSchema.d.ts +68 -36
  709. package/lib/esm/common/imdl/ImdlSchema.d.ts.map +1 -0
  710. package/lib/esm/common/imdl/ImdlSchema.js +20 -0
  711. package/lib/esm/common/imdl/ImdlSchema.js.map +1 -0
  712. package/lib/esm/{imdl/ImdlParser.d.ts → common/imdl/ParseImdlDocument.d.ts} +13 -8
  713. package/lib/esm/common/imdl/ParseImdlDocument.d.ts.map +1 -0
  714. package/lib/esm/{imdl/ImdlParser.js → common/imdl/ParseImdlDocument.js} +40 -25
  715. package/lib/esm/common/imdl/ParseImdlDocument.js.map +1 -0
  716. package/lib/esm/common/render/AnimationNodeId.d.ts +11 -0
  717. package/lib/esm/common/render/AnimationNodeId.d.ts.map +1 -0
  718. package/lib/esm/common/render/AnimationNodeId.js +16 -0
  719. package/lib/esm/common/render/AnimationNodeId.js.map +1 -0
  720. package/lib/{cjs/render/RenderMaterial.d.ts → esm/common/render/MaterialParams.d.ts} +7 -20
  721. package/lib/esm/common/render/MaterialParams.d.ts.map +1 -0
  722. package/lib/esm/{render/RenderMaterial.js → common/render/MaterialParams.js} +1 -1
  723. package/lib/esm/common/render/MaterialParams.js.map +1 -0
  724. package/lib/esm/common/render/TextureParams.d.ts +30 -0
  725. package/lib/esm/common/render/TextureParams.d.ts.map +1 -0
  726. package/lib/esm/{render/RenderTexture.js → common/render/TextureParams.js} +1 -1
  727. package/lib/esm/common/render/TextureParams.js.map +1 -0
  728. package/lib/{cjs → esm/common}/render/primitives/AuxChannelTable.d.ts +8 -8
  729. package/lib/esm/common/render/primitives/AuxChannelTable.d.ts.map +1 -0
  730. package/lib/esm/{render → common/render}/primitives/AuxChannelTable.js +9 -9
  731. package/lib/esm/common/render/primitives/AuxChannelTable.js.map +1 -0
  732. package/lib/esm/common/render/primitives/DisplayParams.d.ts.map +1 -0
  733. package/lib/esm/common/render/primitives/DisplayParams.js.map +1 -0
  734. package/lib/esm/common/render/primitives/EdgeParams.d.ts +94 -0
  735. package/lib/esm/common/render/primitives/EdgeParams.d.ts.map +1 -0
  736. package/lib/esm/common/render/primitives/EdgeParams.js +42 -0
  737. package/lib/esm/common/render/primitives/EdgeParams.js.map +1 -0
  738. package/lib/esm/common/render/primitives/MeshParams.d.ts +20 -0
  739. package/lib/esm/common/render/primitives/MeshParams.d.ts.map +1 -0
  740. package/lib/esm/{imdl/ImdlSchema.js → common/render/primitives/MeshParams.js} +2 -2
  741. package/lib/esm/common/render/primitives/MeshParams.js.map +1 -0
  742. package/lib/esm/common/render/primitives/MeshPrimitive.d.ts +29 -0
  743. package/lib/esm/common/render/primitives/MeshPrimitive.d.ts.map +1 -0
  744. package/lib/esm/common/render/primitives/MeshPrimitive.js +15 -0
  745. package/lib/esm/common/render/primitives/MeshPrimitive.js.map +1 -0
  746. package/lib/esm/common/render/primitives/PointStringParams.d.ts +14 -0
  747. package/lib/esm/common/render/primitives/PointStringParams.d.ts.map +1 -0
  748. package/lib/esm/common/render/primitives/PointStringParams.js +9 -0
  749. package/lib/esm/common/render/primitives/PointStringParams.js.map +1 -0
  750. package/lib/esm/common/render/primitives/PolylineParams.d.ts +29 -0
  751. package/lib/esm/common/render/primitives/PolylineParams.d.ts.map +1 -0
  752. package/lib/esm/common/render/primitives/PolylineParams.js +9 -0
  753. package/lib/esm/common/render/primitives/PolylineParams.js.map +1 -0
  754. package/lib/{cjs → esm/common}/render/primitives/SurfaceParams.d.ts +1 -1
  755. package/lib/esm/common/render/primitives/SurfaceParams.d.ts.map +1 -0
  756. package/lib/esm/common/render/primitives/SurfaceParams.js.map +1 -0
  757. package/lib/esm/common/render/primitives/VertexIndices.d.ts +26 -0
  758. package/lib/esm/common/render/primitives/VertexIndices.d.ts.map +1 -0
  759. package/lib/esm/common/render/primitives/VertexIndices.js +60 -0
  760. package/lib/esm/common/render/primitives/VertexIndices.js.map +1 -0
  761. package/lib/esm/common/render/primitives/VertexTable.d.ts +45 -0
  762. package/lib/esm/common/render/primitives/VertexTable.d.ts.map +1 -0
  763. package/lib/esm/common/render/primitives/VertexTable.js +34 -0
  764. package/lib/esm/common/render/primitives/VertexTable.js.map +1 -0
  765. package/lib/{cjs → esm/common}/render/primitives/VertexTableSplitter.d.ts +20 -3
  766. package/lib/esm/common/render/primitives/VertexTableSplitter.d.ts.map +1 -0
  767. package/lib/esm/{render → common/render}/primitives/VertexTableSplitter.js +31 -21
  768. package/lib/esm/common/render/primitives/VertexTableSplitter.js.map +1 -0
  769. package/lib/esm/core-frontend.d.ts +45 -11
  770. package/lib/esm/core-frontend.d.ts.map +1 -1
  771. package/lib/esm/core-frontend.js +45 -11
  772. package/lib/esm/core-frontend.js.map +1 -1
  773. package/lib/esm/extension/ExtensionAdmin.js +1 -1
  774. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  775. package/lib/esm/extension/providers/ExtensionLoadScript.js.map +1 -1
  776. package/lib/esm/quantity-formatting/QuantityFormatter.js +1 -1
  777. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  778. package/lib/esm/render/CanvasDecoration.d.ts +6 -2
  779. package/lib/esm/render/CanvasDecoration.d.ts.map +1 -1
  780. package/lib/esm/render/CanvasDecoration.js.map +1 -1
  781. package/lib/esm/render/CreateRenderMaterialArgs.d.ts +24 -0
  782. package/lib/esm/render/CreateRenderMaterialArgs.d.ts.map +1 -0
  783. package/lib/esm/render/CreateRenderMaterialArgs.js +9 -0
  784. package/lib/esm/render/CreateRenderMaterialArgs.js.map +1 -0
  785. package/lib/{cjs/render/RenderTexture.d.ts → esm/render/CreateTextureArgs.d.ts} +4 -28
  786. package/lib/esm/render/CreateTextureArgs.d.ts.map +1 -0
  787. package/lib/esm/render/CreateTextureArgs.js +9 -0
  788. package/lib/esm/render/CreateTextureArgs.js.map +1 -0
  789. package/lib/esm/render/GraphicBranch.d.ts +5 -7
  790. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  791. package/lib/esm/render/GraphicBranch.js +0 -8
  792. package/lib/esm/render/GraphicBranch.js.map +1 -1
  793. package/lib/esm/render/InstancedGraphicParams.d.ts +3 -4
  794. package/lib/esm/render/InstancedGraphicParams.d.ts.map +1 -1
  795. package/lib/esm/render/InstancedGraphicParams.js.map +1 -1
  796. package/lib/esm/render/MockRender.d.ts +4 -4
  797. package/lib/esm/render/MockRender.d.ts.map +1 -1
  798. package/lib/esm/render/MockRender.js +1 -1
  799. package/lib/esm/render/MockRender.js.map +1 -1
  800. package/lib/esm/render/ParticleCollectionBuilder.d.ts.map +1 -1
  801. package/lib/esm/render/ParticleCollectionBuilder.js +5 -5
  802. package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
  803. package/lib/esm/render/Pixel.d.ts +57 -0
  804. package/lib/esm/render/Pixel.d.ts.map +1 -1
  805. package/lib/esm/render/Pixel.js +41 -0
  806. package/lib/esm/render/Pixel.js.map +1 -1
  807. package/lib/esm/render/RealityMeshParams.js +2 -2
  808. package/lib/esm/render/RealityMeshParams.js.map +1 -1
  809. package/lib/esm/render/RenderSystem.d.ts +24 -10
  810. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  811. package/lib/esm/render/RenderSystem.js +8 -9
  812. package/lib/esm/render/RenderSystem.js.map +1 -1
  813. package/lib/esm/render/RenderTarget.d.ts +1 -1
  814. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  815. package/lib/esm/render/RenderTarget.js.map +1 -1
  816. package/lib/esm/render/UpsampleRealityMeshParams.js.map +1 -1
  817. package/lib/esm/render/VisibleFeature.d.ts +1 -1
  818. package/lib/esm/render/VisibleFeature.d.ts.map +1 -1
  819. package/lib/esm/render/VisibleFeature.js.map +1 -1
  820. package/lib/esm/render/primitives/EdgeParams.d.ts +2 -89
  821. package/lib/esm/render/primitives/EdgeParams.d.ts.map +1 -1
  822. package/lib/esm/render/primitives/EdgeParams.js +38 -74
  823. package/lib/esm/render/primitives/EdgeParams.js.map +1 -1
  824. package/lib/esm/render/primitives/PointCloudPrimitive.d.ts +1 -0
  825. package/lib/esm/render/primitives/PointCloudPrimitive.d.ts.map +1 -1
  826. package/lib/esm/render/primitives/PointCloudPrimitive.js.map +1 -1
  827. package/lib/esm/render/primitives/PointStringParams.d.ts +3 -11
  828. package/lib/esm/render/primitives/PointStringParams.d.ts.map +1 -1
  829. package/lib/esm/render/primitives/PointStringParams.js +25 -28
  830. package/lib/esm/render/primitives/PointStringParams.js.map +1 -1
  831. package/lib/esm/render/primitives/Polyface.d.ts +1 -1
  832. package/lib/esm/render/primitives/Polyface.d.ts.map +1 -1
  833. package/lib/esm/render/primitives/Polyface.js.map +1 -1
  834. package/lib/esm/render/primitives/PolylineParams.d.ts +8 -37
  835. package/lib/esm/render/primitives/PolylineParams.d.ts.map +1 -1
  836. package/lib/esm/render/primitives/PolylineParams.js +34 -43
  837. package/lib/esm/render/primitives/PolylineParams.js.map +1 -1
  838. package/lib/esm/render/primitives/Strokes.d.ts +1 -1
  839. package/lib/esm/render/primitives/Strokes.d.ts.map +1 -1
  840. package/lib/esm/render/primitives/Strokes.js.map +1 -1
  841. package/lib/esm/render/primitives/VertexTableBuilder.d.ts +31 -0
  842. package/lib/esm/render/primitives/VertexTableBuilder.d.ts.map +1 -0
  843. package/lib/esm/render/primitives/{VertexTable.js → VertexTableBuilder.js} +62 -170
  844. package/lib/esm/render/primitives/VertexTableBuilder.js.map +1 -0
  845. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts +1 -1
  846. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  847. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  848. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts +1 -1
  849. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  850. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js +1 -1
  851. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  852. package/lib/esm/render/primitives/geometry/GeometryPrimitives.d.ts +1 -1
  853. package/lib/esm/render/primitives/geometry/GeometryPrimitives.d.ts.map +1 -1
  854. package/lib/esm/render/primitives/geometry/GeometryPrimitives.js +1 -1
  855. package/lib/esm/render/primitives/geometry/GeometryPrimitives.js.map +1 -1
  856. package/lib/esm/render/primitives/mesh/MeshBuilder.d.ts +2 -1
  857. package/lib/esm/render/primitives/mesh/MeshBuilder.d.ts.map +1 -1
  858. package/lib/esm/render/primitives/mesh/MeshBuilder.js +5 -2
  859. package/lib/esm/render/primitives/mesh/MeshBuilder.js.map +1 -1
  860. package/lib/esm/render/primitives/mesh/MeshBuilderMap.d.ts +6 -5
  861. package/lib/esm/render/primitives/mesh/MeshBuilderMap.d.ts.map +1 -1
  862. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js +8 -5
  863. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  864. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts +58 -31
  865. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  866. package/lib/esm/render/primitives/mesh/MeshPrimitives.js +26 -30
  867. package/lib/esm/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  868. package/lib/esm/render/webgl/BatchState.js +1 -1
  869. package/lib/esm/render/webgl/BatchState.js.map +1 -1
  870. package/lib/esm/render/webgl/BranchState.d.ts +3 -0
  871. package/lib/esm/render/webgl/BranchState.d.ts.map +1 -1
  872. package/lib/esm/render/webgl/BranchState.js +2 -0
  873. package/lib/esm/render/webgl/BranchState.js.map +1 -1
  874. package/lib/esm/render/webgl/CachedGeometry.d.ts +1 -1
  875. package/lib/esm/render/webgl/CachedGeometry.d.ts.map +1 -1
  876. package/lib/esm/render/webgl/CachedGeometry.js.map +1 -1
  877. package/lib/esm/render/webgl/ColorInfo.d.ts +1 -1
  878. package/lib/esm/render/webgl/ColorInfo.d.ts.map +1 -1
  879. package/lib/esm/render/webgl/ColorInfo.js.map +1 -1
  880. package/lib/esm/render/webgl/EdgeGeometry.d.ts +2 -2
  881. package/lib/esm/render/webgl/EdgeGeometry.d.ts.map +1 -1
  882. package/lib/esm/render/webgl/EdgeGeometry.js.map +1 -1
  883. package/lib/esm/render/webgl/FeatureOverrides.js +1 -1
  884. package/lib/esm/render/webgl/FeatureOverrides.js.map +1 -1
  885. package/lib/esm/render/webgl/Graphic.d.ts +7 -1
  886. package/lib/esm/render/webgl/Graphic.d.ts.map +1 -1
  887. package/lib/esm/render/webgl/Graphic.js +7 -2
  888. package/lib/esm/render/webgl/Graphic.js.map +1 -1
  889. package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts +1 -1
  890. package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -1
  891. package/lib/esm/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  892. package/lib/esm/render/webgl/InstancedGeometry.js.map +1 -1
  893. package/lib/esm/render/webgl/Material.d.ts +1 -1
  894. package/lib/esm/render/webgl/Material.d.ts.map +1 -1
  895. package/lib/esm/render/webgl/Material.js.map +1 -1
  896. package/lib/esm/render/webgl/Mesh.d.ts +2 -2
  897. package/lib/esm/render/webgl/Mesh.d.ts.map +1 -1
  898. package/lib/esm/render/webgl/Mesh.js +1 -1
  899. package/lib/esm/render/webgl/Mesh.js.map +1 -1
  900. package/lib/esm/render/webgl/MeshData.d.ts +2 -2
  901. package/lib/esm/render/webgl/MeshData.d.ts.map +1 -1
  902. package/lib/esm/render/webgl/MeshData.js.map +1 -1
  903. package/lib/esm/render/webgl/MeshGeometry.d.ts +1 -1
  904. package/lib/esm/render/webgl/MeshGeometry.d.ts.map +1 -1
  905. package/lib/esm/render/webgl/PointString.d.ts +1 -1
  906. package/lib/esm/render/webgl/PointString.d.ts.map +1 -1
  907. package/lib/esm/render/webgl/PointString.js.map +1 -1
  908. package/lib/esm/render/webgl/Polyline.d.ts +1 -1
  909. package/lib/esm/render/webgl/Polyline.d.ts.map +1 -1
  910. package/lib/esm/render/webgl/Polyline.js.map +1 -1
  911. package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
  912. package/lib/esm/render/webgl/RenderCommands.js +1 -1
  913. package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
  914. package/lib/esm/render/webgl/SceneCompositor.d.ts +2 -1
  915. package/lib/esm/render/webgl/SceneCompositor.d.ts.map +1 -1
  916. package/lib/esm/render/webgl/SceneCompositor.js +5 -2
  917. package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
  918. package/lib/esm/render/webgl/SurfaceGeometry.d.ts +1 -1
  919. package/lib/esm/render/webgl/SurfaceGeometry.d.ts.map +1 -1
  920. package/lib/esm/render/webgl/SurfaceGeometry.js +1 -1
  921. package/lib/esm/render/webgl/SurfaceGeometry.js.map +1 -1
  922. package/lib/esm/render/webgl/System.d.ts +7 -6
  923. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  924. package/lib/esm/render/webgl/System.js +2 -2
  925. package/lib/esm/render/webgl/System.js.map +1 -1
  926. package/lib/esm/render/webgl/Target.d.ts +1 -1
  927. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  928. package/lib/esm/render/webgl/Target.js +13 -11
  929. package/lib/esm/render/webgl/Target.js.map +1 -1
  930. package/lib/esm/render/webgl/Texture.d.ts +1 -1
  931. package/lib/esm/render/webgl/Texture.d.ts.map +1 -1
  932. package/lib/esm/render/webgl/Texture.js +1 -1
  933. package/lib/esm/render/webgl/Texture.js.map +1 -1
  934. package/lib/esm/render/webgl/UniformHandle.js +1 -1
  935. package/lib/esm/render/webgl/UniformHandle.js.map +1 -1
  936. package/lib/esm/render/webgl/VertexLUT.d.ts +2 -2
  937. package/lib/esm/render/webgl/VertexLUT.d.ts.map +1 -1
  938. package/lib/esm/render/webgl/VertexLUT.js.map +1 -1
  939. package/lib/esm/render/webgl/glsl/Animation.js.map +1 -1
  940. package/lib/esm/render/webgl/glsl/Atmosphere.js.map +1 -1
  941. package/lib/esm/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  942. package/lib/esm/render/webgl/glsl/RealityMesh.js +32 -19
  943. package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
  944. package/lib/esm/tile/B3dmReader.d.ts +1 -1
  945. package/lib/esm/tile/B3dmReader.d.ts.map +1 -1
  946. package/lib/esm/tile/B3dmReader.js +1 -1
  947. package/lib/esm/tile/B3dmReader.js.map +1 -1
  948. package/lib/esm/tile/DynamicIModelTile.js +1 -1
  949. package/lib/esm/tile/DynamicIModelTile.js.map +1 -1
  950. package/lib/esm/tile/FetchCloudStorage.d.ts +15 -0
  951. package/lib/esm/tile/FetchCloudStorage.d.ts.map +1 -0
  952. package/lib/esm/tile/FetchCloudStorage.js +31 -0
  953. package/lib/esm/tile/FetchCloudStorage.js.map +1 -0
  954. package/lib/esm/tile/GltfReader.d.ts +13 -4
  955. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  956. package/lib/esm/tile/GltfReader.js +81 -29
  957. package/lib/esm/tile/GltfReader.js.map +1 -1
  958. package/lib/esm/tile/IModelTile.d.ts.map +1 -1
  959. package/lib/esm/tile/IModelTile.js +5 -10
  960. package/lib/esm/tile/IModelTile.js.map +1 -1
  961. package/lib/esm/tile/IModelTileTree.d.ts +4 -1
  962. package/lib/esm/tile/IModelTileTree.d.ts.map +1 -1
  963. package/lib/esm/tile/IModelTileTree.js +16 -1
  964. package/lib/esm/tile/IModelTileTree.js.map +1 -1
  965. package/lib/esm/tile/ImdlDecoder.d.ts +52 -0
  966. package/lib/esm/tile/ImdlDecoder.d.ts.map +1 -0
  967. package/lib/esm/tile/ImdlDecoder.js +31 -0
  968. package/lib/esm/tile/ImdlDecoder.js.map +1 -0
  969. package/lib/{cjs/imdl → esm/tile}/ImdlGraphicsCreator.d.ts +1 -1
  970. package/lib/esm/tile/ImdlGraphicsCreator.d.ts.map +1 -0
  971. package/lib/esm/{imdl → tile}/ImdlGraphicsCreator.js +5 -5
  972. package/lib/esm/tile/ImdlGraphicsCreator.js.map +1 -0
  973. package/lib/esm/tile/ImdlParser.d.ts +26 -0
  974. package/lib/esm/tile/ImdlParser.d.ts.map +1 -0
  975. package/lib/esm/tile/ImdlParser.js +68 -0
  976. package/lib/esm/tile/ImdlParser.js.map +1 -0
  977. package/lib/esm/tile/ImdlReader.d.ts +6 -1
  978. package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
  979. package/lib/esm/tile/ImdlReader.js +13 -9
  980. package/lib/esm/tile/ImdlReader.js.map +1 -1
  981. package/lib/esm/tile/OPCFormatInterpreter.js +1 -1
  982. package/lib/esm/tile/OPCFormatInterpreter.js.map +1 -1
  983. package/lib/esm/tile/PntsReader.js +1 -1
  984. package/lib/esm/tile/PntsReader.js.map +1 -1
  985. package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
  986. package/lib/esm/tile/PrimaryTileTree.js +2 -1
  987. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  988. package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
  989. package/lib/esm/tile/RealityTile.d.ts +8 -3
  990. package/lib/esm/tile/RealityTile.d.ts.map +1 -1
  991. package/lib/esm/tile/RealityTile.js +4 -1
  992. package/lib/esm/tile/RealityTile.js.map +1 -1
  993. package/lib/esm/tile/RealityTileLoader.d.ts.map +1 -1
  994. package/lib/esm/tile/RealityTileLoader.js +10 -5
  995. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  996. package/lib/esm/tile/RealityTileTree.js +1 -1
  997. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  998. package/lib/esm/tile/ThreeDTileFormatInterpreter.js +1 -1
  999. package/lib/esm/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  1000. package/lib/esm/tile/TileAdmin.d.ts +14 -11
  1001. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  1002. package/lib/esm/tile/TileAdmin.js +10 -30
  1003. package/lib/esm/tile/TileAdmin.js.map +1 -1
  1004. package/lib/esm/tile/TileContent.d.ts +6 -0
  1005. package/lib/esm/tile/TileContent.d.ts.map +1 -1
  1006. package/lib/esm/tile/TileContent.js.map +1 -1
  1007. package/lib/esm/tile/TileStorage.js.map +1 -1
  1008. package/lib/esm/tile/internal.d.ts +9 -0
  1009. package/lib/esm/tile/internal.d.ts.map +1 -1
  1010. package/lib/esm/tile/internal.js +9 -0
  1011. package/lib/esm/tile/internal.js.map +1 -1
  1012. package/lib/esm/tile/map/ArcGisUtilities.d.ts +8 -1
  1013. package/lib/esm/tile/map/ArcGisUtilities.d.ts.map +1 -1
  1014. package/lib/esm/tile/map/ArcGisUtilities.js +21 -0
  1015. package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
  1016. package/lib/esm/tile/map/EllipsoidTerrainProvider.d.ts +6 -4
  1017. package/lib/esm/tile/map/EllipsoidTerrainProvider.d.ts.map +1 -1
  1018. package/lib/esm/tile/map/EllipsoidTerrainProvider.js +6 -4
  1019. package/lib/esm/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  1020. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts +2 -0
  1021. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts.map +1 -1
  1022. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js +4 -2
  1023. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  1024. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +55 -2
  1025. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  1026. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +96 -24
  1027. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  1028. package/lib/esm/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.d.ts +11 -0
  1029. package/lib/esm/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.d.ts.map +1 -0
  1030. package/lib/esm/{imdl/ImdlModel.js → tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.js} +1 -1
  1031. package/lib/esm/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.js.map +1 -0
  1032. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts +15 -0
  1033. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts.map +1 -0
  1034. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js +55 -0
  1035. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -0
  1036. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryRenderer.d.ts +47 -0
  1037. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryRenderer.d.ts.map +1 -0
  1038. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryRenderer.js +122 -0
  1039. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryRenderer.js.map +1 -0
  1040. package/lib/esm/tile/map/ImageryProviders/ArcGisGraphicsRenderer.d.ts +27 -0
  1041. package/lib/esm/tile/map/ImageryProviders/ArcGisGraphicsRenderer.d.ts.map +1 -0
  1042. package/lib/esm/tile/map/ImageryProviders/ArcGisGraphicsRenderer.js +131 -0
  1043. package/lib/esm/tile/map/ImageryProviders/ArcGisGraphicsRenderer.js.map +1 -0
  1044. package/lib/esm/tile/map/ImageryProviders/WebMercator.d.ts +6 -0
  1045. package/lib/esm/tile/map/ImageryProviders/WebMercator.d.ts.map +1 -0
  1046. package/lib/esm/tile/map/ImageryProviders/WebMercator.js +18 -0
  1047. package/lib/esm/tile/map/ImageryProviders/WebMercator.js.map +1 -0
  1048. package/lib/esm/tile/map/ImageryTileTree.d.ts +2 -1
  1049. package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
  1050. package/lib/esm/tile/map/ImageryTileTree.js +16 -9
  1051. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  1052. package/lib/esm/tile/map/MapFeatureInfo.d.ts +67 -7
  1053. package/lib/esm/tile/map/MapFeatureInfo.d.ts.map +1 -1
  1054. package/lib/esm/tile/map/MapFeatureInfo.js +14 -1
  1055. package/lib/esm/tile/map/MapFeatureInfo.js.map +1 -1
  1056. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  1057. package/lib/esm/tile/map/MapLayerImageryFormats.js +3 -0
  1058. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  1059. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +4 -1
  1060. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  1061. package/lib/esm/tile/map/MapLayerImageryProvider.js +3 -1
  1062. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  1063. package/lib/esm/tile/map/MapLayerSources.d.ts +4 -1
  1064. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  1065. package/lib/esm/tile/map/MapLayerSources.js +3 -0
  1066. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  1067. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  1068. package/lib/esm/tile/map/MapTile.js +9 -1
  1069. package/lib/esm/tile/map/MapTile.js.map +1 -1
  1070. package/lib/esm/tile/map/MapTileLoader.d.ts.map +1 -1
  1071. package/lib/esm/tile/map/MapTileLoader.js +1 -15
  1072. package/lib/esm/tile/map/MapTileLoader.js.map +1 -1
  1073. package/lib/esm/tile/map/MapTileTree.d.ts +12 -3
  1074. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  1075. package/lib/esm/tile/map/MapTileTree.js +34 -21
  1076. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  1077. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts +2 -3
  1078. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  1079. package/lib/esm/tile/map/MapTiledGraphicsProvider.js +3 -4
  1080. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  1081. package/lib/esm/tile/map/MapTilingScheme.d.ts +4 -4
  1082. package/lib/esm/tile/map/MapTilingScheme.d.ts.map +1 -1
  1083. package/lib/esm/tile/map/MapTilingScheme.js +4 -4
  1084. package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
  1085. package/lib/esm/tile/map/QuadId.js.map +1 -1
  1086. package/lib/esm/tools/ElementSetTool.js +1 -1
  1087. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  1088. package/lib/esm/tools/SelectTool.js +1 -1
  1089. package/lib/esm/tools/SelectTool.js.map +1 -1
  1090. package/lib/esm/tools/ToolAdmin.d.ts +8 -6
  1091. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  1092. package/lib/esm/tools/ToolAdmin.js +11 -8
  1093. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  1094. package/lib/esm/tools/ToolAssistance.d.ts +18 -0
  1095. package/lib/esm/tools/ToolAssistance.d.ts.map +1 -1
  1096. package/lib/esm/tools/ToolAssistance.js +8 -0
  1097. package/lib/esm/tools/ToolAssistance.js.map +1 -1
  1098. package/lib/esm/tools/ViewTool.d.ts.map +1 -1
  1099. package/lib/esm/tools/ViewTool.js +3 -2
  1100. package/lib/esm/tools/ViewTool.js.map +1 -1
  1101. package/lib/esm/workers/ImdlParser/Worker.d.ts +20 -0
  1102. package/lib/esm/workers/ImdlParser/Worker.d.ts.map +1 -0
  1103. package/lib/esm/workers/ImdlParser/Worker.js +30 -0
  1104. package/lib/esm/workers/ImdlParser/Worker.js.map +1 -0
  1105. package/lib/esm/workers/ImdlParser/webpack.config.js +40 -0
  1106. package/lib/esm/workers/RegisterWorker.d.ts +9 -0
  1107. package/lib/esm/workers/RegisterWorker.d.ts.map +1 -0
  1108. package/lib/esm/workers/RegisterWorker.js +32 -0
  1109. package/lib/esm/workers/RegisterWorker.js.map +1 -0
  1110. package/lib/public/scripts/parse-imdl-worker.js +1 -0
  1111. package/lib/workers/webpack/parse-imdl-worker.js +1 -0
  1112. package/package.json +32 -69
  1113. package/lib/cjs/FrontendLoggerCategory.d.ts.map +0 -1
  1114. package/lib/cjs/FrontendLoggerCategory.js.map +0 -1
  1115. package/lib/cjs/ImageUtil.d.ts.map +0 -1
  1116. package/lib/cjs/ImageUtil.js.map +0 -1
  1117. package/lib/cjs/ViewRect.d.ts.map +0 -1
  1118. package/lib/cjs/ViewRect.js.map +0 -1
  1119. package/lib/cjs/WebWorkerManager.d.ts +0 -49
  1120. package/lib/cjs/WebWorkerManager.d.ts.map +0 -1
  1121. package/lib/cjs/WebWorkerManager.js +0 -155
  1122. package/lib/cjs/WebWorkerManager.js.map +0 -1
  1123. package/lib/cjs/gltf/GltfModel.d.ts.map +0 -1
  1124. package/lib/cjs/gltf/GltfModel.js.map +0 -1
  1125. package/lib/cjs/gltf/GltfParser.d.ts.map +0 -1
  1126. package/lib/cjs/gltf/GltfParser.js.map +0 -1
  1127. package/lib/cjs/gltf/GltfSchema.d.ts.map +0 -1
  1128. package/lib/cjs/gltf/GltfSchema.js.map +0 -1
  1129. package/lib/cjs/imdl/ImdlGraphicsCreator.d.ts.map +0 -1
  1130. package/lib/cjs/imdl/ImdlGraphicsCreator.js.map +0 -1
  1131. package/lib/cjs/imdl/ImdlModel.d.ts.map +0 -1
  1132. package/lib/cjs/imdl/ImdlModel.js.map +0 -1
  1133. package/lib/cjs/imdl/ImdlParser.d.ts.map +0 -1
  1134. package/lib/cjs/imdl/ImdlParser.js.map +0 -1
  1135. package/lib/cjs/imdl/ImdlSchema.d.ts.map +0 -1
  1136. package/lib/cjs/imdl/ImdlSchema.js.map +0 -1
  1137. package/lib/cjs/render/RenderMaterial.d.ts.map +0 -1
  1138. package/lib/cjs/render/RenderMaterial.js.map +0 -1
  1139. package/lib/cjs/render/RenderTexture.d.ts.map +0 -1
  1140. package/lib/cjs/render/RenderTexture.js.map +0 -1
  1141. package/lib/cjs/render/primitives/AuxChannelTable.d.ts.map +0 -1
  1142. package/lib/cjs/render/primitives/AuxChannelTable.js.map +0 -1
  1143. package/lib/cjs/render/primitives/DisplayParams.d.ts.map +0 -1
  1144. package/lib/cjs/render/primitives/DisplayParams.js.map +0 -1
  1145. package/lib/cjs/render/primitives/SurfaceParams.d.ts.map +0 -1
  1146. package/lib/cjs/render/primitives/SurfaceParams.js.map +0 -1
  1147. package/lib/cjs/render/primitives/VertexTable.d.ts +0 -152
  1148. package/lib/cjs/render/primitives/VertexTable.d.ts.map +0 -1
  1149. package/lib/cjs/render/primitives/VertexTable.js.map +0 -1
  1150. package/lib/cjs/render/primitives/VertexTableSplitter.d.ts.map +0 -1
  1151. package/lib/cjs/render/primitives/VertexTableSplitter.js.map +0 -1
  1152. package/lib/cjs/render-primitives.d.ts +0 -21
  1153. package/lib/cjs/render-primitives.d.ts.map +0 -1
  1154. package/lib/cjs/render-primitives.js +0 -41
  1155. package/lib/cjs/render-primitives.js.map +0 -1
  1156. package/lib/esm/FrontendLoggerCategory.d.ts.map +0 -1
  1157. package/lib/esm/FrontendLoggerCategory.js.map +0 -1
  1158. package/lib/esm/ImageUtil.d.ts.map +0 -1
  1159. package/lib/esm/ImageUtil.js.map +0 -1
  1160. package/lib/esm/ViewRect.d.ts.map +0 -1
  1161. package/lib/esm/ViewRect.js.map +0 -1
  1162. package/lib/esm/WebWorkerManager.d.ts +0 -49
  1163. package/lib/esm/WebWorkerManager.d.ts.map +0 -1
  1164. package/lib/esm/WebWorkerManager.js +0 -150
  1165. package/lib/esm/WebWorkerManager.js.map +0 -1
  1166. package/lib/esm/gltf/GltfModel.d.ts.map +0 -1
  1167. package/lib/esm/gltf/GltfModel.js.map +0 -1
  1168. package/lib/esm/gltf/GltfParser.d.ts.map +0 -1
  1169. package/lib/esm/gltf/GltfParser.js.map +0 -1
  1170. package/lib/esm/gltf/GltfSchema.d.ts.map +0 -1
  1171. package/lib/esm/gltf/GltfSchema.js.map +0 -1
  1172. package/lib/esm/imdl/ImdlGraphicsCreator.d.ts.map +0 -1
  1173. package/lib/esm/imdl/ImdlGraphicsCreator.js.map +0 -1
  1174. package/lib/esm/imdl/ImdlModel.d.ts.map +0 -1
  1175. package/lib/esm/imdl/ImdlModel.js.map +0 -1
  1176. package/lib/esm/imdl/ImdlParser.d.ts.map +0 -1
  1177. package/lib/esm/imdl/ImdlParser.js.map +0 -1
  1178. package/lib/esm/imdl/ImdlSchema.d.ts.map +0 -1
  1179. package/lib/esm/imdl/ImdlSchema.js.map +0 -1
  1180. package/lib/esm/render/RenderMaterial.d.ts.map +0 -1
  1181. package/lib/esm/render/RenderMaterial.js.map +0 -1
  1182. package/lib/esm/render/RenderTexture.d.ts.map +0 -1
  1183. package/lib/esm/render/RenderTexture.js.map +0 -1
  1184. package/lib/esm/render/primitives/AuxChannelTable.d.ts.map +0 -1
  1185. package/lib/esm/render/primitives/AuxChannelTable.js.map +0 -1
  1186. package/lib/esm/render/primitives/DisplayParams.d.ts.map +0 -1
  1187. package/lib/esm/render/primitives/DisplayParams.js.map +0 -1
  1188. package/lib/esm/render/primitives/SurfaceParams.d.ts.map +0 -1
  1189. package/lib/esm/render/primitives/SurfaceParams.js.map +0 -1
  1190. package/lib/esm/render/primitives/VertexTable.d.ts +0 -152
  1191. package/lib/esm/render/primitives/VertexTable.d.ts.map +0 -1
  1192. package/lib/esm/render/primitives/VertexTable.js.map +0 -1
  1193. package/lib/esm/render/primitives/VertexTableSplitter.d.ts.map +0 -1
  1194. package/lib/esm/render/primitives/VertexTableSplitter.js.map +0 -1
  1195. package/lib/esm/render-primitives.d.ts +0 -21
  1196. package/lib/esm/render-primitives.d.ts.map +0 -1
  1197. package/lib/esm/render-primitives.js +0 -25
  1198. package/lib/esm/render-primitives.js.map +0 -1
  1199. /package/lib/cjs/{FrontendLoggerCategory.d.ts → common/FrontendLoggerCategory.d.ts} +0 -0
  1200. /package/lib/cjs/{FrontendLoggerCategory.js → common/FrontendLoggerCategory.js} +0 -0
  1201. /package/lib/cjs/{ImageUtil.d.ts → common/ImageUtil.d.ts} +0 -0
  1202. /package/lib/cjs/{ViewRect.d.ts → common/ViewRect.d.ts} +0 -0
  1203. /package/lib/cjs/{ViewRect.js → common/ViewRect.js} +0 -0
  1204. /package/lib/cjs/{gltf → common/gltf}/GltfModel.js +0 -0
  1205. /package/lib/cjs/{gltf → common/gltf}/GltfParser.d.ts +0 -0
  1206. /package/lib/cjs/{gltf → common/gltf}/GltfParser.js +0 -0
  1207. /package/lib/cjs/{gltf → common/gltf}/GltfSchema.d.ts +0 -0
  1208. /package/lib/cjs/{gltf → common/gltf}/GltfSchema.js +0 -0
  1209. /package/lib/cjs/{render → common/render}/primitives/DisplayParams.d.ts +0 -0
  1210. /package/lib/cjs/{render → common/render}/primitives/DisplayParams.js +0 -0
  1211. /package/lib/cjs/{render → common/render}/primitives/SurfaceParams.js +0 -0
  1212. /package/lib/esm/{FrontendLoggerCategory.d.ts → common/FrontendLoggerCategory.d.ts} +0 -0
  1213. /package/lib/esm/{FrontendLoggerCategory.js → common/FrontendLoggerCategory.js} +0 -0
  1214. /package/lib/esm/{ImageUtil.d.ts → common/ImageUtil.d.ts} +0 -0
  1215. /package/lib/esm/{ViewRect.d.ts → common/ViewRect.d.ts} +0 -0
  1216. /package/lib/esm/{ViewRect.js → common/ViewRect.js} +0 -0
  1217. /package/lib/esm/{gltf → common/gltf}/GltfModel.js +0 -0
  1218. /package/lib/esm/{gltf → common/gltf}/GltfParser.d.ts +0 -0
  1219. /package/lib/esm/{gltf → common/gltf}/GltfParser.js +0 -0
  1220. /package/lib/esm/{gltf → common/gltf}/GltfSchema.d.ts +0 -0
  1221. /package/lib/esm/{gltf → common/gltf}/GltfSchema.js +0 -0
  1222. /package/lib/esm/{render → common/render}/primitives/DisplayParams.d.ts +0 -0
  1223. /package/lib/esm/{render → common/render}/primitives/DisplayParams.js +0 -0
  1224. /package/lib/esm/{render → common/render}/primitives/SurfaceParams.js +0 -0
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ArcGISMapLayerImageryProvider = void 0;
3
+ exports.ArcGISMapLayerImageryProvider = exports.ArcGISIdentifyRequestUrl = void 0;
4
4
  /*---------------------------------------------------------------------------------------------
5
5
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
6
6
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -16,13 +16,51 @@ const core_geometry_1 = require("@itwin/core-geometry");
16
16
  const core_bentley_1 = require("@itwin/core-bentley");
17
17
  const loggerCategory = "MapLayerImageryProvider.ArcGISMapLayerImageryProvider";
18
18
  /** @internal */
19
+ class ArcGISIdentifyRequestUrl {
20
+ static fromJSON(baseUrl, json, srFractionDigits) {
21
+ const newUrl = new URL(baseUrl);
22
+ newUrl.pathname = `${newUrl.pathname}/identify`;
23
+ if (json.f) {
24
+ newUrl.searchParams.append("f", json.f);
25
+ }
26
+ const geomPt = core_geometry_1.Point2d.fromJSON(json.geometry);
27
+ newUrl.searchParams.append("geometry", `${this.toFixed(geomPt.x, srFractionDigits)},${this.toFixed(geomPt.y, srFractionDigits)}`);
28
+ newUrl.searchParams.append("geometryType", json.geometryType);
29
+ if (json.sr) {
30
+ newUrl.searchParams.append("sr", `${json.geometryType}`);
31
+ }
32
+ if (json.layers) {
33
+ newUrl.searchParams.append("layers", `${json.layers.prefix}${json.layers.layerIds?.length ? `: ${json.layers.layerIds.join(",")}` : ""}`);
34
+ }
35
+ newUrl.searchParams.append("tolerance", `${json.tolerance}`);
36
+ newUrl.searchParams.append("mapExtent", ArcGISIdentifyRequestUrl.getExtentString(json.mapExtent, srFractionDigits));
37
+ newUrl.searchParams.append("imageDisplay", `${json.imageDisplay.width},${json.imageDisplay.height},${json.imageDisplay.dpi}`);
38
+ if (json.returnGeometry !== undefined) {
39
+ newUrl.searchParams.append("returnGeometry", json.returnGeometry ? "true" : "false");
40
+ }
41
+ if (json.maxAllowableOffset !== undefined) {
42
+ newUrl.searchParams.append("maxAllowableOffset", `${this.toFixed(json.maxAllowableOffset, srFractionDigits)}`);
43
+ }
44
+ return newUrl;
45
+ }
46
+ static toFixed(value, srFractionDigits) {
47
+ return srFractionDigits === undefined ? value.toString() : value.toFixed(srFractionDigits);
48
+ }
49
+ static getExtentString(range, srFractionDigits) {
50
+ const extent = core_geometry_1.Range2d.fromJSON(range);
51
+ const extentStringArray = [];
52
+ extent.toFloat64Array().forEach((value) => extentStringArray.push(this.toFixed(value, srFractionDigits)));
53
+ return extentStringArray.join(",");
54
+ }
55
+ }
56
+ exports.ArcGISIdentifyRequestUrl = ArcGISIdentifyRequestUrl;
57
+ /** @internal */
19
58
  class ArcGISMapLayerImageryProvider extends internal_1.ArcGISImageryProvider {
20
59
  constructor(settings) {
21
60
  super(settings, false);
22
61
  this._maxDepthFromLod = 0;
23
62
  this._minDepthFromLod = 0;
24
63
  this._copyrightText = "Copyright";
25
- this._querySupported = false;
26
64
  this._tileMapSupported = false;
27
65
  this._mapSupported = false;
28
66
  this._tilesOnly = false;
@@ -178,12 +216,24 @@ class ArcGISMapLayerImageryProvider extends internal_1.ArcGISImageryProvider {
178
216
  }
179
217
  // Translates the provided Cartographic into a EPSG:3857 point, and retrieve information.
180
218
  // tolerance is in pixels
181
- async getIdentifyData(quadId, carto, tolerance) {
182
- const bboxString = this.getEPSG3857ExtentString(quadId.row, quadId.column, quadId.level);
183
- const x = this.getEPSG3857X(carto.longitudeDegrees);
184
- const y = this.getEPSG3857Y(carto.latitudeDegrees);
185
- const tmpUrl = `${this._settings.url}/identify?f=json&tolerance=${tolerance}&returnGeometry=false&sr=3857&imageDisplay=${this.tileSize},${this.tileSize},96&layers=${this.getLayerString("visible")}&geometry=${x},${y}&geometryType=esriGeometryPoint&mapExtent=${bboxString}`;
186
- const urlObj = new URL(tmpUrl);
219
+ async getIdentifyData(quadId, carto, tolerance, returnGeometry, maxAllowableOffset) {
220
+ const bbox = this.getEPSG3857Extent(quadId.row, quadId.column, quadId.level);
221
+ const layerIds = new Array();
222
+ this._settings.subLayers.forEach((subLayer) => {
223
+ if (this._settings.isSubLayerVisible(subLayer))
224
+ layerIds.push(subLayer.idString);
225
+ });
226
+ const urlObj = ArcGISIdentifyRequestUrl.fromJSON(this._settings.url, {
227
+ f: "json",
228
+ geometry: { x: this.getEPSG3857X(carto.longitudeDegrees), y: this.getEPSG3857Y(carto.latitudeDegrees) },
229
+ geometryType: "esriGeometryPoint",
230
+ tolerance,
231
+ mapExtent: { low: { x: bbox.left, y: bbox.bottom }, high: { x: bbox.right, y: bbox.top } },
232
+ imageDisplay: { width: this.tileSize, height: this.tileSize, dpi: 96 },
233
+ layers: { prefix: "visible", layerIds },
234
+ returnGeometry,
235
+ maxAllowableOffset
236
+ }, 3 /* 1mm accuracy*/);
187
237
  const response = await this.fetch(urlObj, { method: "GET" });
188
238
  return response.json();
189
239
  }
@@ -207,29 +257,52 @@ class ArcGISMapLayerImageryProvider extends internal_1.ArcGISImageryProvider {
207
257
  }
208
258
  }
209
259
  // Makes an identify request to ESRI MapService , and return it as a list MapLayerFeatureInfo object
210
- async getFeatureInfo(featureInfos, quadId, carto, _tree) {
260
+ async getFeatureInfo(featureInfos, quadId, carto, _tree, hit) {
211
261
  if (!this._querySupported)
212
262
  return;
213
- const json = await this.getIdentifyData(quadId, carto, 5);
263
+ const tileExtent = this.getEPSG3857Extent(quadId.row, quadId.column, quadId.level);
264
+ const toleranceWorld = (tileExtent.top - tileExtent.bottom) / this.tileSize;
265
+ const maxAllowableOffsetFactor = 2;
266
+ const maxAllowableOffset = maxAllowableOffsetFactor * toleranceWorld;
267
+ const json = await this.getIdentifyData(quadId, carto, 5, true, maxAllowableOffset);
214
268
  if (json && Array.isArray(json.results)) {
215
- const layerInfo = { layerName: this._settings.name };
269
+ const renderer = new internal_1.ArcGisGraphicsRenderer(hit.iModel);
270
+ const layerInfo = { layerName: this._settings.name, subLayerInfos: [] };
271
+ // The 'identify' service returns us a flat/unordered list of records..
272
+ // results may represent features for the a common subLayer.
273
+ // For simplicity, we group together features for a given sub-layer.
274
+ const subLayers = new Map();
216
275
  for (const result of json.results) {
217
- const subLayerInfo = {
218
- subLayerName: result.layerName ?? "",
219
- displayFieldName: result.displayFieldName,
220
- records: [],
221
- };
276
+ let subLayerInfo = subLayers.get(result.layerName);
277
+ if (!subLayerInfo) {
278
+ subLayerInfo = {
279
+ subLayerName: result.layerName ?? "",
280
+ displayFieldName: result.displayFieldName,
281
+ features: [],
282
+ };
283
+ subLayers.set(result.layerName, subLayerInfo);
284
+ }
285
+ const feature = { geometries: [], attributes: [] };
286
+ // Read all feature attributes
222
287
  for (const [key, value] of Object.entries(result.attributes)) {
223
288
  // Convert everything to string for now
224
289
  const strValue = String(value);
225
- subLayerInfo.records?.push(new internal_1.MapFeatureInfoRecord({ valueFormat: appui_abstract_1.PropertyValueFormat.Primitive, value: strValue, displayValue: strValue }, { name: key, displayLabel: key, typename: appui_abstract_1.StandardTypeNames.String }));
226
- }
227
- if (layerInfo.info === undefined) {
228
- layerInfo.info = [];
229
- }
230
- if (!(layerInfo.info instanceof HTMLElement)) {
231
- layerInfo.info.push(subLayerInfo);
290
+ feature.attributes.push({
291
+ value: { valueFormat: appui_abstract_1.PropertyValueFormat.Primitive, value: strValue, displayValue: strValue },
292
+ property: { name: key, displayLabel: key, typename: appui_abstract_1.StandardTypeNames.String },
293
+ });
232
294
  }
295
+ // Read feature geometries
296
+ const geomReader = new internal_1.ArcGisGeometryReaderJSON(result.geometryType, renderer);
297
+ await geomReader.readGeometry(result.geometry);
298
+ const graphics = renderer.moveGraphics();
299
+ feature.geometries = graphics.map((graphic) => {
300
+ return { graphic };
301
+ });
302
+ subLayerInfo.features.push(feature);
303
+ }
304
+ for (const value of subLayers.values()) {
305
+ layerInfo.subLayerInfos.push(value);
233
306
  }
234
307
  featureInfos.push(layerInfo);
235
308
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ArcGISMapLayerImageryProvider.js","sourceRoot":"","sources":["../../../../../src/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\nimport { Cartographic, ImageMapLayerSettings, ImageSource, IModelStatus, ServerError } from \"@itwin/core-common\";\r\nimport { IModelApp } from \"../../../IModelApp\";\r\nimport {\r\n ArcGisErrorCode, ArcGISImageryProvider, ArcGISTileMap,\r\n ArcGisUtilities,\r\n ImageryMapTile, ImageryMapTileTree, MapCartoRectangle, MapFeatureInfoRecord, MapLayerFeatureInfo,\r\n MapLayerImageryProviderStatus, MapSubLayerFeatureInfo, QuadId,\r\n} from \"../../internal\";\r\nimport { PropertyValueFormat, StandardTypeNames } from \"@itwin/appui-abstract\";\r\nimport { Range2d } from \"@itwin/core-geometry\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\n\r\nconst loggerCategory = \"MapLayerImageryProvider.ArcGISMapLayerImageryProvider\";\r\n\r\n/** @internal */\r\nexport class ArcGISMapLayerImageryProvider extends ArcGISImageryProvider {\r\n private _maxDepthFromLod = 0;\r\n private _minDepthFromLod = 0;\r\n private _copyrightText = \"Copyright\";\r\n private _querySupported = false;\r\n private _tileMapSupported = false;\r\n private _mapSupported = false;\r\n private _tilesOnly = false;\r\n private _tileMap: ArcGISTileMap|undefined;\r\n\r\n public serviceJson: any;\r\n constructor(settings: ImageMapLayerSettings) {\r\n super(settings, false);\r\n this._accessClient = IModelApp.mapLayerFormatRegistry.getAccessClient(settings.formatId);\r\n }\r\n\r\n protected override get _filterByCartoRange() { return false; } // Can't trust footprint ranges (USGS Hydro)\r\n\r\n public override get minimumZoomLevel() { return Math.max(super.minimumZoomLevel, this._minDepthFromLod); }\r\n public override get maximumZoomLevel() { return this._maxDepthFromLod > 0 ? this._maxDepthFromLod : super.maximumZoomLevel; }\r\n\r\n public uintToString(uintArray: any) {\r\n return Buffer.from(uintArray).toJSON();\r\n\r\n }\r\n\r\n private async fetchTile(row: number, column: number, zoomLevel: number) {\r\n const tileUrl: string = await this.constructUrl(row, column, zoomLevel);\r\n if (tileUrl.length === 0)\r\n return undefined;\r\n return this.fetch(new URL(tileUrl), { method: \"GET\" });\r\n }\r\n\r\n public override async loadTile(row: number, column: number, zoomLevel: number): Promise<ImageSource | undefined> {\r\n if ((this.status === MapLayerImageryProviderStatus.RequireAuth)) {\r\n return undefined;\r\n }\r\n\r\n try {\r\n const tileResponse = await this.fetchTile(row, column, zoomLevel);\r\n if (tileResponse === undefined)\r\n return undefined;\r\n\r\n if (!this._hasSuccessfullyFetchedTile) {\r\n this._hasSuccessfullyFetchedTile = true;\r\n }\r\n return await this.getImageFromTileResponse(tileResponse, zoomLevel);\r\n } catch (error) {\r\n Logger.logError(loggerCategory, `Error occurred when loading tile(${row},${column},${zoomLevel}) : ${error}`);\r\n return undefined;\r\n }\r\n }\r\n\r\n protected override _generateChildIds(tile: ImageryMapTile, resolveChildren: (childIds: QuadId[]) => void) {\r\n const childIds = this.getPotentialChildIds(tile);\r\n if (tile.quadId.level < Math.max(1, this.minimumZoomLevel-1)) {\r\n resolveChildren(childIds);\r\n return;\r\n }\r\n\r\n if (this._tileMap) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this._tileMap.getChildrenAvailability(childIds).then((availability) => {\r\n const availableChildIds = new Array<QuadId>();\r\n for (let i = 0; i < availability.length; i++)\r\n if (availability[i])\r\n availableChildIds.push(childIds[i]);\r\n\r\n resolveChildren (availableChildIds);\r\n });\r\n } else if (this._usesCachedTiles && this.cartoRange) {\r\n // Filter children by range\r\n const availableChildIds = new Array<QuadId>();\r\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\r\n for (let i = 0; i < childIds.length; i++) {\r\n const childExtent = this.getEPSG4326Extent(childIds[i].row, childIds[i].column, childIds[i].level);\r\n\r\n const childRange = MapCartoRectangle.fromDegrees(childExtent.longitudeLeft, childExtent.latitudeBottom, childExtent.longitudeRight, childExtent.latitudeTop);\r\n if (childRange.intersectsRange(this.cartoRange)) {\r\n availableChildIds.push(childIds[i]);\r\n }\r\n }\r\n resolveChildren (availableChildIds);\r\n } else {\r\n resolveChildren (childIds); // Resolve all children\r\n }\r\n }\r\n\r\n public override async initialize(): Promise<void> {\r\n\r\n const metadata = await this.getServiceJson();\r\n\r\n if (metadata?.content === undefined)\r\n throw new ServerError(IModelStatus.ValidationFailed, \"\");\r\n\r\n const json = metadata.content;\r\n if (json?.error?.code === ArcGisErrorCode.TokenRequired || json?.error?.code === ArcGisErrorCode.InvalidToken) {\r\n // Check again layer status, it might have change during await.\r\n if (this.status === MapLayerImageryProviderStatus.Valid) {\r\n this.setStatus(MapLayerImageryProviderStatus.RequireAuth);\r\n return; // By returning (i.e not throwing), we ensure the tileTree get created and current provider is preserved to report status.\r\n }\r\n }\r\n\r\n this.serviceJson = json;\r\n\r\n if (json.capabilities) {\r\n const capabilities = json.capabilities.split(\",\");\r\n\r\n this._querySupported = capabilities.includes(\"Query\");\r\n this._tileMapSupported = capabilities.includes(\"Tilemap\");\r\n this._mapSupported = capabilities.includes(\"Map\");\r\n this._tilesOnly = capabilities.includes(\"TilesOnly\");\r\n }\r\n\r\n if (json.copyrightText)\r\n this._copyrightText = json.copyrightText;\r\n\r\n this._usesCachedTiles = !!json.tileInfo;\r\n\r\n if (this._usesCachedTiles) {\r\n // Only EPSG:3857 is supported with pre-rendered tiles. Fall back to 'Export' queries if possible otherwise throw.\r\n if (!ArcGisUtilities.isEpsg3857Compatible(json.tileInfo)) {\r\n if (this._mapSupported && !this._tilesOnly) {\r\n this._usesCachedTiles = false;\r\n } else {\r\n throw new ServerError(IModelStatus.ValidationFailed, \"Invalid coordinate system\");\r\n }\r\n }\r\n }\r\n\r\n if (this._usesCachedTiles) {\r\n // Read max LOD\r\n if (json.maxScale !== undefined && json.maxScale !== 0 && Array.isArray(json.tileInfo.lods)) {\r\n for (; this._maxDepthFromLod < json.tileInfo.lods.length && json.tileInfo.lods[this._maxDepthFromLod].scale > json.maxScale; this._maxDepthFromLod++)\r\n ;\r\n }\r\n\r\n // Create tile map object only if we are going to request tiles from this server and it support tilemap requests.\r\n if (this._tileMapSupported) {\r\n this._tileMap = new ArcGISTileMap(this._settings.url, this._settings, json.tileInfo?.lods?.length, this._accessClient);\r\n }\r\n }\r\n\r\n // Read range using fullextent from service metadata\r\n if (json.fullExtent) {\r\n if (json.fullExtent.spatialReference.latestWkid === 3857 || json.fullExtent.spatialReference.wkid === 102100) {\r\n const range3857 = Range2d.createFrom({\r\n low: {x: json.fullExtent.xmin, y: json.fullExtent.ymin},\r\n high: {x: json.fullExtent.xmax, y: json.fullExtent.ymax} });\r\n\r\n const west = this.getEPSG4326Lon(range3857.xLow);\r\n const south = this.getEPSG4326Lat(range3857.yLow);\r\n const east = this.getEPSG4326Lon(range3857.xHigh);\r\n const north = this.getEPSG4326Lat(range3857.yHigh);\r\n this.cartoRange = MapCartoRectangle.fromDegrees(west, south, east, north);\r\n }\r\n }\r\n\r\n // Read minLOD if available\r\n if (json.minLOD !== undefined) {\r\n const minLod = parseInt(json.minLOD, 10);\r\n if (!Number.isNaN(minLod)) {\r\n this._minDepthFromLod = minLod;\r\n }\r\n } else if (json.minScale) {\r\n // Read min LOD using minScale\r\n const minScale = json.minScale;\r\n if (json.tileInfo?.lods !== undefined && Array.isArray(json.tileInfo.lods)) {\r\n for (const lod of json.tileInfo.lods) {\r\n if (lod.scale < minScale) {\r\n this._minDepthFromLod = lod.level;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n public override addLogoCards(cards: HTMLTableElement): void {\r\n if (!cards.dataset.arcGisLogoCard) {\r\n cards.dataset.arcGisLogoCard = \"true\";\r\n cards.appendChild(IModelApp.makeLogoCard({ heading: \"ArcGIS\", notice: this._copyrightText }));\r\n }\r\n }\r\n\r\n // Translates the provided Cartographic into a EPSG:3857 point, and retrieve information.\r\n // tolerance is in pixels\r\n private async getIdentifyData(quadId: QuadId, carto: Cartographic, tolerance: number): Promise<any> {\r\n const bboxString = this.getEPSG3857ExtentString(quadId.row, quadId.column, quadId.level);\r\n const x = this.getEPSG3857X(carto.longitudeDegrees);\r\n const y = this.getEPSG3857Y(carto.latitudeDegrees);\r\n const tmpUrl = `${this._settings.url}/identify?f=json&tolerance=${tolerance}&returnGeometry=false&sr=3857&imageDisplay=${this.tileSize},${this.tileSize},96&layers=${this.getLayerString(\"visible\")}&geometry=${x},${y}&geometryType=esriGeometryPoint&mapExtent=${bboxString}`;\r\n const urlObj = new URL(tmpUrl);\r\n\r\n const response = await this.fetch(urlObj, { method: \"GET\" } );\r\n return response.json();\r\n }\r\n\r\n // Makes an identify request to ESRI MapService server, and return it as a list of formatted strings\r\n public override async getToolTip(strings: string[], quadId: QuadId, carto: Cartographic, tree: ImageryMapTileTree): Promise<void> {\r\n await super.getToolTip(strings, quadId, carto, tree);\r\n\r\n if (!this._querySupported)\r\n return;\r\n\r\n const stringSet = new Set<string>();\r\n const json = await this.getIdentifyData(quadId, carto, 1);\r\n\r\n if (json && Array.isArray(json.results)) {\r\n for (const result of json.results) {\r\n if (result.attributes !== undefined && result.attributes[result.displayFieldName] !== undefined) {\r\n const thisString = `${result.displayFieldName}: ${result.attributes[result.displayFieldName]}`;\r\n if (!stringSet.has(thisString)) {\r\n strings.push(thisString);\r\n stringSet.add(thisString);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Makes an identify request to ESRI MapService , and return it as a list MapLayerFeatureInfo object\r\n public override async getFeatureInfo(featureInfos: MapLayerFeatureInfo[], quadId: QuadId, carto: Cartographic, _tree: ImageryMapTileTree): Promise<void> {\r\n if (!this._querySupported)\r\n return;\r\n\r\n const json = await this.getIdentifyData(quadId, carto,5 );\r\n if (json && Array.isArray(json.results)) {\r\n const layerInfo: MapLayerFeatureInfo = {layerName: this._settings.name};\r\n\r\n for (const result of json.results) {\r\n\r\n const subLayerInfo: MapSubLayerFeatureInfo = {\r\n subLayerName: result.layerName ?? \"\",\r\n displayFieldName: result.displayFieldName,\r\n records : [],\r\n };\r\n for (const [key, value] of Object.entries(result.attributes)) {\r\n // Convert everything to string for now\r\n const strValue = String(value);\r\n subLayerInfo.records?.push(new MapFeatureInfoRecord (\r\n {valueFormat:PropertyValueFormat.Primitive, value:strValue, displayValue: strValue},\r\n {name: key, displayLabel: key, typename:StandardTypeNames.String}\r\n ));\r\n }\r\n\r\n if (layerInfo.info === undefined) {\r\n layerInfo.info = [];\r\n }\r\n\r\n if (!(layerInfo.info instanceof HTMLElement)) {\r\n layerInfo.info.push(subLayerInfo);\r\n }\r\n\r\n }\r\n\r\n featureInfos.push(layerInfo);\r\n }\r\n }\r\n\r\n protected getLayerString(prefix = \"show\"): string {\r\n const layers = new Array<string>();\r\n this._settings.subLayers.forEach((subLayer) => {\r\n if (this._settings.isSubLayerVisible(subLayer))\r\n layers.push(subLayer.idString);\r\n });\r\n\r\n return `${prefix}: ${layers.join(\",\")} `;\r\n }\r\n\r\n // construct the Url from the desired Tile\r\n public async constructUrl(row: number, column: number, zoomLevel: number): Promise<string> {\r\n let tmpUrl;\r\n if (this._usesCachedTiles) {\r\n tmpUrl = `${this._settings.url}/tile/${zoomLevel}/${row}/${column} `;\r\n } else {\r\n const bboxString = `${this.getEPSG3857ExtentString(row, column, zoomLevel)}&bboxSR=3857`;\r\n tmpUrl = `${this._settings.url}/export?bbox=${bboxString}&size=${this.tileSize},${this.tileSize}&layers=${this.getLayerString()}&format=png&transparent=${this.transparentBackgroundString}&f=image&sr=3857&imagesr=3857`;\r\n }\r\n return tmpUrl;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ArcGISMapLayerImageryProvider.js","sourceRoot":"","sources":["../../../../../src/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\nimport { Cartographic, ImageMapLayerSettings, ImageSource, IModelStatus, ServerError } from \"@itwin/core-common\";\r\nimport { IModelApp } from \"../../../IModelApp\";\r\nimport {\r\n ArcGisErrorCode, ArcGisGeometryReaderJSON, ArcGisGraphicsRenderer, ArcGISImageryProvider, ArcGISTileMap,\r\n ArcGisUtilities,\r\n ImageryMapTile, ImageryMapTileTree, MapCartoRectangle, MapLayerFeature, MapLayerFeatureInfo,\r\n MapLayerImageryProviderStatus, MapSubLayerFeatureInfo, QuadId,\r\n} from \"../../internal\";\r\nimport { PropertyValueFormat, StandardTypeNames } from \"@itwin/appui-abstract\";\r\nimport { Point2d, Range2d, Range2dProps, XYProps } from \"@itwin/core-geometry\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { HitDetail } from \"../../../HitDetail\";\r\n\r\nconst loggerCategory = \"MapLayerImageryProvider.ArcGISMapLayerImageryProvider\";\r\n\r\n/** @internal */\r\nexport interface ArcGISIdentifyImageDisplayProps {\r\n width: number;\r\n height: number;\r\n dpi: number;\r\n}\r\n\r\n/** @internal */\r\nexport interface ArcGISIdentifyLayersProps {\r\n prefix: \"top\"|\"visible\"|\"all\";\r\n layerIds?: string[];\r\n}\r\n\r\n/** @internal */\r\nexport interface ArcGISIdentifyRequestUrlProps {\r\n /** The geometry to identify on. Point only support */\r\n geometry: XYProps;\r\n\r\n /** The type of geometry specified by the geometry parameter. Point only support */\r\n geometryType: \"esriGeometryPoint\";\r\n\r\n /** The well-known ID of the spatial reference of the input and output geometries as well as the mapExtent. */\r\n sr?: number;\r\n\r\n /** The layers to perform the identify operation on. The default value is top.\r\n * Format: [top | visible | all]:layerId1,layerId2\r\n */\r\n layers?: ArcGISIdentifyLayersProps;\r\n\r\n /** The distance in screen pixels from the specified geometry within which the identify operation should be performed.\r\n * The value for the tolerance is an integer.\r\n */\r\n tolerance: number;\r\n\r\n /** The extent or bounding box of the map currently being viewed.\r\n * Format: <xmin>, <ymin>, <xmax>, <ymax>\r\n */\r\n mapExtent: Range2dProps;\r\n\r\n /** The screen image display parameters (width, height, and DPI) of the map being currently viewed. T\r\n * Format: <width>,<height>,<dpi>\r\n */\r\n imageDisplay: ArcGISIdentifyImageDisplayProps;\r\n\r\n /** If true, the result set will include the geometries associated with each result. The default is true.\r\n */\r\n returnGeometry?: boolean;\r\n\r\n /** This option can be used to specify the maximum allowable offset to be used for generalizing geometries returned by the identify operation.\r\n * The maxAllowableOffset is in the units of the sr.\r\n */\r\n maxAllowableOffset?: number;\r\n\r\n /** The response format. The default response format is html.\r\n */\r\n f?: \"json\"|\"html\";\r\n\r\n}\r\n\r\n/** @internal */\r\nexport class ArcGISIdentifyRequestUrl {\r\n public static fromJSON(baseUrl: URL|string, json: ArcGISIdentifyRequestUrlProps, srFractionDigits?: number): URL {\r\n\r\n const newUrl = new URL(baseUrl);\r\n newUrl.pathname = `${newUrl.pathname}/identify`;\r\n\r\n if (json.f) {\r\n newUrl.searchParams.append(\"f\", json.f);\r\n }\r\n\r\n const geomPt = Point2d.fromJSON(json.geometry);\r\n newUrl.searchParams.append(\"geometry\", `${this.toFixed(geomPt.x, srFractionDigits)},${this.toFixed(geomPt.y, srFractionDigits)}`);\r\n newUrl.searchParams.append(\"geometryType\", json.geometryType);\r\n\r\n if (json.sr) {\r\n newUrl.searchParams.append(\"sr\", `${json.geometryType}`);\r\n }\r\n\r\n if (json.layers) {\r\n newUrl.searchParams.append(\"layers\", `${json.layers.prefix}${json.layers.layerIds?.length ? `: ${json.layers.layerIds.join(\",\")}` : \"\"}`);\r\n }\r\n\r\n newUrl.searchParams.append(\"tolerance\", `${json.tolerance}`);\r\n\r\n newUrl.searchParams.append(\"mapExtent\", ArcGISIdentifyRequestUrl.getExtentString(json.mapExtent, srFractionDigits));\r\n\r\n newUrl.searchParams.append(\"imageDisplay\", `${json.imageDisplay.width},${json.imageDisplay.height},${json.imageDisplay.dpi}`);\r\n\r\n if (json.returnGeometry !== undefined) {\r\n newUrl.searchParams.append(\"returnGeometry\", json.returnGeometry ? \"true\" : \"false\");\r\n }\r\n\r\n if (json.maxAllowableOffset !== undefined) {\r\n newUrl.searchParams.append(\"maxAllowableOffset\", `${this.toFixed(json.maxAllowableOffset, srFractionDigits)}`);\r\n }\r\n\r\n return newUrl;\r\n }\r\n\r\n public static toFixed(value: number, srFractionDigits?: number) {\r\n return srFractionDigits === undefined ? value.toString() : value.toFixed(srFractionDigits);\r\n }\r\n\r\n public static getExtentString(range: Range2dProps, srFractionDigits?: number) {\r\n const extent = Range2d.fromJSON(range);\r\n const extentStringArray: string[] = [];\r\n extent.toFloat64Array().forEach((value) => extentStringArray.push(this.toFixed(value, srFractionDigits)));\r\n return extentStringArray.join(\",\");\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class ArcGISMapLayerImageryProvider extends ArcGISImageryProvider {\r\n private _maxDepthFromLod = 0;\r\n private _minDepthFromLod = 0;\r\n private _copyrightText = \"Copyright\";\r\n private _tileMapSupported = false;\r\n private _mapSupported = false;\r\n private _tilesOnly = false;\r\n private _tileMap: ArcGISTileMap|undefined;\r\n\r\n public serviceJson: any;\r\n constructor(settings: ImageMapLayerSettings) {\r\n super(settings, false);\r\n this._accessClient = IModelApp.mapLayerFormatRegistry.getAccessClient(settings.formatId);\r\n }\r\n\r\n protected override get _filterByCartoRange() { return false; } // Can't trust footprint ranges (USGS Hydro)\r\n\r\n public override get minimumZoomLevel() { return Math.max(super.minimumZoomLevel, this._minDepthFromLod); }\r\n public override get maximumZoomLevel() { return this._maxDepthFromLod > 0 ? this._maxDepthFromLod : super.maximumZoomLevel; }\r\n\r\n public uintToString(uintArray: any) {\r\n return Buffer.from(uintArray).toJSON();\r\n\r\n }\r\n\r\n private async fetchTile(row: number, column: number, zoomLevel: number) {\r\n const tileUrl: string = await this.constructUrl(row, column, zoomLevel);\r\n if (tileUrl.length === 0)\r\n return undefined;\r\n return this.fetch(new URL(tileUrl), { method: \"GET\" });\r\n }\r\n\r\n public override async loadTile(row: number, column: number, zoomLevel: number): Promise<ImageSource | undefined> {\r\n if ((this.status === MapLayerImageryProviderStatus.RequireAuth)) {\r\n return undefined;\r\n }\r\n\r\n try {\r\n const tileResponse = await this.fetchTile(row, column, zoomLevel);\r\n if (tileResponse === undefined)\r\n return undefined;\r\n\r\n if (!this._hasSuccessfullyFetchedTile) {\r\n this._hasSuccessfullyFetchedTile = true;\r\n }\r\n return await this.getImageFromTileResponse(tileResponse, zoomLevel);\r\n } catch (error) {\r\n Logger.logError(loggerCategory, `Error occurred when loading tile(${row},${column},${zoomLevel}) : ${error}`);\r\n return undefined;\r\n }\r\n }\r\n\r\n protected override _generateChildIds(tile: ImageryMapTile, resolveChildren: (childIds: QuadId[]) => void) {\r\n const childIds = this.getPotentialChildIds(tile);\r\n if (tile.quadId.level < Math.max(1, this.minimumZoomLevel-1)) {\r\n resolveChildren(childIds);\r\n return;\r\n }\r\n\r\n if (this._tileMap) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this._tileMap.getChildrenAvailability(childIds).then((availability) => {\r\n const availableChildIds = new Array<QuadId>();\r\n for (let i = 0; i < availability.length; i++)\r\n if (availability[i])\r\n availableChildIds.push(childIds[i]);\r\n\r\n resolveChildren (availableChildIds);\r\n });\r\n } else if (this._usesCachedTiles && this.cartoRange) {\r\n // Filter children by range\r\n const availableChildIds = new Array<QuadId>();\r\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\r\n for (let i = 0; i < childIds.length; i++) {\r\n const childExtent = this.getEPSG4326Extent(childIds[i].row, childIds[i].column, childIds[i].level);\r\n\r\n const childRange = MapCartoRectangle.fromDegrees(childExtent.longitudeLeft, childExtent.latitudeBottom, childExtent.longitudeRight, childExtent.latitudeTop);\r\n if (childRange.intersectsRange(this.cartoRange)) {\r\n availableChildIds.push(childIds[i]);\r\n }\r\n }\r\n resolveChildren (availableChildIds);\r\n } else {\r\n resolveChildren (childIds); // Resolve all children\r\n }\r\n }\r\n\r\n public override async initialize(): Promise<void> {\r\n\r\n const metadata = await this.getServiceJson();\r\n\r\n if (metadata?.content === undefined)\r\n throw new ServerError(IModelStatus.ValidationFailed, \"\");\r\n\r\n const json = metadata.content;\r\n if (json?.error?.code === ArcGisErrorCode.TokenRequired || json?.error?.code === ArcGisErrorCode.InvalidToken) {\r\n // Check again layer status, it might have change during await.\r\n if (this.status === MapLayerImageryProviderStatus.Valid) {\r\n this.setStatus(MapLayerImageryProviderStatus.RequireAuth);\r\n return; // By returning (i.e not throwing), we ensure the tileTree get created and current provider is preserved to report status.\r\n }\r\n }\r\n\r\n this.serviceJson = json;\r\n\r\n if (json.capabilities) {\r\n const capabilities = json.capabilities.split(\",\");\r\n\r\n this._querySupported = capabilities.includes(\"Query\");\r\n this._tileMapSupported = capabilities.includes(\"Tilemap\");\r\n this._mapSupported = capabilities.includes(\"Map\");\r\n this._tilesOnly = capabilities.includes(\"TilesOnly\");\r\n }\r\n\r\n if (json.copyrightText)\r\n this._copyrightText = json.copyrightText;\r\n\r\n this._usesCachedTiles = !!json.tileInfo;\r\n\r\n if (this._usesCachedTiles) {\r\n // Only EPSG:3857 is supported with pre-rendered tiles. Fall back to 'Export' queries if possible otherwise throw.\r\n if (!ArcGisUtilities.isEpsg3857Compatible(json.tileInfo)) {\r\n if (this._mapSupported && !this._tilesOnly) {\r\n this._usesCachedTiles = false;\r\n } else {\r\n throw new ServerError(IModelStatus.ValidationFailed, \"Invalid coordinate system\");\r\n }\r\n }\r\n }\r\n\r\n if (this._usesCachedTiles) {\r\n // Read max LOD\r\n if (json.maxScale !== undefined && json.maxScale !== 0 && Array.isArray(json.tileInfo.lods)) {\r\n for (; this._maxDepthFromLod < json.tileInfo.lods.length && json.tileInfo.lods[this._maxDepthFromLod].scale > json.maxScale; this._maxDepthFromLod++)\r\n ;\r\n }\r\n\r\n // Create tile map object only if we are going to request tiles from this server and it support tilemap requests.\r\n if (this._tileMapSupported) {\r\n this._tileMap = new ArcGISTileMap(this._settings.url, this._settings, json.tileInfo?.lods?.length, this._accessClient);\r\n }\r\n }\r\n\r\n // Read range using fullextent from service metadata\r\n if (json.fullExtent) {\r\n if (json.fullExtent.spatialReference.latestWkid === 3857 || json.fullExtent.spatialReference.wkid === 102100) {\r\n const range3857 = Range2d.createFrom({\r\n low: {x: json.fullExtent.xmin, y: json.fullExtent.ymin},\r\n high: {x: json.fullExtent.xmax, y: json.fullExtent.ymax} });\r\n\r\n const west = this.getEPSG4326Lon(range3857.xLow);\r\n const south = this.getEPSG4326Lat(range3857.yLow);\r\n const east = this.getEPSG4326Lon(range3857.xHigh);\r\n const north = this.getEPSG4326Lat(range3857.yHigh);\r\n this.cartoRange = MapCartoRectangle.fromDegrees(west, south, east, north);\r\n }\r\n }\r\n\r\n // Read minLOD if available\r\n if (json.minLOD !== undefined) {\r\n const minLod = parseInt(json.minLOD, 10);\r\n if (!Number.isNaN(minLod)) {\r\n this._minDepthFromLod = minLod;\r\n }\r\n } else if (json.minScale) {\r\n // Read min LOD using minScale\r\n const minScale = json.minScale;\r\n if (json.tileInfo?.lods !== undefined && Array.isArray(json.tileInfo.lods)) {\r\n for (const lod of json.tileInfo.lods) {\r\n if (lod.scale < minScale) {\r\n this._minDepthFromLod = lod.level;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n public override addLogoCards(cards: HTMLTableElement): void {\r\n if (!cards.dataset.arcGisLogoCard) {\r\n cards.dataset.arcGisLogoCard = \"true\";\r\n cards.appendChild(IModelApp.makeLogoCard({ heading: \"ArcGIS\", notice: this._copyrightText }));\r\n }\r\n }\r\n\r\n // Translates the provided Cartographic into a EPSG:3857 point, and retrieve information.\r\n // tolerance is in pixels\r\n private async getIdentifyData(quadId: QuadId, carto: Cartographic, tolerance: number, returnGeometry?: boolean, maxAllowableOffset?: number): Promise<any> {\r\n\r\n const bbox = this.getEPSG3857Extent(quadId.row, quadId.column, quadId.level);\r\n const layerIds = new Array<string>();\r\n this._settings.subLayers.forEach((subLayer) => {\r\n if (this._settings.isSubLayerVisible(subLayer))\r\n layerIds.push(subLayer.idString);\r\n });\r\n const urlObj = ArcGISIdentifyRequestUrl.fromJSON(this._settings.url, {\r\n f: \"json\",\r\n geometry: {x: this.getEPSG3857X(carto.longitudeDegrees), y: this.getEPSG3857Y(carto.latitudeDegrees)},\r\n geometryType: \"esriGeometryPoint\",\r\n tolerance,\r\n mapExtent: {low: {x: bbox.left, y: bbox.bottom}, high: {x: bbox.right, y: bbox.top}},\r\n imageDisplay: {width: this.tileSize, height: this.tileSize, dpi: 96},\r\n layers: {prefix: \"visible\", layerIds},\r\n returnGeometry,\r\n maxAllowableOffset}, 3 /* 1mm accuracy*/);\r\n\r\n const response = await this.fetch(urlObj, { method: \"GET\" } );\r\n return response.json();\r\n }\r\n\r\n // Makes an identify request to ESRI MapService server, and return it as a list of formatted strings\r\n public override async getToolTip(strings: string[], quadId: QuadId, carto: Cartographic, tree: ImageryMapTileTree): Promise<void> {\r\n await super.getToolTip(strings, quadId, carto, tree);\r\n\r\n if (!this._querySupported)\r\n return;\r\n\r\n const stringSet = new Set<string>();\r\n const json = await this.getIdentifyData(quadId, carto, 1);\r\n\r\n if (json && Array.isArray(json.results)) {\r\n for (const result of json.results) {\r\n if (result.attributes !== undefined && result.attributes[result.displayFieldName] !== undefined) {\r\n const thisString = `${result.displayFieldName}: ${result.attributes[result.displayFieldName]}`;\r\n if (!stringSet.has(thisString)) {\r\n strings.push(thisString);\r\n stringSet.add(thisString);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Makes an identify request to ESRI MapService , and return it as a list MapLayerFeatureInfo object\r\n public override async getFeatureInfo(featureInfos: MapLayerFeatureInfo[], quadId: QuadId, carto: Cartographic, _tree: ImageryMapTileTree, hit: HitDetail): Promise<void> {\r\n if (!this._querySupported)\r\n return;\r\n\r\n const tileExtent = this.getEPSG3857Extent(quadId.row, quadId.column, quadId.level);\r\n const toleranceWorld = (tileExtent.top - tileExtent.bottom) / this.tileSize;\r\n const maxAllowableOffsetFactor = 2;\r\n const maxAllowableOffset = maxAllowableOffsetFactor*toleranceWorld;\r\n\r\n const json = await this.getIdentifyData(quadId, carto, 5, true, maxAllowableOffset);\r\n if (json && Array.isArray(json.results)) {\r\n const renderer = new ArcGisGraphicsRenderer(hit.iModel);\r\n\r\n const layerInfo: MapLayerFeatureInfo = { layerName: this._settings.name, subLayerInfos: [] };\r\n\r\n // The 'identify' service returns us a flat/unordered list of records..\r\n // results may represent features for the a common subLayer.\r\n // For simplicity, we group together features for a given sub-layer.\r\n const subLayers = new Map<string, MapSubLayerFeatureInfo> ();\r\n\r\n for (const result of json.results) {\r\n\r\n let subLayerInfo = subLayers.get(result.layerName);\r\n if (!subLayerInfo) {\r\n subLayerInfo = {\r\n subLayerName: result.layerName ?? \"\",\r\n displayFieldName: result.displayFieldName,\r\n features: [],\r\n };\r\n subLayers.set(result.layerName, subLayerInfo);\r\n }\r\n const feature: MapLayerFeature = {geometries: [], attributes: []};\r\n\r\n // Read all feature attributes\r\n for (const [key, value] of Object.entries(result.attributes)) {\r\n // Convert everything to string for now\r\n const strValue = String(value);\r\n feature.attributes.push({\r\n value: { valueFormat: PropertyValueFormat.Primitive, value: strValue, displayValue: strValue },\r\n property: { name: key, displayLabel: key, typename: StandardTypeNames.String },\r\n });\r\n }\r\n\r\n // Read feature geometries\r\n const geomReader = new ArcGisGeometryReaderJSON(result.geometryType, renderer);\r\n await geomReader.readGeometry(result.geometry);\r\n const graphics = renderer.moveGraphics();\r\n feature.geometries = graphics.map((graphic) => {\r\n return {graphic};\r\n });\r\n subLayerInfo.features.push(feature);\r\n\r\n }\r\n\r\n for ( const value of subLayers.values()) {\r\n layerInfo.subLayerInfos!.push(value);\r\n }\r\n\r\n featureInfos.push(layerInfo);\r\n }\r\n }\r\n\r\n protected getLayerString(prefix = \"show\"): string {\r\n const layers = new Array<string>();\r\n this._settings.subLayers.forEach((subLayer) => {\r\n if (this._settings.isSubLayerVisible(subLayer))\r\n layers.push(subLayer.idString);\r\n });\r\n\r\n return `${prefix}: ${layers.join(\",\")} `;\r\n }\r\n\r\n // construct the Url from the desired Tile\r\n public async constructUrl(row: number, column: number, zoomLevel: number): Promise<string> {\r\n let tmpUrl;\r\n if (this._usesCachedTiles) {\r\n tmpUrl = `${this._settings.url}/tile/${zoomLevel}/${row}/${column} `;\r\n } else {\r\n const bboxString = `${this.getEPSG3857ExtentString(row, column, zoomLevel)}&bboxSR=3857`;\r\n tmpUrl = `${this._settings.url}/export?bbox=${bboxString}&size=${this.tileSize},${this.tileSize}&layers=${this.getLayerString()}&format=png&transparent=${this.transparentBackgroundString}&f=image&sr=3857&imagesr=3857`;\r\n }\r\n return tmpUrl;\r\n }\r\n}\r\n"]}
@@ -0,0 +1,11 @@
1
+ /** @packageDocumentation
2
+ * @module Tiles
3
+ */
4
+ /** @internal */
5
+ export interface ArcGisAttributeDrivenSymbology {
6
+ rendererFields?: string[];
7
+ setActiveFeatureAttributes: (attributes: {
8
+ [key: string]: any;
9
+ }) => void;
10
+ }
11
+ //# sourceMappingURL=ArcGisAttributeDrivenSymbology.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArcGisAttributeDrivenSymbology.d.ts","sourceRoot":"","sources":["../../../../../src/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,gBAAgB;AAChB,MAAM,WAAW,8BAA8B;IAC7C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,0BAA0B,EAAE,CAAC,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,KAAK,IAAI,CAAC;CAC1E"}
@@ -7,4 +7,4 @@
7
7
  * @module Tiles
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- //# sourceMappingURL=ImdlSchema.js.map
10
+ //# sourceMappingURL=ArcGisAttributeDrivenSymbology.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArcGisAttributeDrivenSymbology.js","sourceRoot":"","sources":["../../../../../src/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\n/** @internal */\r\nexport interface ArcGisAttributeDrivenSymbology {\r\n rendererFields?: string[];\r\n setActiveFeatureAttributes: (attributes: { [key: string]: any }) => void;\r\n}\r\n"]}
@@ -0,0 +1,15 @@
1
+ import { ArcGisGeometryRenderer } from "../../internal";
2
+ /** @internal */
3
+ export declare class ArcGisGeometryReaderJSON {
4
+ private _ringsOrPaths;
5
+ private _points;
6
+ private _fill;
7
+ private _relativeCoords;
8
+ private _renderer;
9
+ constructor(geometryType: string, renderer: ArcGisGeometryRenderer, relativeCoords?: boolean);
10
+ readGeometry(geometry: any): Promise<void>;
11
+ private readRingsAndPaths;
12
+ private readPoints;
13
+ protected static deflateCoordinates(coordinates: number[][], flatCoordinates: number[], stride: number, offset: number): number;
14
+ }
15
+ //# sourceMappingURL=ArcGisGeometryReaderJSON.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArcGisGeometryReaderJSON.d.ts","sourceRoot":"","sources":["../../../../../src/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,gBAAgB;AAChB,qBAAa,wBAAwB;IACnC,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,SAAS,CAAyB;gBAEvB,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,EAAE,cAAc,UAAQ;IAQpF,YAAY,CAAC,QAAQ,EAAE,GAAG;YASzB,iBAAiB;YAmBjB,UAAU;IAWxB,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CASvH"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArcGisGeometryReaderJSON = void 0;
4
+ /** @internal */
5
+ class ArcGisGeometryReaderJSON {
6
+ constructor(geometryType, renderer, relativeCoords = false) {
7
+ this._ringsOrPaths = geometryType === "esriGeometryPolyline" || geometryType === "esriGeometryPolygon";
8
+ this._points = geometryType === "esriGeometryPoint" || geometryType === "esriGeometryMultiPoint";
9
+ this._fill = geometryType === "esriGeometryPolygon";
10
+ this._renderer = renderer;
11
+ this._relativeCoords = relativeCoords;
12
+ }
13
+ async readGeometry(geometry) {
14
+ if (this._ringsOrPaths) {
15
+ await this.readRingsAndPaths(geometry, this._renderer, this._fill, this._relativeCoords);
16
+ }
17
+ else if (this._points) {
18
+ await this.readPoints(geometry, this._renderer, this._relativeCoords);
19
+ }
20
+ }
21
+ async readRingsAndPaths(geometry, renderer, fill, relativeCoords) {
22
+ let offset = 0;
23
+ const lengths = [];
24
+ const coords = [];
25
+ if (geometry?.rings) {
26
+ for (const ring of geometry?.rings) {
27
+ offset = ArcGisGeometryReaderJSON.deflateCoordinates(ring, coords, 2, offset);
28
+ lengths.push(ring.length);
29
+ }
30
+ }
31
+ else if (geometry?.paths) {
32
+ for (const path of geometry?.paths) {
33
+ offset = ArcGisGeometryReaderJSON.deflateCoordinates(path, coords, 2, offset);
34
+ lengths.push(path.length);
35
+ }
36
+ }
37
+ await renderer.renderPath(lengths, coords, fill, 2, relativeCoords);
38
+ }
39
+ async readPoints(geometry, renderer, relativeCoords) {
40
+ if (geometry) {
41
+ const lengths = [];
42
+ const coords = [geometry.x, geometry.y];
43
+ await renderer.renderPoint(lengths, coords, 2, relativeCoords);
44
+ }
45
+ }
46
+ // Converts an [[x1,y1], [x2,y2], ...] to [x1,y1,x2,y2, ...]
47
+ // stride is the number of dimensions
48
+ // https://github.com/openlayers/openlayers/blob/7a2f87caca9ddc1912d910f56eb5637445fc11f6/src/ol/geom/flat/deflate.js#L26
49
+ static deflateCoordinates(coordinates, flatCoordinates, stride, offset) {
50
+ for (let i = 0, ii = coordinates.length; i < ii; ++i) {
51
+ const coordinate = coordinates[i];
52
+ for (let j = 0; j < stride; ++j)
53
+ flatCoordinates[offset++] = coordinate[j];
54
+ }
55
+ return offset;
56
+ }
57
+ }
58
+ exports.ArcGisGeometryReaderJSON = ArcGisGeometryReaderJSON;
59
+ //# sourceMappingURL=ArcGisGeometryReaderJSON.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArcGisGeometryReaderJSON.js","sourceRoot":"","sources":["../../../../../src/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.ts"],"names":[],"mappings":";;;AAMA,gBAAgB;AAChB,MAAa,wBAAwB;IAOnC,YAAmB,YAAoB,EAAE,QAAgC,EAAE,cAAc,GAAG,KAAK;QAC/F,IAAI,CAAC,aAAa,GAAG,YAAY,KAAK,sBAAsB,IAAI,YAAY,KAAK,qBAAqB,CAAC;QACvG,IAAI,CAAC,OAAO,GAAG,YAAY,KAAK,mBAAmB,IAAI,YAAY,KAAK,wBAAwB,CAAC;QACjG,IAAI,CAAC,KAAK,GAAG,YAAY,KAAK,qBAAqB,CAAC;QACpD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,QAAa;QACrC,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;SAE1F;aAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACvB,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;SACvE;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,QAAa,EAAE,QAAgC,EAAE,IAAa,EAAE,cAAuB;QACrH,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,QAAQ,EAAE,KAAK,EAAE;YACnB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,KAAK,EAAE;gBAClC,MAAM,GAAG,wBAAwB,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;gBAC9E,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC3B;SACF;aAAM,IAAI,QAAQ,EAAE,KAAK,EAAE;YAC1B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,KAAK,EAAE;gBAClC,MAAM,GAAG,wBAAwB,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;gBAC9E,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC3B;SACF;QACD,MAAM,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;IACtE,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,QAAa,EAAE,QAAgC,EAAE,cAAuB;QAC/F,IAAI,QAAQ,EAAE;YACZ,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;SAChE;IACH,CAAC;IAED,4DAA4D;IAC5D,qCAAqC;IACrC,yHAAyH;IAC/G,MAAM,CAAC,kBAAkB,CAAC,WAAuB,EAAE,eAAyB,EAAE,MAAc,EAAE,MAAc;QACpH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;YACpD,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC;gBAC7B,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;SAC7C;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA/DD,4DA+DC","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\nimport { ArcGisGeometryRenderer } from \"../../internal\";\r\n\r\n/** @internal */\r\nexport class ArcGisGeometryReaderJSON {\r\n private _ringsOrPaths: boolean;\r\n private _points: boolean;\r\n private _fill: boolean;\r\n private _relativeCoords: boolean;\r\n private _renderer: ArcGisGeometryRenderer;\r\n\r\n public constructor(geometryType: string, renderer: ArcGisGeometryRenderer, relativeCoords = false) {\r\n this._ringsOrPaths = geometryType === \"esriGeometryPolyline\" || geometryType === \"esriGeometryPolygon\";\r\n this._points = geometryType === \"esriGeometryPoint\" || geometryType === \"esriGeometryMultiPoint\";\r\n this._fill = geometryType === \"esriGeometryPolygon\";\r\n this._renderer = renderer;\r\n this._relativeCoords = relativeCoords;\r\n }\r\n\r\n public async readGeometry(geometry: any) {\r\n if (this._ringsOrPaths) {\r\n await this.readRingsAndPaths(geometry, this._renderer, this._fill, this._relativeCoords);\r\n\r\n } else if (this._points) {\r\n await this.readPoints(geometry, this._renderer, this._relativeCoords);\r\n }\r\n }\r\n\r\n private async readRingsAndPaths(geometry: any, renderer: ArcGisGeometryRenderer, fill: boolean, relativeCoords: boolean) {\r\n let offset = 0;\r\n const lengths: number[] = [];\r\n const coords: number[] = [];\r\n\r\n if (geometry?.rings) {\r\n for (const ring of geometry?.rings) {\r\n offset = ArcGisGeometryReaderJSON.deflateCoordinates(ring, coords, 2, offset);\r\n lengths.push(ring.length);\r\n }\r\n } else if (geometry?.paths) {\r\n for (const path of geometry?.paths) {\r\n offset = ArcGisGeometryReaderJSON.deflateCoordinates(path, coords, 2, offset);\r\n lengths.push(path.length);\r\n }\r\n }\r\n await renderer.renderPath(lengths, coords, fill, 2, relativeCoords);\r\n }\r\n\r\n private async readPoints(geometry: any, renderer: ArcGisGeometryRenderer, relativeCoords: boolean) {\r\n if (geometry) {\r\n const lengths: number[] = [];\r\n const coords: number[] = [geometry.x, geometry.y];\r\n await renderer.renderPoint(lengths, coords, 2, relativeCoords);\r\n }\r\n }\r\n\r\n // Converts an [[x1,y1], [x2,y2], ...] to [x1,y1,x2,y2, ...]\r\n // stride is the number of dimensions\r\n // https://github.com/openlayers/openlayers/blob/7a2f87caca9ddc1912d910f56eb5637445fc11f6/src/ol/geom/flat/deflate.js#L26\r\n protected static deflateCoordinates(coordinates: number[][], flatCoordinates: number[], stride: number, offset: number) {\r\n for (let i = 0, ii = coordinates.length; i < ii; ++i) {\r\n const coordinate = coordinates[i];\r\n for (let j = 0; j < stride; ++j)\r\n flatCoordinates[offset++] = coordinate[j];\r\n }\r\n\r\n return offset;\r\n }\r\n}\r\n"]}
@@ -0,0 +1,47 @@
1
+ import { Transform } from "@itwin/core-geometry";
2
+ import { ArcGisAttributeDrivenSymbology } from "../../internal";
3
+ /** Interface defining minimal implementation needed to create an ArcGIS geometry renderer,
4
+ * that will ultimately be called by an [[ArcGisFeatureReader]] implementation.
5
+ * @internal
6
+ */
7
+ export interface ArcGisGeometryRenderer {
8
+ transform: Transform | undefined;
9
+ attributeSymbology?: ArcGisAttributeDrivenSymbology;
10
+ renderPath(geometryLengths: number[], geometryCoords: number[], fill: boolean, stride: number, relativeCoords: boolean): Promise<void>;
11
+ renderPoint(geometryLengths: number[], geometryCoords: number[], stride: number, relativeCoords: boolean): Promise<void>;
12
+ }
13
+ /** Internal implementation of [[ArcGisGeometryRenderer]]
14
+ * @internal
15
+ */
16
+ export declare abstract class ArcGisGeometryBaseRenderer implements ArcGisGeometryRenderer {
17
+ private _transform;
18
+ constructor(world2PixelTransform?: Transform);
19
+ abstract get attributeSymbology(): ArcGisAttributeDrivenSymbology | undefined;
20
+ get transform(): Transform | undefined;
21
+ protected abstract beginPath(): void;
22
+ protected abstract closePath(): void;
23
+ protected abstract lineTo(x: number, y: number): void;
24
+ protected abstract moveTo(x: number, y: number): void;
25
+ protected abstract stroke(): Promise<void>;
26
+ protected abstract fill(): Promise<void>;
27
+ protected abstract drawPoint(x: number, y: number): void;
28
+ protected abstract finishPoints(): Promise<void>;
29
+ /**
30
+ * Render a path on the renderer's context.
31
+ * Note: Inputs are designed based on the PBF format, to avoid any data transformation.
32
+ * @param geometryLengths Array be used to determine the start and end of each sub-path / rings. (i.e. [5,5] = two rings of 5 vertices)
33
+ * @param geometryCoords Array that linearly encodes the vertices of each sub-path of a polyline / ring of a polygon
34
+ * @param fill Indicates if the path should be filled or not.
35
+ * @param stride Dimension of each vertices (i.e. 2 or 3. 3 could be X,Y,Z, X,YM) Currently 3rd dimension is ignored.
36
+ */
37
+ renderPath(geometryLengths: number[], geometryCoords: number[], fill: boolean, stride: number, relativeCoords: boolean): Promise<void>;
38
+ /**
39
+ * Render a point on the renderer's context.
40
+ * Note: Inputs are designed based on the PBF format, to avoid any data transformation.
41
+ * @param geometryLengths Array be used to determine the start and end of each multi-point array, empty for single point.
42
+ * @param geometryCoords Array that linearly encodes vertices.
43
+ * @param stride Dimension of each vertices (i.e. 2 or 3. 3 could be X,Y,Z, X,YM) Currently 3rd dimension is ignored.
44
+ */
45
+ renderPoint(geometryLengths: number[], geometryCoords: number[], stride: number, relativeCoords: boolean): Promise<void>;
46
+ }
47
+ //# sourceMappingURL=ArcGisGeometryRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArcGisGeometryRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/tile/map/ImageryProviders/ArcGisGeometryRenderer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAEhE;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,kBAAkB,CAAC,EAAE,8BAA8B,CAAC;IACpD,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvI,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1H;AAED;;GAEG;AACH,8BAAsB,0BAA2B,YAAW,sBAAsB;IAChF,OAAO,CAAC,UAAU,CAAwB;gBAE9B,oBAAoB,CAAC,EAAE,SAAS;IAG5C,aAAoB,kBAAkB,IAAI,8BAA8B,GAAG,SAAS,CAAC;IAErF,IAAW,SAAS,0BAA8B;IAElD,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI;IACpC,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI;IACpC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IACrD,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IACrD,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IACxC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IACxD,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAEhD;;;;;;;MAOE;IACW,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO;IAiEnI;;;;;;MAME;IACW,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO;CA6CtH"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArcGisGeometryBaseRenderer = void 0;
4
+ /** Internal implementation of [[ArcGisGeometryRenderer]]
5
+ * @internal
6
+ */
7
+ class ArcGisGeometryBaseRenderer {
8
+ constructor(world2PixelTransform) {
9
+ this._transform = world2PixelTransform;
10
+ }
11
+ get transform() { return this._transform; }
12
+ /**
13
+ * Render a path on the renderer's context.
14
+ * Note: Inputs are designed based on the PBF format, to avoid any data transformation.
15
+ * @param geometryLengths Array be used to determine the start and end of each sub-path / rings. (i.e. [5,5] = two rings of 5 vertices)
16
+ * @param geometryCoords Array that linearly encodes the vertices of each sub-path of a polyline / ring of a polygon
17
+ * @param fill Indicates if the path should be filled or not.
18
+ * @param stride Dimension of each vertices (i.e. 2 or 3. 3 could be X,Y,Z, X,YM) Currently 3rd dimension is ignored.
19
+ */
20
+ async renderPath(geometryLengths, geometryCoords, fill, stride, relativeCoords) {
21
+ if (stride < 2 || stride > 3) {
22
+ return;
23
+ }
24
+ // Keep track of our position in the in the 'coords' array:
25
+ // Every time we loop on the 'lengths' array, the position
26
+ // to start reading vertices in the 'coords' must be the sum of all previously read vertices.
27
+ let coordsOffset = 0;
28
+ // Begin the path here.
29
+ // Note: Even though path is closed inside the 'geometryLengths' loop,
30
+ // it's import to begin the path only once.
31
+ this.beginPath();
32
+ for (const vertexCount of geometryLengths) {
33
+ let lastPtX = 0, lastPtY = 0;
34
+ for (let vertexIdx = 0; vertexIdx < vertexCount; vertexIdx++) {
35
+ let pX = geometryCoords[coordsOffset + (vertexIdx * stride)];
36
+ let pY = geometryCoords[coordsOffset + (vertexIdx * stride) + 1];
37
+ if (vertexIdx === 0) {
38
+ // first vertex is always "absolute" and must be drawn as 'moveTo' (i.e. not lineTo)
39
+ if (relativeCoords) {
40
+ lastPtX = pX;
41
+ lastPtY = pY;
42
+ }
43
+ if (this._transform) {
44
+ const transformedPoint = this._transform.multiplyPoint2d({ x: pX, y: pY });
45
+ pX = transformedPoint.x;
46
+ pY = transformedPoint.y;
47
+ }
48
+ this.moveTo(pX, pY);
49
+ }
50
+ else {
51
+ // Following vertices are relative to the previous one (sadly not really well documented by ESRI)
52
+ // typically this happens when 'coordinates quantization' is active (i.e. no client side transformation is needed)
53
+ if (relativeCoords) {
54
+ pX = lastPtX = lastPtX + pX;
55
+ pY = lastPtY = lastPtY + pY;
56
+ }
57
+ if (this._transform) {
58
+ const transformedPoint = this._transform.multiplyPoint2d({ x: pX, y: pY });
59
+ pX = transformedPoint.x;
60
+ pY = transformedPoint.y;
61
+ }
62
+ this.lineTo(pX, pY);
63
+ }
64
+ }
65
+ coordsOffset += stride * vertexCount;
66
+ if (fill) {
67
+ // ClosePath but do not 'fill' here, only at the very end (otherwise it will mess up holes)
68
+ this.closePath();
69
+ }
70
+ }
71
+ if (fill) {
72
+ await this.fill();
73
+ }
74
+ await this.stroke(); // draw line path or polygon outline
75
+ }
76
+ /**
77
+ * Render a point on the renderer's context.
78
+ * Note: Inputs are designed based on the PBF format, to avoid any data transformation.
79
+ * @param geometryLengths Array be used to determine the start and end of each multi-point array, empty for single point.
80
+ * @param geometryCoords Array that linearly encodes vertices.
81
+ * @param stride Dimension of each vertices (i.e. 2 or 3. 3 could be X,Y,Z, X,YM) Currently 3rd dimension is ignored.
82
+ */
83
+ async renderPoint(geometryLengths, geometryCoords, stride, relativeCoords) {
84
+ if (stride < 2 || stride > 3) {
85
+ return;
86
+ }
87
+ let coordsOffset = 0;
88
+ if (geometryLengths.length === 0) {
89
+ // Strangely, for points, 'lengths' array is empty, so we assume there is a single vertex in 'coords' array.
90
+ if (geometryCoords.length >= stride) {
91
+ if (this._transform) {
92
+ const transformedPoint = this._transform.multiplyPoint2d({ x: geometryCoords[0], y: geometryCoords[1] });
93
+ this.drawPoint(transformedPoint.x, transformedPoint.y);
94
+ }
95
+ else {
96
+ this.drawPoint(geometryCoords[0], geometryCoords[1]);
97
+ }
98
+ }
99
+ }
100
+ else {
101
+ // MULTI-POINTS: Needs testing
102
+ // I assume 'lengths' array will get populated and 'coords' array will look similar to line/polygons.
103
+ for (const vertexCount of geometryLengths) {
104
+ let lastPtX = 0, lastPtY = 0;
105
+ for (let vertexIdx = 0; vertexIdx < vertexCount; vertexIdx++) {
106
+ let pX = geometryCoords[coordsOffset + (vertexIdx * stride)];
107
+ let pY = geometryCoords[coordsOffset + (vertexIdx * stride) + 1];
108
+ if (relativeCoords) {
109
+ pX = lastPtX = lastPtX + pX;
110
+ pY = lastPtY = lastPtY + pY;
111
+ }
112
+ if (this._transform) {
113
+ const transformedPoint = this._transform.multiplyPoint2d({ x: pX, y: pY });
114
+ pX = transformedPoint.x;
115
+ pY = transformedPoint.y;
116
+ }
117
+ this.drawPoint(pX, pY);
118
+ }
119
+ coordsOffset += stride * vertexCount;
120
+ }
121
+ }
122
+ await this.finishPoints();
123
+ }
124
+ }
125
+ exports.ArcGisGeometryBaseRenderer = ArcGisGeometryBaseRenderer;
126
+ //# sourceMappingURL=ArcGisGeometryRenderer.js.map