@itwin/core-frontend 3.5.0-dev.4 → 3.5.0-dev.41

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 (496) hide show
  1. package/CHANGELOG.md +55 -1
  2. package/lib/cjs/AccuSnap.d.ts +7 -1
  3. package/lib/cjs/AccuSnap.d.ts.map +1 -1
  4. package/lib/cjs/AccuSnap.js +26 -3
  5. package/lib/cjs/AccuSnap.js.map +1 -1
  6. package/lib/cjs/BriefcaseConnection.d.ts +28 -1
  7. package/lib/cjs/BriefcaseConnection.d.ts.map +1 -1
  8. package/lib/cjs/BriefcaseConnection.js +29 -8
  9. package/lib/cjs/BriefcaseConnection.js.map +1 -1
  10. package/lib/cjs/BriefcaseTxns.js +9 -9
  11. package/lib/cjs/BriefcaseTxns.js.map +1 -1
  12. package/lib/cjs/ContextRealityModelState.d.ts.map +1 -1
  13. package/lib/cjs/ContextRealityModelState.js +2 -0
  14. package/lib/cjs/ContextRealityModelState.js.map +1 -1
  15. package/lib/cjs/GraphicalEditingScope.js +2 -2
  16. package/lib/cjs/GraphicalEditingScope.js.map +1 -1
  17. package/lib/cjs/IModelApp.d.ts +6 -0
  18. package/lib/cjs/IModelApp.d.ts.map +1 -1
  19. package/lib/cjs/IModelApp.js +6 -0
  20. package/lib/cjs/IModelApp.js.map +1 -1
  21. package/lib/cjs/IModelConnection.d.ts +15 -2
  22. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  23. package/lib/cjs/IModelConnection.js +21 -1
  24. package/lib/cjs/IModelConnection.js.map +1 -1
  25. package/lib/cjs/IpcApp.d.ts +14 -1
  26. package/lib/cjs/IpcApp.d.ts.map +1 -1
  27. package/lib/cjs/IpcApp.js +25 -0
  28. package/lib/cjs/IpcApp.js.map +1 -1
  29. package/lib/cjs/MarginPercent.d.ts +27 -2
  30. package/lib/cjs/MarginPercent.d.ts.map +1 -1
  31. package/lib/cjs/MarginPercent.js +8 -2
  32. package/lib/cjs/MarginPercent.js.map +1 -1
  33. package/lib/cjs/ModelState.d.ts +2 -1
  34. package/lib/cjs/ModelState.d.ts.map +1 -1
  35. package/lib/cjs/ModelState.js +10 -3
  36. package/lib/cjs/ModelState.js.map +1 -1
  37. package/lib/cjs/NativeApp.d.ts +5 -1
  38. package/lib/cjs/NativeApp.d.ts.map +1 -1
  39. package/lib/cjs/NativeApp.js +25 -20
  40. package/lib/cjs/NativeApp.js.map +1 -1
  41. package/lib/cjs/NativeAppLogger.js +1 -1
  42. package/lib/cjs/NativeAppLogger.js.map +1 -1
  43. package/lib/cjs/RealityDataSource.d.ts +44 -1
  44. package/lib/cjs/RealityDataSource.d.ts.map +1 -1
  45. package/lib/cjs/RealityDataSource.js +41 -14
  46. package/lib/cjs/RealityDataSource.js.map +1 -1
  47. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.d.ts +1 -0
  48. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.d.ts.map +1 -1
  49. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js +3 -0
  50. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
  51. package/lib/cjs/RealityDataSourceContextShareImpl.d.ts +1 -0
  52. package/lib/cjs/RealityDataSourceContextShareImpl.d.ts.map +1 -1
  53. package/lib/cjs/RealityDataSourceContextShareImpl.js +3 -0
  54. package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -1
  55. package/lib/cjs/RealityDataSourceTilesetUrlImpl.d.ts +1 -0
  56. package/lib/cjs/RealityDataSourceTilesetUrlImpl.d.ts.map +1 -1
  57. package/lib/cjs/RealityDataSourceTilesetUrlImpl.js +3 -0
  58. package/lib/cjs/RealityDataSourceTilesetUrlImpl.js.map +1 -1
  59. package/lib/cjs/ViewAnimation.d.ts +10 -2
  60. package/lib/cjs/ViewAnimation.d.ts.map +1 -1
  61. package/lib/cjs/ViewAnimation.js.map +1 -1
  62. package/lib/cjs/ViewCreator2d.js +3 -2
  63. package/lib/cjs/ViewCreator2d.js.map +1 -1
  64. package/lib/cjs/ViewState.d.ts.map +1 -1
  65. package/lib/cjs/ViewState.js +22 -2
  66. package/lib/cjs/ViewState.js.map +1 -1
  67. package/lib/cjs/Viewport.d.ts.map +1 -1
  68. package/lib/cjs/Viewport.js +5 -2
  69. package/lib/cjs/Viewport.js.map +1 -1
  70. package/lib/cjs/extension/ExtensionRuntime.js +11 -0
  71. package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
  72. package/lib/cjs/render/GraphicBranch.d.ts +5 -1
  73. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  74. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  75. package/lib/cjs/render/RenderMaterial.d.ts +57 -30
  76. package/lib/cjs/render/RenderMaterial.d.ts.map +1 -1
  77. package/lib/cjs/render/RenderMaterial.js.map +1 -1
  78. package/lib/cjs/render/primitives/PointCloudPrimitive.d.ts +4 -8
  79. package/lib/cjs/render/primitives/PointCloudPrimitive.d.ts.map +1 -1
  80. package/lib/cjs/render/primitives/PointCloudPrimitive.js +0 -16
  81. package/lib/cjs/render/primitives/PointCloudPrimitive.js.map +1 -1
  82. package/lib/cjs/render/primitives/SurfaceParams.d.ts +0 -1
  83. package/lib/cjs/render/primitives/SurfaceParams.d.ts.map +1 -1
  84. package/lib/cjs/render/primitives/SurfaceParams.js.map +1 -1
  85. package/lib/cjs/render/primitives/VertexTable.d.ts.map +1 -1
  86. package/lib/cjs/render/primitives/VertexTable.js +0 -1
  87. package/lib/cjs/render/primitives/VertexTable.js.map +1 -1
  88. package/lib/cjs/render/primitives/VertexTableSplitter.d.ts.map +1 -1
  89. package/lib/cjs/render/primitives/VertexTableSplitter.js +0 -1
  90. package/lib/cjs/render/primitives/VertexTableSplitter.js.map +1 -1
  91. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts +1 -2
  92. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  93. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js +3 -2
  94. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  95. package/lib/cjs/render/webgl/BranchState.d.ts +3 -1
  96. package/lib/cjs/render/webgl/BranchState.d.ts.map +1 -1
  97. package/lib/cjs/render/webgl/BranchState.js +18 -15
  98. package/lib/cjs/render/webgl/BranchState.js.map +1 -1
  99. package/lib/cjs/render/webgl/BranchUniforms.d.ts.map +1 -1
  100. package/lib/cjs/render/webgl/BranchUniforms.js +4 -0
  101. package/lib/cjs/render/webgl/BranchUniforms.js.map +1 -1
  102. package/lib/cjs/render/webgl/FeatureOverrides.d.ts +0 -1
  103. package/lib/cjs/render/webgl/FeatureOverrides.d.ts.map +1 -1
  104. package/lib/cjs/render/webgl/FeatureOverrides.js +16 -11
  105. package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
  106. package/lib/cjs/render/webgl/MeshData.d.ts +0 -1
  107. package/lib/cjs/render/webgl/MeshData.d.ts.map +1 -1
  108. package/lib/cjs/render/webgl/MeshData.js +0 -1
  109. package/lib/cjs/render/webgl/MeshData.js.map +1 -1
  110. package/lib/cjs/render/webgl/MeshGeometry.d.ts +0 -1
  111. package/lib/cjs/render/webgl/MeshGeometry.d.ts.map +1 -1
  112. package/lib/cjs/render/webgl/MeshGeometry.js +0 -1
  113. package/lib/cjs/render/webgl/MeshGeometry.js.map +1 -1
  114. package/lib/cjs/render/webgl/PointCloud.d.ts +1 -2
  115. package/lib/cjs/render/webgl/PointCloud.d.ts.map +1 -1
  116. package/lib/cjs/render/webgl/PointCloud.js +7 -7
  117. package/lib/cjs/render/webgl/PointCloud.js.map +1 -1
  118. package/lib/cjs/render/webgl/RealityModelUniforms.d.ts +35 -0
  119. package/lib/cjs/render/webgl/RealityModelUniforms.d.ts.map +1 -0
  120. package/lib/cjs/render/webgl/RealityModelUniforms.js +73 -0
  121. package/lib/cjs/render/webgl/RealityModelUniforms.js.map +1 -0
  122. package/lib/cjs/render/webgl/RenderFlags.d.ts +12 -3
  123. package/lib/cjs/render/webgl/RenderFlags.d.ts.map +1 -1
  124. package/lib/cjs/render/webgl/RenderFlags.js.map +1 -1
  125. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts +0 -1
  126. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts.map +1 -1
  127. package/lib/cjs/render/webgl/SurfaceGeometry.js +2 -6
  128. package/lib/cjs/render/webgl/SurfaceGeometry.js.map +1 -1
  129. package/lib/cjs/render/webgl/System.d.ts +1 -1
  130. package/lib/cjs/render/webgl/TargetUniforms.d.ts +2 -0
  131. package/lib/cjs/render/webgl/TargetUniforms.d.ts.map +1 -1
  132. package/lib/cjs/render/webgl/TargetUniforms.js +2 -0
  133. package/lib/cjs/render/webgl/TargetUniforms.js.map +1 -1
  134. package/lib/cjs/render/webgl/Technique.d.ts.map +1 -1
  135. package/lib/cjs/render/webgl/Technique.js +3 -30
  136. package/lib/cjs/render/webgl/Technique.js.map +1 -1
  137. package/lib/cjs/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
  138. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js +9 -1
  139. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  140. package/lib/cjs/render/webgl/glsl/Lighting.js +1 -1
  141. package/lib/cjs/render/webgl/glsl/Lighting.js.map +1 -1
  142. package/lib/cjs/render/webgl/glsl/PointCloud.d.ts.map +1 -1
  143. package/lib/cjs/render/webgl/glsl/PointCloud.js +50 -22
  144. package/lib/cjs/render/webgl/glsl/PointCloud.js.map +1 -1
  145. package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts +4 -2
  146. package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  147. package/lib/cjs/render/webgl/glsl/RealityMesh.js +5 -3
  148. package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
  149. package/lib/cjs/render/webgl/glsl/Surface.js +1 -1
  150. package/lib/cjs/render/webgl/glsl/Surface.js.map +1 -1
  151. package/lib/cjs/tile/GltfReader.d.ts +9 -0
  152. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  153. package/lib/cjs/tile/GltfReader.js +4 -1
  154. package/lib/cjs/tile/GltfReader.js.map +1 -1
  155. package/lib/cjs/tile/IModelTileRequestChannels.js +1 -1
  156. package/lib/cjs/tile/IModelTileRequestChannels.js.map +1 -1
  157. package/lib/cjs/tile/ImdlReader.d.ts +5 -0
  158. package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
  159. package/lib/cjs/tile/ImdlReader.js +8 -2
  160. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  161. package/lib/cjs/tile/OrbitGtTileTree.d.ts.map +1 -1
  162. package/lib/cjs/tile/OrbitGtTileTree.js +8 -2
  163. package/lib/cjs/tile/OrbitGtTileTree.js.map +1 -1
  164. package/lib/cjs/tile/PntsReader.d.ts.map +1 -1
  165. package/lib/cjs/tile/PntsReader.js +8 -2
  166. package/lib/cjs/tile/PntsReader.js.map +1 -1
  167. package/lib/cjs/tile/PrimaryTileTree.js +2 -2
  168. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  169. package/lib/cjs/tile/RealityModelTileTree.d.ts +4 -1
  170. package/lib/cjs/tile/RealityModelTileTree.d.ts.map +1 -1
  171. package/lib/cjs/tile/RealityModelTileTree.js +58 -19
  172. package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
  173. package/lib/cjs/tile/RealityTile.d.ts +2 -2
  174. package/lib/cjs/tile/RealityTile.d.ts.map +1 -1
  175. package/lib/cjs/tile/RealityTile.js +8 -1
  176. package/lib/cjs/tile/RealityTile.js.map +1 -1
  177. package/lib/cjs/tile/RealityTileLoader.d.ts +1 -0
  178. package/lib/cjs/tile/RealityTileLoader.d.ts.map +1 -1
  179. package/lib/cjs/tile/RealityTileLoader.js +13 -0
  180. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  181. package/lib/cjs/tile/RealityTileTree.js +1 -1
  182. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  183. package/lib/cjs/tile/TileAdmin.d.ts +1 -0
  184. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  185. package/lib/cjs/tile/TileAdmin.js +29 -15
  186. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  187. package/lib/cjs/tile/TileDrawArgs.d.ts +5 -1
  188. package/lib/cjs/tile/TileDrawArgs.d.ts.map +1 -1
  189. package/lib/cjs/tile/TileDrawArgs.js +2 -0
  190. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  191. package/lib/cjs/tile/TileRequestChannels.js +1 -1
  192. package/lib/cjs/tile/TileRequestChannels.js.map +1 -1
  193. package/lib/cjs/tile/TileStorage.d.ts.map +1 -1
  194. package/lib/cjs/tile/TileStorage.js +12 -6
  195. package/lib/cjs/tile/TileStorage.js.map +1 -1
  196. package/lib/cjs/tile/internal.d.ts +1 -0
  197. package/lib/cjs/tile/internal.d.ts.map +1 -1
  198. package/lib/cjs/tile/internal.js +1 -0
  199. package/lib/cjs/tile/internal.js.map +1 -1
  200. package/lib/cjs/tile/map/ArcGISTileMap.d.ts +5 -2
  201. package/lib/cjs/tile/map/ArcGISTileMap.d.ts.map +1 -1
  202. package/lib/cjs/tile/map/ArcGISTileMap.js +17 -2
  203. package/lib/cjs/tile/map/ArcGISTileMap.js.map +1 -1
  204. package/lib/cjs/tile/map/ArcGisUtilities.d.ts +50 -5
  205. package/lib/cjs/tile/map/ArcGisUtilities.d.ts.map +1 -1
  206. package/lib/cjs/tile/map/ArcGisUtilities.js +119 -48
  207. package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
  208. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts +26 -0
  209. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts.map +1 -0
  210. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js +97 -0
  211. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -0
  212. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -4
  213. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  214. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +11 -96
  215. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  216. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  217. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +2 -1
  218. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  219. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts +18 -4
  220. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  221. package/lib/cjs/tile/map/MapLayerFormatRegistry.js +25 -5
  222. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  223. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts +6 -4
  224. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  225. package/lib/cjs/tile/map/MapLayerImageryFormats.js +12 -16
  226. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  227. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +26 -5
  228. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  229. package/lib/cjs/tile/map/MapLayerImageryProvider.js +69 -48
  230. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  231. package/lib/cjs/tile/map/MapLayerSources.js +1 -1
  232. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  233. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  234. package/lib/cjs/tile/map/MapTileTree.js +10 -7
  235. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  236. package/lib/cjs/tile/map/WmsCapabilities.d.ts.map +1 -1
  237. package/lib/cjs/tile/map/WmsCapabilities.js +4 -1
  238. package/lib/cjs/tile/map/WmsCapabilities.js.map +1 -1
  239. package/lib/cjs/tools/EditManipulator.d.ts.map +1 -1
  240. package/lib/cjs/tools/EditManipulator.js +2 -1
  241. package/lib/cjs/tools/EditManipulator.js.map +1 -1
  242. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  243. package/lib/cjs/tools/ToolAdmin.js +6 -4
  244. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  245. package/lib/cjs/webgl.d.ts +1 -0
  246. package/lib/cjs/webgl.d.ts.map +1 -1
  247. package/lib/cjs/webgl.js +1 -0
  248. package/lib/cjs/webgl.js.map +1 -1
  249. package/lib/esm/AccuSnap.d.ts +7 -1
  250. package/lib/esm/AccuSnap.d.ts.map +1 -1
  251. package/lib/esm/AccuSnap.js +27 -4
  252. package/lib/esm/AccuSnap.js.map +1 -1
  253. package/lib/esm/BriefcaseConnection.d.ts +28 -1
  254. package/lib/esm/BriefcaseConnection.d.ts.map +1 -1
  255. package/lib/esm/BriefcaseConnection.js +30 -9
  256. package/lib/esm/BriefcaseConnection.js.map +1 -1
  257. package/lib/esm/BriefcaseTxns.js +9 -9
  258. package/lib/esm/BriefcaseTxns.js.map +1 -1
  259. package/lib/esm/ContextRealityModelState.d.ts.map +1 -1
  260. package/lib/esm/ContextRealityModelState.js +2 -0
  261. package/lib/esm/ContextRealityModelState.js.map +1 -1
  262. package/lib/esm/GraphicalEditingScope.js +2 -2
  263. package/lib/esm/GraphicalEditingScope.js.map +1 -1
  264. package/lib/esm/IModelApp.d.ts +6 -0
  265. package/lib/esm/IModelApp.d.ts.map +1 -1
  266. package/lib/esm/IModelApp.js +6 -0
  267. package/lib/esm/IModelApp.js.map +1 -1
  268. package/lib/esm/IModelConnection.d.ts +15 -2
  269. package/lib/esm/IModelConnection.d.ts.map +1 -1
  270. package/lib/esm/IModelConnection.js +21 -1
  271. package/lib/esm/IModelConnection.js.map +1 -1
  272. package/lib/esm/IpcApp.d.ts +14 -1
  273. package/lib/esm/IpcApp.d.ts.map +1 -1
  274. package/lib/esm/IpcApp.js +25 -0
  275. package/lib/esm/IpcApp.js.map +1 -1
  276. package/lib/esm/MarginPercent.d.ts +27 -2
  277. package/lib/esm/MarginPercent.d.ts.map +1 -1
  278. package/lib/esm/MarginPercent.js +8 -2
  279. package/lib/esm/MarginPercent.js.map +1 -1
  280. package/lib/esm/ModelState.d.ts +2 -1
  281. package/lib/esm/ModelState.d.ts.map +1 -1
  282. package/lib/esm/ModelState.js +11 -4
  283. package/lib/esm/ModelState.js.map +1 -1
  284. package/lib/esm/NativeApp.d.ts +5 -1
  285. package/lib/esm/NativeApp.d.ts.map +1 -1
  286. package/lib/esm/NativeApp.js +25 -20
  287. package/lib/esm/NativeApp.js.map +1 -1
  288. package/lib/esm/NativeAppLogger.js +1 -1
  289. package/lib/esm/NativeAppLogger.js.map +1 -1
  290. package/lib/esm/RealityDataSource.d.ts +44 -1
  291. package/lib/esm/RealityDataSource.d.ts.map +1 -1
  292. package/lib/esm/RealityDataSource.js +39 -13
  293. package/lib/esm/RealityDataSource.js.map +1 -1
  294. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.d.ts +1 -0
  295. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.d.ts.map +1 -1
  296. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js +3 -0
  297. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
  298. package/lib/esm/RealityDataSourceContextShareImpl.d.ts +1 -0
  299. package/lib/esm/RealityDataSourceContextShareImpl.d.ts.map +1 -1
  300. package/lib/esm/RealityDataSourceContextShareImpl.js +3 -0
  301. package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -1
  302. package/lib/esm/RealityDataSourceTilesetUrlImpl.d.ts +1 -0
  303. package/lib/esm/RealityDataSourceTilesetUrlImpl.d.ts.map +1 -1
  304. package/lib/esm/RealityDataSourceTilesetUrlImpl.js +3 -0
  305. package/lib/esm/RealityDataSourceTilesetUrlImpl.js.map +1 -1
  306. package/lib/esm/ViewAnimation.d.ts +10 -2
  307. package/lib/esm/ViewAnimation.d.ts.map +1 -1
  308. package/lib/esm/ViewAnimation.js.map +1 -1
  309. package/lib/esm/ViewCreator2d.js +3 -2
  310. package/lib/esm/ViewCreator2d.js.map +1 -1
  311. package/lib/esm/ViewState.d.ts.map +1 -1
  312. package/lib/esm/ViewState.js +22 -2
  313. package/lib/esm/ViewState.js.map +1 -1
  314. package/lib/esm/Viewport.d.ts.map +1 -1
  315. package/lib/esm/Viewport.js +5 -2
  316. package/lib/esm/Viewport.js.map +1 -1
  317. package/lib/esm/extension/ExtensionRuntime.js +12 -1
  318. package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
  319. package/lib/esm/render/GraphicBranch.d.ts +5 -1
  320. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  321. package/lib/esm/render/GraphicBranch.js.map +1 -1
  322. package/lib/esm/render/RenderMaterial.d.ts +57 -30
  323. package/lib/esm/render/RenderMaterial.d.ts.map +1 -1
  324. package/lib/esm/render/RenderMaterial.js.map +1 -1
  325. package/lib/esm/render/primitives/PointCloudPrimitive.d.ts +4 -8
  326. package/lib/esm/render/primitives/PointCloudPrimitive.d.ts.map +1 -1
  327. package/lib/esm/render/primitives/PointCloudPrimitive.js +1 -14
  328. package/lib/esm/render/primitives/PointCloudPrimitive.js.map +1 -1
  329. package/lib/esm/render/primitives/SurfaceParams.d.ts +0 -1
  330. package/lib/esm/render/primitives/SurfaceParams.d.ts.map +1 -1
  331. package/lib/esm/render/primitives/SurfaceParams.js.map +1 -1
  332. package/lib/esm/render/primitives/VertexTable.d.ts.map +1 -1
  333. package/lib/esm/render/primitives/VertexTable.js +0 -1
  334. package/lib/esm/render/primitives/VertexTable.js.map +1 -1
  335. package/lib/esm/render/primitives/VertexTableSplitter.d.ts.map +1 -1
  336. package/lib/esm/render/primitives/VertexTableSplitter.js +0 -1
  337. package/lib/esm/render/primitives/VertexTableSplitter.js.map +1 -1
  338. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts +1 -2
  339. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  340. package/lib/esm/render/primitives/mesh/MeshPrimitives.js +3 -2
  341. package/lib/esm/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  342. package/lib/esm/render/webgl/BranchState.d.ts +3 -1
  343. package/lib/esm/render/webgl/BranchState.d.ts.map +1 -1
  344. package/lib/esm/render/webgl/BranchState.js +18 -15
  345. package/lib/esm/render/webgl/BranchState.js.map +1 -1
  346. package/lib/esm/render/webgl/BranchUniforms.d.ts.map +1 -1
  347. package/lib/esm/render/webgl/BranchUniforms.js +4 -0
  348. package/lib/esm/render/webgl/BranchUniforms.js.map +1 -1
  349. package/lib/esm/render/webgl/FeatureOverrides.d.ts +0 -1
  350. package/lib/esm/render/webgl/FeatureOverrides.d.ts.map +1 -1
  351. package/lib/esm/render/webgl/FeatureOverrides.js +16 -11
  352. package/lib/esm/render/webgl/FeatureOverrides.js.map +1 -1
  353. package/lib/esm/render/webgl/MeshData.d.ts +0 -1
  354. package/lib/esm/render/webgl/MeshData.d.ts.map +1 -1
  355. package/lib/esm/render/webgl/MeshData.js +0 -1
  356. package/lib/esm/render/webgl/MeshData.js.map +1 -1
  357. package/lib/esm/render/webgl/MeshGeometry.d.ts +0 -1
  358. package/lib/esm/render/webgl/MeshGeometry.d.ts.map +1 -1
  359. package/lib/esm/render/webgl/MeshGeometry.js +0 -1
  360. package/lib/esm/render/webgl/MeshGeometry.js.map +1 -1
  361. package/lib/esm/render/webgl/PointCloud.d.ts +1 -2
  362. package/lib/esm/render/webgl/PointCloud.d.ts.map +1 -1
  363. package/lib/esm/render/webgl/PointCloud.js +7 -7
  364. package/lib/esm/render/webgl/PointCloud.js.map +1 -1
  365. package/lib/esm/render/webgl/RealityModelUniforms.d.ts +35 -0
  366. package/lib/esm/render/webgl/RealityModelUniforms.d.ts.map +1 -0
  367. package/lib/esm/render/webgl/RealityModelUniforms.js +68 -0
  368. package/lib/esm/render/webgl/RealityModelUniforms.js.map +1 -0
  369. package/lib/esm/render/webgl/RenderFlags.d.ts +12 -3
  370. package/lib/esm/render/webgl/RenderFlags.d.ts.map +1 -1
  371. package/lib/esm/render/webgl/RenderFlags.js.map +1 -1
  372. package/lib/esm/render/webgl/SurfaceGeometry.d.ts +0 -1
  373. package/lib/esm/render/webgl/SurfaceGeometry.d.ts.map +1 -1
  374. package/lib/esm/render/webgl/SurfaceGeometry.js +2 -6
  375. package/lib/esm/render/webgl/SurfaceGeometry.js.map +1 -1
  376. package/lib/esm/render/webgl/System.d.ts +1 -1
  377. package/lib/esm/render/webgl/TargetUniforms.d.ts +2 -0
  378. package/lib/esm/render/webgl/TargetUniforms.d.ts.map +1 -1
  379. package/lib/esm/render/webgl/TargetUniforms.js +2 -0
  380. package/lib/esm/render/webgl/TargetUniforms.js.map +1 -1
  381. package/lib/esm/render/webgl/Technique.d.ts.map +1 -1
  382. package/lib/esm/render/webgl/Technique.js +2 -10
  383. package/lib/esm/render/webgl/Technique.js.map +1 -1
  384. package/lib/esm/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
  385. package/lib/esm/render/webgl/glsl/FeatureSymbology.js +9 -1
  386. package/lib/esm/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  387. package/lib/esm/render/webgl/glsl/Lighting.js +1 -1
  388. package/lib/esm/render/webgl/glsl/Lighting.js.map +1 -1
  389. package/lib/esm/render/webgl/glsl/PointCloud.d.ts.map +1 -1
  390. package/lib/esm/render/webgl/glsl/PointCloud.js +51 -23
  391. package/lib/esm/render/webgl/glsl/PointCloud.js.map +1 -1
  392. package/lib/esm/render/webgl/glsl/RealityMesh.d.ts +4 -2
  393. package/lib/esm/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  394. package/lib/esm/render/webgl/glsl/RealityMesh.js +4 -3
  395. package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
  396. package/lib/esm/render/webgl/glsl/Surface.js +1 -1
  397. package/lib/esm/render/webgl/glsl/Surface.js.map +1 -1
  398. package/lib/esm/tile/GltfReader.d.ts +9 -0
  399. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  400. package/lib/esm/tile/GltfReader.js +4 -1
  401. package/lib/esm/tile/GltfReader.js.map +1 -1
  402. package/lib/esm/tile/IModelTileRequestChannels.js +1 -1
  403. package/lib/esm/tile/IModelTileRequestChannels.js.map +1 -1
  404. package/lib/esm/tile/ImdlReader.d.ts +5 -0
  405. package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
  406. package/lib/esm/tile/ImdlReader.js +8 -2
  407. package/lib/esm/tile/ImdlReader.js.map +1 -1
  408. package/lib/esm/tile/OrbitGtTileTree.d.ts.map +1 -1
  409. package/lib/esm/tile/OrbitGtTileTree.js +8 -2
  410. package/lib/esm/tile/OrbitGtTileTree.js.map +1 -1
  411. package/lib/esm/tile/PntsReader.d.ts.map +1 -1
  412. package/lib/esm/tile/PntsReader.js +8 -2
  413. package/lib/esm/tile/PntsReader.js.map +1 -1
  414. package/lib/esm/tile/PrimaryTileTree.js +2 -2
  415. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  416. package/lib/esm/tile/RealityModelTileTree.d.ts +4 -1
  417. package/lib/esm/tile/RealityModelTileTree.d.ts.map +1 -1
  418. package/lib/esm/tile/RealityModelTileTree.js +59 -20
  419. package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
  420. package/lib/esm/tile/RealityTile.d.ts +2 -2
  421. package/lib/esm/tile/RealityTile.d.ts.map +1 -1
  422. package/lib/esm/tile/RealityTile.js +8 -1
  423. package/lib/esm/tile/RealityTile.js.map +1 -1
  424. package/lib/esm/tile/RealityTileLoader.d.ts +1 -0
  425. package/lib/esm/tile/RealityTileLoader.d.ts.map +1 -1
  426. package/lib/esm/tile/RealityTileLoader.js +14 -1
  427. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  428. package/lib/esm/tile/RealityTileTree.js +1 -1
  429. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  430. package/lib/esm/tile/TileAdmin.d.ts +1 -0
  431. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  432. package/lib/esm/tile/TileAdmin.js +29 -15
  433. package/lib/esm/tile/TileAdmin.js.map +1 -1
  434. package/lib/esm/tile/TileDrawArgs.d.ts +5 -1
  435. package/lib/esm/tile/TileDrawArgs.d.ts.map +1 -1
  436. package/lib/esm/tile/TileDrawArgs.js +2 -0
  437. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  438. package/lib/esm/tile/TileRequestChannels.js +1 -1
  439. package/lib/esm/tile/TileRequestChannels.js.map +1 -1
  440. package/lib/esm/tile/TileStorage.d.ts.map +1 -1
  441. package/lib/esm/tile/TileStorage.js +12 -6
  442. package/lib/esm/tile/TileStorage.js.map +1 -1
  443. package/lib/esm/tile/internal.d.ts +1 -0
  444. package/lib/esm/tile/internal.d.ts.map +1 -1
  445. package/lib/esm/tile/internal.js +1 -0
  446. package/lib/esm/tile/internal.js.map +1 -1
  447. package/lib/esm/tile/map/ArcGISTileMap.d.ts +5 -2
  448. package/lib/esm/tile/map/ArcGISTileMap.d.ts.map +1 -1
  449. package/lib/esm/tile/map/ArcGISTileMap.js +18 -3
  450. package/lib/esm/tile/map/ArcGISTileMap.js.map +1 -1
  451. package/lib/esm/tile/map/ArcGisUtilities.d.ts +50 -5
  452. package/lib/esm/tile/map/ArcGisUtilities.d.ts.map +1 -1
  453. package/lib/esm/tile/map/ArcGisUtilities.js +120 -49
  454. package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
  455. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts +26 -0
  456. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts.map +1 -0
  457. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js +93 -0
  458. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -0
  459. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -4
  460. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  461. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +10 -95
  462. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  463. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  464. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +2 -1
  465. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  466. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts +18 -4
  467. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  468. package/lib/esm/tile/map/MapLayerFormatRegistry.js +26 -6
  469. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  470. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts +6 -4
  471. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  472. package/lib/esm/tile/map/MapLayerImageryFormats.js +12 -16
  473. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  474. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +26 -5
  475. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  476. package/lib/esm/tile/map/MapLayerImageryProvider.js +70 -49
  477. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  478. package/lib/esm/tile/map/MapLayerSources.js +1 -1
  479. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  480. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  481. package/lib/esm/tile/map/MapTileTree.js +10 -7
  482. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  483. package/lib/esm/tile/map/WmsCapabilities.d.ts.map +1 -1
  484. package/lib/esm/tile/map/WmsCapabilities.js +4 -1
  485. package/lib/esm/tile/map/WmsCapabilities.js.map +1 -1
  486. package/lib/esm/tools/EditManipulator.d.ts.map +1 -1
  487. package/lib/esm/tools/EditManipulator.js +2 -1
  488. package/lib/esm/tools/EditManipulator.js.map +1 -1
  489. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  490. package/lib/esm/tools/ToolAdmin.js +6 -4
  491. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  492. package/lib/esm/webgl.d.ts +1 -0
  493. package/lib/esm/webgl.d.ts.map +1 -1
  494. package/lib/esm/webgl.js +1 -0
  495. package/lib/esm/webgl.js.map +1 -1
  496. package/package.json +22 -20
