@itwin/core-frontend 3.0.0-extension.1 → 3.1.0-dev.6

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 (1276) hide show
  1. package/CHANGELOG.md +89 -1
  2. package/LICENSE.md +1 -1
  3. package/lib/cjs/AccuSnap.js +3 -3
  4. package/lib/cjs/AccuSnap.js.map +1 -1
  5. package/lib/cjs/ApproximateTerrainHeights.d.ts.map +1 -1
  6. package/lib/cjs/ApproximateTerrainHeights.js +10 -5
  7. package/lib/cjs/ApproximateTerrainHeights.js.map +1 -1
  8. package/lib/cjs/BackgroundMapGeometry.d.ts +1 -1
  9. package/lib/cjs/BackgroundMapGeometry.d.ts.map +1 -1
  10. package/lib/cjs/BackgroundMapGeometry.js +2 -2
  11. package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
  12. package/lib/cjs/BingLocation.js +2 -2
  13. package/lib/cjs/BingLocation.js.map +1 -1
  14. package/lib/cjs/CheckpointConnection.js +1 -1
  15. package/lib/cjs/CheckpointConnection.js.map +1 -1
  16. package/lib/cjs/ContextRealityModelState.js +1 -1
  17. package/lib/cjs/ContextRealityModelState.js.map +1 -1
  18. package/lib/cjs/DisplayStyleState.d.ts +10 -163
  19. package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
  20. package/lib/cjs/DisplayStyleState.js +69 -350
  21. package/lib/cjs/DisplayStyleState.js.map +1 -1
  22. package/lib/cjs/DrawingViewState.d.ts +2 -2
  23. package/lib/cjs/DrawingViewState.d.ts.map +1 -1
  24. package/lib/cjs/DrawingViewState.js +3 -3
  25. package/lib/cjs/DrawingViewState.js.map +1 -1
  26. package/lib/cjs/EmphasizeElements.d.ts.map +1 -1
  27. package/lib/cjs/EmphasizeElements.js +14 -4
  28. package/lib/cjs/EmphasizeElements.js.map +1 -1
  29. package/lib/cjs/EnvironmentDecorations.d.ts +39 -0
  30. package/lib/cjs/EnvironmentDecorations.d.ts.map +1 -0
  31. package/lib/cjs/EnvironmentDecorations.js +200 -0
  32. package/lib/cjs/EnvironmentDecorations.js.map +1 -0
  33. package/lib/cjs/FrontendHubAccess.d.ts +11 -7
  34. package/lib/cjs/FrontendHubAccess.d.ts.map +1 -1
  35. package/lib/cjs/FrontendHubAccess.js.map +1 -1
  36. package/lib/cjs/FrontendLoggerCategory.d.ts +2 -8
  37. package/lib/cjs/FrontendLoggerCategory.d.ts.map +1 -1
  38. package/lib/cjs/FrontendLoggerCategory.js +2 -8
  39. package/lib/cjs/FrontendLoggerCategory.js.map +1 -1
  40. package/lib/cjs/HitDetail.js +7 -7
  41. package/lib/cjs/HitDetail.js.map +1 -1
  42. package/lib/cjs/IModelApp.d.ts +31 -24
  43. package/lib/cjs/IModelApp.d.ts.map +1 -1
  44. package/lib/cjs/IModelApp.js +35 -36
  45. package/lib/cjs/IModelApp.js.map +1 -1
  46. package/lib/cjs/IModelConnection.d.ts +4 -6
  47. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  48. package/lib/cjs/IModelConnection.js +6 -11
  49. package/lib/cjs/IModelConnection.js.map +1 -1
  50. package/lib/cjs/IModeljs-css.d.ts.map +1 -1
  51. package/lib/cjs/IModeljs-css.js +8 -6
  52. package/lib/cjs/IModeljs-css.js.map +1 -1
  53. package/lib/cjs/ImageUtil.d.ts +3 -3
  54. package/lib/cjs/ImageUtil.d.ts.map +1 -1
  55. package/lib/cjs/ImageUtil.js +7 -4
  56. package/lib/cjs/ImageUtil.js.map +1 -1
  57. package/lib/cjs/LocalhostIpcApp.d.ts +2 -1
  58. package/lib/cjs/LocalhostIpcApp.d.ts.map +1 -1
  59. package/lib/cjs/LocalhostIpcApp.js +21 -7
  60. package/lib/cjs/LocalhostIpcApp.js.map +1 -1
  61. package/lib/cjs/Marker.d.ts +9 -2
  62. package/lib/cjs/Marker.d.ts.map +1 -1
  63. package/lib/cjs/Marker.js +33 -5
  64. package/lib/cjs/Marker.js.map +1 -1
  65. package/lib/cjs/ModelState.js +1 -1
  66. package/lib/cjs/ModelState.js.map +1 -1
  67. package/lib/cjs/NativeApp.d.ts +3 -38
  68. package/lib/cjs/NativeApp.d.ts.map +1 -1
  69. package/lib/cjs/NativeApp.js +4 -73
  70. package/lib/cjs/NativeApp.js.map +1 -1
  71. package/lib/cjs/NoRenderApp.d.ts +0 -1
  72. package/lib/cjs/NoRenderApp.d.ts.map +1 -1
  73. package/lib/cjs/NoRenderApp.js +0 -1
  74. package/lib/cjs/NoRenderApp.js.map +1 -1
  75. package/lib/cjs/NotificationManager.d.ts +3 -1
  76. package/lib/cjs/NotificationManager.d.ts.map +1 -1
  77. package/lib/cjs/NotificationManager.js +2 -0
  78. package/lib/cjs/NotificationManager.js.map +1 -1
  79. package/lib/cjs/RealityDataSource.d.ts +59 -29
  80. package/lib/cjs/RealityDataSource.d.ts.map +1 -1
  81. package/lib/cjs/RealityDataSource.js +247 -94
  82. package/lib/cjs/RealityDataSource.js.map +1 -1
  83. package/lib/cjs/RenderScheduleState.d.ts +2 -0
  84. package/lib/cjs/RenderScheduleState.d.ts.map +1 -1
  85. package/lib/cjs/RenderScheduleState.js +10 -5
  86. package/lib/cjs/RenderScheduleState.js.map +1 -1
  87. package/lib/cjs/SheetViewState.d.ts +2 -2
  88. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  89. package/lib/cjs/SheetViewState.js +8 -9
  90. package/lib/cjs/SheetViewState.js.map +1 -1
  91. package/lib/cjs/SpatialViewState.d.ts +10 -2
  92. package/lib/cjs/SpatialViewState.d.ts.map +1 -1
  93. package/lib/cjs/SpatialViewState.js +12 -2
  94. package/lib/cjs/SpatialViewState.js.map +1 -1
  95. package/lib/cjs/SubCategoriesCache.js +1 -1
  96. package/lib/cjs/SubCategoriesCache.js.map +1 -1
  97. package/lib/cjs/Tiles.d.ts +11 -1
  98. package/lib/cjs/Tiles.d.ts.map +1 -1
  99. package/lib/cjs/Tiles.js +7 -0
  100. package/lib/cjs/Tiles.js.map +1 -1
  101. package/lib/cjs/TwoWayViewportSync.d.ts +35 -6
  102. package/lib/cjs/TwoWayViewportSync.d.ts.map +1 -1
  103. package/lib/cjs/TwoWayViewportSync.js +51 -11
  104. package/lib/cjs/TwoWayViewportSync.js.map +1 -1
  105. package/lib/cjs/UserPreferences.d.ts +72 -0
  106. package/lib/cjs/UserPreferences.d.ts.map +1 -0
  107. package/lib/cjs/{extension/ExtensionLoader.js → UserPreferences.js} +1 -5
  108. package/lib/cjs/UserPreferences.js.map +1 -0
  109. package/lib/cjs/ViewContext.d.ts +3 -1
  110. package/lib/cjs/ViewContext.d.ts.map +1 -1
  111. package/lib/cjs/ViewContext.js +4 -0
  112. package/lib/cjs/ViewContext.js.map +1 -1
  113. package/lib/cjs/ViewCreator2d.js +3 -3
  114. package/lib/cjs/ViewCreator2d.js.map +1 -1
  115. package/lib/cjs/ViewCreator3d.d.ts +1 -1
  116. package/lib/cjs/ViewCreator3d.d.ts.map +1 -1
  117. package/lib/cjs/ViewCreator3d.js +4 -5
  118. package/lib/cjs/ViewCreator3d.js.map +1 -1
  119. package/lib/cjs/ViewManager.d.ts +6 -6
  120. package/lib/cjs/ViewManager.d.ts.map +1 -1
  121. package/lib/cjs/ViewManager.js +13 -13
  122. package/lib/cjs/ViewManager.js.map +1 -1
  123. package/lib/cjs/ViewState.d.ts +11 -5
  124. package/lib/cjs/ViewState.d.ts.map +1 -1
  125. package/lib/cjs/ViewState.js +18 -63
  126. package/lib/cjs/ViewState.js.map +1 -1
  127. package/lib/cjs/ViewingSpace.js +1 -1
  128. package/lib/cjs/ViewingSpace.js.map +1 -1
  129. package/lib/cjs/Viewport.d.ts +34 -6
  130. package/lib/cjs/Viewport.d.ts.map +1 -1
  131. package/lib/cjs/Viewport.js +42 -22
  132. package/lib/cjs/Viewport.js.map +1 -1
  133. package/lib/cjs/core-frontend.d.ts +17 -31
  134. package/lib/cjs/core-frontend.d.ts.map +1 -1
  135. package/lib/cjs/core-frontend.js +17 -31
  136. package/lib/cjs/core-frontend.js.map +1 -1
  137. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts +3 -2
  138. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts.map +1 -1
  139. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js +3 -2
  140. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  141. package/lib/cjs/quantity-formatting/BasicUnitsProvider.d.ts +5 -1
  142. package/lib/cjs/quantity-formatting/BasicUnitsProvider.d.ts.map +1 -1
  143. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js +20 -5
  144. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  145. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts +26 -3
  146. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  147. package/lib/cjs/quantity-formatting/QuantityFormatter.js +46 -7
  148. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  149. package/lib/cjs/render/FeatureSymbology.d.ts.map +1 -1
  150. package/lib/cjs/render/FeatureSymbology.js +3 -3
  151. package/lib/cjs/render/FeatureSymbology.js.map +1 -1
  152. package/lib/cjs/render/GraphicBranch.d.ts +18 -2
  153. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  154. package/lib/cjs/render/GraphicBranch.js +9 -1
  155. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  156. package/lib/cjs/render/GraphicBuilder.d.ts +7 -1
  157. package/lib/cjs/render/GraphicBuilder.d.ts.map +1 -1
  158. package/lib/cjs/render/GraphicBuilder.js.map +1 -1
  159. package/lib/cjs/render/MockRender.d.ts +3 -1
  160. package/lib/cjs/render/MockRender.d.ts.map +1 -1
  161. package/lib/cjs/render/MockRender.js.map +1 -1
  162. package/lib/cjs/render/RenderMaterial.d.ts +61 -0
  163. package/lib/cjs/render/RenderMaterial.d.ts.map +1 -0
  164. package/lib/cjs/render/RenderMaterial.js +10 -0
  165. package/lib/cjs/render/RenderMaterial.js.map +1 -0
  166. package/lib/cjs/render/RenderMemory.d.ts +21 -15
  167. package/lib/cjs/render/RenderMemory.d.ts.map +1 -1
  168. package/lib/cjs/render/RenderMemory.js +21 -15
  169. package/lib/cjs/render/RenderMemory.js.map +1 -1
  170. package/lib/cjs/render/RenderSystem.d.ts +44 -7
  171. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  172. package/lib/cjs/render/RenderSystem.js +32 -9
  173. package/lib/cjs/render/RenderSystem.js.map +1 -1
  174. package/lib/cjs/render/RenderTarget.d.ts +10 -2
  175. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  176. package/lib/cjs/render/RenderTarget.js +2 -1
  177. package/lib/cjs/render/RenderTarget.js.map +1 -1
  178. package/lib/cjs/render/RenderTexture.d.ts +2 -17
  179. package/lib/cjs/render/RenderTexture.d.ts.map +1 -1
  180. package/lib/cjs/render/RenderTexture.js +0 -17
  181. package/lib/cjs/render/RenderTexture.js.map +1 -1
  182. package/lib/cjs/render/primitives/EdgeParams.d.ts +84 -0
  183. package/lib/cjs/render/primitives/EdgeParams.d.ts.map +1 -0
  184. package/lib/cjs/render/primitives/EdgeParams.js +220 -0
  185. package/lib/cjs/render/primitives/EdgeParams.js.map +1 -0
  186. package/lib/cjs/render/primitives/PointStringParams.d.ts +16 -0
  187. package/lib/cjs/render/primitives/PointStringParams.d.ts.map +1 -0
  188. package/lib/cjs/render/primitives/PointStringParams.js +43 -0
  189. package/lib/cjs/render/primitives/PointStringParams.js.map +1 -0
  190. package/lib/cjs/render/primitives/PolylineParams.d.ts +44 -0
  191. package/lib/cjs/render/primitives/PolylineParams.d.ts.map +1 -0
  192. package/lib/cjs/render/primitives/PolylineParams.js +205 -0
  193. package/lib/cjs/render/primitives/PolylineParams.js.map +1 -0
  194. package/lib/cjs/render/primitives/Primitives.d.ts +1 -1
  195. package/lib/cjs/render/primitives/Primitives.d.ts.map +1 -1
  196. package/lib/cjs/render/primitives/Primitives.js.map +1 -1
  197. package/lib/cjs/render/primitives/SurfaceParams.d.ts +46 -0
  198. package/lib/cjs/render/primitives/SurfaceParams.d.ts.map +1 -0
  199. package/lib/cjs/render/primitives/SurfaceParams.js +42 -0
  200. package/lib/cjs/render/primitives/SurfaceParams.js.map +1 -0
  201. package/lib/cjs/render/primitives/VertexTable.d.ts +4 -123
  202. package/lib/cjs/render/primitives/VertexTable.d.ts.map +1 -1
  203. package/lib/cjs/render/primitives/VertexTable.js +16 -352
  204. package/lib/cjs/render/primitives/VertexTable.js.map +1 -1
  205. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts +2 -0
  206. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  207. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js +2 -1
  208. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  209. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  210. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js +1 -0
  211. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  212. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts +2 -2
  213. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  214. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js +3 -3
  215. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  216. package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.d.ts +1 -1
  217. package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.js +1 -1
  218. package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.js.map +1 -1
  219. package/lib/cjs/render/webgl/AttributeMap.js +5 -5
  220. package/lib/cjs/render/webgl/BackgroundMapDrape.js +1 -1
  221. package/lib/cjs/render/webgl/BackgroundMapDrape.js.map +1 -1
  222. package/lib/cjs/render/webgl/BranchUniforms.d.ts.map +1 -1
  223. package/lib/cjs/render/webgl/BranchUniforms.js +8 -5
  224. package/lib/cjs/render/webgl/BranchUniforms.js.map +1 -1
  225. package/lib/cjs/render/webgl/CachedGeometry.d.ts +16 -11
  226. package/lib/cjs/render/webgl/CachedGeometry.d.ts.map +1 -1
  227. package/lib/cjs/render/webgl/CachedGeometry.js +26 -23
  228. package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
  229. package/lib/cjs/render/webgl/DrawCommand.d.ts +2 -3
  230. package/lib/cjs/render/webgl/DrawCommand.d.ts.map +1 -1
  231. package/lib/cjs/render/webgl/DrawCommand.js +6 -4
  232. package/lib/cjs/render/webgl/DrawCommand.js.map +1 -1
  233. package/lib/cjs/render/webgl/EdgeGeometry.d.ts +73 -0
  234. package/lib/cjs/render/webgl/EdgeGeometry.d.ts.map +1 -0
  235. package/lib/cjs/render/webgl/EdgeGeometry.js +141 -0
  236. package/lib/cjs/render/webgl/EdgeGeometry.js.map +1 -0
  237. package/lib/cjs/render/webgl/FeatureOverrides.d.ts +2 -0
  238. package/lib/cjs/render/webgl/FeatureOverrides.d.ts.map +1 -1
  239. package/lib/cjs/render/webgl/FeatureOverrides.js +11 -3
  240. package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
  241. package/lib/cjs/render/webgl/FloatRGBA.d.ts.map +1 -1
  242. package/lib/cjs/render/webgl/FloatRGBA.js +13 -11
  243. package/lib/cjs/render/webgl/FloatRGBA.js.map +1 -1
  244. package/lib/cjs/render/webgl/Graphic.d.ts +13 -0
  245. package/lib/cjs/render/webgl/Graphic.d.ts.map +1 -1
  246. package/lib/cjs/render/webgl/Graphic.js +41 -3
  247. package/lib/cjs/render/webgl/Graphic.js.map +1 -1
  248. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts +51 -0
  249. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -0
  250. package/lib/cjs/render/webgl/IndexedEdgeGeometry.js +90 -0
  251. package/lib/cjs/render/webgl/IndexedEdgeGeometry.js.map +1 -0
  252. package/lib/cjs/render/webgl/InstancedGeometry.d.ts +6 -5
  253. package/lib/cjs/render/webgl/InstancedGeometry.d.ts.map +1 -1
  254. package/lib/cjs/render/webgl/InstancedGeometry.js +2 -1
  255. package/lib/cjs/render/webgl/InstancedGeometry.js.map +1 -1
  256. package/lib/cjs/render/webgl/Material.d.ts +1 -1
  257. package/lib/cjs/render/webgl/Material.d.ts.map +1 -1
  258. package/lib/cjs/render/webgl/Material.js +2 -0
  259. package/lib/cjs/render/webgl/Material.js.map +1 -1
  260. package/lib/cjs/render/webgl/Mesh.d.ts +8 -162
  261. package/lib/cjs/render/webgl/Mesh.d.ts.map +1 -1
  262. package/lib/cjs/render/webgl/Mesh.js +18 -458
  263. package/lib/cjs/render/webgl/Mesh.js.map +1 -1
  264. package/lib/cjs/render/webgl/MeshData.d.ts +38 -0
  265. package/lib/cjs/render/webgl/MeshData.d.ts.map +1 -0
  266. package/lib/cjs/render/webgl/MeshData.js +66 -0
  267. package/lib/cjs/render/webgl/MeshData.js.map +1 -0
  268. package/lib/cjs/render/webgl/MeshGeometry.d.ts +38 -0
  269. package/lib/cjs/render/webgl/MeshGeometry.d.ts.map +1 -0
  270. package/lib/cjs/render/webgl/MeshGeometry.js +59 -0
  271. package/lib/cjs/render/webgl/MeshGeometry.js.map +1 -0
  272. package/lib/cjs/render/webgl/PlanarClassifier.d.ts.map +1 -1
  273. package/lib/cjs/render/webgl/PlanarClassifier.js +8 -4
  274. package/lib/cjs/render/webgl/PlanarClassifier.js.map +1 -1
  275. package/lib/cjs/render/webgl/PlanarGrid.d.ts +2 -3
  276. package/lib/cjs/render/webgl/PlanarGrid.d.ts.map +1 -1
  277. package/lib/cjs/render/webgl/PlanarGrid.js +3 -3
  278. package/lib/cjs/render/webgl/PlanarGrid.js.map +1 -1
  279. package/lib/cjs/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  280. package/lib/cjs/render/webgl/PlanarTextureProjection.js +1 -0
  281. package/lib/cjs/render/webgl/PlanarTextureProjection.js.map +1 -1
  282. package/lib/cjs/render/webgl/PointCloud.d.ts +2 -2
  283. package/lib/cjs/render/webgl/PointCloud.d.ts.map +1 -1
  284. package/lib/cjs/render/webgl/PointCloud.js +2 -2
  285. package/lib/cjs/render/webgl/PointCloud.js.map +1 -1
  286. package/lib/cjs/render/webgl/PointString.d.ts +3 -3
  287. package/lib/cjs/render/webgl/PointString.d.ts.map +1 -1
  288. package/lib/cjs/render/webgl/PointString.js +1 -1
  289. package/lib/cjs/render/webgl/PointString.js.map +1 -1
  290. package/lib/cjs/render/webgl/Polyline.d.ts +3 -3
  291. package/lib/cjs/render/webgl/Polyline.d.ts.map +1 -1
  292. package/lib/cjs/render/webgl/Polyline.js +6 -6
  293. package/lib/cjs/render/webgl/Polyline.js.map +1 -1
  294. package/lib/cjs/render/webgl/Primitive.d.ts +2 -2
  295. package/lib/cjs/render/webgl/Primitive.d.ts.map +1 -1
  296. package/lib/cjs/render/webgl/Primitive.js +5 -5
  297. package/lib/cjs/render/webgl/Primitive.js.map +1 -1
  298. package/lib/cjs/render/webgl/RealityMesh.d.ts +2 -2
  299. package/lib/cjs/render/webgl/RealityMesh.d.ts.map +1 -1
  300. package/lib/cjs/render/webgl/RealityMesh.js +9 -9
  301. package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
  302. package/lib/cjs/render/webgl/RenderCommands.d.ts +6 -2
  303. package/lib/cjs/render/webgl/RenderCommands.d.ts.map +1 -1
  304. package/lib/cjs/render/webgl/RenderCommands.js +81 -48
  305. package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
  306. package/lib/cjs/render/webgl/RenderFlags.d.ts +48 -1
  307. package/lib/cjs/render/webgl/RenderFlags.d.ts.map +1 -1
  308. package/lib/cjs/render/webgl/RenderFlags.js +64 -2
  309. package/lib/cjs/render/webgl/RenderFlags.js.map +1 -1
  310. package/lib/cjs/render/webgl/SceneCompositor.js +10 -9
  311. package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
  312. package/lib/cjs/render/webgl/ScreenSpaceEffect.js +1 -1
  313. package/lib/cjs/render/webgl/ShaderBuilder.d.ts +23 -20
  314. package/lib/cjs/render/webgl/ShaderBuilder.d.ts.map +1 -1
  315. package/lib/cjs/render/webgl/ShaderBuilder.js +38 -32
  316. package/lib/cjs/render/webgl/ShaderBuilder.js.map +1 -1
  317. package/lib/cjs/render/webgl/ShaderProgram.d.ts +1 -1
  318. package/lib/cjs/render/webgl/ShaderProgram.d.ts.map +1 -1
  319. package/lib/cjs/render/webgl/ShaderProgram.js +4 -4
  320. package/lib/cjs/render/webgl/ShaderProgram.js.map +1 -1
  321. package/lib/cjs/render/webgl/SolarShadowMap.d.ts.map +1 -1
  322. package/lib/cjs/render/webgl/SolarShadowMap.js +4 -3
  323. package/lib/cjs/render/webgl/SolarShadowMap.js.map +1 -1
  324. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts +54 -0
  325. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts.map +1 -0
  326. package/lib/cjs/render/webgl/SurfaceGeometry.js +248 -0
  327. package/lib/cjs/render/webgl/SurfaceGeometry.js.map +1 -0
  328. package/lib/cjs/render/webgl/System.d.ts +13 -10
  329. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  330. package/lib/cjs/render/webgl/System.js +75 -21
  331. package/lib/cjs/render/webgl/System.js.map +1 -1
  332. package/lib/cjs/render/webgl/Target.d.ts +13 -1
  333. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  334. package/lib/cjs/render/webgl/Target.js +88 -2
  335. package/lib/cjs/render/webgl/Target.js.map +1 -1
  336. package/lib/cjs/render/webgl/Technique.d.ts.map +1 -1
  337. package/lib/cjs/render/webgl/Technique.js +112 -119
  338. package/lib/cjs/render/webgl/Technique.js.map +1 -1
  339. package/lib/cjs/render/webgl/TechniqueFlags.d.ts +7 -1
  340. package/lib/cjs/render/webgl/TechniqueFlags.d.ts.map +1 -1
  341. package/lib/cjs/render/webgl/TechniqueFlags.js +10 -1
  342. package/lib/cjs/render/webgl/TechniqueFlags.js.map +1 -1
  343. package/lib/cjs/render/webgl/TechniqueId.d.ts +29 -28
  344. package/lib/cjs/render/webgl/TechniqueId.d.ts.map +1 -1
  345. package/lib/cjs/render/webgl/TechniqueId.js +7 -7
  346. package/lib/cjs/render/webgl/TechniqueId.js.map +1 -1
  347. package/lib/cjs/render/webgl/Texture.d.ts +15 -12
  348. package/lib/cjs/render/webgl/Texture.d.ts.map +1 -1
  349. package/lib/cjs/render/webgl/Texture.js +26 -23
  350. package/lib/cjs/render/webgl/Texture.js.map +1 -1
  351. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.d.ts.map +1 -1
  352. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js +83 -18
  353. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  354. package/lib/cjs/render/webgl/glsl/Animation.js +1 -1
  355. package/lib/cjs/render/webgl/glsl/Blur.js +1 -1
  356. package/lib/cjs/render/webgl/glsl/ClearPickAndColor.js +2 -2
  357. package/lib/cjs/render/webgl/glsl/ClearTranslucent.js +2 -2
  358. package/lib/cjs/render/webgl/glsl/Color.js +1 -1
  359. package/lib/cjs/render/webgl/glsl/Combine3Textures.js +1 -1
  360. package/lib/cjs/render/webgl/glsl/CombineTextures.js +1 -1
  361. package/lib/cjs/render/webgl/glsl/Composite.js +1 -1
  362. package/lib/cjs/render/webgl/glsl/CopyColor.d.ts.map +1 -1
  363. package/lib/cjs/render/webgl/glsl/CopyColor.js +17 -2
  364. package/lib/cjs/render/webgl/glsl/CopyColor.js.map +1 -1
  365. package/lib/cjs/render/webgl/glsl/CopyPickBuffers.js +2 -2
  366. package/lib/cjs/render/webgl/glsl/CopyStencil.d.ts.map +1 -1
  367. package/lib/cjs/render/webgl/glsl/CopyStencil.js +10 -13
  368. package/lib/cjs/render/webgl/glsl/CopyStencil.js.map +1 -1
  369. package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js +2 -2
  370. package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  371. package/lib/cjs/render/webgl/glsl/Edge.d.ts +2 -1
  372. package/lib/cjs/render/webgl/glsl/Edge.d.ts.map +1 -1
  373. package/lib/cjs/render/webgl/glsl/Edge.js +132 -14
  374. package/lib/cjs/render/webgl/glsl/Edge.js.map +1 -1
  375. package/lib/cjs/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
  376. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js +43 -21
  377. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  378. package/lib/cjs/render/webgl/glsl/Fragment.d.ts.map +1 -1
  379. package/lib/cjs/render/webgl/glsl/Fragment.js +19 -11
  380. package/lib/cjs/render/webgl/glsl/Fragment.js.map +1 -1
  381. package/lib/cjs/render/webgl/glsl/LogarithmicDepthBuffer.js +1 -1
  382. package/lib/cjs/render/webgl/glsl/LookupTable.d.ts +4 -2
  383. package/lib/cjs/render/webgl/glsl/LookupTable.d.ts.map +1 -1
  384. package/lib/cjs/render/webgl/glsl/LookupTable.js +7 -3
  385. package/lib/cjs/render/webgl/glsl/LookupTable.js.map +1 -1
  386. package/lib/cjs/render/webgl/glsl/PlanarClassification.d.ts.map +1 -1
  387. package/lib/cjs/render/webgl/glsl/PlanarClassification.js +13 -4
  388. package/lib/cjs/render/webgl/glsl/PlanarClassification.js.map +1 -1
  389. package/lib/cjs/render/webgl/glsl/PlanarGrid.js +2 -2
  390. package/lib/cjs/render/webgl/glsl/PlanarGrid.js.map +1 -1
  391. package/lib/cjs/render/webgl/glsl/PointCloud.js +2 -2
  392. package/lib/cjs/render/webgl/glsl/PointCloud.js.map +1 -1
  393. package/lib/cjs/render/webgl/glsl/PointString.js +1 -1
  394. package/lib/cjs/render/webgl/glsl/PointString.js.map +1 -1
  395. package/lib/cjs/render/webgl/glsl/Polyline.js +1 -1
  396. package/lib/cjs/render/webgl/glsl/Polyline.js.map +1 -1
  397. package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  398. package/lib/cjs/render/webgl/glsl/RealityMesh.js +9 -6
  399. package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
  400. package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js +2 -2
  401. package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
  402. package/lib/cjs/render/webgl/glsl/SkyBox.js +2 -2
  403. package/lib/cjs/render/webgl/glsl/SkyBox.js.map +1 -1
  404. package/lib/cjs/render/webgl/glsl/SkySphere.js +2 -2
  405. package/lib/cjs/render/webgl/glsl/Surface.d.ts.map +1 -1
  406. package/lib/cjs/render/webgl/glsl/Surface.js +41 -16
  407. package/lib/cjs/render/webgl/glsl/Surface.js.map +1 -1
  408. package/lib/cjs/render/webgl/glsl/Translucency.js +2 -2
  409. package/lib/cjs/render/webgl/glsl/Vertex.js +2 -2
  410. package/lib/cjs/render/webgl/glsl/Vertex.js.map +1 -1
  411. package/lib/cjs/render/webgl/glsl/ViewportQuad.js +1 -1
  412. package/lib/cjs/render/webgl/glsl/ViewportQuad.js.map +1 -1
  413. package/lib/cjs/render/webgl/glsl/Wiremesh.d.ts +9 -0
  414. package/lib/cjs/render/webgl/glsl/Wiremesh.d.ts.map +1 -0
  415. package/lib/cjs/render/webgl/glsl/Wiremesh.js +40 -0
  416. package/lib/cjs/render/webgl/glsl/Wiremesh.js.map +1 -0
  417. package/lib/cjs/render-primitives.d.ts +5 -1
  418. package/lib/cjs/render-primitives.d.ts.map +1 -1
  419. package/lib/cjs/render-primitives.js +5 -1
  420. package/lib/cjs/render-primitives.js.map +1 -1
  421. package/lib/cjs/request/Request.d.ts +167 -0
  422. package/lib/cjs/request/Request.d.ts.map +1 -0
  423. package/lib/cjs/request/Request.js +315 -0
  424. package/lib/cjs/request/Request.js.map +1 -0
  425. package/lib/cjs/tile/B3dmReader.d.ts +2 -1
  426. package/lib/cjs/tile/B3dmReader.d.ts.map +1 -1
  427. package/lib/cjs/tile/B3dmReader.js +11 -7
  428. package/lib/cjs/tile/B3dmReader.js.map +1 -1
  429. package/lib/cjs/tile/CesiumAssetProvider.d.ts +14 -0
  430. package/lib/cjs/tile/CesiumAssetProvider.d.ts.map +1 -0
  431. package/lib/cjs/tile/CesiumAssetProvider.js +35 -0
  432. package/lib/cjs/tile/CesiumAssetProvider.js.map +1 -0
  433. package/lib/cjs/tile/ContextShareProvider.d.ts +22 -0
  434. package/lib/cjs/tile/ContextShareProvider.d.ts.map +1 -0
  435. package/lib/cjs/tile/ContextShareProvider.js +129 -0
  436. package/lib/cjs/tile/ContextShareProvider.js.map +1 -0
  437. package/lib/cjs/tile/DynamicIModelTile.js +9 -3
  438. package/lib/cjs/tile/DynamicIModelTile.js.map +1 -1
  439. package/lib/cjs/tile/GltfReader.d.ts +594 -55
  440. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  441. package/lib/cjs/tile/GltfReader.js +703 -264
  442. package/lib/cjs/tile/GltfReader.js.map +1 -1
  443. package/lib/cjs/tile/I3dmReader.d.ts +2 -1
  444. package/lib/cjs/tile/I3dmReader.d.ts.map +1 -1
  445. package/lib/cjs/tile/I3dmReader.js +10 -6
  446. package/lib/cjs/tile/I3dmReader.js.map +1 -1
  447. package/lib/cjs/tile/IModelTile.d.ts.map +1 -1
  448. package/lib/cjs/tile/IModelTile.js +14 -7
  449. package/lib/cjs/tile/IModelTile.js.map +1 -1
  450. package/lib/cjs/tile/IModelTileTree.d.ts +8 -0
  451. package/lib/cjs/tile/IModelTileTree.d.ts.map +1 -1
  452. package/lib/cjs/tile/IModelTileTree.js +36 -1
  453. package/lib/cjs/tile/IModelTileTree.js.map +1 -1
  454. package/lib/cjs/tile/ImdlReader.d.ts +365 -10
  455. package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
  456. package/lib/cjs/tile/ImdlReader.js +202 -68
  457. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  458. package/lib/cjs/tile/OrbitGtTileTree.d.ts.map +1 -1
  459. package/lib/cjs/tile/OrbitGtTileTree.js +8 -5
  460. package/lib/cjs/tile/OrbitGtTileTree.js.map +1 -1
  461. package/lib/cjs/tile/PrimaryTileTree.d.ts +14 -5
  462. package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
  463. package/lib/cjs/tile/PrimaryTileTree.js +69 -14
  464. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  465. package/lib/cjs/tile/RealityModelTileTree.d.ts +3 -55
  466. package/lib/cjs/tile/RealityModelTileTree.d.ts.map +1 -1
  467. package/lib/cjs/tile/RealityModelTileTree.js +57 -232
  468. package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
  469. package/lib/cjs/tile/RealityTileLoader.d.ts +1 -0
  470. package/lib/cjs/tile/RealityTileLoader.d.ts.map +1 -1
  471. package/lib/cjs/tile/RealityTileLoader.js +4 -3
  472. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  473. package/lib/cjs/tile/Tile.d.ts.map +1 -1
  474. package/lib/cjs/tile/Tile.js +5 -1
  475. package/lib/cjs/tile/Tile.js.map +1 -1
  476. package/lib/cjs/tile/TileAdmin.d.ts +37 -4
  477. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  478. package/lib/cjs/tile/TileAdmin.js +18 -12
  479. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  480. package/lib/cjs/tile/TileDrawArgs.d.ts +11 -0
  481. package/lib/cjs/tile/TileDrawArgs.d.ts.map +1 -1
  482. package/lib/cjs/tile/TileDrawArgs.js +6 -1
  483. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  484. package/lib/cjs/tile/TileTreeReference.d.ts +2 -0
  485. package/lib/cjs/tile/TileTreeReference.d.ts.map +1 -1
  486. package/lib/cjs/tile/TileTreeReference.js +5 -0
  487. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  488. package/lib/cjs/tile/internal.d.ts +4 -1
  489. package/lib/cjs/tile/internal.d.ts.map +1 -1
  490. package/lib/cjs/tile/internal.js +4 -1
  491. package/lib/cjs/tile/internal.js.map +1 -1
  492. package/lib/cjs/tile/map/ArcGISTileMap.d.ts +22 -0
  493. package/lib/cjs/tile/map/ArcGISTileMap.d.ts.map +1 -0
  494. package/lib/cjs/tile/map/ArcGISTileMap.js +177 -0
  495. package/lib/cjs/tile/map/ArcGISTileMap.js.map +1 -0
  496. package/lib/cjs/tile/map/ArcGisTokenGenerator.js +3 -3
  497. package/lib/cjs/tile/map/ArcGisTokenGenerator.js.map +1 -1
  498. package/lib/cjs/tile/map/ArcGisUtilities.d.ts +1 -1
  499. package/lib/cjs/tile/map/ArcGisUtilities.d.ts.map +1 -1
  500. package/lib/cjs/tile/map/ArcGisUtilities.js +18 -10
  501. package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
  502. package/lib/cjs/tile/map/BingElevation.js +4 -4
  503. package/lib/cjs/tile/map/BingElevation.js.map +1 -1
  504. package/lib/cjs/tile/map/CesiumTerrainProvider.d.ts.map +1 -1
  505. package/lib/cjs/tile/map/CesiumTerrainProvider.js +27 -15
  506. package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
  507. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -2
  508. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  509. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +23 -44
  510. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  511. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js +3 -3
  512. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  513. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +8 -0
  514. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  515. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +51 -10
  516. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  517. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +6 -1
  518. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
  519. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +63 -21
  520. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  521. package/lib/cjs/tile/map/ImageryTileTree.d.ts +4 -4
  522. package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
  523. package/lib/cjs/tile/map/ImageryTileTree.js +20 -24
  524. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  525. package/lib/cjs/tile/map/MapCartoRectangle.js +1 -1
  526. package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
  527. package/lib/cjs/tile/map/MapLayerAuthentication.d.ts +20 -0
  528. package/lib/cjs/tile/map/MapLayerAuthentication.d.ts.map +1 -0
  529. package/lib/cjs/tile/map/MapLayerAuthentication.js +18 -0
  530. package/lib/cjs/tile/map/MapLayerAuthentication.js.map +1 -0
  531. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts +6 -3
  532. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  533. package/lib/cjs/tile/map/MapLayerFormatRegistry.js +3 -1
  534. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  535. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts +2 -2
  536. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  537. package/lib/cjs/tile/map/MapLayerImageryFormats.js +21 -8
  538. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  539. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +18 -6
  540. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  541. package/lib/cjs/tile/map/MapLayerImageryProvider.js +47 -14
  542. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  543. package/lib/cjs/tile/map/MapLayerSources.d.ts +3 -11
  544. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  545. package/lib/cjs/tile/map/MapLayerSources.js +5 -34
  546. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  547. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  548. package/lib/cjs/tile/map/MapTile.js +4 -3
  549. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  550. package/lib/cjs/tile/map/MapTileLoader.js +2 -2
  551. package/lib/cjs/tile/map/MapTileLoader.js.map +1 -1
  552. package/lib/cjs/tile/map/MapTileTree.d.ts +1 -1
  553. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  554. package/lib/cjs/tile/map/MapTileTree.js +30 -21
  555. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  556. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts +3 -3
  557. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  558. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +4 -6
  559. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  560. package/lib/cjs/tile/map/MapTilingScheme.d.ts +7 -2
  561. package/lib/cjs/tile/map/MapTilingScheme.d.ts.map +1 -1
  562. package/lib/cjs/tile/map/MapTilingScheme.js +21 -8
  563. package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
  564. package/lib/cjs/tile/map/QuadId.d.ts +1 -0
  565. package/lib/cjs/tile/map/QuadId.d.ts.map +1 -1
  566. package/lib/cjs/tile/map/QuadId.js +2 -1
  567. package/lib/cjs/tile/map/QuadId.js.map +1 -1
  568. package/lib/cjs/tile/map/TerrainMeshProvider.d.ts +1 -1
  569. package/lib/cjs/tile/map/TerrainMeshProvider.js.map +1 -1
  570. package/lib/cjs/tile/map/WmsCapabilities.d.ts +8 -1
  571. package/lib/cjs/tile/map/WmsCapabilities.d.ts.map +1 -1
  572. package/lib/cjs/tile/map/WmsCapabilities.js +39 -5
  573. package/lib/cjs/tile/map/WmsCapabilities.js.map +1 -1
  574. package/lib/cjs/tile/map/WmtsCapabilities.d.ts +11 -1
  575. package/lib/cjs/tile/map/WmtsCapabilities.d.ts.map +1 -1
  576. package/lib/cjs/tile/map/WmtsCapabilities.js +23 -9
  577. package/lib/cjs/tile/map/WmtsCapabilities.js.map +1 -1
  578. package/lib/cjs/tools/EditManipulator.d.ts.map +1 -1
  579. package/lib/cjs/tools/EditManipulator.js +1 -1
  580. package/lib/cjs/tools/EditManipulator.js.map +1 -1
  581. package/lib/cjs/tools/ElementSetTool.js +2 -2
  582. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  583. package/lib/cjs/tools/PrimitiveTool.d.ts +4 -4
  584. package/lib/cjs/tools/PrimitiveTool.d.ts.map +1 -1
  585. package/lib/cjs/tools/PrimitiveTool.js +2 -2
  586. package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
  587. package/lib/cjs/tools/Tool.d.ts +29 -1
  588. package/lib/cjs/tools/Tool.d.ts.map +1 -1
  589. package/lib/cjs/tools/Tool.js +66 -0
  590. package/lib/cjs/tools/Tool.js.map +1 -1
  591. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  592. package/lib/cjs/tools/ToolAdmin.js +20 -10
  593. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  594. package/lib/cjs/tools/ViewTool.js +1 -1
  595. package/lib/cjs/tools/ViewTool.js.map +1 -1
  596. package/lib/cjs/webgl.d.ts +5 -0
  597. package/lib/cjs/webgl.d.ts.map +1 -1
  598. package/lib/cjs/webgl.js +5 -0
  599. package/lib/cjs/webgl.js.map +1 -1
  600. package/lib/esm/AccuSnap.js +3 -3
  601. package/lib/esm/AccuSnap.js.map +1 -1
  602. package/lib/esm/ApproximateTerrainHeights.d.ts.map +1 -1
  603. package/lib/esm/ApproximateTerrainHeights.js +10 -5
  604. package/lib/esm/ApproximateTerrainHeights.js.map +1 -1
  605. package/lib/esm/BackgroundMapGeometry.d.ts +1 -1
  606. package/lib/esm/BackgroundMapGeometry.d.ts.map +1 -1
  607. package/lib/esm/BackgroundMapGeometry.js +2 -2
  608. package/lib/esm/BackgroundMapGeometry.js.map +1 -1
  609. package/lib/esm/BingLocation.js +1 -1
  610. package/lib/esm/BingLocation.js.map +1 -1
  611. package/lib/esm/CheckpointConnection.js +1 -1
  612. package/lib/esm/CheckpointConnection.js.map +1 -1
  613. package/lib/esm/ContextRealityModelState.js +1 -1
  614. package/lib/esm/ContextRealityModelState.js.map +1 -1
  615. package/lib/esm/DisplayStyleState.d.ts +10 -163
  616. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  617. package/lib/esm/DisplayStyleState.js +70 -346
  618. package/lib/esm/DisplayStyleState.js.map +1 -1
  619. package/lib/esm/DrawingViewState.d.ts +2 -2
  620. package/lib/esm/DrawingViewState.d.ts.map +1 -1
  621. package/lib/esm/DrawingViewState.js +3 -3
  622. package/lib/esm/DrawingViewState.js.map +1 -1
  623. package/lib/esm/EmphasizeElements.d.ts.map +1 -1
  624. package/lib/esm/EmphasizeElements.js +14 -4
  625. package/lib/esm/EmphasizeElements.js.map +1 -1
  626. package/lib/esm/EnvironmentDecorations.d.ts +39 -0
  627. package/lib/esm/EnvironmentDecorations.d.ts.map +1 -0
  628. package/lib/esm/EnvironmentDecorations.js +196 -0
  629. package/lib/esm/EnvironmentDecorations.js.map +1 -0
  630. package/lib/esm/FrontendHubAccess.d.ts +11 -7
  631. package/lib/esm/FrontendHubAccess.d.ts.map +1 -1
  632. package/lib/esm/FrontendHubAccess.js.map +1 -1
  633. package/lib/esm/FrontendLoggerCategory.d.ts +2 -8
  634. package/lib/esm/FrontendLoggerCategory.d.ts.map +1 -1
  635. package/lib/esm/FrontendLoggerCategory.js +2 -8
  636. package/lib/esm/FrontendLoggerCategory.js.map +1 -1
  637. package/lib/esm/HitDetail.js +7 -7
  638. package/lib/esm/HitDetail.js.map +1 -1
  639. package/lib/esm/IModelApp.d.ts +31 -24
  640. package/lib/esm/IModelApp.d.ts.map +1 -1
  641. package/lib/esm/IModelApp.js +34 -35
  642. package/lib/esm/IModelApp.js.map +1 -1
  643. package/lib/esm/IModelConnection.d.ts +4 -6
  644. package/lib/esm/IModelConnection.d.ts.map +1 -1
  645. package/lib/esm/IModelConnection.js +6 -11
  646. package/lib/esm/IModelConnection.js.map +1 -1
  647. package/lib/esm/IModeljs-css.d.ts.map +1 -1
  648. package/lib/esm/IModeljs-css.js +8 -6
  649. package/lib/esm/IModeljs-css.js.map +1 -1
  650. package/lib/esm/ImageUtil.d.ts +3 -3
  651. package/lib/esm/ImageUtil.d.ts.map +1 -1
  652. package/lib/esm/ImageUtil.js +7 -4
  653. package/lib/esm/ImageUtil.js.map +1 -1
  654. package/lib/esm/LocalhostIpcApp.d.ts +2 -1
  655. package/lib/esm/LocalhostIpcApp.d.ts.map +1 -1
  656. package/lib/esm/LocalhostIpcApp.js +22 -8
  657. package/lib/esm/LocalhostIpcApp.js.map +1 -1
  658. package/lib/esm/Marker.d.ts +9 -2
  659. package/lib/esm/Marker.d.ts.map +1 -1
  660. package/lib/esm/Marker.js +34 -6
  661. package/lib/esm/Marker.js.map +1 -1
  662. package/lib/esm/ModelState.js +1 -1
  663. package/lib/esm/ModelState.js.map +1 -1
  664. package/lib/esm/NativeApp.d.ts +3 -38
  665. package/lib/esm/NativeApp.d.ts.map +1 -1
  666. package/lib/esm/NativeApp.js +1 -69
  667. package/lib/esm/NativeApp.js.map +1 -1
  668. package/lib/esm/NoRenderApp.d.ts +0 -1
  669. package/lib/esm/NoRenderApp.d.ts.map +1 -1
  670. package/lib/esm/NoRenderApp.js +0 -1
  671. package/lib/esm/NoRenderApp.js.map +1 -1
  672. package/lib/esm/NotificationManager.d.ts +3 -1
  673. package/lib/esm/NotificationManager.d.ts.map +1 -1
  674. package/lib/esm/NotificationManager.js +2 -0
  675. package/lib/esm/NotificationManager.js.map +1 -1
  676. package/lib/esm/RealityDataSource.d.ts +59 -29
  677. package/lib/esm/RealityDataSource.d.ts.map +1 -1
  678. package/lib/esm/RealityDataSource.js +247 -92
  679. package/lib/esm/RealityDataSource.js.map +1 -1
  680. package/lib/esm/RenderScheduleState.d.ts +2 -0
  681. package/lib/esm/RenderScheduleState.d.ts.map +1 -1
  682. package/lib/esm/RenderScheduleState.js +8 -4
  683. package/lib/esm/RenderScheduleState.js.map +1 -1
  684. package/lib/esm/SheetViewState.d.ts +2 -2
  685. package/lib/esm/SheetViewState.d.ts.map +1 -1
  686. package/lib/esm/SheetViewState.js +8 -9
  687. package/lib/esm/SheetViewState.js.map +1 -1
  688. package/lib/esm/SpatialViewState.d.ts +10 -2
  689. package/lib/esm/SpatialViewState.d.ts.map +1 -1
  690. package/lib/esm/SpatialViewState.js +12 -2
  691. package/lib/esm/SpatialViewState.js.map +1 -1
  692. package/lib/esm/SubCategoriesCache.js +1 -1
  693. package/lib/esm/SubCategoriesCache.js.map +1 -1
  694. package/lib/esm/Tiles.d.ts +11 -1
  695. package/lib/esm/Tiles.d.ts.map +1 -1
  696. package/lib/esm/Tiles.js +7 -0
  697. package/lib/esm/Tiles.js.map +1 -1
  698. package/lib/esm/TwoWayViewportSync.d.ts +35 -6
  699. package/lib/esm/TwoWayViewportSync.d.ts.map +1 -1
  700. package/lib/esm/TwoWayViewportSync.js +49 -10
  701. package/lib/esm/TwoWayViewportSync.js.map +1 -1
  702. package/lib/esm/UserPreferences.d.ts +72 -0
  703. package/lib/esm/UserPreferences.d.ts.map +1 -0
  704. package/lib/esm/{extension/ExtensionLoader.js → UserPreferences.js} +1 -5
  705. package/lib/esm/UserPreferences.js.map +1 -0
  706. package/lib/esm/ViewContext.d.ts +3 -1
  707. package/lib/esm/ViewContext.d.ts.map +1 -1
  708. package/lib/esm/ViewContext.js +4 -0
  709. package/lib/esm/ViewContext.js.map +1 -1
  710. package/lib/esm/ViewCreator2d.js +3 -3
  711. package/lib/esm/ViewCreator2d.js.map +1 -1
  712. package/lib/esm/ViewCreator3d.d.ts +1 -1
  713. package/lib/esm/ViewCreator3d.d.ts.map +1 -1
  714. package/lib/esm/ViewCreator3d.js +5 -6
  715. package/lib/esm/ViewCreator3d.js.map +1 -1
  716. package/lib/esm/ViewManager.d.ts +6 -6
  717. package/lib/esm/ViewManager.d.ts.map +1 -1
  718. package/lib/esm/ViewManager.js +13 -13
  719. package/lib/esm/ViewManager.js.map +1 -1
  720. package/lib/esm/ViewState.d.ts +11 -5
  721. package/lib/esm/ViewState.d.ts.map +1 -1
  722. package/lib/esm/ViewState.js +21 -66
  723. package/lib/esm/ViewState.js.map +1 -1
  724. package/lib/esm/ViewingSpace.js +1 -1
  725. package/lib/esm/ViewingSpace.js.map +1 -1
  726. package/lib/esm/Viewport.d.ts +34 -6
  727. package/lib/esm/Viewport.d.ts.map +1 -1
  728. package/lib/esm/Viewport.js +43 -23
  729. package/lib/esm/Viewport.js.map +1 -1
  730. package/lib/esm/core-frontend.d.ts +17 -31
  731. package/lib/esm/core-frontend.d.ts.map +1 -1
  732. package/lib/esm/core-frontend.js +17 -31
  733. package/lib/esm/core-frontend.js.map +1 -1
  734. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts +3 -2
  735. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts.map +1 -1
  736. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js +3 -2
  737. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  738. package/lib/esm/quantity-formatting/BasicUnitsProvider.d.ts +5 -1
  739. package/lib/esm/quantity-formatting/BasicUnitsProvider.d.ts.map +1 -1
  740. package/lib/esm/quantity-formatting/BasicUnitsProvider.js +18 -4
  741. package/lib/esm/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  742. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts +26 -3
  743. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  744. package/lib/esm/quantity-formatting/QuantityFormatter.js +45 -7
  745. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  746. package/lib/esm/render/FeatureSymbology.d.ts.map +1 -1
  747. package/lib/esm/render/FeatureSymbology.js +3 -3
  748. package/lib/esm/render/FeatureSymbology.js.map +1 -1
  749. package/lib/esm/render/GraphicBranch.d.ts +18 -2
  750. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  751. package/lib/esm/render/GraphicBranch.js +8 -0
  752. package/lib/esm/render/GraphicBranch.js.map +1 -1
  753. package/lib/esm/render/GraphicBuilder.d.ts +7 -1
  754. package/lib/esm/render/GraphicBuilder.d.ts.map +1 -1
  755. package/lib/esm/render/GraphicBuilder.js.map +1 -1
  756. package/lib/esm/render/MockRender.d.ts +3 -1
  757. package/lib/esm/render/MockRender.d.ts.map +1 -1
  758. package/lib/esm/render/MockRender.js.map +1 -1
  759. package/lib/esm/render/RenderMaterial.d.ts +61 -0
  760. package/lib/esm/render/RenderMaterial.d.ts.map +1 -0
  761. package/lib/esm/render/RenderMaterial.js +9 -0
  762. package/lib/esm/render/RenderMaterial.js.map +1 -0
  763. package/lib/esm/render/RenderMemory.d.ts +21 -15
  764. package/lib/esm/render/RenderMemory.d.ts.map +1 -1
  765. package/lib/esm/render/RenderMemory.js +21 -15
  766. package/lib/esm/render/RenderMemory.js.map +1 -1
  767. package/lib/esm/render/RenderSystem.d.ts +44 -7
  768. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  769. package/lib/esm/render/RenderSystem.js +32 -9
  770. package/lib/esm/render/RenderSystem.js.map +1 -1
  771. package/lib/esm/render/RenderTarget.d.ts +10 -2
  772. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  773. package/lib/esm/render/RenderTarget.js +2 -1
  774. package/lib/esm/render/RenderTarget.js.map +1 -1
  775. package/lib/esm/render/RenderTexture.d.ts +2 -17
  776. package/lib/esm/render/RenderTexture.d.ts.map +1 -1
  777. package/lib/esm/render/RenderTexture.js +1 -16
  778. package/lib/esm/render/RenderTexture.js.map +1 -1
  779. package/lib/esm/render/primitives/EdgeParams.d.ts +84 -0
  780. package/lib/esm/render/primitives/EdgeParams.d.ts.map +1 -0
  781. package/lib/esm/render/primitives/EdgeParams.js +217 -0
  782. package/lib/esm/render/primitives/EdgeParams.js.map +1 -0
  783. package/lib/esm/render/primitives/PointStringParams.d.ts +16 -0
  784. package/lib/esm/render/primitives/PointStringParams.d.ts.map +1 -0
  785. package/lib/esm/render/primitives/PointStringParams.js +39 -0
  786. package/lib/esm/render/primitives/PointStringParams.js.map +1 -0
  787. package/lib/esm/render/primitives/PolylineParams.d.ts +44 -0
  788. package/lib/esm/render/primitives/PolylineParams.d.ts.map +1 -0
  789. package/lib/esm/render/primitives/PolylineParams.js +199 -0
  790. package/lib/esm/render/primitives/PolylineParams.js.map +1 -0
  791. package/lib/esm/render/primitives/Primitives.d.ts +1 -1
  792. package/lib/esm/render/primitives/Primitives.d.ts.map +1 -1
  793. package/lib/esm/render/primitives/Primitives.js.map +1 -1
  794. package/lib/esm/render/primitives/SurfaceParams.d.ts +46 -0
  795. package/lib/esm/render/primitives/SurfaceParams.d.ts.map +1 -0
  796. package/lib/esm/render/primitives/SurfaceParams.js +37 -0
  797. package/lib/esm/render/primitives/SurfaceParams.js.map +1 -0
  798. package/lib/esm/render/primitives/VertexTable.d.ts +4 -123
  799. package/lib/esm/render/primitives/VertexTable.d.ts.map +1 -1
  800. package/lib/esm/render/primitives/VertexTable.js +11 -342
  801. package/lib/esm/render/primitives/VertexTable.js.map +1 -1
  802. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts +2 -0
  803. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  804. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js +2 -1
  805. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  806. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  807. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js +1 -0
  808. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  809. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts +2 -2
  810. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  811. package/lib/esm/render/primitives/mesh/MeshPrimitives.js +3 -3
  812. package/lib/esm/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  813. package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.d.ts +1 -1
  814. package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.js +1 -1
  815. package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.js.map +1 -1
  816. package/lib/esm/render/webgl/AttributeMap.js +5 -5
  817. package/lib/esm/render/webgl/BackgroundMapDrape.js +2 -2
  818. package/lib/esm/render/webgl/BackgroundMapDrape.js.map +1 -1
  819. package/lib/esm/render/webgl/BranchUniforms.d.ts.map +1 -1
  820. package/lib/esm/render/webgl/BranchUniforms.js +8 -5
  821. package/lib/esm/render/webgl/BranchUniforms.js.map +1 -1
  822. package/lib/esm/render/webgl/CachedGeometry.d.ts +16 -11
  823. package/lib/esm/render/webgl/CachedGeometry.d.ts.map +1 -1
  824. package/lib/esm/render/webgl/CachedGeometry.js +26 -23
  825. package/lib/esm/render/webgl/CachedGeometry.js.map +1 -1
  826. package/lib/esm/render/webgl/DrawCommand.d.ts +2 -3
  827. package/lib/esm/render/webgl/DrawCommand.d.ts.map +1 -1
  828. package/lib/esm/render/webgl/DrawCommand.js +6 -4
  829. package/lib/esm/render/webgl/DrawCommand.js.map +1 -1
  830. package/lib/esm/render/webgl/EdgeGeometry.d.ts +73 -0
  831. package/lib/esm/render/webgl/EdgeGeometry.d.ts.map +1 -0
  832. package/lib/esm/render/webgl/EdgeGeometry.js +135 -0
  833. package/lib/esm/render/webgl/EdgeGeometry.js.map +1 -0
  834. package/lib/esm/render/webgl/FeatureOverrides.d.ts +2 -0
  835. package/lib/esm/render/webgl/FeatureOverrides.d.ts.map +1 -1
  836. package/lib/esm/render/webgl/FeatureOverrides.js +11 -3
  837. package/lib/esm/render/webgl/FeatureOverrides.js.map +1 -1
  838. package/lib/esm/render/webgl/FloatRGBA.d.ts.map +1 -1
  839. package/lib/esm/render/webgl/FloatRGBA.js +13 -11
  840. package/lib/esm/render/webgl/FloatRGBA.js.map +1 -1
  841. package/lib/esm/render/webgl/Graphic.d.ts +13 -0
  842. package/lib/esm/render/webgl/Graphic.d.ts.map +1 -1
  843. package/lib/esm/render/webgl/Graphic.js +39 -2
  844. package/lib/esm/render/webgl/Graphic.js.map +1 -1
  845. package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts +51 -0
  846. package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -0
  847. package/lib/esm/render/webgl/IndexedEdgeGeometry.js +85 -0
  848. package/lib/esm/render/webgl/IndexedEdgeGeometry.js.map +1 -0
  849. package/lib/esm/render/webgl/InstancedGeometry.d.ts +6 -5
  850. package/lib/esm/render/webgl/InstancedGeometry.d.ts.map +1 -1
  851. package/lib/esm/render/webgl/InstancedGeometry.js +2 -1
  852. package/lib/esm/render/webgl/InstancedGeometry.js.map +1 -1
  853. package/lib/esm/render/webgl/Material.d.ts +1 -1
  854. package/lib/esm/render/webgl/Material.d.ts.map +1 -1
  855. package/lib/esm/render/webgl/Material.js +2 -0
  856. package/lib/esm/render/webgl/Material.js.map +1 -1
  857. package/lib/esm/render/webgl/Mesh.d.ts +8 -162
  858. package/lib/esm/render/webgl/Mesh.d.ts.map +1 -1
  859. package/lib/esm/render/webgl/Mesh.js +12 -445
  860. package/lib/esm/render/webgl/Mesh.js.map +1 -1
  861. package/lib/esm/render/webgl/MeshData.d.ts +38 -0
  862. package/lib/esm/render/webgl/MeshData.d.ts.map +1 -0
  863. package/lib/esm/render/webgl/MeshData.js +62 -0
  864. package/lib/esm/render/webgl/MeshData.js.map +1 -0
  865. package/lib/esm/render/webgl/MeshGeometry.d.ts +38 -0
  866. package/lib/esm/render/webgl/MeshGeometry.d.ts.map +1 -0
  867. package/lib/esm/render/webgl/MeshGeometry.js +55 -0
  868. package/lib/esm/render/webgl/MeshGeometry.js.map +1 -0
  869. package/lib/esm/render/webgl/PlanarClassifier.d.ts.map +1 -1
  870. package/lib/esm/render/webgl/PlanarClassifier.js +9 -5
  871. package/lib/esm/render/webgl/PlanarClassifier.js.map +1 -1
  872. package/lib/esm/render/webgl/PlanarGrid.d.ts +2 -3
  873. package/lib/esm/render/webgl/PlanarGrid.d.ts.map +1 -1
  874. package/lib/esm/render/webgl/PlanarGrid.js +3 -3
  875. package/lib/esm/render/webgl/PlanarGrid.js.map +1 -1
  876. package/lib/esm/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  877. package/lib/esm/render/webgl/PlanarTextureProjection.js +1 -0
  878. package/lib/esm/render/webgl/PlanarTextureProjection.js.map +1 -1
  879. package/lib/esm/render/webgl/PointCloud.d.ts +2 -2
  880. package/lib/esm/render/webgl/PointCloud.d.ts.map +1 -1
  881. package/lib/esm/render/webgl/PointCloud.js +2 -2
  882. package/lib/esm/render/webgl/PointCloud.js.map +1 -1
  883. package/lib/esm/render/webgl/PointString.d.ts +3 -3
  884. package/lib/esm/render/webgl/PointString.d.ts.map +1 -1
  885. package/lib/esm/render/webgl/PointString.js +1 -1
  886. package/lib/esm/render/webgl/PointString.js.map +1 -1
  887. package/lib/esm/render/webgl/Polyline.d.ts +3 -3
  888. package/lib/esm/render/webgl/Polyline.d.ts.map +1 -1
  889. package/lib/esm/render/webgl/Polyline.js +6 -6
  890. package/lib/esm/render/webgl/Polyline.js.map +1 -1
  891. package/lib/esm/render/webgl/Primitive.d.ts +2 -2
  892. package/lib/esm/render/webgl/Primitive.d.ts.map +1 -1
  893. package/lib/esm/render/webgl/Primitive.js +5 -5
  894. package/lib/esm/render/webgl/Primitive.js.map +1 -1
  895. package/lib/esm/render/webgl/RealityMesh.d.ts +2 -2
  896. package/lib/esm/render/webgl/RealityMesh.d.ts.map +1 -1
  897. package/lib/esm/render/webgl/RealityMesh.js +9 -9
  898. package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
  899. package/lib/esm/render/webgl/RenderCommands.d.ts +6 -2
  900. package/lib/esm/render/webgl/RenderCommands.d.ts.map +1 -1
  901. package/lib/esm/render/webgl/RenderCommands.js +78 -45
  902. package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
  903. package/lib/esm/render/webgl/RenderFlags.d.ts +48 -1
  904. package/lib/esm/render/webgl/RenderFlags.d.ts.map +1 -1
  905. package/lib/esm/render/webgl/RenderFlags.js +63 -1
  906. package/lib/esm/render/webgl/RenderFlags.js.map +1 -1
  907. package/lib/esm/render/webgl/SceneCompositor.js +10 -9
  908. package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
  909. package/lib/esm/render/webgl/ScreenSpaceEffect.js +1 -1
  910. package/lib/esm/render/webgl/ShaderBuilder.d.ts +23 -20
  911. package/lib/esm/render/webgl/ShaderBuilder.d.ts.map +1 -1
  912. package/lib/esm/render/webgl/ShaderBuilder.js +38 -32
  913. package/lib/esm/render/webgl/ShaderBuilder.js.map +1 -1
  914. package/lib/esm/render/webgl/ShaderProgram.d.ts +1 -1
  915. package/lib/esm/render/webgl/ShaderProgram.d.ts.map +1 -1
  916. package/lib/esm/render/webgl/ShaderProgram.js +4 -4
  917. package/lib/esm/render/webgl/ShaderProgram.js.map +1 -1
  918. package/lib/esm/render/webgl/SolarShadowMap.d.ts.map +1 -1
  919. package/lib/esm/render/webgl/SolarShadowMap.js +5 -4
  920. package/lib/esm/render/webgl/SolarShadowMap.js.map +1 -1
  921. package/lib/esm/render/webgl/SurfaceGeometry.d.ts +54 -0
  922. package/lib/esm/render/webgl/SurfaceGeometry.d.ts.map +1 -0
  923. package/lib/esm/render/webgl/SurfaceGeometry.js +243 -0
  924. package/lib/esm/render/webgl/SurfaceGeometry.js.map +1 -0
  925. package/lib/esm/render/webgl/System.d.ts +13 -10
  926. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  927. package/lib/esm/render/webgl/System.js +77 -23
  928. package/lib/esm/render/webgl/System.js.map +1 -1
  929. package/lib/esm/render/webgl/Target.d.ts +13 -1
  930. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  931. package/lib/esm/render/webgl/Target.js +88 -2
  932. package/lib/esm/render/webgl/Target.js.map +1 -1
  933. package/lib/esm/render/webgl/Technique.d.ts.map +1 -1
  934. package/lib/esm/render/webgl/Technique.js +112 -119
  935. package/lib/esm/render/webgl/Technique.js.map +1 -1
  936. package/lib/esm/render/webgl/TechniqueFlags.d.ts +7 -1
  937. package/lib/esm/render/webgl/TechniqueFlags.d.ts.map +1 -1
  938. package/lib/esm/render/webgl/TechniqueFlags.js +10 -1
  939. package/lib/esm/render/webgl/TechniqueFlags.js.map +1 -1
  940. package/lib/esm/render/webgl/TechniqueId.d.ts +29 -28
  941. package/lib/esm/render/webgl/TechniqueId.d.ts.map +1 -1
  942. package/lib/esm/render/webgl/TechniqueId.js +7 -7
  943. package/lib/esm/render/webgl/TechniqueId.js.map +1 -1
  944. package/lib/esm/render/webgl/Texture.d.ts +15 -12
  945. package/lib/esm/render/webgl/Texture.d.ts.map +1 -1
  946. package/lib/esm/render/webgl/Texture.js +27 -24
  947. package/lib/esm/render/webgl/Texture.js.map +1 -1
  948. package/lib/esm/render/webgl/glsl/AmbientOcclusion.d.ts.map +1 -1
  949. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js +84 -19
  950. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  951. package/lib/esm/render/webgl/glsl/Animation.js +1 -1
  952. package/lib/esm/render/webgl/glsl/Blur.js +1 -1
  953. package/lib/esm/render/webgl/glsl/ClearPickAndColor.js +2 -2
  954. package/lib/esm/render/webgl/glsl/ClearTranslucent.js +2 -2
  955. package/lib/esm/render/webgl/glsl/Color.js +1 -1
  956. package/lib/esm/render/webgl/glsl/Combine3Textures.js +1 -1
  957. package/lib/esm/render/webgl/glsl/CombineTextures.js +1 -1
  958. package/lib/esm/render/webgl/glsl/Composite.js +1 -1
  959. package/lib/esm/render/webgl/glsl/CopyColor.d.ts.map +1 -1
  960. package/lib/esm/render/webgl/glsl/CopyColor.js +17 -2
  961. package/lib/esm/render/webgl/glsl/CopyColor.js.map +1 -1
  962. package/lib/esm/render/webgl/glsl/CopyPickBuffers.js +2 -2
  963. package/lib/esm/render/webgl/glsl/CopyStencil.d.ts.map +1 -1
  964. package/lib/esm/render/webgl/glsl/CopyStencil.js +10 -13
  965. package/lib/esm/render/webgl/glsl/CopyStencil.js.map +1 -1
  966. package/lib/esm/render/webgl/glsl/EVSMFromDepth.js +2 -2
  967. package/lib/esm/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  968. package/lib/esm/render/webgl/glsl/Edge.d.ts +2 -1
  969. package/lib/esm/render/webgl/glsl/Edge.d.ts.map +1 -1
  970. package/lib/esm/render/webgl/glsl/Edge.js +132 -14
  971. package/lib/esm/render/webgl/glsl/Edge.js.map +1 -1
  972. package/lib/esm/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
  973. package/lib/esm/render/webgl/glsl/FeatureSymbology.js +44 -22
  974. package/lib/esm/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  975. package/lib/esm/render/webgl/glsl/Fragment.d.ts.map +1 -1
  976. package/lib/esm/render/webgl/glsl/Fragment.js +19 -11
  977. package/lib/esm/render/webgl/glsl/Fragment.js.map +1 -1
  978. package/lib/esm/render/webgl/glsl/LogarithmicDepthBuffer.js +1 -1
  979. package/lib/esm/render/webgl/glsl/LookupTable.d.ts +4 -2
  980. package/lib/esm/render/webgl/glsl/LookupTable.d.ts.map +1 -1
  981. package/lib/esm/render/webgl/glsl/LookupTable.js +7 -3
  982. package/lib/esm/render/webgl/glsl/LookupTable.js.map +1 -1
  983. package/lib/esm/render/webgl/glsl/PlanarClassification.d.ts.map +1 -1
  984. package/lib/esm/render/webgl/glsl/PlanarClassification.js +13 -4
  985. package/lib/esm/render/webgl/glsl/PlanarClassification.js.map +1 -1
  986. package/lib/esm/render/webgl/glsl/PlanarGrid.js +2 -2
  987. package/lib/esm/render/webgl/glsl/PlanarGrid.js.map +1 -1
  988. package/lib/esm/render/webgl/glsl/PointCloud.js +2 -2
  989. package/lib/esm/render/webgl/glsl/PointCloud.js.map +1 -1
  990. package/lib/esm/render/webgl/glsl/PointString.js +1 -1
  991. package/lib/esm/render/webgl/glsl/PointString.js.map +1 -1
  992. package/lib/esm/render/webgl/glsl/Polyline.js +1 -1
  993. package/lib/esm/render/webgl/glsl/Polyline.js.map +1 -1
  994. package/lib/esm/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  995. package/lib/esm/render/webgl/glsl/RealityMesh.js +9 -6
  996. package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
  997. package/lib/esm/render/webgl/glsl/ScreenSpaceEffect.js +2 -2
  998. package/lib/esm/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
  999. package/lib/esm/render/webgl/glsl/SkyBox.js +2 -2
  1000. package/lib/esm/render/webgl/glsl/SkyBox.js.map +1 -1
  1001. package/lib/esm/render/webgl/glsl/SkySphere.js +2 -2
  1002. package/lib/esm/render/webgl/glsl/Surface.d.ts.map +1 -1
  1003. package/lib/esm/render/webgl/glsl/Surface.js +41 -16
  1004. package/lib/esm/render/webgl/glsl/Surface.js.map +1 -1
  1005. package/lib/esm/render/webgl/glsl/Translucency.js +2 -2
  1006. package/lib/esm/render/webgl/glsl/Vertex.js +3 -3
  1007. package/lib/esm/render/webgl/glsl/Vertex.js.map +1 -1
  1008. package/lib/esm/render/webgl/glsl/ViewportQuad.js +1 -1
  1009. package/lib/esm/render/webgl/glsl/ViewportQuad.js.map +1 -1
  1010. package/lib/esm/render/webgl/glsl/Wiremesh.d.ts +9 -0
  1011. package/lib/esm/render/webgl/glsl/Wiremesh.d.ts.map +1 -0
  1012. package/lib/esm/render/webgl/glsl/Wiremesh.js +36 -0
  1013. package/lib/esm/render/webgl/glsl/Wiremesh.js.map +1 -0
  1014. package/lib/esm/render-primitives.d.ts +5 -1
  1015. package/lib/esm/render-primitives.d.ts.map +1 -1
  1016. package/lib/esm/render-primitives.js +5 -1
  1017. package/lib/esm/render-primitives.js.map +1 -1
  1018. package/lib/esm/request/Request.d.ts +167 -0
  1019. package/lib/esm/request/Request.d.ts.map +1 -0
  1020. package/lib/esm/request/Request.js +289 -0
  1021. package/lib/esm/request/Request.js.map +1 -0
  1022. package/lib/esm/tile/B3dmReader.d.ts +2 -1
  1023. package/lib/esm/tile/B3dmReader.d.ts.map +1 -1
  1024. package/lib/esm/tile/B3dmReader.js +12 -8
  1025. package/lib/esm/tile/B3dmReader.js.map +1 -1
  1026. package/lib/esm/tile/CesiumAssetProvider.d.ts +14 -0
  1027. package/lib/esm/tile/CesiumAssetProvider.d.ts.map +1 -0
  1028. package/lib/esm/tile/CesiumAssetProvider.js +31 -0
  1029. package/lib/esm/tile/CesiumAssetProvider.js.map +1 -0
  1030. package/lib/esm/tile/ContextShareProvider.d.ts +22 -0
  1031. package/lib/esm/tile/ContextShareProvider.d.ts.map +1 -0
  1032. package/lib/esm/tile/ContextShareProvider.js +125 -0
  1033. package/lib/esm/tile/ContextShareProvider.js.map +1 -0
  1034. package/lib/esm/tile/DynamicIModelTile.js +9 -3
  1035. package/lib/esm/tile/DynamicIModelTile.js.map +1 -1
  1036. package/lib/esm/tile/GltfReader.d.ts +594 -55
  1037. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  1038. package/lib/esm/tile/GltfReader.js +678 -242
  1039. package/lib/esm/tile/GltfReader.js.map +1 -1
  1040. package/lib/esm/tile/I3dmReader.d.ts +2 -1
  1041. package/lib/esm/tile/I3dmReader.d.ts.map +1 -1
  1042. package/lib/esm/tile/I3dmReader.js +11 -7
  1043. package/lib/esm/tile/I3dmReader.js.map +1 -1
  1044. package/lib/esm/tile/IModelTile.d.ts.map +1 -1
  1045. package/lib/esm/tile/IModelTile.js +14 -7
  1046. package/lib/esm/tile/IModelTile.js.map +1 -1
  1047. package/lib/esm/tile/IModelTileTree.d.ts +8 -0
  1048. package/lib/esm/tile/IModelTileTree.d.ts.map +1 -1
  1049. package/lib/esm/tile/IModelTileTree.js +36 -1
  1050. package/lib/esm/tile/IModelTileTree.js.map +1 -1
  1051. package/lib/esm/tile/ImdlReader.d.ts +365 -10
  1052. package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
  1053. package/lib/esm/tile/ImdlReader.js +199 -66
  1054. package/lib/esm/tile/ImdlReader.js.map +1 -1
  1055. package/lib/esm/tile/OrbitGtTileTree.d.ts.map +1 -1
  1056. package/lib/esm/tile/OrbitGtTileTree.js +8 -5
  1057. package/lib/esm/tile/OrbitGtTileTree.js.map +1 -1
  1058. package/lib/esm/tile/PrimaryTileTree.d.ts +14 -5
  1059. package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
  1060. package/lib/esm/tile/PrimaryTileTree.js +70 -15
  1061. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  1062. package/lib/esm/tile/RealityModelTileTree.d.ts +3 -55
  1063. package/lib/esm/tile/RealityModelTileTree.d.ts.map +1 -1
  1064. package/lib/esm/tile/RealityModelTileTree.js +56 -230
  1065. package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
  1066. package/lib/esm/tile/RealityTileLoader.d.ts +1 -0
  1067. package/lib/esm/tile/RealityTileLoader.d.ts.map +1 -1
  1068. package/lib/esm/tile/RealityTileLoader.js +4 -3
  1069. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  1070. package/lib/esm/tile/Tile.d.ts.map +1 -1
  1071. package/lib/esm/tile/Tile.js +5 -1
  1072. package/lib/esm/tile/Tile.js.map +1 -1
  1073. package/lib/esm/tile/TileAdmin.d.ts +37 -4
  1074. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  1075. package/lib/esm/tile/TileAdmin.js +19 -13
  1076. package/lib/esm/tile/TileAdmin.js.map +1 -1
  1077. package/lib/esm/tile/TileDrawArgs.d.ts +11 -0
  1078. package/lib/esm/tile/TileDrawArgs.d.ts.map +1 -1
  1079. package/lib/esm/tile/TileDrawArgs.js +6 -1
  1080. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  1081. package/lib/esm/tile/TileTreeReference.d.ts +2 -0
  1082. package/lib/esm/tile/TileTreeReference.d.ts.map +1 -1
  1083. package/lib/esm/tile/TileTreeReference.js +5 -0
  1084. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  1085. package/lib/esm/tile/internal.d.ts +4 -1
  1086. package/lib/esm/tile/internal.d.ts.map +1 -1
  1087. package/lib/esm/tile/internal.js +4 -1
  1088. package/lib/esm/tile/internal.js.map +1 -1
  1089. package/lib/esm/tile/map/ArcGISTileMap.d.ts +22 -0
  1090. package/lib/esm/tile/map/ArcGISTileMap.d.ts.map +1 -0
  1091. package/lib/esm/tile/map/ArcGISTileMap.js +173 -0
  1092. package/lib/esm/tile/map/ArcGISTileMap.js.map +1 -0
  1093. package/lib/esm/tile/map/ArcGisTokenGenerator.js +1 -1
  1094. package/lib/esm/tile/map/ArcGisTokenGenerator.js.map +1 -1
  1095. package/lib/esm/tile/map/ArcGisUtilities.d.ts +1 -1
  1096. package/lib/esm/tile/map/ArcGisUtilities.d.ts.map +1 -1
  1097. package/lib/esm/tile/map/ArcGisUtilities.js +14 -6
  1098. package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
  1099. package/lib/esm/tile/map/BingElevation.js +1 -1
  1100. package/lib/esm/tile/map/BingElevation.js.map +1 -1
  1101. package/lib/esm/tile/map/CesiumTerrainProvider.d.ts.map +1 -1
  1102. package/lib/esm/tile/map/CesiumTerrainProvider.js +25 -13
  1103. package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
  1104. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -2
  1105. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  1106. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +21 -42
  1107. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  1108. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js +2 -2
  1109. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  1110. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +8 -0
  1111. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  1112. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +51 -10
  1113. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  1114. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +6 -1
  1115. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
  1116. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +63 -21
  1117. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  1118. package/lib/esm/tile/map/ImageryTileTree.d.ts +4 -4
  1119. package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
  1120. package/lib/esm/tile/map/ImageryTileTree.js +21 -25
  1121. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  1122. package/lib/esm/tile/map/MapCartoRectangle.js +1 -1
  1123. package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
  1124. package/lib/esm/tile/map/MapLayerAuthentication.d.ts +20 -0
  1125. package/lib/esm/tile/map/MapLayerAuthentication.d.ts.map +1 -0
  1126. package/lib/esm/tile/map/MapLayerAuthentication.js +15 -0
  1127. package/lib/esm/tile/map/MapLayerAuthentication.js.map +1 -0
  1128. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts +6 -3
  1129. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  1130. package/lib/esm/tile/map/MapLayerFormatRegistry.js +3 -1
  1131. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  1132. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts +2 -2
  1133. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  1134. package/lib/esm/tile/map/MapLayerImageryFormats.js +22 -9
  1135. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  1136. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +18 -6
  1137. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  1138. package/lib/esm/tile/map/MapLayerImageryProvider.js +44 -11
  1139. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  1140. package/lib/esm/tile/map/MapLayerSources.d.ts +3 -11
  1141. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  1142. package/lib/esm/tile/map/MapLayerSources.js +7 -36
  1143. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  1144. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  1145. package/lib/esm/tile/map/MapTile.js +4 -3
  1146. package/lib/esm/tile/map/MapTile.js.map +1 -1
  1147. package/lib/esm/tile/map/MapTileLoader.js +1 -1
  1148. package/lib/esm/tile/map/MapTileLoader.js.map +1 -1
  1149. package/lib/esm/tile/map/MapTileTree.d.ts +1 -1
  1150. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  1151. package/lib/esm/tile/map/MapTileTree.js +30 -21
  1152. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  1153. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts +3 -3
  1154. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  1155. package/lib/esm/tile/map/MapTiledGraphicsProvider.js +4 -6
  1156. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  1157. package/lib/esm/tile/map/MapTilingScheme.d.ts +7 -2
  1158. package/lib/esm/tile/map/MapTilingScheme.d.ts.map +1 -1
  1159. package/lib/esm/tile/map/MapTilingScheme.js +22 -9
  1160. package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
  1161. package/lib/esm/tile/map/QuadId.d.ts +1 -0
  1162. package/lib/esm/tile/map/QuadId.d.ts.map +1 -1
  1163. package/lib/esm/tile/map/QuadId.js +2 -1
  1164. package/lib/esm/tile/map/QuadId.js.map +1 -1
  1165. package/lib/esm/tile/map/TerrainMeshProvider.d.ts +1 -1
  1166. package/lib/esm/tile/map/TerrainMeshProvider.js.map +1 -1
  1167. package/lib/esm/tile/map/WmsCapabilities.d.ts +8 -1
  1168. package/lib/esm/tile/map/WmsCapabilities.d.ts.map +1 -1
  1169. package/lib/esm/tile/map/WmsCapabilities.js +37 -3
  1170. package/lib/esm/tile/map/WmsCapabilities.js.map +1 -1
  1171. package/lib/esm/tile/map/WmtsCapabilities.d.ts +11 -1
  1172. package/lib/esm/tile/map/WmtsCapabilities.d.ts.map +1 -1
  1173. package/lib/esm/tile/map/WmtsCapabilities.js +20 -6
  1174. package/lib/esm/tile/map/WmtsCapabilities.js.map +1 -1
  1175. package/lib/esm/tools/EditManipulator.d.ts.map +1 -1
  1176. package/lib/esm/tools/EditManipulator.js +1 -1
  1177. package/lib/esm/tools/EditManipulator.js.map +1 -1
  1178. package/lib/esm/tools/ElementSetTool.js +2 -2
  1179. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  1180. package/lib/esm/tools/PrimitiveTool.d.ts +4 -4
  1181. package/lib/esm/tools/PrimitiveTool.d.ts.map +1 -1
  1182. package/lib/esm/tools/PrimitiveTool.js +2 -2
  1183. package/lib/esm/tools/PrimitiveTool.js.map +1 -1
  1184. package/lib/esm/tools/Tool.d.ts +29 -1
  1185. package/lib/esm/tools/Tool.d.ts.map +1 -1
  1186. package/lib/esm/tools/Tool.js +66 -0
  1187. package/lib/esm/tools/Tool.js.map +1 -1
  1188. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  1189. package/lib/esm/tools/ToolAdmin.js +20 -10
  1190. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  1191. package/lib/esm/tools/ViewTool.js +1 -1
  1192. package/lib/esm/tools/ViewTool.js.map +1 -1
  1193. package/lib/esm/webgl.d.ts +5 -0
  1194. package/lib/esm/webgl.d.ts.map +1 -1
  1195. package/lib/esm/webgl.js +5 -0
  1196. package/lib/esm/webgl.js.map +1 -1
  1197. package/lib/public/locales/en/iModelJs.json +3 -1
  1198. package/package.json +32 -27
  1199. package/lib/cjs/RealityDataAccessProps.d.ts +0 -42
  1200. package/lib/cjs/RealityDataAccessProps.d.ts.map +0 -1
  1201. package/lib/cjs/RealityDataAccessProps.js +0 -23
  1202. package/lib/cjs/RealityDataAccessProps.js.map +0 -1
  1203. package/lib/cjs/RealityDataConnection.d.ts +0 -31
  1204. package/lib/cjs/RealityDataConnection.d.ts.map +0 -1
  1205. package/lib/cjs/RealityDataConnection.js +0 -101
  1206. package/lib/cjs/RealityDataConnection.js.map +0 -1
  1207. package/lib/cjs/extension/Extension.d.ts +0 -39
  1208. package/lib/cjs/extension/Extension.d.ts.map +0 -1
  1209. package/lib/cjs/extension/Extension.js +0 -39
  1210. package/lib/cjs/extension/Extension.js.map +0 -1
  1211. package/lib/cjs/extension/ExtensionAdmin.d.ts +0 -70
  1212. package/lib/cjs/extension/ExtensionAdmin.d.ts.map +0 -1
  1213. package/lib/cjs/extension/ExtensionAdmin.js +0 -105
  1214. package/lib/cjs/extension/ExtensionAdmin.js.map +0 -1
  1215. package/lib/cjs/extension/ExtensionHost.d.ts +0 -22
  1216. package/lib/cjs/extension/ExtensionHost.d.ts.map +0 -1
  1217. package/lib/cjs/extension/ExtensionHost.js +0 -24
  1218. package/lib/cjs/extension/ExtensionHost.js.map +0 -1
  1219. package/lib/cjs/extension/ExtensionImpl.d.ts +0 -16
  1220. package/lib/cjs/extension/ExtensionImpl.d.ts.map +0 -1
  1221. package/lib/cjs/extension/ExtensionImpl.js +0 -40
  1222. package/lib/cjs/extension/ExtensionImpl.js.map +0 -1
  1223. package/lib/cjs/extension/ExtensionLoader.d.ts +0 -20
  1224. package/lib/cjs/extension/ExtensionLoader.d.ts.map +0 -1
  1225. package/lib/cjs/extension/ExtensionLoader.js.map +0 -1
  1226. package/lib/cjs/extension/ExtensionRuntime.d.ts +0 -2
  1227. package/lib/cjs/extension/ExtensionRuntime.d.ts.map +0 -1
  1228. package/lib/cjs/extension/ExtensionRuntime.js +0 -71
  1229. package/lib/cjs/extension/ExtensionRuntime.js.map +0 -1
  1230. package/lib/cjs/extension/extensions.d.ts +0 -18
  1231. package/lib/cjs/extension/extensions.d.ts.map +0 -1
  1232. package/lib/cjs/extension/extensions.js +0 -35
  1233. package/lib/cjs/extension/extensions.js.map +0 -1
  1234. package/lib/cjs/tile/map/MapLayerSettingsService.d.ts +0 -39
  1235. package/lib/cjs/tile/map/MapLayerSettingsService.d.ts.map +0 -1
  1236. package/lib/cjs/tile/map/MapLayerSettingsService.js +0 -190
  1237. package/lib/cjs/tile/map/MapLayerSettingsService.js.map +0 -1
  1238. package/lib/esm/RealityDataAccessProps.d.ts +0 -42
  1239. package/lib/esm/RealityDataAccessProps.d.ts.map +0 -1
  1240. package/lib/esm/RealityDataAccessProps.js +0 -20
  1241. package/lib/esm/RealityDataAccessProps.js.map +0 -1
  1242. package/lib/esm/RealityDataConnection.d.ts +0 -31
  1243. package/lib/esm/RealityDataConnection.d.ts.map +0 -1
  1244. package/lib/esm/RealityDataConnection.js +0 -98
  1245. package/lib/esm/RealityDataConnection.js.map +0 -1
  1246. package/lib/esm/extension/Extension.d.ts +0 -39
  1247. package/lib/esm/extension/Extension.d.ts.map +0 -1
  1248. package/lib/esm/extension/Extension.js +0 -38
  1249. package/lib/esm/extension/Extension.js.map +0 -1
  1250. package/lib/esm/extension/ExtensionAdmin.d.ts +0 -70
  1251. package/lib/esm/extension/ExtensionAdmin.d.ts.map +0 -1
  1252. package/lib/esm/extension/ExtensionAdmin.js +0 -101
  1253. package/lib/esm/extension/ExtensionAdmin.js.map +0 -1
  1254. package/lib/esm/extension/ExtensionHost.d.ts +0 -22
  1255. package/lib/esm/extension/ExtensionHost.d.ts.map +0 -1
  1256. package/lib/esm/extension/ExtensionHost.js +0 -20
  1257. package/lib/esm/extension/ExtensionHost.js.map +0 -1
  1258. package/lib/esm/extension/ExtensionImpl.d.ts +0 -16
  1259. package/lib/esm/extension/ExtensionImpl.d.ts.map +0 -1
  1260. package/lib/esm/extension/ExtensionImpl.js +0 -35
  1261. package/lib/esm/extension/ExtensionImpl.js.map +0 -1
  1262. package/lib/esm/extension/ExtensionLoader.d.ts +0 -20
  1263. package/lib/esm/extension/ExtensionLoader.d.ts.map +0 -1
  1264. package/lib/esm/extension/ExtensionLoader.js.map +0 -1
  1265. package/lib/esm/extension/ExtensionRuntime.d.ts +0 -2
  1266. package/lib/esm/extension/ExtensionRuntime.d.ts.map +0 -1
  1267. package/lib/esm/extension/ExtensionRuntime.js +0 -69
  1268. package/lib/esm/extension/ExtensionRuntime.js.map +0 -1
  1269. package/lib/esm/extension/extensions.d.ts +0 -18
  1270. package/lib/esm/extension/extensions.d.ts.map +0 -1
  1271. package/lib/esm/extension/extensions.js +0 -23
  1272. package/lib/esm/extension/extensions.js.map +0 -1
  1273. package/lib/esm/tile/map/MapLayerSettingsService.d.ts +0 -39
  1274. package/lib/esm/tile/map/MapLayerSettingsService.d.ts.map +0 -1
  1275. package/lib/esm/tile/map/MapLayerSettingsService.js +0 -186
  1276. package/lib/esm/tile/map/MapLayerSettingsService.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ArcGisTokenGenerator.js","sourceRoot":"","sources":["../../../../src/tile/map/ArcGisTokenGenerator.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\nimport { request, RequestOptions } from \"@bentley/itwin-client\";\r\n\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\n/** @internal */\r\nexport interface ArcGisToken {\r\n // The generated token.\r\n token: string;\r\n\r\n // The expiration time of the token in milliseconds since January 1, 1970 (UTC).\r\n expires: number;\r\n\r\n // This property will show as true if the token must always pass over ssl.\r\n ssl: boolean;\r\n}\r\n\r\n// client application's base URL, a user-specified IP address, or the IP address that is making the request.\r\n/** @internal */\r\nexport enum ArcGisTokenClientType {\r\n ip,\r\n referer,\r\n requestIp,\r\n}\r\n\r\n/** @internal */\r\nexport interface ArcGisGenerateTokenOptions {\r\n\r\n // The client type that will be granted access to the token.\r\n // Users will be able to specify whether the token will be generated for a client application's base URL,\r\n // a user-specified IP address, or the IP address that is making the request.\r\n client: ArcGisTokenClientType;\r\n\r\n // The IP address that will be using the created token for access.\r\n // On the Generate Token page, the IP address is specified in the IP Address field. This is required when client has been set as ip.\r\n // Example ip=11.11.111.111\r\n ip?: string;\r\n\r\n // The base URL of the client application that will use the token.\r\n // On the Generate Token page, the referrer URL is specified in the Webapp URL field.\r\n // Defaults to location.origin if undefined and client = referer.\r\n // This is required when client has been set as referer.\r\n // Example : referer=https://myserver/mywebapp\r\n referer?: string;\r\n\r\n // The token expiration time in minutes. The default is 60 minutes (one hour).\r\n // The maximum expiration period is 15 days. The maximum value of the expiration time is controlled by the server.\r\n // Requests for tokens larger than this time will be rejected.\r\n // Applications are responsible for renewing expired tokens;\r\n // expired tokens will be rejected by the server on subsequent requests that use the token.\r\n expiration?: number; // in minutes, defaults to 60 minutes\r\n}\r\n\r\n/** @internal */\r\nexport class ArcGisTokenGenerator {\r\n private static readonly restApiPath = \"/rest/\";\r\n private static readonly restApiInfoPath = \"info?f=pjson\";\r\n\r\n // Cache info url to avoid fetching/parsing twice for the same base url.\r\n private static _tokenServiceUrlCache = new Map<string, string>();\r\n\r\n public static async fetchTokenServiceUrl(esriRestServiceUrl: string): Promise<string | undefined> {\r\n const lowerUrl = esriRestServiceUrl.toLowerCase();\r\n const restApiIdx = lowerUrl.indexOf(ArcGisTokenGenerator.restApiPath);\r\n if (restApiIdx === -1)\r\n return undefined;\r\n const infoUrl = lowerUrl.substr(0, restApiIdx + ArcGisTokenGenerator.restApiPath.length) + ArcGisTokenGenerator.restApiInfoPath;\r\n\r\n let tokenServicesUrl: string | undefined;\r\n try {\r\n const response = await request(infoUrl, { method: \"GET\", responseType: \"json\" });\r\n tokenServicesUrl = ArcGisTokenGenerator.getTokenServiceFromInfoJson(response?.body);\r\n } catch (_error) {\r\n }\r\n return tokenServicesUrl;\r\n }\r\n\r\n public static getTokenServiceFromInfoJson(json: any): string | undefined {\r\n return json.authInfo?.isTokenBasedSecurity ? json?.authInfo?.tokenServicesUrl : undefined;\r\n }\r\n\r\n public async getTokenServiceUrl(baseUrl: string): Promise<string | undefined> {\r\n const cached = ArcGisTokenGenerator._tokenServiceUrlCache.get(baseUrl);\r\n if (cached !== undefined)\r\n return cached;\r\n\r\n const tokenServiceUrl = await ArcGisTokenGenerator.fetchTokenServiceUrl(baseUrl);\r\n if (tokenServiceUrl !== undefined)\r\n ArcGisTokenGenerator._tokenServiceUrlCache.set(baseUrl, tokenServiceUrl);\r\n\r\n return tokenServiceUrl;\r\n }\r\n\r\n // base url: ArcGis REST service base URL (format must be \"https://<host>/<instance>/rest/\")\r\n public async generate(esriRestServiceUrl: string, userName: string, password: string, options: ArcGisGenerateTokenOptions): Promise<any> {\r\n const tokenServiceUrl = await this.getTokenServiceUrl(esriRestServiceUrl);\r\n if (!tokenServiceUrl)\r\n return undefined;\r\n\r\n let token: undefined;\r\n try {\r\n const encodedUsername = encodeURIComponent(userName);\r\n const encodedPassword = encodeURIComponent(password);\r\n\r\n // Compose the expiration param\r\n let expirationStr = \"\";\r\n if (options.expiration) {\r\n expirationStr = `&expiration=${options.expiration}`;\r\n }\r\n\r\n // Compose the client param\r\n let clientStr = \"\";\r\n if (options.client === ArcGisTokenClientType.referer) {\r\n let refererStr = \"\";\r\n if (options.referer === undefined) {\r\n refererStr = encodeURIComponent(location.origin); // default to application origin\r\n } else {\r\n refererStr = encodeURIComponent(options.referer);\r\n }\r\n\r\n clientStr = `&client=referer&referer=${refererStr}`;\r\n } else if (options.client === ArcGisTokenClientType.ip) {\r\n if (options.ip === undefined)\r\n return token;\r\n clientStr = `&client=ip&ip=${options.ip}`;\r\n } else if (options.client === ArcGisTokenClientType.requestIp) {\r\n clientStr = `&client=requestip&ip=`;\r\n }\r\n\r\n const httpRequestOptions: RequestOptions = {\r\n method: \"POST\",\r\n body: `username=${encodedUsername}&password=${encodedPassword}${clientStr}${expirationStr}&f=pjson`,\r\n headers: { \"content-type\": \"application/x-www-form-urlencoded\" },\r\n responseType: \"json\",\r\n };\r\n\r\n const response = await request(tokenServiceUrl, httpRequestOptions);\r\n\r\n // Check a token was really generated (an error could be part of the body)\r\n token = response?.body;\r\n\r\n } catch (_error) {\r\n }\r\n return token;\r\n }\r\n\r\n // Encode following 'application/x-www-form-urlencoded' standard (https://www.w3.org/TR/html401/interact/forms.html#h-17.13.3.3)\r\n // Also mentioned here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent\r\n public static formEncode(str: string): string {\r\n return ArcGisTokenGenerator.rfc1738Encode(str).replace(/%20/g, \"+\");\r\n }\r\n\r\n // Encode following RFC1738 standard (https://www.ietf.org/rfc/rfc1738.txt)\r\n // Code from https://locutus.io/php/url/rawurlencode/\r\n public static rfc1738Encode(str: string): string {\r\n return encodeURIComponent(str)\r\n .replace(/!/g, \"%21\")\r\n .replace(/'/g, \"%27\")\r\n .replace(/\\(/g, \"%28\")\r\n .replace(/\\)/g, \"%29\")\r\n .replace(/\\*/g, \"%2A\");\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ArcGisTokenGenerator.js","sourceRoot":"","sources":["../../../../src/tile/map/ArcGisTokenGenerator.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\nimport { request, RequestOptions } from \"../../request/Request\";\r\n\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\n/** @internal */\r\nexport interface ArcGisToken {\r\n // The generated token.\r\n token: string;\r\n\r\n // The expiration time of the token in milliseconds since January 1, 1970 (UTC).\r\n expires: number;\r\n\r\n // This property will show as true if the token must always pass over ssl.\r\n ssl: boolean;\r\n}\r\n\r\n// client application's base URL, a user-specified IP address, or the IP address that is making the request.\r\n/** @internal */\r\nexport enum ArcGisTokenClientType {\r\n ip,\r\n referer,\r\n requestIp,\r\n}\r\n\r\n/** @internal */\r\nexport interface ArcGisGenerateTokenOptions {\r\n\r\n // The client type that will be granted access to the token.\r\n // Users will be able to specify whether the token will be generated for a client application's base URL,\r\n // a user-specified IP address, or the IP address that is making the request.\r\n client: ArcGisTokenClientType;\r\n\r\n // The IP address that will be using the created token for access.\r\n // On the Generate Token page, the IP address is specified in the IP Address field. This is required when client has been set as ip.\r\n // Example ip=11.11.111.111\r\n ip?: string;\r\n\r\n // The base URL of the client application that will use the token.\r\n // On the Generate Token page, the referrer URL is specified in the Webapp URL field.\r\n // Defaults to location.origin if undefined and client = referer.\r\n // This is required when client has been set as referer.\r\n // Example : referer=https://myserver/mywebapp\r\n referer?: string;\r\n\r\n // The token expiration time in minutes. The default is 60 minutes (one hour).\r\n // The maximum expiration period is 15 days. The maximum value of the expiration time is controlled by the server.\r\n // Requests for tokens larger than this time will be rejected.\r\n // Applications are responsible for renewing expired tokens;\r\n // expired tokens will be rejected by the server on subsequent requests that use the token.\r\n expiration?: number; // in minutes, defaults to 60 minutes\r\n}\r\n\r\n/** @internal */\r\nexport class ArcGisTokenGenerator {\r\n private static readonly restApiPath = \"/rest/\";\r\n private static readonly restApiInfoPath = \"info?f=pjson\";\r\n\r\n // Cache info url to avoid fetching/parsing twice for the same base url.\r\n private static _tokenServiceUrlCache = new Map<string, string>();\r\n\r\n public static async fetchTokenServiceUrl(esriRestServiceUrl: string): Promise<string | undefined> {\r\n const lowerUrl = esriRestServiceUrl.toLowerCase();\r\n const restApiIdx = lowerUrl.indexOf(ArcGisTokenGenerator.restApiPath);\r\n if (restApiIdx === -1)\r\n return undefined;\r\n const infoUrl = lowerUrl.substr(0, restApiIdx + ArcGisTokenGenerator.restApiPath.length) + ArcGisTokenGenerator.restApiInfoPath;\r\n\r\n let tokenServicesUrl: string | undefined;\r\n try {\r\n const response = await request(infoUrl, { method: \"GET\", responseType: \"json\" });\r\n tokenServicesUrl = ArcGisTokenGenerator.getTokenServiceFromInfoJson(response?.body);\r\n } catch (_error) {\r\n }\r\n return tokenServicesUrl;\r\n }\r\n\r\n public static getTokenServiceFromInfoJson(json: any): string | undefined {\r\n return json.authInfo?.isTokenBasedSecurity ? json?.authInfo?.tokenServicesUrl : undefined;\r\n }\r\n\r\n public async getTokenServiceUrl(baseUrl: string): Promise<string | undefined> {\r\n const cached = ArcGisTokenGenerator._tokenServiceUrlCache.get(baseUrl);\r\n if (cached !== undefined)\r\n return cached;\r\n\r\n const tokenServiceUrl = await ArcGisTokenGenerator.fetchTokenServiceUrl(baseUrl);\r\n if (tokenServiceUrl !== undefined)\r\n ArcGisTokenGenerator._tokenServiceUrlCache.set(baseUrl, tokenServiceUrl);\r\n\r\n return tokenServiceUrl;\r\n }\r\n\r\n // base url: ArcGis REST service base URL (format must be \"https://<host>/<instance>/rest/\")\r\n public async generate(esriRestServiceUrl: string, userName: string, password: string, options: ArcGisGenerateTokenOptions): Promise<any> {\r\n const tokenServiceUrl = await this.getTokenServiceUrl(esriRestServiceUrl);\r\n if (!tokenServiceUrl)\r\n return undefined;\r\n\r\n let token: undefined;\r\n try {\r\n const encodedUsername = encodeURIComponent(userName);\r\n const encodedPassword = encodeURIComponent(password);\r\n\r\n // Compose the expiration param\r\n let expirationStr = \"\";\r\n if (options.expiration) {\r\n expirationStr = `&expiration=${options.expiration}`;\r\n }\r\n\r\n // Compose the client param\r\n let clientStr = \"\";\r\n if (options.client === ArcGisTokenClientType.referer) {\r\n let refererStr = \"\";\r\n if (options.referer === undefined) {\r\n refererStr = encodeURIComponent(location.origin); // default to application origin\r\n } else {\r\n refererStr = encodeURIComponent(options.referer);\r\n }\r\n\r\n clientStr = `&client=referer&referer=${refererStr}`;\r\n } else if (options.client === ArcGisTokenClientType.ip) {\r\n if (options.ip === undefined)\r\n return token;\r\n clientStr = `&client=ip&ip=${options.ip}`;\r\n } else if (options.client === ArcGisTokenClientType.requestIp) {\r\n clientStr = `&client=requestip&ip=`;\r\n }\r\n\r\n const httpRequestOptions: RequestOptions = {\r\n method: \"POST\",\r\n body: `username=${encodedUsername}&password=${encodedPassword}${clientStr}${expirationStr}&f=pjson`,\r\n headers: { \"content-type\": \"application/x-www-form-urlencoded\" },\r\n responseType: \"json\",\r\n };\r\n\r\n const response = await request(tokenServiceUrl, httpRequestOptions);\r\n\r\n // Check a token was really generated (an error could be part of the body)\r\n token = response?.body;\r\n\r\n } catch (_error) {\r\n }\r\n return token;\r\n }\r\n\r\n // Encode following 'application/x-www-form-urlencoded' standard (https://www.w3.org/TR/html401/interact/forms.html#h-17.13.3.3)\r\n // Also mentioned here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent\r\n public static formEncode(str: string): string {\r\n return ArcGisTokenGenerator.rfc1738Encode(str).replace(/%20/g, \"+\");\r\n }\r\n\r\n // Encode following RFC1738 standard (https://www.ietf.org/rfc/rfc1738.txt)\r\n // Code from https://locutus.io/php/url/rawurlencode/\r\n public static rfc1738Encode(str: string): string {\r\n return encodeURIComponent(str)\r\n .replace(/!/g, \"%21\")\r\n .replace(/'/g, \"%27\")\r\n .replace(/\\(/g, \"%28\")\r\n .replace(/\\)/g, \"%29\")\r\n .replace(/\\*/g, \"%2A\");\r\n }\r\n}\r\n"]}