@@ -1,20 +1,22 @@
1
1
  /** @packageDocumentation
2
2
  * @module MapLayers
3
3
  */
4
- import { RequestBasicCredentials } from "../../request/Request";
5
4
  import { ImageMapLayerSettings } from "@itwin/core-common";
6
5
  import { IModelConnection } from "../../IModelConnection";
7
6
  import { MapLayerFormat, MapLayerImageryProvider, MapLayerSourceValidation, MapLayerTileTreeReference } from "../internal";
8
- /** Base class imagery map layer formats. Subclasses should override formatId and [[MapLayerFormat.createImageryProvider]].
9
- * @internal
7
+ /** Base class imagery map layer formats.
8
+ * Subclasses should override formatId and [[MapLayerFormat.createImageryProvider]].
9
+ * @see [[MapLayerFormat]]
10
+ * @beta
10
11
  */
11
12
  export declare class ImageryMapLayerFormat extends MapLayerFormat {
13
+ /** @internal */
12
14
  static createMapLayerTree(layerSettings: ImageMapLayerSettings, layerIndex: number, iModel: IModelConnection): MapLayerTileTreeReference | undefined;
13
15
  }
14
16
  declare class WmsMapLayerFormat extends ImageryMapLayerFormat {
15
17
  static formatId: string;
16
18
  static createImageryProvider(settings: ImageMapLayerSettings): MapLayerImageryProvider | undefined;
17
- static validateSource(url: string, credentials?: RequestBasicCredentials, ignoreCache?: boolean): Promise<MapLayerSourceValidation>;
19
+ static validateSource(url: string, userName?: string, password?: string, ignoreCache?: boolean): Promise<MapLayerSourceValidation>;
18
20
  }
19
21
  /** @internal */
20
22
  export declare const internalMapLayerImageryFormats: (typeof WmsMapLayerFormat)[];
@@ -1 +1 @@
1
- {"version":3,"file":"MapLayerImageryFormats.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/MapLayerImageryFormats.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAoB,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAOL,cAAc,EACd,uBAAuB,EAEvB,wBAAwB,EACxB,yBAAyB,EAO1B,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,cAAc;WAChC,kBAAkB,CAAC,aAAa,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,yBAAyB,GAAG,SAAS;CAGrK;AAED,cAAM,iBAAkB,SAAQ,qBAAqB;IACnD,OAAuB,QAAQ,SAAS;WAEjB,qBAAqB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,uBAAuB,GAAG,SAAS;WAGrF,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,uBAAuB,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,wBAAwB,CAAC;CA0D1J;AAiGD,gBAAgB;AAChB,eAAO,MAAM,8BAA8B,8BAA2K,CAAC"}
1
+ {"version":3,"file":"MapLayerImageryFormats.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/MapLayerImageryFormats.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAoB,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAOL,cAAc,EACd,uBAAuB,EAEvB,wBAAwB,EACxB,yBAAyB,EAO1B,MAAM,aAAa,CAAC;AAErB;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,cAAc;IACvD,gBAAgB;WACO,kBAAkB,CAAC,aAAa,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,yBAAyB,GAAG,SAAS;CAGrK;AAED,cAAM,iBAAkB,SAAQ,qBAAqB;IACnD,OAAuB,QAAQ,SAAS;WAEjB,qBAAqB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,uBAAuB,GAAG,SAAS;WAGrF,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,wBAAwB,CAAC;CA0DzJ;AAiGD,gBAAgB;AAChB,eAAO,MAAM,8BAA8B,8BAA2K,CAAC"}
@@ -1,18 +1,14 @@
1
1
  "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /** @packageDocumentation