@@ -1,4 +1,4 @@
1
- import { RequestBasicCredentials, Response } from "@bentley/itwin-client";
1
+ import { RequestBasicCredentials, Response } from "../../request/Request";
2
2
  import { MapCartoRectangle, MapLayerSource, MapLayerSourceValidation } from "../internal";
3
3
  /** @packageDocumentation
4
4
  * @module Tiles
@@ -1 +1 @@
1
- {"version":3,"file":"ArcGisUtilities.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/ArcGisUtilities.ts"],"names":[],"mappings":"AAMA,OAAO,EAAoB,uBAAuB,EAAkB,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5G,OAAO,EACsC,iBAAiB,EAAE,cAAc,EAAwB,wBAAwB,EAC7H,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,gBAAgB;AAChB,oBAAY,eAAe;IACzB,kBAAkB,MAAM;IACxB,YAAY,MAAM;IAClB,aAAa,MAAM;IACnB,YAAY,OAAO;IACnB,cAAc,OAAO;CACtB;AAED,gBAAgB;AAChB,qBAAa,eAAe;WAEZ,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAaxD,OAAO,CAAC,MAAM,CAAC,aAAa;WAMR,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;WAKlD,qBAAqB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;WA0BlD,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;WA0BpF,mBAAmB,CAAC,KAAK,CAAC,EAAE,iBAAiB,EAAE,GAAG,SAAqD,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;WAkBnI,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,uBAAuB,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAyBhJ,OAAO,CAAC,MAAM,CAAC,aAAa,CAA0B;WAClC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,uBAAuB,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAoC3H,OAAO,CAAC,MAAM,CAAC,eAAe,CAA0B;WACpC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC;CAoBvG"}
1
+ {"version":3,"file":"ArcGisUtilities.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/ArcGisUtilities.ts"],"names":[],"mappings":"AAMA,OAAO,EAAoB,uBAAuB,EAAkB,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5G,OAAO,EACsC,iBAAiB,EAAoB,cAAc,EAAwB,wBAAwB,EAC/I,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,gBAAgB;AAChB,oBAAY,eAAe;IACzB,kBAAkB,MAAM;IACxB,YAAY,MAAM;IAClB,aAAa,MAAM;IACnB,YAAY,OAAO;IACnB,cAAc,OAAO;CACtB;AAED,gBAAgB;AAChB,qBAAa,eAAe;WAEZ,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAaxD,OAAO,CAAC,MAAM,CAAC,aAAa;WAMR,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;WAQlD,qBAAqB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;WA0BlD,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;WA0BpF,mBAAmB,CAAC,KAAK,CAAC,EAAE,iBAAiB,EAAE,GAAG,SAAqD,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;WAkBnI,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,uBAAuB,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAiChJ,OAAO,CAAC,MAAM,CAAC,aAAa,CAA0B;WAClC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,uBAAuB,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAoC3H,OAAO,CAAC,MAAM,CAAC,eAAe,CAA0B;WACpC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC;CAoBvG"}
@@ -6,7 +6,7 @@ exports.ArcGisUtilities = exports.ArcGisErrorCode = void 0;
6
6
  * See LICENSE.md in the project root for license terms and full copyright notice.
7
7
  *--------------------------------------------------------------------------------------------*/