7
- * @module MapLayers
8
- */
9
2
  Object.defineProperty(exports, "__esModule", { value: true });
10
3
  exports.internalMapLayerImageryFormats = exports.ImageryMapLayerFormat = void 0;
11
4
  const internal_1 = require("../internal");
12
- /** Base class imagery map layer formats. Subclasses should override formatId and [[MapLayerFormat.createImageryProvider]].
13
- * @internal
5
+ /** Base class imagery map layer formats.
6
+ * Subclasses should override formatId and [[MapLayerFormat.createImageryProvider]].
7
+ * @see [[MapLayerFormat]]
8
+ * @beta
14
9
  */
15
10
  class ImageryMapLayerFormat extends internal_1.MapLayerFormat {
11
+ /** @internal */
16
12
  static createMapLayerTree(layerSettings, layerIndex, iModel) {
17
13
  return new internal_1.ImageryMapLayerTreeReference(layerSettings, layerIndex, iModel);
18
14
  }
@@ -22,11 +18,11 @@ class WmsMapLayerFormat extends ImageryMapLayerFormat {
22
18
  static createImageryProvider(settings) {
23
19
  return new internal_1.WmsMapLayerImageryProvider(settings);
24
20
  }
25
- static async validateSource(url, credentials, ignoreCache) {
21
+ static async validateSource(url, userName, password, ignoreCache) {
26
22
  try {
27
23
  let subLayers;
28
24
  const maxVisibleSubLayers = 50;
29
- const capabilities = await internal_1.WmsCapabilities.create(url, credentials, ignoreCache);
25
+ const capabilities = await internal_1.WmsCapabilities.create(url, (userName && password ? { user: userName, password } : undefined), ignoreCache);
30
26
  if (capabilities !== undefined) {
31
27
  subLayers = capabilities.getSubLayers(false);
32
28
  const rootsSubLayer = subLayers === null || subLayers === void 0 ? void 0 : subLayers.find((sublayer) => sublayer.parent === undefined);
@@ -70,7 +66,7 @@ class WmsMapLayerFormat extends ImageryMapLayerFormat {
70
66
  catch (err) {
71
67
  let status = internal_1.MapLayerSourceStatus.InvalidUrl;
72
68
  if ((err === null || err === void 0 ? void 0 : err.status) === 401) {
73
- status = (credentials ? internal_1.MapLayerSourceStatus.InvalidCredentials : internal_1.MapLayerSourceStatus.RequireAuth);
69
+ status = ((userName && password) ? internal_1.MapLayerSourceStatus.InvalidCredentials : internal_1.MapLayerSourceStatus.RequireAuth);
74
70
  }
75
71
  return { status };
76
72
  }
@@ -81,11 +77,11 @@ class WmtsMapLayerFormat extends ImageryMapLayerFormat {
81
77
  static createImageryProvider(settings) {
82
78
  return new internal_1.WmtsMapLayerImageryProvider(settings);
83
79
  }
84
- static async validateSource(url, credentials, ignoreCache) {
80
+ static async validateSource(url, userName, password, ignoreCache) {
85
81
  var _a, _b, _c;
86
82
  try {
87
83
  const subLayers = [];
88
- const capabilities = await internal_1.WmtsCapabilities.create(url, credentials, ignoreCache);
84
+ const capabilities = await internal_1.WmtsCapabilities.create(url, (userName && password ? { user: userName, password } : undefined), ignoreCache);
89
85
  if (!capabilities)
90
86
  return { status: internal_1.MapLayerSourceStatus.InvalidUrl };
91
87
  // Only returns layer that can be published in the Google maps or WGS84 aligned tile trees.
@@ -132,8 +128,8 @@ class WmtsMapLayerFormat extends ImageryMapLayerFormat {
132
128
  }
133
129
  WmtsMapLayerFormat.formatId = "WMTS";
134
130
  class ArcGISMapLayerFormat extends ImageryMapLayerFormat {
135
- static async validateSource(url, credentials, ignoreCache) {
136
- return internal_1.ArcGisUtilities.validateSource(url, credentials, ignoreCache);
131
+ static async validateSource(url, userName, password, ignoreCache) {
132
+ return internal_1.ArcGisUtilities.validateSource(url, this.formatId, ["map"], userName, password, ignoreCache);
137
133
  }
138
134
  static createImageryProvider(settings) {
139
135
  return new internal_1.ArcGISMapLayerImageryProvider(settings);
@@ -1 +1 @@
1
- {"version":3,"file":"MapLayerImageryFormats.js","sourceRoot":"","sources":["../../../../src/tile/map/MapLayerImageryFormats.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module MapLayers\r\n */\r\n\r\nimport { RequestBasicCredentials } from \"../../request/Request\";\r\nimport { ImageMapLayerSettings, MapSubLayerProps } from \"@itwin/core-common\";\r\nimport { IModelConnection } from \"../../IModelConnection\";\r\nimport {\r\n ArcGISMapLayerImageryProvider,\r\n ArcGisUtilities,\r\n AzureMapsLayerImageryProvider,\r\n BingMapsImageryLayerProvider,\r\n ImageryMapLayerTreeReference,\r\n MapBoxLayerImageryProvider,\r\n MapLayerFormat,\r\n MapLayerImageryProvider,\r\n MapLayerSourceStatus,\r\n MapLayerSourceValidation,\r\n MapLayerTileTreeReference,\r\n TileUrlImageryProvider,\r\n WmsCapabilities,\r\n WmsMapLayerImageryProvider,\r\n WmtsCapabilities,\r\n WmtsCapability,\r\n WmtsMapLayerImageryProvider,\r\n} from \"../internal\";\r\n\r\n/** Base class imagery map layer formats. Subclasses should override formatId and [[MapLayerFormat.createImageryProvider]].\r\n * @internal\r\n */\r\nexport class ImageryMapLayerFormat extends MapLayerFormat {\r\n public static override createMapLayerTree(layerSettings: ImageMapLayerSettings, layerIndex: number, iModel: IModelConnection): MapLayerTileTreeReference | undefined {\r\n return new ImageryMapLayerTreeReference(layerSettings, layerIndex, iModel);\r\n }\r\n}\r\n\r\nclass WmsMapLayerFormat extends ImageryMapLayerFormat {\r\n public static override formatId = \"WMS\";\r\n\r\n public static override createImageryProvider(settings: ImageMapLayerSettings): MapLayerImageryProvider | undefined {\r\n return new WmsMapLayerImageryProvider(settings);\r\n }\r\n public static override async validateSource(url: string, credentials?: RequestBasicCredentials, ignoreCache?: boolean): Promise<MapLayerSourceValidation> {\r\n try {\r\n let subLayers: MapSubLayerProps[] | undefined;\r\n const maxVisibleSubLayers = 50;\r\n const capabilities = await WmsCapabilities.create(url, credentials, ignoreCache);\r\n if (capabilities !== undefined) {\r\n subLayers = capabilities.getSubLayers(false);\r\n const rootsSubLayer = subLayers?.find((sublayer) => sublayer.parent === undefined);\r\n const hasTooManyLayers = subLayers && subLayers.length > maxVisibleSubLayers;\r\n\r\n if (!Array.isArray(subLayers))\r\n return { status: MapLayerSourceStatus.Valid, subLayers };\r\n\r\n for (const subLayer of subLayers) {\r\n // In general for WMS, we prefer to have the children of root node visible, but not the root itself.\r\n // Thats simply to give more flexibility in the UI.\r\n // Two exceptions to this rule: If there are too many layers or the root node is not named.\r\n if (subLayer.id && subLayer.id === rootsSubLayer?.id\r\n && (!(subLayer.name && subLayer.name.length > 0) || hasTooManyLayers)) {\r\n subLayer.visible = true;\r\n break; // if root node is visible, don't bother turning ON any other layers\r\n }\r\n\r\n // Make children of the root node visible.\r\n if (subLayer.parent && subLayer.parent === rootsSubLayer?.id && !hasTooManyLayers) {\r\n const isUnnamedGroup = (layer: MapSubLayerProps) => {\r\n return layer.children && layer.children.length > 0 && (!layer.name || layer.name.length === 0);\r\n };\r\n\r\n const makeChildrenVisible = (layers: MapSubLayerProps[] | undefined, layer: MapSubLayerProps) => {\r\n layer?.children?.forEach((childId) => {\r\n const childSubLayer = subLayers?.find((child) => child?.id === childId);\r\n if (childSubLayer) {\r\n childSubLayer.visible = true;\r\n if (isUnnamedGroup(childSubLayer))\r\n makeChildrenVisible(layers, childSubLayer);\r\n }\r\n });\r\n };\r\n\r\n subLayer.visible = true;\r\n\r\n // If we got a unnamed group, make children visible recursively until we have a leaf or named group\r\n if (isUnnamedGroup(subLayer))\r\n makeChildrenVisible(subLayers, subLayer);\r\n }\r\n }\r\n }\r\n\r\n return { status: MapLayerSourceStatus.Valid, subLayers };\r\n } catch (err: any) {\r\n let status = MapLayerSourceStatus.InvalidUrl;\r\n if (err?.status === 401) {\r\n status = (credentials ? MapLayerSourceStatus.InvalidCredentials : MapLayerSourceStatus.RequireAuth);\r\n }\r\n return { status};\r\n }\r\n }\r\n}\r\n\r\nclass WmtsMapLayerFormat extends ImageryMapLayerFormat {\r\n public static override formatId = \"WMTS\";\r\n\r\n public static override createImageryProvider(settings: ImageMapLayerSettings): MapLayerImageryProvider | undefined {\r\n return new WmtsMapLayerImageryProvider(settings);\r\n }\r\n\r\n public static override async validateSource(url: string, credentials?: RequestBasicCredentials, ignoreCache?: boolean): Promise<MapLayerSourceValidation> {\r\n try {\r\n const subLayers: MapSubLayerProps[] = [];\r\n const capabilities = await WmtsCapabilities.create(url, credentials, ignoreCache);\r\n if (!capabilities)\r\n return { status: MapLayerSourceStatus.InvalidUrl };\r\n\r\n // Only returns layer that can be published in the Google maps or WGS84 aligned tile trees.\r\n let supportedTms: WmtsCapability.TileMatrixSet[] = [];\r\n const googleMapsTms = capabilities?.contents?.getGoogleMapsCompatibleTileMatrixSet();\r\n if (googleMapsTms) {\r\n supportedTms = googleMapsTms;\r\n }\r\n const wsg84Tms = capabilities?.contents?.getEpsg4326CompatibleTileMatrixSet();\r\n if (wsg84Tms) {\r\n supportedTms = supportedTms.concat(wsg84Tms);\r\n }\r\n\r\n if (supportedTms.length === 0) {\r\n // This WMTS server doesn't support either GoogleMaps or WSG84\r\n return { status: MapLayerSourceStatus.InvalidTileTree };\r\n }\r\n\r\n let subLayerId = 0;\r\n capabilities?.contents?.layers.forEach((layer) => {\r\n const hasSupportedTms = supportedTms?.some((tms) => {\r\n return layer.tileMatrixSetLinks.some((tmls) => tmls.tileMatrixSet === tms.identifier);\r\n });\r\n if (hasSupportedTms) {\r\n subLayers.push({\r\n name: layer.identifier,\r\n title: layer.title ?? layer.identifier,\r\n visible: (subLayers.length === 0), // Make the first layer visible.\r\n parent: undefined,\r\n children: undefined,\r\n id: subLayerId++,\r\n });\r\n }\r\n });\r\n\r\n // Return error if we could find a single compatible layer.\r\n if (subLayers.length === 0)\r\n return { status: MapLayerSourceStatus.InvalidTileTree };\r\n\r\n return { status: MapLayerSourceStatus.Valid, subLayers };\r\n } catch (err) {\r\n console.error(err); // eslint-disable-line no-console\r\n return { status: MapLayerSourceStatus.InvalidUrl };\r\n }\r\n }\r\n\r\n}\r\n\r\nclass ArcGISMapLayerFormat extends ImageryMapLayerFormat {\r\n public static override formatId = \"ArcGIS\";\r\n public static override async validateSource(url: string, credentials?: RequestBasicCredentials, ignoreCache?: boolean): Promise<MapLayerSourceValidation> {\r\n return ArcGisUtilities.validateSource(url, credentials, ignoreCache);\r\n }\r\n public static override createImageryProvider(settings: ImageMapLayerSettings): MapLayerImageryProvider | undefined {\r\n return new ArcGISMapLayerImageryProvider(settings);\r\n }\r\n}\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\r\nclass AzureMapsMapLayerFormat extends ImageryMapLayerFormat {\r\n public static override formatId = \"AzureMaps\";\r\n public static override createImageryProvider(settings: ImageMapLayerSettings): MapLayerImageryProvider | undefined {\r\n return new AzureMapsLayerImageryProvider(settings);\r\n }\r\n}\r\nclass BingMapsMapLayerFormat extends ImageryMapLayerFormat {\r\n public static override formatId = \"BingMaps\";\r\n public static override createImageryProvider(settings: ImageMapLayerSettings): MapLayerImageryProvider | undefined {\r\n return new BingMapsImageryLayerProvider(settings);\r\n }\r\n}\r\n\r\nclass MapBoxImageryMapLayerFormat extends ImageryMapLayerFormat {\r\n public static override formatId = \"MapboxImagery\";\r\n public static override createImageryProvider(settings: ImageMapLayerSettings): MapLayerImageryProvider | undefined {\r\n return new MapBoxLayerImageryProvider(settings);\r\n }\r\n}\r\nclass TileUrlMapLayerFormat extends ImageryMapLayerFormat {\r\n public static override formatId = \"TileURL\";\r\n public static override createImageryProvider(settings: ImageMapLayerSettings): MapLayerImageryProvider | undefined { return new TileUrlImageryProvider(settings); }\r\n}\r\n\r\n/** @internal */\r\nexport const internalMapLayerImageryFormats = [WmsMapLayerFormat, WmtsMapLayerFormat, ArcGISMapLayerFormat, /* AzureMapsMapLayerFormat, */ BingMapsMapLayerFormat, MapBoxImageryMapLayerFormat, TileUrlMapLayerFormat];\r\n"]}
1
+ {"version":3,"file":"MapLayerImageryFormats.js","sourceRoot":"","sources":["../../../../src/tile/map/MapLayerImageryFormats.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module MapLayers\r\n */\r\nimport { ImageMapLayerSettings, MapSubLayerProps } from \"@itwin/core-common\";\r\nimport { IModelConnection } from \"../../IModelConnection\";\r\nimport {\r\n ArcGISMapLayerImageryProvider,\r\n ArcGisUtilities,\r\n AzureMapsLayerImageryProvider,\r\n BingMapsImageryLayerProvider,\r\n ImageryMapLayerTreeReference,\r\n MapBoxLayerImageryProvider,\r\n MapLayerFormat,\r\n MapLayerImageryProvider,\r\n MapLayerSourceStatus,\r\n MapLayerSourceValidation,\r\n MapLayerTileTreeReference,\r\n TileUrlImageryProvider,\r\n WmsCapabilities,\r\n WmsMapLayerImageryProvider,\r\n WmtsCapabilities,\r\n WmtsCapability,\r\n WmtsMapLayerImageryProvider,\r\n} from \"../internal\";\r\n\r\n/** Base class imagery map layer formats.\r\n * Subclasses should override formatId and [[MapLayerFormat.createImageryProvider]].\r\n * @see [[MapLayerFormat]]\r\n * @beta\r\n */\r\nexport class ImageryMapLayerFormat extends MapLayerFormat {\r\n /** @internal */\r\n public static override createMapLayerTree(layerSettings: ImageMapLayerSettings, layerIndex: number, iModel: IModelConnection): MapLayerTileTreeReference | undefined {\r\n return new ImageryMapLayerTreeReference(layerSettings, layerIndex, iModel);\r\n }\r\n}\r\n\r\nclass WmsMapLayerFormat extends ImageryMapLayerFormat {\r\n public static override formatId = \"WMS\";\r\n\r\n public static override createImageryProvider(settings: ImageMapLayerSettings): MapLayerImageryProvider | undefined {\r\n return new WmsMapLayerImageryProvider(settings);\r\n }\r\n public static override async validateSource(url: string, userName?: string, password?: string, ignoreCache?: boolean): Promise<MapLayerSourceValidation> {\r\n try {\r\n let subLayers: MapSubLayerProps[] | undefined;\r\n const maxVisibleSubLayers = 50;\r\n const capabilities = await WmsCapabilities.create(url, (userName && password ? {user: userName, password} : undefined), ignoreCache);\r\n if (capabilities !== undefined) {\r\n subLayers = capabilities.getSubLayers(false);\r\n const rootsSubLayer = subLayers?.find((sublayer) => sublayer.parent === undefined);\r\n const hasTooManyLayers = subLayers && subLayers.length > maxVisibleSubLayers;\r\n\r\n if (!Array.isArray(subLayers))\r\n return { status: MapLayerSourceStatus.Valid, subLayers };\r\n\r\n for (const subLayer of subLayers) {\r\n // In general for WMS, we prefer to have the children of root node visible, but not the root itself.\r\n // Thats simply to give more flexibility in the UI.\r\n // Two exceptions to this rule: If there are too many layers or the root node is not named.\r\n if (subLayer.id && subLayer.id === rootsSubLayer?.id\r\n && (!(subLayer.name && subLayer.name.length > 0) || hasTooManyLayers)) {\r\n subLayer.visible = true;\r\n break; // if root node is visible, don't bother turning ON any other layers\r\n }\r\n\r\n // Make children of the root node visible.\r\n if (subLayer.parent && subLayer.parent === rootsSubLayer?.id && !hasTooManyLayers) {\r\n const isUnnamedGroup = (layer: MapSubLayerProps) => {\r\n return layer.children && layer.children.length > 0 && (!layer.name || layer.name.length === 0);\r\n };\r\n\r\n const makeChildrenVisible = (layers: MapSubLayerProps[] | undefined, layer: MapSubLayerProps) => {\r\n layer?.children?.forEach((childId) => {\r\n const childSubLayer = subLayers?.find((child) => child?.id === childId);\r\n if (childSubLayer) {\r\n childSubLayer.visible = true;\r\n if (isUnnamedGroup(childSubLayer))\r\n makeChildrenVisible(layers, childSubLayer);\r\n }\r\n });\r\n };\r\n\r\n subLayer.visible = true;\r\n\r\n // If we got a unnamed group, make children visible recursively until we have a leaf or named group\r\n if (isUnnamedGroup(subLayer))\r\n makeChildrenVisible(subLayers, subLayer);\r\n }\r\n }\r\n }\r\n\r\n return { status: MapLayerSourceStatus.Valid, subLayers };\r\n } catch (err: any) {\r\n let status = MapLayerSourceStatus.InvalidUrl;\r\n if (err?.status === 401) {\r\n status = ((userName && password) ? MapLayerSourceStatus.InvalidCredentials : MapLayerSourceStatus.RequireAuth);\r\n }\r\n return { status};\r\n }\r\n }\r\n}\r\n\r\nclass WmtsMapLayerFormat extends ImageryMapLayerFormat {\r\n public static override formatId = \"WMTS\";\r\n\r\n public static override createImageryProvider(settings: ImageMapLayerSettings): MapLayerImageryProvider | undefined {\r\n return new WmtsMapLayerImageryProvider(settings);\r\n }\r\n\r\n public static override async validateSource(url: string, userName?: string, password?: string, ignoreCache?: boolean): Promise<MapLayerSourceValidation> {\r\n try {\r\n const subLayers: MapSubLayerProps[] = [];\r\n const capabilities = await WmtsCapabilities.create(url, (userName && password ? {user: userName, password} : undefined), ignoreCache);\r\n if (!capabilities)\r\n return { status: MapLayerSourceStatus.InvalidUrl };\r\n\r\n // Only returns layer that can be published in the Google maps or WGS84 aligned tile trees.\r\n let supportedTms: WmtsCapability.TileMatrixSet[] = [];\r\n const googleMapsTms = capabilities?.contents?.getGoogleMapsCompatibleTileMatrixSet();\r\n if (googleMapsTms) {\r\n supportedTms = googleMapsTms;\r\n }\r\n const wsg84Tms = capabilities?.contents?.getEpsg4326CompatibleTileMatrixSet();\r\n if (wsg84Tms) {\r\n supportedTms = supportedTms.concat(wsg84Tms);\r\n }\r\n\r\n if (supportedTms.length === 0) {\r\n // This WMTS server doesn't support either GoogleMaps or WSG84\r\n return { status: MapLayerSourceStatus.InvalidTileTree };\r\n }\r\n\r\n let subLayerId = 0;\r\n capabilities?.contents?.layers.forEach((layer) => {\r\n const hasSupportedTms = supportedTms?.some((tms) => {\r\n return layer.tileMatrixSetLinks.some((tmls) => tmls.tileMatrixSet === tms.identifier);\r\n });\r\n if (hasSupportedTms) {\r\n subLayers.push({\r\n name: layer.identifier,\r\n title: layer.title ?? layer.identifier,\r\n visible: (subLayers.length === 0), // Make the first layer visible.\r\n parent: undefined,\r\n children: undefined,\r\n id: subLayerId++,\r\n });\r\n }\r\n });\r\n\r\n // Return error if we could find a single compatible layer.\r\n if (subLayers.length === 0)\r\n return { status: MapLayerSourceStatus.InvalidTileTree };\r\n\r\n return { status: MapLayerSourceStatus.Valid, subLayers };\r\n } catch (err) {\r\n console.error(err); // eslint-disable-line no-console\r\n return { status: MapLayerSourceStatus.InvalidUrl };\r\n }\r\n }\r\n\r\n}\r\n\r\nclass ArcGISMapLayerFormat extends ImageryMapLayerFormat {\r\n public static override formatId = \"ArcGIS\";\r\n public static override async validateSource(url: string, userName?: string, password?: string, ignoreCache?: boolean): Promise<MapLayerSourceValidation> {\r\n return ArcGisUtilities.validateSource(url, this.formatId, [\"map\"], userName, password, ignoreCache);\r\n }\r\n public static override createImageryProvider(settings: ImageMapLayerSettings): MapLayerImageryProvider | undefined {\r\n return new ArcGISMapLayerImageryProvider(settings);\r\n }\r\n}\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\r\nclass AzureMapsMapLayerFormat extends ImageryMapLayerFormat {\r\n public static override formatId = \"AzureMaps\";\r\n public static override createImageryProvider(settings: ImageMapLayerSettings): MapLayerImageryProvider | undefined {\r\n return new AzureMapsLayerImageryProvider(settings);\r\n }\r\n}\r\nclass BingMapsMapLayerFormat extends ImageryMapLayerFormat {\r\n public static override formatId = \"BingMaps\";\r\n public static override createImageryProvider(settings: ImageMapLayerSettings): MapLayerImageryProvider | undefined {\r\n return new BingMapsImageryLayerProvider(settings);\r\n }\r\n}\r\n\r\nclass MapBoxImageryMapLayerFormat extends ImageryMapLayerFormat {\r\n public static override formatId = \"MapboxImagery\";\r\n public static override createImageryProvider(settings: ImageMapLayerSettings): MapLayerImageryProvider | undefined {\r\n return new MapBoxLayerImageryProvider(settings);\r\n }\r\n}\r\nclass TileUrlMapLayerFormat extends ImageryMapLayerFormat {\r\n public static override formatId = \"TileURL\";\r\n public static override createImageryProvider(settings: ImageMapLayerSettings): MapLayerImageryProvider | undefined { return new TileUrlImageryProvider(settings); }\r\n}\r\n\r\n/** @internal */\r\nexport const internalMapLayerImageryFormats = [WmsMapLayerFormat, WmtsMapLayerFormat, ArcGISMapLayerFormat, /* AzureMapsMapLayerFormat, */ BingMapsMapLayerFormat, MapBoxImageryMapLayerFormat, TileUrlMapLayerFormat];\r\n"]}
@@ -3,10 +3,9 @@
3
3
  */
4
4
  import { BeEvent } from "@itwin/core-bentley";
5
5
  import { Cartographic, ImageMapLayerSettings, ImageSource } from "@itwin/core-common";
6
- import { RequestBasicCredentials, Response } from "../../request/Request";
7
6
  import { ScreenViewport } from "../../Viewport";
8
7
  import { ImageryMapTile, ImageryMapTileTree, MapCartoRectangle, MapLayerFeatureInfo, MapTilingScheme, QuadId } from "../internal";
9
- /** @internal */
8
+ /** @beta */
10
9
  export declare enum MapLayerImageryProviderStatus {
11
10
  Valid = 0,
12
11
  RequireAuth = 1
@@ -20,7 +19,9 @@ export declare abstract class MapLayerImageryProvider {
20
19
  protected _hasSuccessfullyFetchedTile: boolean;
21
20
  status: MapLayerImageryProviderStatus;
22
21
  readonly onStatusChanged: BeEvent<(provider: MapLayerImageryProvider) => void>;
22
+ /** @internal */
23
23
  private readonly _mercatorTilingScheme;
24
+ /** @internal */
24
25
  private readonly _geographicTilingScheme;
25
26
  get tileSize(): number;
26
27
  get maximumScreenSize(): number;
@@ -30,12 +31,19 @@ export declare abstract class MapLayerImageryProvider {
30
31
  get mutualExclusiveSubLayer(): boolean;
31
32
  get useGeographicTilingScheme(): boolean;
32
33
  cartoRange?: MapCartoRectangle;
34
+ /** @internal */
35
+ protected readonly defaultMinimumZoomLevel = 0;
36
+ /** @internal */
37
+ protected readonly defaultMaximumZoomLevel = 22;
38
+ /** @internal */
33
39
  protected get _filterByCartoRange(): boolean;
34
40
  constructor(_settings: ImageMapLayerSettings, _usesCachedTiles: boolean);
35
41
  initialize(): Promise<void>;
36
42
  abstract constructUrl(row: number, column: number, zoomLevel: number): Promise<string>;
37
43
  get tilingScheme(): MapTilingScheme;
44
+ /** @internal */
38
45
  addLogoCards(_cards: HTMLTableElement, _viewport: ScreenViewport): void;
46
+ /** @internal */
39
47
  protected _missingTileData?: Uint8Array;
40
48
  get transparentBackgroundString(): string;
41
49
  protected _areChildrenAvailable(_tile: ImageryMapTile): Promise<boolean>;
@@ -44,31 +52,44 @@ export declare abstract class MapLayerImageryProvider {
44
52
  generateChildIds(tile: ImageryMapTile, resolveChildren: (childIds: QuadId[]) => void): void;
45
53
  getToolTip(strings: string[], quadId: QuadId, _carto: Cartographic, tree: ImageryMapTileTree): Promise<void>;
46
54
  getFeatureInfo(featureInfos: MapLayerFeatureInfo[], _quadId: QuadId, _carto: Cartographic, _tree: ImageryMapTileTree): Promise<void>;
47
- protected getRequestAuthorization(): RequestBasicCredentials | undefined;
48
- protected getImageFromTileResponse(tileResponse: Response, zoomLevel: number): ImageSource | undefined;
55
+ /** @internal */
56
+ protected getImageFromTileResponse(tileResponse: Response, zoomLevel: number): Promise<ImageSource | undefined>;
57
+ /** @internal */
49
58
  setStatus(status: MapLayerImageryProviderStatus): void;
59
+ /** @internal */
60
+ protected setRequestAuthorization(headers: Headers): void;
61
+ /** @internal */
50
62
  makeTileRequest(url: string): Promise<Response>;
51
63
  loadTile(row: number, column: number, zoomLevel: number): Promise<ImageSource | undefined>;
64
+ /** @internal */
52
65
  protected toolTipFromUrl(strings: string[], url: string): Promise<void>;
53
- protected toolTipFromJsonUrl(_strings: string[], url: string): Promise<void>;
66
+ /** @internal */
54
67
  matchesMissingTile(tileData: Uint8Array): boolean;
68
+ /** @internal */
55
69
  getEPSG3857X(longitude: number): number;
70
+ /** @internal */
56
71
  getEPSG3857Y(latitude: number): number;
72
+ /** @internal */
57
73
  getEPSG4326Lon(x3857: number): number;
74
+ /** @internal */
58
75
  getEPSG4326Lat(y3857: number): number;
76
+ /** @internal */
59
77
  getEPSG4326Extent(row: number, column: number, zoomLevel: number): {
60
78
  longitudeLeft: number;
61
79
  longitudeRight: number;
62
80
  latitudeTop: number;
63
81
  latitudeBottom: number;
64
82
  };
83
+ /** @internal */
65
84
  getEPSG3857Extent(row: number, column: number, zoomLevel: number): {
66
85
  left: number;
67
86
  right: number;
68
87
  top: number;
69
88
  bottom: number;
70
89
  };
90
+ /** @internal */
71
91
  getEPSG3857ExtentString(row: number, column: number, zoomLevel: number): string;
92
+ /** @internal */
72
93
  getEPSG4326ExtentString(row: number, column: number, zoomLevel: number, latLongAxisOrdering: boolean): string;
73
94
  }
74
95
  //# sourceMappingURL=MapLayerImageryProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MapLayerImageryProvider.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/MapLayerImageryProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MapLayerImageryProvider.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/MapLayerImageryProvider.ts"],"names":[],"mappings":"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"}
@@ -13,12 +13,12 @@ const core_common_1 = require("@itwin/core-common");
13
13
  const core_geometry_1 = require("@itwin/core-geometry");
14
14
  const IModelApp_1 = require("../../IModelApp");
15
15
  const NotificationManager_1 = require("../../NotificationManager");
16
- const Request_1 = require("../../request/Request");
17
16
  const internal_1 = require("../internal");
17
+ /** @internal */
18
18
  const tileImageSize = 256, untiledImageSize = 256;
19
19
  const earthRadius = 6378137;
20
20
  const doDebugToolTips = false;
21
- /** @internal */
21
+ /** @beta */
22
22
  var MapLayerImageryProviderStatus;
23
23
  (function (MapLayerImageryProviderStatus) {
24
24
  MapLayerImageryProviderStatus[MapLayerImageryProviderStatus["Valid"] = 0] = "Valid";
@@ -34,26 +34,35 @@ class MapLayerImageryProvider {
34
34
  this._hasSuccessfullyFetchedTile = false;
35
35
  this.status = MapLayerImageryProviderStatus.Valid;
36
36
  this.onStatusChanged = new core_bentley_1.BeEvent();
37
+ /** @internal */
37
38
  this._mercatorTilingScheme = new internal_1.WebMercatorTilingScheme();
39
+ /** @internal */
38
40
  this._geographicTilingScheme = new internal_1.GeographicTilingScheme();
41
+ // Those values are used internally for various computation, this should not get overriden.
42
+ /** @internal */
43
+ this.defaultMinimumZoomLevel = 0;
44
+ /** @internal */
45
+ this.defaultMaximumZoomLevel = 22;
39
46
  this._mercatorTilingScheme = new internal_1.WebMercatorTilingScheme();
40
47
  this._geographicTilingScheme = new internal_1.GeographicTilingScheme(2, 1, true);
41
48
  }
42
49
  get tileSize() { return this._usesCachedTiles ? tileImageSize : untiledImageSize; }
43
50
  get maximumScreenSize() { return 2 * this.tileSize; }
44
- get minimumZoomLevel() { return 0; }
45
- get maximumZoomLevel() { return 22; }
51
+ get minimumZoomLevel() { return this.defaultMinimumZoomLevel; }
52
+ get maximumZoomLevel() { return this.defaultMaximumZoomLevel; }
46
53
  get usesCachedTiles() { return this._usesCachedTiles; }
47
54
  get mutualExclusiveSubLayer() { return false; }
48
55
  get useGeographicTilingScheme() { return false; }
56
+ /** @internal */
49
57
  get _filterByCartoRange() { return true; }
50
58
  async initialize() {
51
- this.loadTile(0, 0, 22).then((tileData) => {
59
+ this.loadTile(0, 0, this.defaultMaximumZoomLevel).then((tileData) => {
52
60
  if (tileData !== undefined)
53
61
  this._missingTileData = tileData.data;
54
62
  });
55
63
  }
56
64
  get tilingScheme() { return this.useGeographicTilingScheme ? this._geographicTilingScheme : this._mercatorTilingScheme; }
65
+ /** @internal */
57
66
  addLogoCards(_cards, _viewport) { }
58
67
  get transparentBackgroundString() { return this._settings.transparentBackground ? "true" : "false"; }
59
68
  async _areChildrenAvailable(_tile) { return true; }
@@ -81,41 +90,51 @@ class MapLayerImageryProvider {
81
90
  // default implementation; simply return an empty feature info
82
91
  featureInfos.push({ layerName: this._settings.name });
83
92
  }
84
- getRequestAuthorization() {
85
- return (this._settings.userName && this._settings.password) ? { user: this._settings.userName, password: this._settings.password } : undefined;
86
- }
87
- getImageFromTileResponse(tileResponse, zoomLevel) {
88
- const byteArray = new Uint8Array(tileResponse.body);
93
+ /** @internal */
94
+ async getImageFromTileResponse(tileResponse, zoomLevel) {
95
+ var _a;
96
+ const arrayBuffer = await tileResponse.arrayBuffer();
97
+ const byteArray = new Uint8Array(arrayBuffer);
89
98
  if (!byteArray || (byteArray.length === 0))
90
99
  return undefined;
91
100
  if (this.matchesMissingTile(byteArray) && zoomLevel > 8)
92
101
  return undefined;
102
+ const contentType = (_a = tileResponse.headers.get("content-type")) === null || _a === void 0 ? void 0 : _a.toLowerCase();
93
103
  let imageFormat;
94
- // Note: 'includes' is used here instead of exact comparison because we encountered
95
- // some servers that would give content type such as 'image/png;charset=UTF-8'.
96
- const contentType = tileResponse.header["content-type"].toLowerCase();
97
- if (contentType.includes("image/jpeg")) {
98
- imageFormat = core_common_1.ImageSourceFormat.Jpeg;
99
- }
100
- else if (contentType.includes("image/png")) {
101
- imageFormat = core_common_1.ImageSourceFormat.Png;
102
- }
103
- else {
104
- (0, core_bentley_1.assert)(false, "Invalid tile content type");
105
- return undefined;
104
+ if (contentType) {
105
+ // Note: 'includes' is used here instead of exact comparison because we encountered
106
+ // some servers that would give content type such as 'image/png;charset=UTF-8'.
107
+ if (contentType.includes("image/jpeg"))
108
+ imageFormat = core_common_1.ImageSourceFormat.Jpeg;
109
+ else if (contentType.includes("image/png"))
110
+ imageFormat = core_common_1.ImageSourceFormat.Png;
106
111
  }
107
- return new core_common_1.ImageSource(byteArray, imageFormat);
112
+ if (imageFormat !== undefined)
113
+ return new core_common_1.ImageSource(byteArray, imageFormat);
114
+ (0, core_bentley_1.assert)(false, "Invalid tile content type");
115
+ return undefined;
108
116
  }
117
+ /** @internal */
109
118
  setStatus(status) {
110
119
  if (this.status !== status) {
111
120
  this.status = status;
112
121
  this.onStatusChanged.raiseEvent(this);
113
122
  }
114
123
  }
124
+ /** @internal */
125
+ setRequestAuthorization(headers) {
126
+ if (this._settings.userName && this._settings.password) {
127
+ headers.set("Authorization", `Basic ${core_common_1.Base64EncodedString.encode(`${this._settings.userName}:${this._settings.password}`)}`);
128
+ }
129
+ }
130
+ /** @internal */
115
131
  async makeTileRequest(url) {
116
- const tileRequestOptions = { method: "GET", responseType: "arraybuffer" };
117
- tileRequestOptions.auth = this.getRequestAuthorization();
118
- return (0, Request_1.request)(url, tileRequestOptions);
132
+ let headers;
133
+ if (this._settings.userName && this._settings.password) {
134
+ headers = new Headers();
135
+ this.setRequestAuthorization(headers);
136
+ }
137
+ return fetch(url, { method: "GET", headers });
119
138
  }
120
139
  async loadTile(row, column, zoomLevel) {
121
140
  try {
@@ -126,7 +145,7 @@ class MapLayerImageryProvider {
126
145
  if (!this._hasSuccessfullyFetchedTile) {
127
146
  this._hasSuccessfullyFetchedTile = true;
128
147
  }
129
- return this.getImageFromTileResponse(tileResponse, zoomLevel);
148
+ return await this.getImageFromTileResponse(tileResponse, zoomLevel);
130
149
  }
131
150
  catch (error) {
132
151
  if ((error === null || error === void 0 ? void 0 : error.status) === 401) {
@@ -142,29 +161,21 @@ class MapLayerImageryProvider {
142
161
  return undefined;
143
162
  }
144
163
  }
164
+ /** @internal */
145
165
  async toolTipFromUrl(strings, url) {
146
- const requestOptions = {
147
- method: "GET",
148
- responseType: "text",
149
- auth: this.getRequestAuthorization(),
150
- }; // spell-checker: disable-line
166
+ const headers = new Headers();
167
+ this.setRequestAuthorization(headers);
151
168
  try {
152
- const response = await (0, Request_1.request)(url, requestOptions);
153
- if (undefined !== response.text) {
154
- strings.push(response.text);
169
+ const response = await fetch(url, { method: "GET", headers });
170
+ const text = await response.text();
171
+ if (undefined !== text) {
172
+ strings.push(text);
155
173
  }
156
174
  }
157
175
  catch {
158
176
  }
159
177
  }
160
- async toolTipFromJsonUrl(_strings, url) {
161
- try {
162
- const json = await (0, Request_1.getJson)(url);
163
- if (undefined !== json) {
164
- }
165
- }
166
- catch { }
167
- }
178
+ /** @internal */
168
179
  matchesMissingTile(tileData) {
169
180
  if (!this._missingTileData)
170
181
  return false;
@@ -177,38 +188,46 @@ class MapLayerImageryProvider {
177
188
  }
178
189
  return true;
179
190
  }
191
+ /** @internal */
180
192
  // calculates the projected x cartesian coordinate in EPSG:3857from the longitude in EPSG:4326 (WGS84)
181
193
  getEPSG3857X(longitude) {
182
194
  return longitude * 20037508.34 / 180.0;
183
195
  }
196
+ /** @internal */
184
197
  // calculates the projected y cartesian coordinate in EPSG:3857from the latitude in EPSG:4326 (WGS84)
185
198
  getEPSG3857Y(latitude) {
186
199
  const y = Math.log(Math.tan((90.0 + latitude) * Math.PI / 360.0)) / (Math.PI / 180.0);
187
200
  return y * 20037508.34 / 180.0;
188
201
  }
202
+ /** @internal */
189
203
  // calculates the longitude in EPSG:4326 (WGS84) from the projected x cartesian coordinate in EPSG:3857
190
204
  getEPSG4326Lon(x3857) {
191
205
  return core_geometry_1.Angle.radiansToDegrees(x3857 / earthRadius);
192
206
  }
207
+ /** @internal */
193
208
  // calculates the latitude in EPSG:4326 (WGS84) from the projected y cartesian coordinate in EPSG:3857
194
209
  getEPSG4326Lat(y3857) {
195
210
  const y = 2 * Math.atan(Math.exp(y3857 / earthRadius)) - (Math.PI / 2);
196
211
  return core_geometry_1.Angle.radiansToDegrees(y);
197
212
  }
213
+ /** @internal */
198
214
  // Map tile providers like Bing and Mapbox allow the URL to be constructed directory from the zoom level and tile coordinates.
199
215
  // However, WMS-based servers take a bounding box instead. This method can help get that bounding box from a tile.
200
216
  getEPSG4326Extent(row, column, zoomLevel) {
201
- const mapSize = 256 << zoomLevel;
202
- const leftGrid = 256 * column;
203
- const topGrid = 256 * row;
217
+ // Shift left (this.tileSize << zoomLevel) overflow when using 512 pixels tile at higher resolution,
218
+ // so use Math.pow instead (I assume the performance lost to be minimal)
219
+ const mapSize = this.tileSize * Math.pow(2, zoomLevel);
220
+ const leftGrid = this.tileSize * column;
221
+ const topGrid = this.tileSize * row;
204
222
  const longitudeLeft = 360 * ((leftGrid / mapSize) - 0.5);
205
- const y0 = 0.5 - ((topGrid + 256) / mapSize);
223
+ const y0 = 0.5 - ((topGrid + this.tileSize) / mapSize);
206
224
  const latitudeBottom = 90.0 - 360.0 * Math.atan(Math.exp(-y0 * 2 * Math.PI)) / Math.PI;
207
- const longitudeRight = 360 * (((leftGrid + 256) / mapSize) - 0.5);
225
+ const longitudeRight = 360 * (((leftGrid + this.tileSize) / mapSize) - 0.5);
208
226
  const y1 = 0.5 - (topGrid / mapSize);
209
227
  const latitudeTop = 90.0 - 360.0 * Math.atan(Math.exp(-y1 * 2 * Math.PI)) / Math.PI;
210
228
  return { longitudeLeft, longitudeRight, latitudeTop, latitudeBottom };
211
229
  }
230
+ /** @internal */
212
231
  getEPSG3857Extent(row, column, zoomLevel) {
213
232
  const epsg4326Extent = this.getEPSG4326Extent(row, column, zoomLevel);
214
233
  const left = this.getEPSG3857X(epsg4326Extent.longitudeLeft);
@@ -217,10 +236,12 @@ class MapLayerImageryProvider {
217
236
  const top = this.getEPSG3857Y(epsg4326Extent.latitudeTop);
218
237
  return { left, right, bottom, top };
219
238
  }
239
+ /** @internal */
220
240
  getEPSG3857ExtentString(row, column, zoomLevel) {
221
241
  const tileExtent = this.getEPSG3857Extent(row, column, zoomLevel);
222
242
  return `${tileExtent.left.toFixed(2)},${tileExtent.bottom.toFixed(2)},${tileExtent.right.toFixed(2)},${tileExtent.top.toFixed(2)}`;
223
243
  }
244
+ /** @internal */
224
245
  getEPSG4326ExtentString(row, column, zoomLevel, latLongAxisOrdering) {
225
246
  const tileExtent = this.getEPSG4326Extent(row, column, zoomLevel);
226
247
  if (latLongAxisOrdering) {