8
8
  const core_geometry_1 = require("@itwin/core-geometry");
9
- const itwin_client_1 = require("@bentley/itwin-client");
9
+ const Request_1 = require("../../request/Request");
10
10
  const internal_1 = require("../internal");
11
11
  /** @packageDocumentation
12
12
  * @module Tiles
@@ -42,12 +42,15 @@ class ArcGisUtilities {
42
42
  return `${range.low.x * core_geometry_1.Angle.degreesPerRadian},${range.low.y * core_geometry_1.Angle.degreesPerRadian},${range.high.x * core_geometry_1.Angle.degreesPerRadian},${range.high.y * core_geometry_1.Angle.degreesPerRadian}`;
43
43
  }
44
44
  static async getEndpoint(url) {
45
- const capabilities = await (0, itwin_client_1.getJson)(`${url}?f=pjson`);
46
- return capabilities;
45
+ const capabilities = await (0, Request_1.request)(`${url}?f=pjson`, {
46
+ method: "GET",
47
+ responseType: "json",
48
+ });
49
+ return capabilities.body;
47
50
  }
48
51
  static async getNationalMapSources() {
49
52
  const sources = new Array();
50
- const services = await (0, itwin_client_1.getJson)("https://viewer.nationalmap.gov/tnmaccess/api/getMapServiceList");
53
+ const services = await (0, Request_1.getJson)("https://viewer.nationalmap.gov/tnmaccess/api/getMapServiceList");
51
54
  if (!Array.isArray(services))
52
55
  return sources;
53
56
  for (const service of services) {
@@ -73,7 +76,7 @@ class ArcGisUtilities {
73
76
  if (undefined === baseUrl)
74
77
  baseUrl = url;
75
78
  let sources = new Array();
76
- const json = await (0, itwin_client_1.getJson)(`${url}?f=json`);
79
+ const json = await (0, Request_1.getJson)(`${url}?f=json`);
77
80
  if (json !== undefined) {
78
81
  if (Array.isArray(json.folders)) {
79
82
  for (const folder of json.folders) {
@@ -97,7 +100,7 @@ class ArcGisUtilities {
97
100
  static async getSourcesFromQuery(range, url = "https://usgs.maps.arcgis.com/sharing/rest/search") {
98
101
  const sources = new Array();
99
102
  for (let start = 1; start > 0;) {
100
- const json = await (0, itwin_client_1.getJson)(`${url}?f=json&q=(group:9d1199a521334e77a7d15abbc29f8144) AND (type:"Map Service")&bbox=${ArcGisUtilities.getBBoxString(range)}&sortOrder=desc&start=${start}&num=100`);
103
+ const json = await (0, Request_1.getJson)(`${url}?f=json&q=(group:9d1199a521334e77a7d15abbc29f8144) AND (type:"Map Service")&bbox=${ArcGisUtilities.getBBoxString(range)}&sortOrder=desc&start=${start}&num=100`);
101
104
  if (!json)
102
105
  break;
103
106
  start = json.nextStart ? json.nextStart : -1;
@@ -112,16 +115,21 @@ class ArcGisUtilities {
112
115
  return sources;
113
116
  }
114
117
  static async validateSource(url, credentials, ignoreCache) {
118
+ let authMethod = internal_1.MapLayerAuthType.None;
115
119
  const json = await this.getServiceJson(url, credentials, ignoreCache);
116
120
  if (json === undefined) {
117
121
  return { status: internal_1.MapLayerSourceStatus.InvalidUrl };
118
122
  }
119
123
  else if (json.error !== undefined) {
124
+ // If we got a 'Token Required' error, lets check what authentification methods this ESRI service offers
125
+ // and return information needed to initiate the authentification process... the end-user
126
+ // will have to provide his credentials before we can fully validate this source.
120
127
  if (json.error.code === ArcGisErrorCode.TokenRequired) {
121
- return { status: internal_1.MapLayerSourceStatus.RequireAuth };
128
+ authMethod = internal_1.MapLayerAuthType.EsriToken;
129
+ return { status: internal_1.MapLayerSourceStatus.RequireAuth, authInfo: { authMethod, tokenEndpoint: undefined } };
122
130
  }
123
131
  else if (json.error.code === ArcGisErrorCode.InvalidCredentials)
124
- return { status: internal_1.MapLayerSourceStatus.InvalidCredentials };
132
+ return { status: internal_1.MapLayerSourceStatus.InvalidCredentials, authInfo: { authMethod: internal_1.MapLayerAuthType.EsriToken } };
125
133
  }
126
134
  let subLayers;
127
135
  if (json.layers) {
@@ -156,7 +164,7 @@ class ArcGisUtilities {
156
164
  return token; // An error occurred, return immediately
157
165
  }
158
166
  const finalUrl = `${url}?f=json${tokenParam}`;
159
- const data = await (0, itwin_client_1.request)(finalUrl, options);
167
+ const data = await (0, Request_1.request)(finalUrl, options);
160
168
  const json = (_a = data.body) !== null && _a !== void 0 ? _a : undefined;
161
169
  // Cache the response only if it doesn't contain a token error.
162
170
  if (!ArcGisUtilities.hasTokenError(data)) {
@@ -180,7 +188,7 @@ class ArcGisUtilities {
180
188
  if (token === null || token === void 0 ? void 0 : token.token)
181
189
  tokenParam = `&token=${token.token}`;
182
190
  }
183
- const json = await (0, itwin_client_1.getJson)(`${url}?f=json&option=footprints&outSR=4326${tokenParam}`);
191
+ const json = await (0, Request_1.getJson)(`${url}?f=json&option=footprints&outSR=4326${tokenParam}`);
184
192
  ArcGisUtilities._footprintCache.set(url, json);
185
193
  return json;
186
194
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ArcGisUtilities.js","sourceRoot":"","sources":["../../../../src/tile/map/ArcGisUtilities.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\nimport { Angle } from \"@itwin/core-geometry\";\r\nimport { MapSubLayerProps } from \"@itwin/core-common\";\r\nimport { getJson, request, RequestBasicCredentials, RequestOptions, Response } from \"@bentley/itwin-client\";\r\nimport {\r\n ArcGisTokenClientType, ArcGisTokenManager, MapCartoRectangle, MapLayerSource, MapLayerSourceStatus, MapLayerSourceValidation,\r\n} from \"../internal\";\r\n\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n/** @internal */\r\nexport enum ArcGisErrorCode {\r\n InvalidCredentials = 401,\r\n InvalidToken = 498,\r\n TokenRequired = 499,\r\n UnknownError = 1000,\r\n NoTokenService = 1001,\r\n}\r\n\r\n/** @internal */\r\nexport class ArcGisUtilities {\r\n\r\n public static hasTokenError(response: Response): boolean {\r\n if (response.header && (response.header[\"content-type\"] as string)?.toLowerCase().includes(\"json\")) {\r\n try {\r\n // Tile response returns byte array, so we need to check the response data type and convert accordingly.\r\n const json = ((response.body instanceof ArrayBuffer) ? JSON.parse(Buffer.from(response.body).toString()) : response.body);\r\n return (json?.error?.code === ArcGisErrorCode.TokenRequired || json?.error?.code === ArcGisErrorCode.InvalidToken);\r\n } catch (_err) {\r\n return false; // that probably means we failed to convert byte array to JSON\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private static getBBoxString(range?: MapCartoRectangle) {\r\n if (!range)\r\n range = MapCartoRectangle.create();\r\n\r\n return `${range.low.x * Angle.degreesPerRadian},${range.low.y * Angle.degreesPerRadian},${range.high.x * Angle.degreesPerRadian},${range.high.y * Angle.degreesPerRadian}`;\r\n }\r\n public static async getEndpoint(url: string): Promise<any | undefined> {\r\n const capabilities = await getJson(`${url}?f=pjson`);\r\n\r\n return capabilities;\r\n }\r\n public static async getNationalMapSources(): Promise<MapLayerSource[]> {\r\n const sources = new Array<MapLayerSource>();\r\n const services = await getJson(\"https://viewer.nationalmap.gov/tnmaccess/api/getMapServiceList\");\r\n\r\n if (!Array.isArray(services))\r\n return sources;\r\n\r\n for (const service of services) {\r\n if (service.wmsUrl.length === 0) // Exclude Wfs..\r\n continue;\r\n switch (service.serviceType) {\r\n case \"ArcGIS\":\r\n sources.push(MapLayerSource.fromJSON({ name: service.displayName, url: service.serviceLink, formatId: \"ArcGIS\" })!);\r\n break;\r\n default: {\r\n const wmsIndex = service.wmsUrl.lastIndexOf(\"/wms\");\r\n if (wmsIndex > 0) {\r\n const url = service.wmsUrl.slice(0, wmsIndex + 4);\r\n sources.push(MapLayerSource.fromJSON({ name: service.displayName, url, formatId: \"WMS\" })!);\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n return sources;\r\n }\r\n public static async getServiceDirectorySources(url: string, baseUrl?: string): Promise<MapLayerSource[]> {\r\n if (undefined === baseUrl)\r\n baseUrl = url;\r\n let sources = new Array<MapLayerSource>();\r\n const json = await getJson(`${url}?f=json`);\r\n if (json !== undefined) {\r\n if (Array.isArray(json.folders)) {\r\n for (const folder of json.folders) {\r\n sources = sources.concat(await ArcGisUtilities.getServiceDirectorySources(`${url}/${folder}`, url));\r\n }\r\n }\r\n if (Array.isArray(json.services)) {\r\n for (const service of json.services) {\r\n let source;\r\n if (service.type === \"MapServer\")\r\n source = MapLayerSource.fromJSON({ name: service.name, url: `${baseUrl}/${service.name}/MapServer`, formatId: \"ArcGIS\" });\r\n else if (service.type === \"ImageServer\")\r\n source = MapLayerSource.fromJSON({ name: service.name, url: `${baseUrl}/${service.name}/ImageServer`, formatId: \"ArcGIS\" });\r\n if (source)\r\n sources.push(source);\r\n }\r\n }\r\n }\r\n\r\n return sources;\r\n }\r\n public static async getSourcesFromQuery(range?: MapCartoRectangle, url = \"https://usgs.maps.arcgis.com/sharing/rest/search\"): Promise<MapLayerSource[]> {\r\n const sources = new Array<MapLayerSource>();\r\n for (let start = 1; start > 0;) {\r\n const json = await getJson(`${url}?f=json&q=(group:9d1199a521334e77a7d15abbc29f8144) AND (type:\"Map Service\")&bbox=${ArcGisUtilities.getBBoxString(range)}&sortOrder=desc&start=${start}&num=100`);\r\n if (!json) break;\r\n start = json.nextStart ? json.nextStart : -1;\r\n if (json !== undefined && Array.isArray(json.results)) {\r\n for (const result of json.results) {\r\n const source = MapLayerSource.fromJSON({ name: result.name ? result.name : result.title, url: result.url, formatId: \"ArcGIS\" });\r\n if (source)\r\n sources.push(source);\r\n }\r\n }\r\n }\r\n\r\n return sources;\r\n }\r\n\r\n public static async validateSource(url: string, credentials?: RequestBasicCredentials, ignoreCache?: boolean): Promise<MapLayerSourceValidation> {\r\n const json = await this.getServiceJson(url, credentials, ignoreCache);\r\n if (json === undefined) {\r\n return { status: MapLayerSourceStatus.InvalidUrl };\r\n } else if (json.error !== undefined) {\r\n if (json.error.code === ArcGisErrorCode.TokenRequired) {\r\n return { status: MapLayerSourceStatus.RequireAuth };\r\n } else if (json.error.code === ArcGisErrorCode.InvalidCredentials)\r\n return { status: MapLayerSourceStatus.InvalidCredentials };\r\n }\r\n\r\n let subLayers;\r\n if (json.layers) {\r\n\r\n subLayers = new Array<MapSubLayerProps>();\r\n\r\n for (const layer of json.layers) {\r\n const parent = layer.parentLayerId < 0 ? undefined : layer.parentLayerId;\r\n const children = Array.isArray(layer.subLayerIds) ? layer.subLayerIds : undefined;\r\n subLayers.push({ name: layer.name, visible: layer.defaultVisibility !== false, id: layer.id, parent, children });\r\n }\r\n }\r\n return { status: MapLayerSourceStatus.Valid, subLayers };\r\n\r\n }\r\n private static _serviceCache = new Map<string, any>();\r\n public static async getServiceJson(url: string, credentials?: RequestBasicCredentials, ignoreCache?: boolean): Promise<any> {\r\n if (!ignoreCache) {\r\n const cached = ArcGisUtilities._serviceCache.get(url);\r\n if (cached !== undefined)\r\n return cached;\r\n }\r\n\r\n try {\r\n const options: RequestOptions = {\r\n method: \"GET\",\r\n responseType: \"json\",\r\n };\r\n let tokenParam = \"\";\r\n if (credentials) {\r\n const token = await ArcGisTokenManager.getToken(url, credentials.user, credentials.password, { client: ArcGisTokenClientType.referer });\r\n if (token?.token) {\r\n tokenParam = `&token=${token.token}`;\r\n } else if (token?.error)\r\n return token; // An error occurred, return immediately\r\n }\r\n const finalUrl = `${url}?f=json${tokenParam}`;\r\n const data = await request(finalUrl, options);\r\n const json = data.body ?? undefined;\r\n\r\n // Cache the response only if it doesn't contain a token error.\r\n if (!ArcGisUtilities.hasTokenError(data)) {\r\n ArcGisUtilities._serviceCache.set(url, json);\r\n }\r\n\r\n return json;\r\n } catch (_error) {\r\n ArcGisUtilities._serviceCache.set(url, undefined);\r\n return undefined;\r\n }\r\n }\r\n\r\n private static _footprintCache = new Map<string, any>();\r\n public static async getFootprintJson(url: string, credentials?: RequestBasicCredentials): Promise<any> {\r\n const cached = ArcGisUtilities._footprintCache.get(url);\r\n if (cached !== undefined)\r\n return cached;\r\n\r\n try {\r\n let tokenParam = \"\";\r\n if (credentials) {\r\n const token = await ArcGisTokenManager.getToken(url, credentials.user, credentials.password, { client: ArcGisTokenClientType.referer });\r\n if (token?.token)\r\n tokenParam = `&token=${token.token}`;\r\n }\r\n const json = await getJson(`${url}?f=json&option=footprints&outSR=4326${tokenParam}`);\r\n ArcGisUtilities._footprintCache.set(url, json);\r\n return json;\r\n } catch (_error) {\r\n ArcGisUtilities._footprintCache.set(url, undefined);\r\n return undefined;\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ArcGisUtilities.js","sourceRoot":"","sources":["../../../../src/tile/map/ArcGisUtilities.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\nimport { Angle } from \"@itwin/core-geometry\";\r\nimport { MapSubLayerProps } from \"@itwin/core-common\";\r\nimport { getJson, request, RequestBasicCredentials, RequestOptions, Response } from \"../../request/Request\";\r\nimport {\r\n ArcGisTokenClientType, ArcGisTokenManager, MapCartoRectangle, MapLayerAuthType, MapLayerSource, MapLayerSourceStatus, MapLayerSourceValidation,\r\n} from \"../internal\";\r\n\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n/** @internal */\r\nexport enum ArcGisErrorCode {\r\n InvalidCredentials = 401,\r\n InvalidToken = 498,\r\n TokenRequired = 499,\r\n UnknownError = 1000,\r\n NoTokenService = 1001,\r\n}\r\n\r\n/** @internal */\r\nexport class ArcGisUtilities {\r\n\r\n public static hasTokenError(response: Response): boolean {\r\n if (response.header && (response.header[\"content-type\"] as string)?.toLowerCase().includes(\"json\")) {\r\n try {\r\n // Tile response returns byte array, so we need to check the response data type and convert accordingly.\r\n const json = ((response.body instanceof ArrayBuffer) ? JSON.parse(Buffer.from(response.body).toString()) : response.body);\r\n return (json?.error?.code === ArcGisErrorCode.TokenRequired || json?.error?.code === ArcGisErrorCode.InvalidToken);\r\n } catch (_err) {\r\n return false; // that probably means we failed to convert byte array to JSON\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private static getBBoxString(range?: MapCartoRectangle) {\r\n if (!range)\r\n range = MapCartoRectangle.create();\r\n\r\n return `${range.low.x * Angle.degreesPerRadian},${range.low.y * Angle.degreesPerRadian},${range.high.x * Angle.degreesPerRadian},${range.high.y * Angle.degreesPerRadian}`;\r\n }\r\n public static async getEndpoint(url: string): Promise<any | undefined> {\r\n const capabilities = await request(`${url}?f=pjson`, {\r\n method: \"GET\",\r\n responseType: \"json\",\r\n });\r\n return capabilities.body;\r\n }\r\n\r\n public static async getNationalMapSources(): Promise<MapLayerSource[]> {\r\n const sources = new Array<MapLayerSource>();\r\n const services = await getJson(\"https://viewer.nationalmap.gov/tnmaccess/api/getMapServiceList\");\r\n\r\n if (!Array.isArray(services))\r\n return sources;\r\n\r\n for (const service of services) {\r\n if (service.wmsUrl.length === 0) // Exclude Wfs..\r\n continue;\r\n switch (service.serviceType) {\r\n case \"ArcGIS\":\r\n sources.push(MapLayerSource.fromJSON({ name: service.displayName, url: service.serviceLink, formatId: \"ArcGIS\" })!);\r\n break;\r\n default: {\r\n const wmsIndex = service.wmsUrl.lastIndexOf(\"/wms\");\r\n if (wmsIndex > 0) {\r\n const url = service.wmsUrl.slice(0, wmsIndex + 4);\r\n sources.push(MapLayerSource.fromJSON({ name: service.displayName, url, formatId: \"WMS\" })!);\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n return sources;\r\n }\r\n public static async getServiceDirectorySources(url: string, baseUrl?: string): Promise<MapLayerSource[]> {\r\n if (undefined === baseUrl)\r\n baseUrl = url;\r\n let sources = new Array<MapLayerSource>();\r\n const json = await getJson(`${url}?f=json`);\r\n if (json !== undefined) {\r\n if (Array.isArray(json.folders)) {\r\n for (const folder of json.folders) {\r\n sources = sources.concat(await ArcGisUtilities.getServiceDirectorySources(`${url}/${folder}`, url));\r\n }\r\n }\r\n if (Array.isArray(json.services)) {\r\n for (const service of json.services) {\r\n let source;\r\n if (service.type === \"MapServer\")\r\n source = MapLayerSource.fromJSON({ name: service.name, url: `${baseUrl}/${service.name}/MapServer`, formatId: \"ArcGIS\" });\r\n else if (service.type === \"ImageServer\")\r\n source = MapLayerSource.fromJSON({ name: service.name, url: `${baseUrl}/${service.name}/ImageServer`, formatId: \"ArcGIS\" });\r\n if (source)\r\n sources.push(source);\r\n }\r\n }\r\n }\r\n\r\n return sources;\r\n }\r\n public static async getSourcesFromQuery(range?: MapCartoRectangle, url = \"https://usgs.maps.arcgis.com/sharing/rest/search\"): Promise<MapLayerSource[]> {\r\n const sources = new Array<MapLayerSource>();\r\n for (let start = 1; start > 0;) {\r\n const json = await getJson(`${url}?f=json&q=(group:9d1199a521334e77a7d15abbc29f8144) AND (type:\"Map Service\")&bbox=${ArcGisUtilities.getBBoxString(range)}&sortOrder=desc&start=${start}&num=100`);\r\n if (!json) break;\r\n start = json.nextStart ? json.nextStart : -1;\r\n if (json !== undefined && Array.isArray(json.results)) {\r\n for (const result of json.results) {\r\n const source = MapLayerSource.fromJSON({ name: result.name ? result.name : result.title, url: result.url, formatId: \"ArcGIS\" });\r\n if (source)\r\n sources.push(source);\r\n }\r\n }\r\n }\r\n\r\n return sources;\r\n }\r\n\r\n public static async validateSource(url: string, credentials?: RequestBasicCredentials, ignoreCache?: boolean): Promise<MapLayerSourceValidation> {\r\n\r\n let authMethod: MapLayerAuthType = MapLayerAuthType.None;\r\n\r\n const json = await this.getServiceJson(url, credentials, ignoreCache);\r\n if (json === undefined) {\r\n return { status: MapLayerSourceStatus.InvalidUrl };\r\n } else if (json.error !== undefined) {\r\n\r\n // If we got a 'Token Required' error, lets check what authentification methods this ESRI service offers\r\n // and return information needed to initiate the authentification process... the end-user\r\n // will have to provide his credentials before we can fully validate this source.\r\n if (json.error.code === ArcGisErrorCode.TokenRequired) {\r\n authMethod = MapLayerAuthType.EsriToken;\r\n return { status: MapLayerSourceStatus.RequireAuth, authInfo: { authMethod, tokenEndpoint: undefined } };\r\n } else if (json.error.code === ArcGisErrorCode.InvalidCredentials)\r\n return { status: MapLayerSourceStatus.InvalidCredentials, authInfo: { authMethod: MapLayerAuthType.EsriToken } };\r\n }\r\n\r\n let subLayers;\r\n if (json.layers) {\r\n\r\n subLayers = new Array<MapSubLayerProps>();\r\n\r\n for (const layer of json.layers) {\r\n const parent = layer.parentLayerId < 0 ? undefined : layer.parentLayerId;\r\n const children = Array.isArray(layer.subLayerIds) ? layer.subLayerIds : undefined;\r\n subLayers.push({ name: layer.name, visible: layer.defaultVisibility !== false, id: layer.id, parent, children });\r\n }\r\n }\r\n return { status: MapLayerSourceStatus.Valid, subLayers };\r\n }\r\n\r\n private static _serviceCache = new Map<string, any>();\r\n public static async getServiceJson(url: string, credentials?: RequestBasicCredentials, ignoreCache?: boolean): Promise<any> {\r\n if (!ignoreCache) {\r\n const cached = ArcGisUtilities._serviceCache.get(url);\r\n if (cached !== undefined)\r\n return cached;\r\n }\r\n\r\n try {\r\n const options: RequestOptions = {\r\n method: \"GET\",\r\n responseType: \"json\",\r\n };\r\n let tokenParam = \"\";\r\n if (credentials) {\r\n const token = await ArcGisTokenManager.getToken(url, credentials.user, credentials.password, { client: ArcGisTokenClientType.referer });\r\n if (token?.token) {\r\n tokenParam = `&token=${token.token}`;\r\n } else if (token?.error)\r\n return token; // An error occurred, return immediately\r\n }\r\n const finalUrl = `${url}?f=json${tokenParam}`;\r\n const data = await request(finalUrl, options);\r\n const json = data.body ?? undefined;\r\n\r\n // Cache the response only if it doesn't contain a token error.\r\n if (!ArcGisUtilities.hasTokenError(data)) {\r\n ArcGisUtilities._serviceCache.set(url, json);\r\n }\r\n\r\n return json;\r\n } catch (_error) {\r\n ArcGisUtilities._serviceCache.set(url, undefined);\r\n return undefined;\r\n }\r\n }\r\n\r\n private static _footprintCache = new Map<string, any>();\r\n public static async getFootprintJson(url: string, credentials?: RequestBasicCredentials): Promise<any> {\r\n const cached = ArcGisUtilities._footprintCache.get(url);\r\n if (cached !== undefined)\r\n return cached;\r\n\r\n try {\r\n let tokenParam = \"\";\r\n if (credentials) {\r\n const token = await ArcGisTokenManager.getToken(url, credentials.user, credentials.password, { client: ArcGisTokenClientType.referer });\r\n if (token?.token)\r\n tokenParam = `&token=${token.token}`;\r\n }\r\n const json = await getJson(`${url}?f=json&option=footprints&outSR=4326${tokenParam}`);\r\n ArcGisUtilities._footprintCache.set(url, json);\r\n return json;\r\n } catch (_error) {\r\n ArcGisUtilities._footprintCache.set(url, undefined);\r\n return undefined;\r\n }\r\n }\r\n}\r\n"]}
@@ -10,7 +10,7 @@ exports.BingElevationProvider = void 0;
10
10
  */
11
11
  const core_geometry_1 = require("@itwin/core-geometry");
12
12
  const core_common_1 = require("@itwin/core-common");
13
- const itwin_client_1 = require("@bentley/itwin-client");
13
+ const Request_1 = require("../../request/Request");
14
14
  const IModelApp_1 = require("../../IModelApp");
15
15
  const MeshPrimitives_1 = require("../../render/primitives/mesh/MeshPrimitives");
16
16
  const DisplayParams_1 = require("../../render/primitives/DisplayParams");
@@ -42,7 +42,7 @@ class BingElevationProvider {
42
42
  const requestUrl = this._heightListRequestTemplate.replace("{points}", `${carto.latitudeDegrees},${carto.longitudeDegrees}`).replace("{heights}", geodetic ? "ellipsoid" : "sealevel");
43
43
  const requestOptions = { method: "GET", responseType: "json" };
44
44
  try {
45
- const tileResponse = await (0, itwin_client_1.request)(requestUrl, requestOptions);
45
+ const tileResponse = await (0, Request_1.request)(requestUrl, requestOptions);
46
46
  return tileResponse.body.resourceSets[0].resources[0].elevations[0];
47
47
  }
48
48
  catch (error) {
@@ -55,7 +55,7 @@ class BingElevationProvider {
55
55
  const requestUrl = this._heightRangeRequestTemplate.replace("{boundingBox}", boundingBox);
56
56
  const tileRequestOptions = { method: "GET", responseType: "json" };
57
57
  try {
58
- const tileResponse = await (0, itwin_client_1.request)(requestUrl, tileRequestOptions);
58
+ const tileResponse = await (0, Request_1.request)(requestUrl, tileRequestOptions);
59
59
  return tileResponse.body.resourceSets[0].resources[0].elevations;
60
60
  }
61
61
  catch (error) {
@@ -70,7 +70,7 @@ class BingElevationProvider {
70
70
  const requestUrl = this._seaLevelOffsetRequestTemplate.replace("{points}", `${carto.latitudeDegrees},${carto.longitudeDegrees}`);
71
71
  const requestOptions = { method: "GET", responseType: "json" };
72
72
  try {
73
- const tileResponse = await (0, itwin_client_1.request)(requestUrl, requestOptions);
73
+ const tileResponse = await (0, Request_1.request)(requestUrl, requestOptions);
74
74
  return tileResponse.body.resourceSets[0].resources[0].offsets[0];
75
75
  }
76
76
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"BingElevation.js","sourceRoot":"","sources":["../../../../src/tile/map/BingElevation.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\nimport { BilinearPatch, Point2d, Point3d, Range1d, Range2d, Range3d } from \"@itwin/core-geometry\";\r\nimport { Cartographic, ColorDef, FillFlags, LinePixels, QParams3d, QPoint3d, RenderTexture, TextureMapping } from \"@itwin/core-common\";\r\nimport { request, RequestOptions, Response } from \"@bentley/itwin-client\";\r\nimport { IModelApp } from \"../../IModelApp\";\r\nimport { IModelConnection } from \"../../IModelConnection\";\r\nimport { Mesh, MeshArgs } from \"../../render/primitives/mesh/MeshPrimitives\";\r\nimport { DisplayParams } from \"../../render/primitives/DisplayParams\";\r\nimport { Triangle } from \"../../render/primitives/Primitives\";\r\nimport { VertexKey } from \"../../render/primitives/VertexKey\";\r\nimport { MeshParams } from \"../../render/primitives/VertexTable\";\r\nimport { RenderGraphic } from \"../../render/RenderGraphic\";\r\nimport { RenderSystem } from \"../../render/RenderSystem\";\r\n\r\n// cspell:ignore atae qdng uyzv auje sealevel\r\n\r\n/** Provides an interface to the [Bing Maps elevation services](https://docs.microsoft.com/en-us/bingmaps/rest-services/elevations/).\r\n * @public\r\n */\r\nexport class BingElevationProvider {\r\n private static _scratchRange = Range3d.createNull();\r\n private static _scratchVertex = Point3d.createZero();\r\n private static _scratchQParams = QParams3d.fromRange(BingElevationProvider._scratchRange);\r\n private static _scratchQPoint = QPoint3d.create(BingElevationProvider._scratchVertex, BingElevationProvider._scratchQParams);\r\n private static _scratchMeshArgs = new MeshArgs();\r\n private static _scratchUV = Point2d.createZero();\r\n private static _scratchPoint = Point3d.createZero();\r\n\r\n private _heightRangeRequestTemplate: string;\r\n private _seaLevelOffsetRequestTemplate: string;\r\n private _heightListRequestTemplate: string;\r\n\r\n /** @public */\r\n constructor() {\r\n let bingKey = \"\";\r\n if (IModelApp.mapLayerFormatRegistry.configOptions.BingMaps) {\r\n bingKey = IModelApp.mapLayerFormatRegistry.configOptions.BingMaps.value;\r\n }\r\n this._heightRangeRequestTemplate = \"https://dev.virtualearth.net/REST/v1/Elevation/Bounds?bounds={boundingBox}&rows=16&cols=16&heights=ellipsoid&key={BingMapsAPIKey}\".replace(\"{BingMapsAPIKey}\", bingKey);\r\n this._seaLevelOffsetRequestTemplate = \"https://dev.virtualearth.net/REST/v1/Elevation/SeaLevel?points={points}&key={BingMapsAPIKey}\".replace(\"{BingMapsAPIKey}\", bingKey);\r\n this._heightListRequestTemplate = \"https://dev.virtualearth.net/REST/v1/Elevation/List?points={points}&heights={heights}&key={BingMapsAPIKey}\".replace(\"{BingMapsAPIKey}\", bingKey);\r\n }\r\n\r\n /** Return the height (altitude) at a given cartographic location.\r\n * If geodetic is true (the default) then height is returned in the Ellipsoidal WGS84 datum. If geodetic is false then the sea level height id returned using the Earth Gravitational Model 2008 (EGM2008 2.5’).\r\n * @public\r\n */\r\n public async getHeight(carto: Cartographic, geodetic = true) {\r\n if (undefined === carto)\r\n return 0.0;\r\n const requestUrl = this._heightListRequestTemplate.replace(\"{points}\", `${carto.latitudeDegrees},${carto.longitudeDegrees}`).replace(\"{heights}\", geodetic ? \"ellipsoid\" : \"sealevel\");\r\n const requestOptions: RequestOptions = { method: \"GET\", responseType: \"json\" };\r\n try {\r\n const tileResponse: Response = await request(requestUrl, requestOptions);\r\n return tileResponse.body.resourceSets[0].resources[0].elevations[0];\r\n } catch (error) {\r\n return 0.0;\r\n }\r\n }\r\n /** @internal */\r\n private async getHeights(range: Range2d) {\r\n const boundingBox = `${range.low.y},${range.low.x},${range.high.y},${range.high.x}`;\r\n const requestUrl = this._heightRangeRequestTemplate.replace(\"{boundingBox}\", boundingBox);\r\n const tileRequestOptions: RequestOptions = { method: \"GET\", responseType: \"json\" };\r\n try {\r\n const tileResponse: Response = await request(requestUrl, tileRequestOptions);\r\n return tileResponse.body.resourceSets[0].resources[0].elevations;\r\n } catch (error) {\r\n return undefined;\r\n }\r\n }\r\n /** @internal */\r\n public async getGeodeticToSeaLevelOffset(point: Point3d, iModel: IModelConnection): Promise<number> {\r\n const carto = iModel.spatialToCartographicFromEcef(point);\r\n if (carto === undefined)\r\n return 0.0;\r\n const requestUrl = this._seaLevelOffsetRequestTemplate.replace(\"{points}\", `${carto.latitudeDegrees},${carto.longitudeDegrees}`);\r\n const requestOptions: RequestOptions = { method: \"GET\", responseType: \"json\" };\r\n try {\r\n const tileResponse: Response = await request(requestUrl, requestOptions);\r\n return tileResponse.body.resourceSets[0].resources[0].offsets[0];\r\n } catch (error) {\r\n return 0.0;\r\n }\r\n }\r\n /** Get the height (altitude) at a given iModel coordinate. The height is geodetic (WGS84 ellipsoid)\r\n * If geodetic is true (the default) then height is returned in the Ellipsoidal WGS84 datum. If geodetic is false then sea level height is returned using the Earth Gravitational Model 2008 (EGM2008 2.5’).\r\n *\r\n * @public\r\n */\r\n public async getHeightValue(point: Point3d, iModel: IModelConnection, geodetic = true): Promise<number> {\r\n return this.getHeight(iModel.spatialToCartographicFromEcef(point), geodetic);\r\n }\r\n\r\n /** Get the height (altitude) range for a given iModel project extents. The height values are geodetic (WGS84 ellipsoid).\r\n * @public\r\n */\r\n public async getHeightRange(iModel: IModelConnection) {\r\n const latLongRange = Range2d.createNull();\r\n const range = iModel.projectExtents.clone();\r\n range.expandInPlace(1000.); // Expand for project surroundings.\r\n for (const corner of range.corners()) {\r\n const carto = iModel.spatialToCartographicFromEcef(corner);\r\n latLongRange.extendXY(carto.longitudeDegrees, carto.latitudeDegrees);\r\n }\r\n const heights = await this.getHeights(latLongRange);\r\n return Range1d.createArray(heights);\r\n }\r\n\r\n /** Get the average height (altitude) for a given iModel project extents. The height values are geodetic (WGS84 ellipsoid).\r\n * @public\r\n */\r\n public async getHeightAverage(iModel: IModelConnection) {\r\n const latLongRange = Range2d.createNull();\r\n for (const corner of iModel.projectExtents.corners()) {\r\n const carto = iModel.spatialToCartographicFromEcef(corner);\r\n latLongRange.extendXY(carto.longitudeDegrees, carto.latitudeDegrees);\r\n }\r\n const heights = await this.getHeights(latLongRange);\r\n let total = 0.0;\r\n for (const height of heights) total += height;\r\n return total / heights.length;\r\n }\r\n /** @internal */\r\n public async getGraphic(latLongRange: Range2d, corners: Point3d[], groundBias: number, texture: RenderTexture, system: RenderSystem): Promise<RenderGraphic | undefined> {\r\n const heights = await this.getHeights(latLongRange);\r\n if (undefined === heights)\r\n return undefined;\r\n\r\n const patch = new BilinearPatch(corners[0], corners[1], corners[2], corners[3]);\r\n const textureParams = new TextureMapping.Params({ mapMode: TextureMapping.Mode.Parametric });\r\n const textureMapping = new TextureMapping(texture, textureParams);\r\n const displayParams = new DisplayParams(DisplayParams.Type.Mesh, ColorDef.white, ColorDef.white, 0.0, LinePixels.Solid, FillFlags.None, undefined, undefined, false, textureMapping);\r\n BingElevationProvider._scratchRange.setNull();\r\n BingElevationProvider._scratchRange.extendArray(corners);\r\n BingElevationProvider._scratchRange.low.z = 10E8;\r\n BingElevationProvider._scratchRange.high.z = -1.0E8;\r\n\r\n for (const height of heights) {\r\n BingElevationProvider._scratchRange.low.z = Math.min(BingElevationProvider._scratchRange.low.z, height);\r\n BingElevationProvider._scratchRange.high.z = Math.max(BingElevationProvider._scratchRange.high.z, height);\r\n }\r\n\r\n BingElevationProvider._scratchRange.low.z += groundBias;\r\n BingElevationProvider._scratchRange.high.z += groundBias;\r\n\r\n BingElevationProvider._scratchQParams.setFromRange(BingElevationProvider._scratchRange);\r\n const mesh = Mesh.create({ displayParams, type: Mesh.PrimitiveType.Mesh, range: BingElevationProvider._scratchRange, isPlanar: false, is2d: false });\r\n const size = 16;\r\n const sizeM1 = size - 1;\r\n const triangle0 = new Triangle(false), triangle1 = new Triangle(false);\r\n for (let row = 0; row < sizeM1; row++) {\r\n const thisRowIndex = row * size;\r\n const nextRowIndex = thisRowIndex + size;\r\n for (let col = 0; col < size - 1; col++) {\r\n const q0 = thisRowIndex + col, q1 = q0 + 1, q3 = nextRowIndex + col, q2 = q3 + 1;\r\n triangle0.setIndices(q0, q1, q2);\r\n triangle1.setIndices(q0, q2, q3);\r\n mesh.addTriangle(triangle0);\r\n mesh.addTriangle(triangle1);\r\n }\r\n }\r\n BingElevationProvider._scratchUV.y = 0.0;\r\n const delta = 1.0 / sizeM1;\r\n for (let row = 0; row < size; row++, BingElevationProvider._scratchUV.y += delta) {\r\n BingElevationProvider._scratchUV.x = 0;\r\n for (let col = 0; col < size; col++, BingElevationProvider._scratchUV.x += delta) {\r\n patch.uvFractionToPoint(BingElevationProvider._scratchUV.x, BingElevationProvider._scratchUV.y, BingElevationProvider._scratchPoint);\r\n BingElevationProvider._scratchPoint.z = groundBias + heights[(sizeM1 - row) * size + col];\r\n BingElevationProvider._scratchQPoint.init(BingElevationProvider._scratchPoint, BingElevationProvider._scratchQParams);\r\n mesh.addVertex(VertexKey.create({ position: BingElevationProvider._scratchQPoint, fillColor: 0xffffff, uvParam: BingElevationProvider._scratchUV }));\r\n }\r\n }\r\n BingElevationProvider._scratchMeshArgs.init(mesh);\r\n return system.createMesh(MeshParams.create(BingElevationProvider._scratchMeshArgs));\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"BingElevation.js","sourceRoot":"","sources":["../../../../src/tile/map/BingElevation.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\nimport { BilinearPatch, Point2d, Point3d, Range1d, Range2d, Range3d } from \"@itwin/core-geometry\";\r\nimport { Cartographic, ColorDef, FillFlags, LinePixels, QParams3d, QPoint3d, RenderTexture, TextureMapping } from \"@itwin/core-common\";\r\nimport { request, RequestOptions, Response } from \"../../request/Request\";\r\nimport { IModelApp } from \"../../IModelApp\";\r\nimport { IModelConnection } from \"../../IModelConnection\";\r\nimport { Mesh, MeshArgs } from \"../../render/primitives/mesh/MeshPrimitives\";\r\nimport { DisplayParams } from \"../../render/primitives/DisplayParams\";\r\nimport { Triangle } from \"../../render/primitives/Primitives\";\r\nimport { VertexKey } from \"../../render/primitives/VertexKey\";\r\nimport { MeshParams } from \"../../render/primitives/VertexTable\";\r\nimport { RenderGraphic } from \"../../render/RenderGraphic\";\r\nimport { RenderSystem } from \"../../render/RenderSystem\";\r\n\r\n// cspell:ignore atae qdng uyzv auje sealevel\r\n\r\n/** Provides an interface to the [Bing Maps elevation services](https://docs.microsoft.com/en-us/bingmaps/rest-services/elevations/).\r\n * @public\r\n */\r\nexport class BingElevationProvider {\r\n private static _scratchRange = Range3d.createNull();\r\n private static _scratchVertex = Point3d.createZero();\r\n private static _scratchQParams = QParams3d.fromRange(BingElevationProvider._scratchRange);\r\n private static _scratchQPoint = QPoint3d.create(BingElevationProvider._scratchVertex, BingElevationProvider._scratchQParams);\r\n private static _scratchMeshArgs = new MeshArgs();\r\n private static _scratchUV = Point2d.createZero();\r\n private static _scratchPoint = Point3d.createZero();\r\n\r\n private _heightRangeRequestTemplate: string;\r\n private _seaLevelOffsetRequestTemplate: string;\r\n private _heightListRequestTemplate: string;\r\n\r\n /** @public */\r\n constructor() {\r\n let bingKey = \"\";\r\n if (IModelApp.mapLayerFormatRegistry.configOptions.BingMaps) {\r\n bingKey = IModelApp.mapLayerFormatRegistry.configOptions.BingMaps.value;\r\n }\r\n this._heightRangeRequestTemplate = \"https://dev.virtualearth.net/REST/v1/Elevation/Bounds?bounds={boundingBox}&rows=16&cols=16&heights=ellipsoid&key={BingMapsAPIKey}\".replace(\"{BingMapsAPIKey}\", bingKey);\r\n this._seaLevelOffsetRequestTemplate = \"https://dev.virtualearth.net/REST/v1/Elevation/SeaLevel?points={points}&key={BingMapsAPIKey}\".replace(\"{BingMapsAPIKey}\", bingKey);\r\n this._heightListRequestTemplate = \"https://dev.virtualearth.net/REST/v1/Elevation/List?points={points}&heights={heights}&key={BingMapsAPIKey}\".replace(\"{BingMapsAPIKey}\", bingKey);\r\n }\r\n\r\n /** Return the height (altitude) at a given cartographic location.\r\n * If geodetic is true (the default) then height is returned in the Ellipsoidal WGS84 datum. If geodetic is false then the sea level height id returned using the Earth Gravitational Model 2008 (EGM2008 2.5’).\r\n * @public\r\n */\r\n public async getHeight(carto: Cartographic, geodetic = true) {\r\n if (undefined === carto)\r\n return 0.0;\r\n const requestUrl = this._heightListRequestTemplate.replace(\"{points}\", `${carto.latitudeDegrees},${carto.longitudeDegrees}`).replace(\"{heights}\", geodetic ? \"ellipsoid\" : \"sealevel\");\r\n const requestOptions: RequestOptions = { method: \"GET\", responseType: \"json\" };\r\n try {\r\n const tileResponse: Response = await request(requestUrl, requestOptions);\r\n return tileResponse.body.resourceSets[0].resources[0].elevations[0];\r\n } catch (error) {\r\n return 0.0;\r\n }\r\n }\r\n /** @internal */\r\n private async getHeights(range: Range2d) {\r\n const boundingBox = `${range.low.y},${range.low.x},${range.high.y},${range.high.x}`;\r\n const requestUrl = this._heightRangeRequestTemplate.replace(\"{boundingBox}\", boundingBox);\r\n const tileRequestOptions: RequestOptions = { method: \"GET\", responseType: \"json\" };\r\n try {\r\n const tileResponse: Response = await request(requestUrl, tileRequestOptions);\r\n return tileResponse.body.resourceSets[0].resources[0].elevations;\r\n } catch (error) {\r\n return undefined;\r\n }\r\n }\r\n /** @internal */\r\n public async getGeodeticToSeaLevelOffset(point: Point3d, iModel: IModelConnection): Promise<number> {\r\n const carto = iModel.spatialToCartographicFromEcef(point);\r\n if (carto === undefined)\r\n return 0.0;\r\n const requestUrl = this._seaLevelOffsetRequestTemplate.replace(\"{points}\", `${carto.latitudeDegrees},${carto.longitudeDegrees}`);\r\n const requestOptions: RequestOptions = { method: \"GET\", responseType: \"json\" };\r\n try {\r\n const tileResponse: Response = await request(requestUrl, requestOptions);\r\n return tileResponse.body.resourceSets[0].resources[0].offsets[0];\r\n } catch (error) {\r\n return 0.0;\r\n }\r\n }\r\n /** Get the height (altitude) at a given iModel coordinate. The height is geodetic (WGS84 ellipsoid)\r\n * If geodetic is true (the default) then height is returned in the Ellipsoidal WGS84 datum. If geodetic is false then sea level height is returned using the Earth Gravitational Model 2008 (EGM2008 2.5’).\r\n *\r\n * @public\r\n */\r\n public async getHeightValue(point: Point3d, iModel: IModelConnection, geodetic = true): Promise<number> {\r\n return this.getHeight(iModel.spatialToCartographicFromEcef(point), geodetic);\r\n }\r\n\r\n /** Get the height (altitude) range for a given iModel project extents. The height values are geodetic (WGS84 ellipsoid).\r\n * @public\r\n */\r\n public async getHeightRange(iModel: IModelConnection) {\r\n const latLongRange = Range2d.createNull();\r\n const range = iModel.projectExtents.clone();\r\n range.expandInPlace(1000.); // Expand for project surroundings.\r\n for (const corner of range.corners()) {\r\n const carto = iModel.spatialToCartographicFromEcef(corner);\r\n latLongRange.extendXY(carto.longitudeDegrees, carto.latitudeDegrees);\r\n }\r\n const heights = await this.getHeights(latLongRange);\r\n return Range1d.createArray(heights);\r\n }\r\n\r\n /** Get the average height (altitude) for a given iModel project extents. The height values are geodetic (WGS84 ellipsoid).\r\n * @public\r\n */\r\n public async getHeightAverage(iModel: IModelConnection) {\r\n const latLongRange = Range2d.createNull();\r\n for (const corner of iModel.projectExtents.corners()) {\r\n const carto = iModel.spatialToCartographicFromEcef(corner);\r\n latLongRange.extendXY(carto.longitudeDegrees, carto.latitudeDegrees);\r\n }\r\n const heights = await this.getHeights(latLongRange);\r\n let total = 0.0;\r\n for (const height of heights) total += height;\r\n return total / heights.length;\r\n }\r\n /** @internal */\r\n public async getGraphic(latLongRange: Range2d, corners: Point3d[], groundBias: number, texture: RenderTexture, system: RenderSystem): Promise<RenderGraphic | undefined> {\r\n const heights = await this.getHeights(latLongRange);\r\n if (undefined === heights)\r\n return undefined;\r\n\r\n const patch = new BilinearPatch(corners[0], corners[1], corners[2], corners[3]);\r\n const textureParams = new TextureMapping.Params({ mapMode: TextureMapping.Mode.Parametric });\r\n const textureMapping = new TextureMapping(texture, textureParams);\r\n const displayParams = new DisplayParams(DisplayParams.Type.Mesh, ColorDef.white, ColorDef.white, 0.0, LinePixels.Solid, FillFlags.None, undefined, undefined, false, textureMapping);\r\n BingElevationProvider._scratchRange.setNull();\r\n BingElevationProvider._scratchRange.extendArray(corners);\r\n BingElevationProvider._scratchRange.low.z = 10E8;\r\n BingElevationProvider._scratchRange.high.z = -1.0E8;\r\n\r\n for (const height of heights) {\r\n BingElevationProvider._scratchRange.low.z = Math.min(BingElevationProvider._scratchRange.low.z, height);\r\n BingElevationProvider._scratchRange.high.z = Math.max(BingElevationProvider._scratchRange.high.z, height);\r\n }\r\n\r\n BingElevationProvider._scratchRange.low.z += groundBias;\r\n BingElevationProvider._scratchRange.high.z += groundBias;\r\n\r\n BingElevationProvider._scratchQParams.setFromRange(BingElevationProvider._scratchRange);\r\n const mesh = Mesh.create({ displayParams, type: Mesh.PrimitiveType.Mesh, range: BingElevationProvider._scratchRange, isPlanar: false, is2d: false });\r\n const size = 16;\r\n const sizeM1 = size - 1;\r\n const triangle0 = new Triangle(false), triangle1 = new Triangle(false);\r\n for (let row = 0; row < sizeM1; row++) {\r\n const thisRowIndex = row * size;\r\n const nextRowIndex = thisRowIndex + size;\r\n for (let col = 0; col < size - 1; col++) {\r\n const q0 = thisRowIndex + col, q1 = q0 + 1, q3 = nextRowIndex + col, q2 = q3 + 1;\r\n triangle0.setIndices(q0, q1, q2);\r\n triangle1.setIndices(q0, q2, q3);\r\n mesh.addTriangle(triangle0);\r\n mesh.addTriangle(triangle1);\r\n }\r\n }\r\n BingElevationProvider._scratchUV.y = 0.0;\r\n const delta = 1.0 / sizeM1;\r\n for (let row = 0; row < size; row++, BingElevationProvider._scratchUV.y += delta) {\r\n BingElevationProvider._scratchUV.x = 0;\r\n for (let col = 0; col < size; col++, BingElevationProvider._scratchUV.x += delta) {\r\n patch.uvFractionToPoint(BingElevationProvider._scratchUV.x, BingElevationProvider._scratchUV.y, BingElevationProvider._scratchPoint);\r\n BingElevationProvider._scratchPoint.z = groundBias + heights[(sizeM1 - row) * size + col];\r\n BingElevationProvider._scratchQPoint.init(BingElevationProvider._scratchPoint, BingElevationProvider._scratchQParams);\r\n mesh.addVertex(VertexKey.create({ position: BingElevationProvider._scratchQPoint, fillColor: 0xffffff, uvParam: BingElevationProvider._scratchUV }));\r\n }\r\n }\r\n BingElevationProvider._scratchMeshArgs.init(mesh);\r\n return system.createMesh(MeshParams.create(BingElevationProvider._scratchMeshArgs));\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CesiumTerrainProvider.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/CesiumTerrainProvider.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,OAAO,EAA+C,UAAU,EAA2B,MAAM,qBAAqB,CAAC;AAMvH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAC2F,mBAAmB,EACpH,MAAM,aAAa,CAAC;AASrB;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEhF;AACD,gBAAgB;AAChB,wBAAgB,wBAAwB,IAAI,MAAM,GAAG,SAAS,CAO7D;AAED,gBAAgB;AAChB,wBAAsB,kCAAkC,CAAC,OAAO,SAAI,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAuBpI;AAED,gBAAgB;AAChB,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CA8CvM"}
1
+ {"version":3,"file":"CesiumTerrainProvider.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/CesiumTerrainProvider.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,OAAO,EAA+C,UAAU,EAA2B,MAAM,qBAAqB,CAAC;AAOvH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAC2F,mBAAmB,EACpH,MAAM,aAAa,CAAC;AASrB;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEhF;AACD,gBAAgB;AAChB,wBAAgB,wBAAwB,IAAI,MAAM,GAAG,SAAS,CAO7D;AAED,gBAAgB;AAChB,wBAAsB,kCAAkC,CAAC,OAAO,SAAI,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAuBpI;AAaD,gBAAgB;AAChB,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAiDvM"}
@@ -11,7 +11,8 @@ exports.getCesiumTerrainProvider = exports.getCesiumAccessTokenAndEndpointUrl =
11
11
  const core_bentley_1 = require("@itwin/core-bentley");
12
12
  const core_geometry_1 = require("@itwin/core-geometry");
13
13
  const core_common_1 = require("@itwin/core-common");
14
- const itwin_client_1 = require("@bentley/itwin-client");
14
+ const appui_abstract_1 = require("@itwin/appui-abstract");
15
+ const Request_1 = require("../../request/Request");
15
16
  const ApproximateTerrainHeights_1 = require("../../ApproximateTerrainHeights");
16
17
  const IModelApp_1 = require("../../IModelApp");
17
18
  const TerrainMeshPrimitive_1 = require("../../render/primitives/mesh/TerrainMeshPrimitive");
@@ -50,7 +51,7 @@ async function getCesiumAccessTokenAndEndpointUrl(assetId = 1, requestKey) {
50
51
  const apiUrl = requestTemplate.replace("{CesiumRequestToken}", requestKey);
51
52
  const apiRequestOptions = { method: "GET", responseType: "json" };
52
53
  try {
53
- const apiResponse = await (0, itwin_client_1.request)(apiUrl, apiRequestOptions);
54
+ const apiResponse = await (0, Request_1.request)(apiUrl, apiRequestOptions);
54
55
  if (undefined === apiResponse || undefined === apiResponse.body || undefined === apiResponse.body.url) {
55
56
  (0, core_bentley_1.assert)(false);
56
57
  return {};
@@ -63,28 +64,38 @@ async function getCesiumAccessTokenAndEndpointUrl(assetId = 1, requestKey) {
63
64
  }
64
65
  }
65
66
  exports.getCesiumAccessTokenAndEndpointUrl = getCesiumAccessTokenAndEndpointUrl;
67
+ let notifiedTerrainError = false;
68
+ // Notify - once per session - of failure to obtain Cesium terrain provider.
69
+ function notifyTerrainError(detailedDescription) {
70
+ if (notifiedTerrainError)
71
+ return;
72
+ notifiedTerrainError = true;
73
+ IModelApp_1.IModelApp.notifications.displayMessage(appui_abstract_1.MessageSeverity.Information, IModelApp_1.IModelApp.localization.getLocalizedString(`BackgroundMap.CannotObtainTerrain`), detailedDescription);
74
+ }
66
75
  /** @internal */
67
76
  async function getCesiumTerrainProvider(iModel, modelId, wantSkirts, wantNormals, exaggeration) {
68
- let layers;
69
77
  const accessTokenAndEndpointUrl = await getCesiumAccessTokenAndEndpointUrl();
70
- if (!accessTokenAndEndpointUrl.token || !accessTokenAndEndpointUrl.url)
78
+ if (!accessTokenAndEndpointUrl.token || !accessTokenAndEndpointUrl.url) {
79
+ notifyTerrainError(IModelApp_1.IModelApp.localization.getLocalizedString(`BackgroundMap.MissingCesiumToken`));
71
80
  return undefined;
81
+ }
82
+ let layers;
72
83
  try {
73
84
  const layerRequestOptions = { method: "GET", responseType: "json", headers: { authorization: `Bearer ${accessTokenAndEndpointUrl.token}` } };
74
85
  const layerUrl = `${accessTokenAndEndpointUrl.url}layer.json`;
75
- const layerResponse = await (0, itwin_client_1.request)(layerUrl, layerRequestOptions);
86
+ const layerResponse = await (0, Request_1.request)(layerUrl, layerRequestOptions);
76
87
  if (undefined === layerResponse) {
77
- (0, core_bentley_1.assert)(false);
88
+ notifyTerrainError();
78
89
  return undefined;
79
90
  }
80
91
  layers = layerResponse.body;
81
92
  }
82
93
  catch (error) {
83
- (0, core_bentley_1.assert)(false);
94
+ notifyTerrainError();
84
95
  return undefined;
85
96
  }
86
97
  if (undefined === layers.tiles || undefined === layers.version) {
87
- (0, core_bentley_1.assert)(false);
98
+ notifyTerrainError();
88
99
  return undefined;
89
100
  }
90
101
  const tilingScheme = new internal_1.GeographicTilingScheme();
@@ -160,17 +171,18 @@ class CesiumTerrainProvider extends internal_1.TerrainMeshProvider {
160
171
  }
161
172
  forceTileLoad(tile) {
162
173
  // Force loading of the metadata availability tiles as these are required for determining the availability of descendants.
163
- return undefined !== this._metaDataAvailableLevel && tile.depth === 1 + this._metaDataAvailableLevel && !tile.everLoaded;
174
+ const mapTile = tile;
175
+ return undefined !== this._metaDataAvailableLevel && mapTile.quadId.level === this._metaDataAvailableLevel && !mapTile.everLoaded;
164
176
  }
165
177
  getLogo() {
166
- return IModelApp_1.IModelApp.makeLogoCard({ iconSrc: "images/cesium-ion.svg", heading: "Cesium Ion", notice: IModelApp_1.IModelApp.localization.getLocalizedString("iModelJs:BackgroundMap.CesiumWorldTerrainAttribution") });
178
+ return IModelApp_1.IModelApp.makeLogoCard({ iconSrc: `${IModelApp_1.IModelApp.publicPath}images/cesium-ion.svg`, heading: "Cesium Ion", notice: IModelApp_1.IModelApp.localization.getLocalizedString("iModelJs:BackgroundMap.CesiumWorldTerrainAttribution") });
167
179
  }
168
180
  get maxDepth() { return this._maxDepth; }
169
181
  get tilingScheme() { return this._tilingScheme; }
170
182
  isTileAvailable(quadId) {
171
183
  if (quadId.level > this.maxDepth)
172
184
  return false;
173
- return this._tileAvailability ? this._tileAvailability.isTileAvailable(quadId.level - 1, quadId.column, quadId.row) : true;
185
+ return this._tileAvailability ? this._tileAvailability.isTileAvailable(quadId.level, quadId.column, quadId.row) : true;
174
186
  }
175
187
  async getMesh(tile, data) {
176
188
  if (core_bentley_1.BeTimePoint.now().milliseconds > this._tokenTimeOut.milliseconds) {
@@ -185,10 +197,10 @@ class CesiumTerrainProvider extends internal_1.TerrainMeshProvider {
185
197
  (0, core_bentley_1.assert)(data instanceof Uint8Array);
186
198
  (0, core_bentley_1.assert)(tile instanceof internal_1.MapTile);
187
199
  const blob = data;
188
- const streamBuffer = new core_bentley_1.ByteStream(blob.buffer);
200
+ const streamBuffer = core_bentley_1.ByteStream.fromUint8Array(blob);
189
201
  const center = (0, core_common_1.nextPoint3d64FromByteStream)(streamBuffer);
190
202
  const quadId = internal_1.QuadId.createFromContentId(tile.contentId);
191
- const skirtHeight = this.getLevelMaximumGeometricError(quadId.level) * 10.0;
203
+ const skirtHeight = this.getLevelMaximumGeometricError(quadId.level + 1) * 10.0; // Add 1 to level to restore height calculation to before the quadId level was from root. (4326 unification)
192
204
  const minHeight = this._exaggeration * streamBuffer.nextFloat32;
193
205
  const maxHeight = this._exaggeration * streamBuffer.nextFloat32;
194
206
  const boundCenter = (0, core_common_1.nextPoint3d64FromByteStream)(streamBuffer);
@@ -336,10 +348,10 @@ class CesiumTerrainProvider extends internal_1.TerrainMeshProvider {
336
348
  return { method: "GET", responseType: "arraybuffer", headers: { authorization: `Bearer ${this._accessToken}` }, accept: "application/vnd.quantized-mesh;" /* extensions=octvertexnormals, */ + "application/octet-stream;q=0.9,*/*;q=0.01" };
337
349
  }
338
350
  constructUrl(row, column, zoomLevel) {
339
- return this._tileUrlTemplate.replace("{z}", (zoomLevel - 1).toString()).replace("{x}", column.toString()).replace("{y}", row.toString());
351
+ return this._tileUrlTemplate.replace("{z}", zoomLevel.toString()).replace("{x}", column.toString()).replace("{y}", row.toString());
340
352
  }
341
353
  getChildHeightRange(quadId, rectangle, parent) {
342
- return (quadId.level <= ApproximateTerrainHeights_1.ApproximateTerrainHeights.maxLevel) ? ApproximateTerrainHeights_1.ApproximateTerrainHeights.instance.getMinimumMaximumHeights(rectangle) : (parent).heightRange;
354
+ return (quadId.level < ApproximateTerrainHeights_1.ApproximateTerrainHeights.maxLevel) ? ApproximateTerrainHeights_1.ApproximateTerrainHeights.instance.getMinimumMaximumHeights(rectangle) : (parent).heightRange;
343
355
  }
344
356
  /**
345
357
  * Determines an appropriate geometric error estimate when the geometry comes from a heightmap.