@itwin/core-frontend 3.4.0-dev.9 → 3.5.0-dev.5

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 (808) hide show
  1. package/CHANGELOG.md +37 -1
  2. package/lib/cjs/AccuDraw.d.ts.map +1 -1
  3. package/lib/cjs/AccuDraw.js +60 -15
  4. package/lib/cjs/AccuDraw.js.map +1 -1
  5. package/lib/cjs/AccuSnap.d.ts.map +1 -1
  6. package/lib/cjs/AccuSnap.js +46 -36
  7. package/lib/cjs/AccuSnap.js.map +1 -1
  8. package/lib/cjs/AuxCoordSys.d.ts.map +1 -1
  9. package/lib/cjs/AuxCoordSys.js +2 -3
  10. package/lib/cjs/AuxCoordSys.js.map +1 -1
  11. package/lib/cjs/BackgroundMapGeometry.d.ts.map +1 -1
  12. package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
  13. package/lib/cjs/CategorySelectorState.d.ts.map +1 -1
  14. package/lib/cjs/CategorySelectorState.js +6 -4
  15. package/lib/cjs/CategorySelectorState.js.map +1 -1
  16. package/lib/cjs/ContextRealityModelState.d.ts.map +1 -1
  17. package/lib/cjs/ContextRealityModelState.js +2 -0
  18. package/lib/cjs/ContextRealityModelState.js.map +1 -1
  19. package/lib/cjs/DevTools.d.ts.map +1 -1
  20. package/lib/cjs/DevTools.js.map +1 -1
  21. package/lib/cjs/DisplayStyleState.js +1 -1
  22. package/lib/cjs/DisplayStyleState.js.map +1 -1
  23. package/lib/cjs/ElementLocateManager.d.ts.map +1 -1
  24. package/lib/cjs/ElementLocateManager.js +4 -2
  25. package/lib/cjs/ElementLocateManager.js.map +1 -1
  26. package/lib/cjs/FrustumAnimator.d.ts.map +1 -1
  27. package/lib/cjs/FrustumAnimator.js +5 -1
  28. package/lib/cjs/FrustumAnimator.js.map +1 -1
  29. package/lib/cjs/FuzzySearch.d.ts.map +1 -1
  30. package/lib/cjs/FuzzySearch.js +9 -3
  31. package/lib/cjs/FuzzySearch.js.map +1 -1
  32. package/lib/cjs/HitDetail.d.ts.map +1 -1
  33. package/lib/cjs/HitDetail.js +13 -3
  34. package/lib/cjs/HitDetail.js.map +1 -1
  35. package/lib/cjs/IModelApp.d.ts +7 -2
  36. package/lib/cjs/IModelApp.d.ts.map +1 -1
  37. package/lib/cjs/IModelApp.js +10 -2
  38. package/lib/cjs/IModelApp.js.map +1 -1
  39. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  40. package/lib/cjs/IModelConnection.js +3 -1
  41. package/lib/cjs/IModelConnection.js.map +1 -1
  42. package/lib/cjs/ImageUtil.d.ts +6 -0
  43. package/lib/cjs/ImageUtil.d.ts.map +1 -1
  44. package/lib/cjs/ImageUtil.js +14 -1
  45. package/lib/cjs/ImageUtil.js.map +1 -1
  46. package/lib/cjs/Marker.d.ts.map +1 -1
  47. package/lib/cjs/Marker.js +5 -1
  48. package/lib/cjs/Marker.js.map +1 -1
  49. package/lib/cjs/ModelState.d.ts.map +1 -1
  50. package/lib/cjs/ModelState.js +5 -0
  51. package/lib/cjs/ModelState.js.map +1 -1
  52. package/lib/cjs/NativeAppLogger.d.ts.map +1 -1
  53. package/lib/cjs/NativeAppLogger.js +1 -1
  54. package/lib/cjs/NativeAppLogger.js.map +1 -1
  55. package/lib/cjs/TentativePoint.d.ts.map +1 -1
  56. package/lib/cjs/TentativePoint.js.map +1 -1
  57. package/lib/cjs/ViewManager.d.ts +4 -0
  58. package/lib/cjs/ViewManager.d.ts.map +1 -1
  59. package/lib/cjs/ViewManager.js +9 -3
  60. package/lib/cjs/ViewManager.js.map +1 -1
  61. package/lib/cjs/ViewRect.d.ts.map +1 -1
  62. package/lib/cjs/ViewRect.js +5 -1
  63. package/lib/cjs/ViewRect.js.map +1 -1
  64. package/lib/cjs/ViewState.d.ts +36 -12
  65. package/lib/cjs/ViewState.d.ts.map +1 -1
  66. package/lib/cjs/ViewState.js +35 -25
  67. package/lib/cjs/ViewState.js.map +1 -1
  68. package/lib/cjs/ViewingSpace.d.ts.map +1 -1
  69. package/lib/cjs/ViewingSpace.js +12 -5
  70. package/lib/cjs/ViewingSpace.js.map +1 -1
  71. package/lib/cjs/Viewport.d.ts +14 -0
  72. package/lib/cjs/Viewport.d.ts.map +1 -1
  73. package/lib/cjs/Viewport.js +107 -5
  74. package/lib/cjs/Viewport.js.map +1 -1
  75. package/lib/cjs/core-frontend.d.ts +6 -0
  76. package/lib/cjs/core-frontend.d.ts.map +1 -1
  77. package/lib/cjs/core-frontend.js +6 -0
  78. package/lib/cjs/core-frontend.js.map +1 -1
  79. package/lib/cjs/extension/ExtensionAdmin.d.ts.map +1 -1
  80. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  81. package/lib/cjs/extension/ExtensionImpl.d.ts.map +1 -1
  82. package/lib/cjs/extension/ExtensionImpl.js +3 -1
  83. package/lib/cjs/extension/ExtensionImpl.js.map +1 -1
  84. package/lib/cjs/public/scripts/checkbrowser.js +24 -0
  85. package/lib/cjs/render/Decorations.d.ts.map +1 -1
  86. package/lib/cjs/render/Decorations.js +24 -6
  87. package/lib/cjs/render/Decorations.js.map +1 -1
  88. package/lib/cjs/render/GraphicBranch.d.ts +5 -1
  89. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  90. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  91. package/lib/cjs/render/RealityMeshGraphicParams.d.ts +19 -0
  92. package/lib/cjs/render/RealityMeshGraphicParams.d.ts.map +1 -0
  93. package/lib/cjs/render/RealityMeshGraphicParams.js +10 -0
  94. package/lib/cjs/render/RealityMeshGraphicParams.js.map +1 -0
  95. package/lib/cjs/render/RealityMeshParams.d.ts +130 -0
  96. package/lib/cjs/render/RealityMeshParams.d.ts.map +1 -0
  97. package/lib/cjs/render/RealityMeshParams.js +176 -0
  98. package/lib/cjs/render/RealityMeshParams.js.map +1 -0
  99. package/lib/cjs/render/RenderSystem.d.ts +8 -4
  100. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  101. package/lib/cjs/render/RenderSystem.js +7 -1
  102. package/lib/cjs/render/RenderSystem.js.map +1 -1
  103. package/lib/cjs/render/RenderTexture.d.ts +1 -1
  104. package/lib/cjs/render/RenderTexture.d.ts.map +1 -1
  105. package/lib/cjs/render/RenderTexture.js.map +1 -1
  106. package/lib/cjs/render/UpsampleRealityMeshParams.d.ts +11 -0
  107. package/lib/cjs/render/UpsampleRealityMeshParams.d.ts.map +1 -0
  108. package/lib/cjs/render/UpsampleRealityMeshParams.js +205 -0
  109. package/lib/cjs/render/UpsampleRealityMeshParams.js.map +1 -0
  110. package/lib/cjs/render/primitives/DisplayParams.d.ts.map +1 -1
  111. package/lib/cjs/render/primitives/DisplayParams.js.map +1 -1
  112. package/lib/cjs/render/primitives/PointCloudPrimitive.d.ts +4 -8
  113. package/lib/cjs/render/primitives/PointCloudPrimitive.d.ts.map +1 -1
  114. package/lib/cjs/render/primitives/PointCloudPrimitive.js +0 -16
  115. package/lib/cjs/render/primitives/PointCloudPrimitive.js.map +1 -1
  116. package/lib/cjs/render/primitives/Polyface.d.ts.map +1 -1
  117. package/lib/cjs/render/primitives/Polyface.js +3 -1
  118. package/lib/cjs/render/primitives/Polyface.js.map +1 -1
  119. package/lib/cjs/render/primitives/Primitives.d.ts.map +1 -1
  120. package/lib/cjs/render/primitives/Primitives.js.map +1 -1
  121. package/lib/cjs/render/primitives/Strokes.d.ts.map +1 -1
  122. package/lib/cjs/render/primitives/Strokes.js +6 -2
  123. package/lib/cjs/render/primitives/Strokes.js.map +1 -1
  124. package/lib/cjs/render/primitives/VertexTableSplitter.d.ts.map +1 -1
  125. package/lib/cjs/render/primitives/VertexTableSplitter.js +7 -85
  126. package/lib/cjs/render/primitives/VertexTableSplitter.js.map +1 -1
  127. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  128. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js +4 -1
  129. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  130. package/lib/cjs/render/primitives/mesh/MeshBuilder.d.ts.map +1 -1
  131. package/lib/cjs/render/primitives/mesh/MeshBuilder.js.map +1 -1
  132. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts +1 -1
  133. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  134. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js +3 -1
  135. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  136. package/lib/cjs/render/webgl/BackgroundMapDrape.d.ts.map +1 -1
  137. package/lib/cjs/render/webgl/BackgroundMapDrape.js.map +1 -1
  138. package/lib/cjs/render/webgl/BranchState.d.ts +3 -1
  139. package/lib/cjs/render/webgl/BranchState.d.ts.map +1 -1
  140. package/lib/cjs/render/webgl/BranchState.js +18 -15
  141. package/lib/cjs/render/webgl/BranchState.js.map +1 -1
  142. package/lib/cjs/render/webgl/BranchUniforms.d.ts.map +1 -1
  143. package/lib/cjs/render/webgl/BranchUniforms.js +4 -0
  144. package/lib/cjs/render/webgl/BranchUniforms.js.map +1 -1
  145. package/lib/cjs/render/webgl/ColorInfo.d.ts.map +1 -1
  146. package/lib/cjs/render/webgl/ColorInfo.js +4 -1
  147. package/lib/cjs/render/webgl/ColorInfo.js.map +1 -1
  148. package/lib/cjs/render/webgl/DrawCommand.d.ts.map +1 -1
  149. package/lib/cjs/render/webgl/DrawCommand.js +12 -3
  150. package/lib/cjs/render/webgl/DrawCommand.js.map +1 -1
  151. package/lib/cjs/render/webgl/FrameBuffer.d.ts.map +1 -1
  152. package/lib/cjs/render/webgl/FrameBuffer.js +4 -1
  153. package/lib/cjs/render/webgl/FrameBuffer.js.map +1 -1
  154. package/lib/cjs/render/webgl/FrustumUniforms.js.map +1 -1
  155. package/lib/cjs/render/webgl/Graphic.d.ts.map +1 -1
  156. package/lib/cjs/render/webgl/Graphic.js +5 -2
  157. package/lib/cjs/render/webgl/Graphic.js.map +1 -1
  158. package/lib/cjs/render/webgl/Matrix.d.ts.map +1 -1
  159. package/lib/cjs/render/webgl/Matrix.js +16 -4
  160. package/lib/cjs/render/webgl/Matrix.js.map +1 -1
  161. package/lib/cjs/render/webgl/PerformanceMetrics.js +2 -2
  162. package/lib/cjs/render/webgl/PerformanceMetrics.js.map +1 -1
  163. package/lib/cjs/render/webgl/PlanarClassifier.d.ts.map +1 -1
  164. package/lib/cjs/render/webgl/PlanarClassifier.js +3 -1
  165. package/lib/cjs/render/webgl/PlanarClassifier.js.map +1 -1
  166. package/lib/cjs/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  167. package/lib/cjs/render/webgl/PlanarTextureProjection.js.map +1 -1
  168. package/lib/cjs/render/webgl/PointCloud.d.ts +1 -2
  169. package/lib/cjs/render/webgl/PointCloud.d.ts.map +1 -1
  170. package/lib/cjs/render/webgl/PointCloud.js +7 -7
  171. package/lib/cjs/render/webgl/PointCloud.js.map +1 -1
  172. package/lib/cjs/render/webgl/Primitive.d.ts.map +1 -1
  173. package/lib/cjs/render/webgl/Primitive.js.map +1 -1
  174. package/lib/cjs/render/webgl/RealityMesh.d.ts +6 -6
  175. package/lib/cjs/render/webgl/RealityMesh.d.ts.map +1 -1
  176. package/lib/cjs/render/webgl/RealityMesh.js +20 -12
  177. package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
  178. package/lib/cjs/render/webgl/RealityModelUniforms.d.ts +35 -0
  179. package/lib/cjs/render/webgl/RealityModelUniforms.d.ts.map +1 -0
  180. package/lib/cjs/render/webgl/RealityModelUniforms.js +73 -0
  181. package/lib/cjs/render/webgl/RealityModelUniforms.js.map +1 -0
  182. package/lib/cjs/render/webgl/RenderCommands.d.ts.map +1 -1
  183. package/lib/cjs/render/webgl/RenderCommands.js +3 -2
  184. package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
  185. package/lib/cjs/render/webgl/RenderFlags.d.ts.map +1 -1
  186. package/lib/cjs/render/webgl/RenderFlags.js +3 -1
  187. package/lib/cjs/render/webgl/RenderFlags.js.map +1 -1
  188. package/lib/cjs/render/webgl/ShaderBuilder.d.ts.map +1 -1
  189. package/lib/cjs/render/webgl/ShaderBuilder.js +4 -1
  190. package/lib/cjs/render/webgl/ShaderBuilder.js.map +1 -1
  191. package/lib/cjs/render/webgl/SolarShadowMap.d.ts.map +1 -1
  192. package/lib/cjs/render/webgl/SolarShadowMap.js +17 -5
  193. package/lib/cjs/render/webgl/SolarShadowMap.js.map +1 -1
  194. package/lib/cjs/render/webgl/System.d.ts +6 -4
  195. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  196. package/lib/cjs/render/webgl/System.js +21 -4
  197. package/lib/cjs/render/webgl/System.js.map +1 -1
  198. package/lib/cjs/render/webgl/TargetUniforms.d.ts +2 -0
  199. package/lib/cjs/render/webgl/TargetUniforms.d.ts.map +1 -1
  200. package/lib/cjs/render/webgl/TargetUniforms.js +2 -0
  201. package/lib/cjs/render/webgl/TargetUniforms.js.map +1 -1
  202. package/lib/cjs/render/webgl/Technique.d.ts.map +1 -1
  203. package/lib/cjs/render/webgl/Technique.js +6 -31
  204. package/lib/cjs/render/webgl/Technique.js.map +1 -1
  205. package/lib/cjs/render/webgl/TechniqueFlags.d.ts.map +1 -1
  206. package/lib/cjs/render/webgl/TechniqueFlags.js.map +1 -1
  207. package/lib/cjs/render/webgl/Texture.d.ts.map +1 -1
  208. package/lib/cjs/render/webgl/Texture.js +21 -12
  209. package/lib/cjs/render/webgl/Texture.js.map +1 -1
  210. package/lib/cjs/render/webgl/ThematicSensors.d.ts.map +1 -1
  211. package/lib/cjs/render/webgl/ThematicSensors.js +8 -2
  212. package/lib/cjs/render/webgl/ThematicSensors.js.map +1 -1
  213. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.d.ts.map +1 -1
  214. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js +3 -1
  215. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  216. package/lib/cjs/render/webgl/glsl/Common.js +1 -1
  217. package/lib/cjs/render/webgl/glsl/Common.js.map +1 -1
  218. package/lib/cjs/render/webgl/glsl/PointCloud.d.ts.map +1 -1
  219. package/lib/cjs/render/webgl/glsl/PointCloud.js +43 -20
  220. package/lib/cjs/render/webgl/glsl/PointCloud.js.map +1 -1
  221. package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts +4 -2
  222. package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  223. package/lib/cjs/render/webgl/glsl/RealityMesh.js +5 -3
  224. package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
  225. package/lib/cjs/render/webgl/glsl/SkyBox.d.ts.map +1 -1
  226. package/lib/cjs/render/webgl/glsl/SkyBox.js.map +1 -1
  227. package/lib/cjs/tile/GltfReader.d.ts +3 -2
  228. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  229. package/lib/cjs/tile/GltfReader.js +7 -3
  230. package/lib/cjs/tile/GltfReader.js.map +1 -1
  231. package/lib/cjs/tile/ImdlReader.d.ts +1 -1
  232. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  233. package/lib/cjs/tile/OPCFormatInterpreter.d.ts.map +1 -1
  234. package/lib/cjs/tile/OPCFormatInterpreter.js +3 -1
  235. package/lib/cjs/tile/OPCFormatInterpreter.js.map +1 -1
  236. package/lib/cjs/tile/OrbitGtTileTree.d.ts.map +1 -1
  237. package/lib/cjs/tile/OrbitGtTileTree.js +8 -2
  238. package/lib/cjs/tile/OrbitGtTileTree.js.map +1 -1
  239. package/lib/cjs/tile/PntsReader.d.ts.map +1 -1
  240. package/lib/cjs/tile/PntsReader.js +8 -2
  241. package/lib/cjs/tile/PntsReader.js.map +1 -1
  242. package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
  243. package/lib/cjs/tile/PrimaryTileTree.js +14 -11
  244. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  245. package/lib/cjs/tile/RealityModelTileTree.d.ts +4 -1
  246. package/lib/cjs/tile/RealityModelTileTree.d.ts.map +1 -1
  247. package/lib/cjs/tile/RealityModelTileTree.js +8 -0
  248. package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
  249. package/lib/cjs/tile/RealityTile.d.ts +57 -3
  250. package/lib/cjs/tile/RealityTile.d.ts.map +1 -1
  251. package/lib/cjs/tile/RealityTile.js +49 -5
  252. package/lib/cjs/tile/RealityTile.js.map +1 -1
  253. package/lib/cjs/tile/RealityTileLoader.d.ts.map +1 -1
  254. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  255. package/lib/cjs/tile/RealityTileTree.d.ts +37 -2
  256. package/lib/cjs/tile/RealityTileTree.d.ts.map +1 -1
  257. package/lib/cjs/tile/RealityTileTree.js +30 -2
  258. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  259. package/lib/cjs/tile/ThreeDTileFormatInterpreter.d.ts.map +1 -1
  260. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js +6 -2
  261. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  262. package/lib/cjs/tile/TileAdmin.d.ts +12 -0
  263. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  264. package/lib/cjs/tile/TileAdmin.js +54 -4
  265. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  266. package/lib/cjs/tile/TileDrawArgs.d.ts.map +1 -1
  267. package/lib/cjs/tile/TileDrawArgs.js +10 -16
  268. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  269. package/lib/cjs/tile/TileRequest.d.ts +5 -1
  270. package/lib/cjs/tile/TileRequest.d.ts.map +1 -1
  271. package/lib/cjs/tile/TileRequest.js +6 -2
  272. package/lib/cjs/tile/TileRequest.js.map +1 -1
  273. package/lib/cjs/tile/TileStorage.d.ts +13 -0
  274. package/lib/cjs/tile/TileStorage.d.ts.map +1 -0
  275. package/lib/cjs/tile/TileStorage.js +50 -0
  276. package/lib/cjs/tile/TileStorage.js.map +1 -0
  277. package/lib/cjs/tile/internal.d.ts +2 -0
  278. package/lib/cjs/tile/internal.d.ts.map +1 -1
  279. package/lib/cjs/tile/internal.js +2 -0
  280. package/lib/cjs/tile/internal.js.map +1 -1
  281. package/lib/cjs/tile/map/ArcGISTileMap.js +1 -1
  282. package/lib/cjs/tile/map/ArcGISTileMap.js.map +1 -1
  283. package/lib/cjs/tile/map/ArcGisUtilities.d.ts +0 -2
  284. package/lib/cjs/tile/map/ArcGisUtilities.d.ts.map +1 -1
  285. package/lib/cjs/tile/map/ArcGisUtilities.js +1 -24
  286. package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
  287. package/lib/cjs/tile/map/BingElevation.d.ts +8 -3
  288. package/lib/cjs/tile/map/BingElevation.d.ts.map +1 -1
  289. package/lib/cjs/tile/map/BingElevation.js +36 -14
  290. package/lib/cjs/tile/map/BingElevation.js.map +1 -1
  291. package/lib/cjs/tile/map/CesiumTerrainProvider.d.ts +2 -7
  292. package/lib/cjs/tile/map/CesiumTerrainProvider.d.ts.map +1 -1
  293. package/lib/cjs/tile/map/CesiumTerrainProvider.js +100 -90
  294. package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
  295. package/lib/cjs/tile/map/EllipsoidTerrainProvider.d.ts +9 -12
  296. package/lib/cjs/tile/map/EllipsoidTerrainProvider.d.ts.map +1 -1
  297. package/lib/cjs/tile/map/EllipsoidTerrainProvider.js +70 -67
  298. package/lib/cjs/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  299. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  300. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +9 -16
  301. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  302. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
  303. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js +1 -1
  304. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  305. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts.map +1 -1
  306. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  307. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  308. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +8 -6
  309. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  310. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +3 -3
  311. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  312. package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
  313. package/lib/cjs/tile/map/ImageryTileTree.js +21 -6
  314. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  315. package/lib/cjs/tile/map/MapCartoRectangle.d.ts +62 -6
  316. package/lib/cjs/tile/map/MapCartoRectangle.d.ts.map +1 -1
  317. package/lib/cjs/tile/map/MapCartoRectangle.js +103 -17
  318. package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
  319. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  320. package/lib/cjs/tile/map/MapLayerImageryFormats.js +4 -2
  321. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  322. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  323. package/lib/cjs/tile/map/MapLayerImageryProvider.js +1 -1
  324. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  325. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  326. package/lib/cjs/tile/map/MapLayerSources.js +11 -7
  327. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  328. package/lib/cjs/tile/map/MapTile.d.ts +68 -15
  329. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  330. package/lib/cjs/tile/map/MapTile.js +88 -30
  331. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  332. package/lib/cjs/tile/map/MapTileAvailability.d.ts.map +1 -1
  333. package/lib/cjs/tile/map/MapTileAvailability.js +1 -1
  334. package/lib/cjs/tile/map/MapTileAvailability.js.map +1 -1
  335. package/lib/cjs/tile/map/MapTileLoader.d.ts +2 -2
  336. package/lib/cjs/tile/map/MapTileLoader.d.ts.map +1 -1
  337. package/lib/cjs/tile/map/MapTileLoader.js +11 -20
  338. package/lib/cjs/tile/map/MapTileLoader.js.map +1 -1
  339. package/lib/cjs/tile/map/MapTileTree.d.ts +72 -7
  340. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  341. package/lib/cjs/tile/map/MapTileTree.js +72 -16
  342. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  343. package/lib/cjs/tile/map/MapTilingScheme.d.ts +67 -55
  344. package/lib/cjs/tile/map/MapTilingScheme.d.ts.map +1 -1
  345. package/lib/cjs/tile/map/MapTilingScheme.js +71 -67
  346. package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
  347. package/lib/cjs/tile/map/QuadId.d.ts +24 -2
  348. package/lib/cjs/tile/map/QuadId.d.ts.map +1 -1
  349. package/lib/cjs/tile/map/QuadId.js +49 -20
  350. package/lib/cjs/tile/map/QuadId.js.map +1 -1
  351. package/lib/cjs/tile/map/TerrainMeshProvider.d.ts +79 -19
  352. package/lib/cjs/tile/map/TerrainMeshProvider.d.ts.map +1 -1
  353. package/lib/cjs/tile/map/TerrainMeshProvider.js +28 -13
  354. package/lib/cjs/tile/map/TerrainMeshProvider.js.map +1 -1
  355. package/lib/cjs/tile/map/TerrainProvider.d.ts +34 -0
  356. package/lib/cjs/tile/map/TerrainProvider.d.ts.map +1 -0
  357. package/lib/cjs/tile/map/TerrainProvider.js +41 -0
  358. package/lib/cjs/tile/map/TerrainProvider.js.map +1 -0
  359. package/lib/cjs/tile/map/WmsCapabilities.js +1 -1
  360. package/lib/cjs/tile/map/WmsCapabilities.js.map +1 -1
  361. package/lib/cjs/tile/map/WmtsCapabilities.d.ts.map +1 -1
  362. package/lib/cjs/tile/map/WmtsCapabilities.js +7 -3
  363. package/lib/cjs/tile/map/WmtsCapabilities.js.map +1 -1
  364. package/lib/cjs/tile/object-storage-azure.js +5 -0
  365. package/lib/cjs/tools/AccuDrawTool.d.ts.map +1 -1
  366. package/lib/cjs/tools/AccuDrawTool.js +87 -26
  367. package/lib/cjs/tools/AccuDrawTool.js.map +1 -1
  368. package/lib/cjs/tools/ClipViewTool.d.ts +2 -2
  369. package/lib/cjs/tools/ClipViewTool.d.ts.map +1 -1
  370. package/lib/cjs/tools/ClipViewTool.js +29 -16
  371. package/lib/cjs/tools/ClipViewTool.js.map +1 -1
  372. package/lib/cjs/tools/ElementSetTool.d.ts.map +1 -1
  373. package/lib/cjs/tools/ElementSetTool.js +26 -10
  374. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  375. package/lib/cjs/tools/MeasureTool.d.ts.map +1 -1
  376. package/lib/cjs/tools/MeasureTool.js +65 -41
  377. package/lib/cjs/tools/MeasureTool.js.map +1 -1
  378. package/lib/cjs/tools/PrimitiveTool.d.ts.map +1 -1
  379. package/lib/cjs/tools/PrimitiveTool.js +9 -4
  380. package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
  381. package/lib/cjs/tools/SelectTool.d.ts.map +1 -1
  382. package/lib/cjs/tools/SelectTool.js +20 -9
  383. package/lib/cjs/tools/SelectTool.js.map +1 -1
  384. package/lib/cjs/tools/Tool.d.ts.map +1 -1
  385. package/lib/cjs/tools/Tool.js +13 -5
  386. package/lib/cjs/tools/Tool.js.map +1 -1
  387. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  388. package/lib/cjs/tools/ToolAdmin.js +27 -9
  389. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  390. package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
  391. package/lib/cjs/tools/ViewTool.js +111 -40
  392. package/lib/cjs/tools/ViewTool.js.map +1 -1
  393. package/lib/cjs/webgl.d.ts +1 -0
  394. package/lib/cjs/webgl.d.ts.map +1 -1
  395. package/lib/cjs/webgl.js +1 -0
  396. package/lib/cjs/webgl.js.map +1 -1
  397. package/lib/esm/AccuDraw.d.ts.map +1 -1
  398. package/lib/esm/AccuDraw.js +60 -15
  399. package/lib/esm/AccuDraw.js.map +1 -1
  400. package/lib/esm/AccuSnap.d.ts.map +1 -1
  401. package/lib/esm/AccuSnap.js +47 -37
  402. package/lib/esm/AccuSnap.js.map +1 -1
  403. package/lib/esm/AuxCoordSys.d.ts.map +1 -1
  404. package/lib/esm/AuxCoordSys.js +2 -3
  405. package/lib/esm/AuxCoordSys.js.map +1 -1
  406. package/lib/esm/BackgroundMapGeometry.d.ts.map +1 -1
  407. package/lib/esm/BackgroundMapGeometry.js.map +1 -1
  408. package/lib/esm/CategorySelectorState.d.ts.map +1 -1
  409. package/lib/esm/CategorySelectorState.js +6 -4
  410. package/lib/esm/CategorySelectorState.js.map +1 -1
  411. package/lib/esm/ContextRealityModelState.d.ts.map +1 -1
  412. package/lib/esm/ContextRealityModelState.js +2 -0
  413. package/lib/esm/ContextRealityModelState.js.map +1 -1
  414. package/lib/esm/DevTools.d.ts.map +1 -1
  415. package/lib/esm/DevTools.js.map +1 -1
  416. package/lib/esm/DisplayStyleState.js +1 -1
  417. package/lib/esm/DisplayStyleState.js.map +1 -1
  418. package/lib/esm/ElementLocateManager.d.ts.map +1 -1
  419. package/lib/esm/ElementLocateManager.js +4 -2
  420. package/lib/esm/ElementLocateManager.js.map +1 -1
  421. package/lib/esm/FrustumAnimator.d.ts.map +1 -1
  422. package/lib/esm/FrustumAnimator.js +5 -1
  423. package/lib/esm/FrustumAnimator.js.map +1 -1
  424. package/lib/esm/FuzzySearch.d.ts.map +1 -1
  425. package/lib/esm/FuzzySearch.js +9 -3
  426. package/lib/esm/FuzzySearch.js.map +1 -1
  427. package/lib/esm/HitDetail.d.ts.map +1 -1
  428. package/lib/esm/HitDetail.js +13 -3
  429. package/lib/esm/HitDetail.js.map +1 -1
  430. package/lib/esm/IModelApp.d.ts +7 -2
  431. package/lib/esm/IModelApp.d.ts.map +1 -1
  432. package/lib/esm/IModelApp.js +11 -3
  433. package/lib/esm/IModelApp.js.map +1 -1
  434. package/lib/esm/IModelConnection.d.ts.map +1 -1
  435. package/lib/esm/IModelConnection.js +3 -1
  436. package/lib/esm/IModelConnection.js.map +1 -1
  437. package/lib/esm/ImageUtil.d.ts +6 -0
  438. package/lib/esm/ImageUtil.d.ts.map +1 -1
  439. package/lib/esm/ImageUtil.js +12 -0
  440. package/lib/esm/ImageUtil.js.map +1 -1
  441. package/lib/esm/Marker.d.ts.map +1 -1
  442. package/lib/esm/Marker.js +5 -1
  443. package/lib/esm/Marker.js.map +1 -1
  444. package/lib/esm/ModelState.d.ts.map +1 -1
  445. package/lib/esm/ModelState.js +6 -1
  446. package/lib/esm/ModelState.js.map +1 -1
  447. package/lib/esm/NativeAppLogger.d.ts.map +1 -1
  448. package/lib/esm/NativeAppLogger.js +1 -1
  449. package/lib/esm/NativeAppLogger.js.map +1 -1
  450. package/lib/esm/TentativePoint.d.ts.map +1 -1
  451. package/lib/esm/TentativePoint.js.map +1 -1
  452. package/lib/esm/ViewManager.d.ts +4 -0
  453. package/lib/esm/ViewManager.d.ts.map +1 -1
  454. package/lib/esm/ViewManager.js +9 -3
  455. package/lib/esm/ViewManager.js.map +1 -1
  456. package/lib/esm/ViewRect.d.ts.map +1 -1
  457. package/lib/esm/ViewRect.js +5 -1
  458. package/lib/esm/ViewRect.js.map +1 -1
  459. package/lib/esm/ViewState.d.ts +36 -12
  460. package/lib/esm/ViewState.d.ts.map +1 -1
  461. package/lib/esm/ViewState.js +35 -25
  462. package/lib/esm/ViewState.js.map +1 -1
  463. package/lib/esm/ViewingSpace.d.ts.map +1 -1
  464. package/lib/esm/ViewingSpace.js +12 -5
  465. package/lib/esm/ViewingSpace.js.map +1 -1
  466. package/lib/esm/Viewport.d.ts +14 -0
  467. package/lib/esm/Viewport.d.ts.map +1 -1
  468. package/lib/esm/Viewport.js +107 -5
  469. package/lib/esm/Viewport.js.map +1 -1
  470. package/lib/esm/core-frontend.d.ts +6 -0
  471. package/lib/esm/core-frontend.d.ts.map +1 -1
  472. package/lib/esm/core-frontend.js +6 -0
  473. package/lib/esm/core-frontend.js.map +1 -1
  474. package/lib/esm/extension/ExtensionAdmin.d.ts.map +1 -1
  475. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  476. package/lib/esm/extension/ExtensionImpl.d.ts.map +1 -1
  477. package/lib/esm/extension/ExtensionImpl.js +3 -1
  478. package/lib/esm/extension/ExtensionImpl.js.map +1 -1
  479. package/lib/esm/public/scripts/checkbrowser.js +24 -0
  480. package/lib/esm/render/Decorations.d.ts.map +1 -1
  481. package/lib/esm/render/Decorations.js +24 -6
  482. package/lib/esm/render/Decorations.js.map +1 -1
  483. package/lib/esm/render/GraphicBranch.d.ts +5 -1
  484. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  485. package/lib/esm/render/GraphicBranch.js.map +1 -1
  486. package/lib/esm/render/RealityMeshGraphicParams.d.ts +19 -0
  487. package/lib/esm/render/RealityMeshGraphicParams.d.ts.map +1 -0
  488. package/lib/esm/render/RealityMeshGraphicParams.js +9 -0
  489. package/lib/esm/render/RealityMeshGraphicParams.js.map +1 -0
  490. package/lib/esm/render/RealityMeshParams.d.ts +130 -0
  491. package/lib/esm/render/RealityMeshParams.d.ts.map +1 -0
  492. package/lib/esm/render/RealityMeshParams.js +172 -0
  493. package/lib/esm/render/RealityMeshParams.js.map +1 -0
  494. package/lib/esm/render/RenderSystem.d.ts +8 -4
  495. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  496. package/lib/esm/render/RenderSystem.js +7 -1
  497. package/lib/esm/render/RenderSystem.js.map +1 -1
  498. package/lib/esm/render/RenderTexture.d.ts +1 -1
  499. package/lib/esm/render/RenderTexture.d.ts.map +1 -1
  500. package/lib/esm/render/RenderTexture.js.map +1 -1
  501. package/lib/esm/render/UpsampleRealityMeshParams.d.ts +11 -0
  502. package/lib/esm/render/UpsampleRealityMeshParams.d.ts.map +1 -0
  503. package/lib/esm/render/UpsampleRealityMeshParams.js +201 -0
  504. package/lib/esm/render/UpsampleRealityMeshParams.js.map +1 -0
  505. package/lib/esm/render/primitives/DisplayParams.d.ts.map +1 -1
  506. package/lib/esm/render/primitives/DisplayParams.js.map +1 -1
  507. package/lib/esm/render/primitives/PointCloudPrimitive.d.ts +4 -8
  508. package/lib/esm/render/primitives/PointCloudPrimitive.d.ts.map +1 -1
  509. package/lib/esm/render/primitives/PointCloudPrimitive.js +1 -14
  510. package/lib/esm/render/primitives/PointCloudPrimitive.js.map +1 -1
  511. package/lib/esm/render/primitives/Polyface.d.ts.map +1 -1
  512. package/lib/esm/render/primitives/Polyface.js +3 -1
  513. package/lib/esm/render/primitives/Polyface.js.map +1 -1
  514. package/lib/esm/render/primitives/Primitives.d.ts.map +1 -1
  515. package/lib/esm/render/primitives/Primitives.js.map +1 -1
  516. package/lib/esm/render/primitives/Strokes.d.ts.map +1 -1
  517. package/lib/esm/render/primitives/Strokes.js +6 -2
  518. package/lib/esm/render/primitives/Strokes.js.map +1 -1
  519. package/lib/esm/render/primitives/VertexTableSplitter.d.ts.map +1 -1
  520. package/lib/esm/render/primitives/VertexTableSplitter.js +1 -79
  521. package/lib/esm/render/primitives/VertexTableSplitter.js.map +1 -1
  522. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  523. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js +4 -1
  524. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  525. package/lib/esm/render/primitives/mesh/MeshBuilder.d.ts.map +1 -1
  526. package/lib/esm/render/primitives/mesh/MeshBuilder.js.map +1 -1
  527. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts +1 -1
  528. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  529. package/lib/esm/render/primitives/mesh/MeshPrimitives.js +3 -1
  530. package/lib/esm/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  531. package/lib/esm/render/webgl/BackgroundMapDrape.d.ts.map +1 -1
  532. package/lib/esm/render/webgl/BackgroundMapDrape.js.map +1 -1
  533. package/lib/esm/render/webgl/BranchState.d.ts +3 -1
  534. package/lib/esm/render/webgl/BranchState.d.ts.map +1 -1
  535. package/lib/esm/render/webgl/BranchState.js +18 -15
  536. package/lib/esm/render/webgl/BranchState.js.map +1 -1
  537. package/lib/esm/render/webgl/BranchUniforms.d.ts.map +1 -1
  538. package/lib/esm/render/webgl/BranchUniforms.js +4 -0
  539. package/lib/esm/render/webgl/BranchUniforms.js.map +1 -1
  540. package/lib/esm/render/webgl/ColorInfo.d.ts.map +1 -1
  541. package/lib/esm/render/webgl/ColorInfo.js +4 -1
  542. package/lib/esm/render/webgl/ColorInfo.js.map +1 -1
  543. package/lib/esm/render/webgl/DrawCommand.d.ts.map +1 -1
  544. package/lib/esm/render/webgl/DrawCommand.js +12 -3
  545. package/lib/esm/render/webgl/DrawCommand.js.map +1 -1
  546. package/lib/esm/render/webgl/FrameBuffer.d.ts.map +1 -1
  547. package/lib/esm/render/webgl/FrameBuffer.js +4 -1
  548. package/lib/esm/render/webgl/FrameBuffer.js.map +1 -1
  549. package/lib/esm/render/webgl/FrustumUniforms.js.map +1 -1
  550. package/lib/esm/render/webgl/Graphic.d.ts.map +1 -1
  551. package/lib/esm/render/webgl/Graphic.js +5 -2
  552. package/lib/esm/render/webgl/Graphic.js.map +1 -1
  553. package/lib/esm/render/webgl/Matrix.d.ts.map +1 -1
  554. package/lib/esm/render/webgl/Matrix.js +16 -4
  555. package/lib/esm/render/webgl/Matrix.js.map +1 -1
  556. package/lib/esm/render/webgl/PerformanceMetrics.js +2 -2
  557. package/lib/esm/render/webgl/PerformanceMetrics.js.map +1 -1
  558. package/lib/esm/render/webgl/PlanarClassifier.d.ts.map +1 -1
  559. package/lib/esm/render/webgl/PlanarClassifier.js +3 -1
  560. package/lib/esm/render/webgl/PlanarClassifier.js.map +1 -1
  561. package/lib/esm/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  562. package/lib/esm/render/webgl/PlanarTextureProjection.js.map +1 -1
  563. package/lib/esm/render/webgl/PointCloud.d.ts +1 -2
  564. package/lib/esm/render/webgl/PointCloud.d.ts.map +1 -1
  565. package/lib/esm/render/webgl/PointCloud.js +7 -7
  566. package/lib/esm/render/webgl/PointCloud.js.map +1 -1
  567. package/lib/esm/render/webgl/Primitive.d.ts.map +1 -1
  568. package/lib/esm/render/webgl/Primitive.js.map +1 -1
  569. package/lib/esm/render/webgl/RealityMesh.d.ts +6 -6
  570. package/lib/esm/render/webgl/RealityMesh.d.ts.map +1 -1
  571. package/lib/esm/render/webgl/RealityMesh.js +20 -12
  572. package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
  573. package/lib/esm/render/webgl/RealityModelUniforms.d.ts +35 -0
  574. package/lib/esm/render/webgl/RealityModelUniforms.d.ts.map +1 -0
  575. package/lib/esm/render/webgl/RealityModelUniforms.js +68 -0
  576. package/lib/esm/render/webgl/RealityModelUniforms.js.map +1 -0
  577. package/lib/esm/render/webgl/RenderCommands.d.ts.map +1 -1
  578. package/lib/esm/render/webgl/RenderCommands.js +3 -2
  579. package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
  580. package/lib/esm/render/webgl/RenderFlags.d.ts.map +1 -1
  581. package/lib/esm/render/webgl/RenderFlags.js +3 -1
  582. package/lib/esm/render/webgl/RenderFlags.js.map +1 -1
  583. package/lib/esm/render/webgl/ShaderBuilder.d.ts.map +1 -1
  584. package/lib/esm/render/webgl/ShaderBuilder.js +4 -1
  585. package/lib/esm/render/webgl/ShaderBuilder.js.map +1 -1
  586. package/lib/esm/render/webgl/SolarShadowMap.d.ts.map +1 -1
  587. package/lib/esm/render/webgl/SolarShadowMap.js +17 -5
  588. package/lib/esm/render/webgl/SolarShadowMap.js.map +1 -1
  589. package/lib/esm/render/webgl/System.d.ts +6 -4
  590. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  591. package/lib/esm/render/webgl/System.js +21 -4
  592. package/lib/esm/render/webgl/System.js.map +1 -1
  593. package/lib/esm/render/webgl/TargetUniforms.d.ts +2 -0
  594. package/lib/esm/render/webgl/TargetUniforms.d.ts.map +1 -1
  595. package/lib/esm/render/webgl/TargetUniforms.js +2 -0
  596. package/lib/esm/render/webgl/TargetUniforms.js.map +1 -1
  597. package/lib/esm/render/webgl/Technique.d.ts.map +1 -1
  598. package/lib/esm/render/webgl/Technique.js +5 -11
  599. package/lib/esm/render/webgl/Technique.js.map +1 -1
  600. package/lib/esm/render/webgl/TechniqueFlags.d.ts.map +1 -1
  601. package/lib/esm/render/webgl/TechniqueFlags.js.map +1 -1
  602. package/lib/esm/render/webgl/Texture.d.ts.map +1 -1
  603. package/lib/esm/render/webgl/Texture.js +21 -12
  604. package/lib/esm/render/webgl/Texture.js.map +1 -1
  605. package/lib/esm/render/webgl/ThematicSensors.d.ts.map +1 -1
  606. package/lib/esm/render/webgl/ThematicSensors.js +8 -2
  607. package/lib/esm/render/webgl/ThematicSensors.js.map +1 -1
  608. package/lib/esm/render/webgl/glsl/AmbientOcclusion.d.ts.map +1 -1
  609. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js +3 -1
  610. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  611. package/lib/esm/render/webgl/glsl/Common.js +1 -1
  612. package/lib/esm/render/webgl/glsl/Common.js.map +1 -1
  613. package/lib/esm/render/webgl/glsl/PointCloud.d.ts.map +1 -1
  614. package/lib/esm/render/webgl/glsl/PointCloud.js +44 -21
  615. package/lib/esm/render/webgl/glsl/PointCloud.js.map +1 -1
  616. package/lib/esm/render/webgl/glsl/RealityMesh.d.ts +4 -2
  617. package/lib/esm/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  618. package/lib/esm/render/webgl/glsl/RealityMesh.js +4 -3
  619. package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
  620. package/lib/esm/render/webgl/glsl/SkyBox.d.ts.map +1 -1
  621. package/lib/esm/render/webgl/glsl/SkyBox.js.map +1 -1
  622. package/lib/esm/tile/GltfReader.d.ts +3 -2
  623. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  624. package/lib/esm/tile/GltfReader.js +8 -4
  625. package/lib/esm/tile/GltfReader.js.map +1 -1
  626. package/lib/esm/tile/ImdlReader.d.ts +1 -1
  627. package/lib/esm/tile/ImdlReader.js.map +1 -1
  628. package/lib/esm/tile/OPCFormatInterpreter.d.ts.map +1 -1
  629. package/lib/esm/tile/OPCFormatInterpreter.js +3 -1
  630. package/lib/esm/tile/OPCFormatInterpreter.js.map +1 -1
  631. package/lib/esm/tile/OrbitGtTileTree.d.ts.map +1 -1
  632. package/lib/esm/tile/OrbitGtTileTree.js +8 -2
  633. package/lib/esm/tile/OrbitGtTileTree.js.map +1 -1
  634. package/lib/esm/tile/PntsReader.d.ts.map +1 -1
  635. package/lib/esm/tile/PntsReader.js +8 -2
  636. package/lib/esm/tile/PntsReader.js.map +1 -1
  637. package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
  638. package/lib/esm/tile/PrimaryTileTree.js +14 -11
  639. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  640. package/lib/esm/tile/RealityModelTileTree.d.ts +4 -1
  641. package/lib/esm/tile/RealityModelTileTree.d.ts.map +1 -1
  642. package/lib/esm/tile/RealityModelTileTree.js +9 -1
  643. package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
  644. package/lib/esm/tile/RealityTile.d.ts +57 -3
  645. package/lib/esm/tile/RealityTile.d.ts.map +1 -1
  646. package/lib/esm/tile/RealityTile.js +49 -5
  647. package/lib/esm/tile/RealityTile.js.map +1 -1
  648. package/lib/esm/tile/RealityTileLoader.d.ts.map +1 -1
  649. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  650. package/lib/esm/tile/RealityTileTree.d.ts +37 -2
  651. package/lib/esm/tile/RealityTileTree.d.ts.map +1 -1
  652. package/lib/esm/tile/RealityTileTree.js +30 -2
  653. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  654. package/lib/esm/tile/ThreeDTileFormatInterpreter.d.ts.map +1 -1
  655. package/lib/esm/tile/ThreeDTileFormatInterpreter.js +6 -2
  656. package/lib/esm/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  657. package/lib/esm/tile/TileAdmin.d.ts +12 -0
  658. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  659. package/lib/esm/tile/TileAdmin.js +35 -4
  660. package/lib/esm/tile/TileAdmin.js.map +1 -1
  661. package/lib/esm/tile/TileDrawArgs.d.ts.map +1 -1
  662. package/lib/esm/tile/TileDrawArgs.js +11 -17
  663. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  664. package/lib/esm/tile/TileRequest.d.ts +5 -1
  665. package/lib/esm/tile/TileRequest.d.ts.map +1 -1
  666. package/lib/esm/tile/TileRequest.js +6 -2
  667. package/lib/esm/tile/TileRequest.js.map +1 -1
  668. package/lib/esm/tile/TileStorage.d.ts +13 -0
  669. package/lib/esm/tile/TileStorage.d.ts.map +1 -0
  670. package/lib/esm/tile/TileStorage.js +46 -0
  671. package/lib/esm/tile/TileStorage.js.map +1 -0
  672. package/lib/esm/tile/internal.d.ts +2 -0
  673. package/lib/esm/tile/internal.d.ts.map +1 -1
  674. package/lib/esm/tile/internal.js +2 -0
  675. package/lib/esm/tile/internal.js.map +1 -1
  676. package/lib/esm/tile/map/ArcGISTileMap.js +1 -1
  677. package/lib/esm/tile/map/ArcGISTileMap.js.map +1 -1
  678. package/lib/esm/tile/map/ArcGisUtilities.d.ts +0 -2
  679. package/lib/esm/tile/map/ArcGisUtilities.d.ts.map +1 -1
  680. package/lib/esm/tile/map/ArcGisUtilities.js +1 -24
  681. package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
  682. package/lib/esm/tile/map/BingElevation.d.ts +8 -3
  683. package/lib/esm/tile/map/BingElevation.d.ts.map +1 -1
  684. package/lib/esm/tile/map/BingElevation.js +36 -14
  685. package/lib/esm/tile/map/BingElevation.js.map +1 -1
  686. package/lib/esm/tile/map/CesiumTerrainProvider.d.ts +2 -7
  687. package/lib/esm/tile/map/CesiumTerrainProvider.d.ts.map +1 -1
  688. package/lib/esm/tile/map/CesiumTerrainProvider.js +101 -91
  689. package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
  690. package/lib/esm/tile/map/EllipsoidTerrainProvider.d.ts +9 -12
  691. package/lib/esm/tile/map/EllipsoidTerrainProvider.d.ts.map +1 -1
  692. package/lib/esm/tile/map/EllipsoidTerrainProvider.js +71 -68
  693. package/lib/esm/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  694. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  695. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +9 -16
  696. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  697. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
  698. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js +1 -1
  699. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  700. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts.map +1 -1
  701. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  702. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  703. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +8 -6
  704. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  705. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +3 -3
  706. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  707. package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
  708. package/lib/esm/tile/map/ImageryTileTree.js +21 -6
  709. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  710. package/lib/esm/tile/map/MapCartoRectangle.d.ts +62 -6
  711. package/lib/esm/tile/map/MapCartoRectangle.d.ts.map +1 -1
  712. package/lib/esm/tile/map/MapCartoRectangle.js +103 -17
  713. package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
  714. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  715. package/lib/esm/tile/map/MapLayerImageryFormats.js +4 -2
  716. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  717. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  718. package/lib/esm/tile/map/MapLayerImageryProvider.js +1 -1
  719. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  720. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  721. package/lib/esm/tile/map/MapLayerSources.js +11 -7
  722. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  723. package/lib/esm/tile/map/MapTile.d.ts +68 -15
  724. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  725. package/lib/esm/tile/map/MapTile.js +88 -30
  726. package/lib/esm/tile/map/MapTile.js.map +1 -1
  727. package/lib/esm/tile/map/MapTileAvailability.d.ts.map +1 -1
  728. package/lib/esm/tile/map/MapTileAvailability.js +1 -1
  729. package/lib/esm/tile/map/MapTileAvailability.js.map +1 -1
  730. package/lib/esm/tile/map/MapTileLoader.d.ts +2 -2
  731. package/lib/esm/tile/map/MapTileLoader.d.ts.map +1 -1
  732. package/lib/esm/tile/map/MapTileLoader.js +12 -21
  733. package/lib/esm/tile/map/MapTileLoader.js.map +1 -1
  734. package/lib/esm/tile/map/MapTileTree.d.ts +72 -7
  735. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  736. package/lib/esm/tile/map/MapTileTree.js +73 -17
  737. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  738. package/lib/esm/tile/map/MapTilingScheme.d.ts +67 -55
  739. package/lib/esm/tile/map/MapTilingScheme.d.ts.map +1 -1
  740. package/lib/esm/tile/map/MapTilingScheme.js +72 -68
  741. package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
  742. package/lib/esm/tile/map/QuadId.d.ts +24 -2
  743. package/lib/esm/tile/map/QuadId.d.ts.map +1 -1
  744. package/lib/esm/tile/map/QuadId.js +49 -20
  745. package/lib/esm/tile/map/QuadId.js.map +1 -1
  746. package/lib/esm/tile/map/TerrainMeshProvider.d.ts +79 -19
  747. package/lib/esm/tile/map/TerrainMeshProvider.d.ts.map +1 -1
  748. package/lib/esm/tile/map/TerrainMeshProvider.js +28 -13
  749. package/lib/esm/tile/map/TerrainMeshProvider.js.map +1 -1
  750. package/lib/esm/tile/map/TerrainProvider.d.ts +34 -0
  751. package/lib/esm/tile/map/TerrainProvider.d.ts.map +1 -0
  752. package/lib/esm/tile/map/TerrainProvider.js +37 -0
  753. package/lib/esm/tile/map/TerrainProvider.js.map +1 -0
  754. package/lib/esm/tile/map/WmsCapabilities.js +1 -1
  755. package/lib/esm/tile/map/WmsCapabilities.js.map +1 -1
  756. package/lib/esm/tile/map/WmtsCapabilities.d.ts.map +1 -1
  757. package/lib/esm/tile/map/WmtsCapabilities.js +7 -3
  758. package/lib/esm/tile/map/WmtsCapabilities.js.map +1 -1
  759. package/lib/esm/tile/object-storage-azure.js +5 -0
  760. package/lib/esm/tools/AccuDrawTool.d.ts.map +1 -1
  761. package/lib/esm/tools/AccuDrawTool.js +87 -26
  762. package/lib/esm/tools/AccuDrawTool.js.map +1 -1
  763. package/lib/esm/tools/ClipViewTool.d.ts +2 -2
  764. package/lib/esm/tools/ClipViewTool.d.ts.map +1 -1
  765. package/lib/esm/tools/ClipViewTool.js +29 -16
  766. package/lib/esm/tools/ClipViewTool.js.map +1 -1
  767. package/lib/esm/tools/ElementSetTool.d.ts.map +1 -1
  768. package/lib/esm/tools/ElementSetTool.js +26 -10
  769. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  770. package/lib/esm/tools/MeasureTool.d.ts.map +1 -1
  771. package/lib/esm/tools/MeasureTool.js +65 -41
  772. package/lib/esm/tools/MeasureTool.js.map +1 -1
  773. package/lib/esm/tools/PrimitiveTool.d.ts.map +1 -1
  774. package/lib/esm/tools/PrimitiveTool.js +9 -4
  775. package/lib/esm/tools/PrimitiveTool.js.map +1 -1
  776. package/lib/esm/tools/SelectTool.d.ts.map +1 -1
  777. package/lib/esm/tools/SelectTool.js +20 -9
  778. package/lib/esm/tools/SelectTool.js.map +1 -1
  779. package/lib/esm/tools/Tool.d.ts.map +1 -1
  780. package/lib/esm/tools/Tool.js +13 -5
  781. package/lib/esm/tools/Tool.js.map +1 -1
  782. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  783. package/lib/esm/tools/ToolAdmin.js +27 -9
  784. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  785. package/lib/esm/tools/ViewTool.d.ts.map +1 -1
  786. package/lib/esm/tools/ViewTool.js +111 -40
  787. package/lib/esm/tools/ViewTool.js.map +1 -1
  788. package/lib/esm/webgl.d.ts +1 -0
  789. package/lib/esm/webgl.d.ts.map +1 -1
  790. package/lib/esm/webgl.js +1 -0
  791. package/lib/esm/webgl.js.map +1 -1
  792. package/package.json +30 -24
  793. package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.d.ts +0 -47
  794. package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.d.ts.map +0 -1
  795. package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.js +0 -75
  796. package/lib/cjs/render/primitives/mesh/RealityMeshPrimitive.js.map +0 -1
  797. package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.d.ts +0 -56
  798. package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.d.ts.map +0 -1
  799. package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.js +0 -270
  800. package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.js.map +0 -1
  801. package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.d.ts +0 -47
  802. package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.d.ts.map +0 -1
  803. package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.js +0 -71
  804. package/lib/esm/render/primitives/mesh/RealityMeshPrimitive.js.map +0 -1
  805. package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.d.ts +0 -56
  806. package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.d.ts.map +0 -1
  807. package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.js +0 -266
  808. package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.js.map +0 -1
@@ -1,31 +1,91 @@
1
1
  /** @packageDocumentation
2
2
  * @module Tiles
3
3
  */
4
- import { Id64String } from "@itwin/core-bentley";
5
4
  import { Range1d } from "@itwin/core-geometry";
6
- import { RequestOptions } from "../../request/Request";
7
- import { IModelConnection } from "../../IModelConnection";
8
5
  import { ScreenViewport } from "../../Viewport";
9
- import { TerrainMeshPrimitive } from "../../render/primitives/mesh/TerrainMeshPrimitive";
10
- import { MapCartoRectangle, MapTile, MapTilingScheme, QuadId, Tile } from "../internal";
11
- /** Abstract base class for terrain mesh providers responsible for producing geometry background map tiles.
12
- * @see [[EllipsoidTerrainMeshProvider]]
13
- * @see [[CesiumTerrainMeshProvider]]
14
- * @internal
6
+ import { RealityMeshParams } from "../../render/RealityMeshParams";
7
+ import { MapCartoRectangle, MapTile, MapTilingScheme, QuadId } from "../internal";
8
+ /** Options supplied to [[TerrainProvider.createTerrainMeshProvider]] to construct a [[TerrainMeshProvider]].
9
+ * @beta
10
+ */
11
+ export interface TerrainMeshProviderOptions {
12
+ /** A scale factor to be applied to the height of the terrain meshes.
13
+ * @see [TerrainSettings.exaggeration]($common).
14
+ */
15
+ exaggeration: number;
16
+ /** If true, the meshes should include "skirts" around their edges.
17
+ * Skirts add new geometry to each of the four sides of a tile, extending downward. This helps to hide small cracks between adjacent tiles.
18
+ * However, if transparency is applied to the terrain then, rather than hiding slight imperfections, the skirts themselves become visible.
19
+ * So skirts are only requested when the terrain is displayed without transparency.
20
+ *
21
+ * A [[TerrainMeshProvider]] can ignore the request for skirts if it considers the risk of visible cracks acceptable.
22
+ */
23
+ wantSkirts: boolean;
24
+ /** If true, each vertex of the terrain meshes should include a normal vector. Normals are requested when lighting or [ThematicDisplay]($common) are applied
25
+ * to the terrain.
26
+ *
27
+ * A [[TerrainmeshProvider can ignore the request to produce normals, but doing so will prevent lighting and thematic display from applying to its terrain meshes.
28
+ */
29
+ wantNormals: boolean;
30
+ }
31
+ /** Arguments supplied to [[TerrainMeshProvider.requestMeshData]].
32
+ * @beta
33
+ */
34
+ export interface RequestMeshDataArgs {
35
+ /** The tile for which the terrain mesh is being requested. */
36
+ tile: MapTile;
37
+ /** Returns true if the request has been cancelled. Check this after performing an asynchronous action, and abort `requestMeshData` if it returns true. */
38
+ isCanceled(): boolean;
39
+ }
40
+ /** Arguments supplied to [[TerrainMeshProvider.readMesh]].
41
+ * @beta
42
+ */
43
+ export interface ReadMeshArgs {
44
+ /** The mesh data obtained from [[TerrainMeshProvider.requestMeshData]]. */
45
+ data: any;
46
+ /** The tile for which the terrain mesh is being generated. */
47
+ tile: MapTile;
48
+ /** Returns true if the request has been cancelled. Check this after performing an asynchronous action, and abort `readMesh` if it returns true. */
49
+ isCanceled(): boolean;
50
+ }
51
+ /** Provides 3d meshes representing terrain for display in a [[Viewport]].
52
+ * Each mesh represents the terrain within a rectangular region of the Earth associated with a [[MapTile]].
53
+ * The display system drapes background map imagery onto these meshes.
54
+ * `TerrainMeshProvider`s are obtained from [[TerrainProvider]]s.
55
+ * @beta
15
56
  */
16
57
  export declare abstract class TerrainMeshProvider {
17
- protected _iModel: IModelConnection;
18
- protected _modelId: Id64String;
19
- constructor(_iModel: IModelConnection, _modelId: Id64String);
20
- constructUrl(_row: number, _column: number, _zoomLevel: number): string;
58
+ /** Obtain a representation of the terrain for a specific [[MapTile]]. The result will subsequently be supplied to [[readMesh]] to produce the mesh.
59
+ * Return `undefined` if no mesh data could be obtained.
60
+ */
61
+ abstract requestMeshData(args: RequestMeshDataArgs): Promise<any>;
62
+ /** Convert the terrain data supplied by [[requestMeshData]] into a terrain mesh.
63
+ * @see [[RealityMeshParamsBuilder]] to simplify the process of creating the mesh.
64
+ */
65
+ abstract readMesh(args: ReadMeshArgs): Promise<RealityMeshParams | undefined>;
66
+ /** Add attribution logo cards for the terrain data supplied by this provider to the [[Viewport]]'s logo div.
67
+ * For example, a provider that produces meshes from [Bing Maps](https://docs.microsoft.com/en-us/bingmaps/rest-services/elevations/) would be required to
68
+ * disclose any copyrighted data used in the production of those meshes.
69
+ */
21
70
  addLogoCards(_cards: HTMLTableElement, _vp: ScreenViewport): void;
22
- abstract isTileAvailable(quadId: QuadId): boolean;
23
- get requestOptions(): RequestOptions;
71
+ /** Return whether terrain data can be obtained for the [[MapTile]] specified by `quadId`. If it returns false, a terrain mesh will instead be produced for
72
+ * that tile by up-sampling the terrain mesh provided by its parent tile.
73
+ * The default implementation returns `true`.
74
+ */
75
+ isTileAvailable(_quadId: QuadId): boolean;
76
+ /** Returns the maximum level of detail of the terrain meshes. */
24
77
  abstract get maxDepth(): number;
25
- getMesh(_tile: MapTile, _data: Uint8Array): Promise<TerrainMeshPrimitive | undefined>;
26
- abstract getChildHeightRange(_quadId: QuadId, _rectangle: MapCartoRectangle, _parent: MapTile): Range1d | undefined;
78
+ /** Returns the minimum and maximum elevation of the terrain within the specified region of the Earth.
79
+ * This range is used for culling terrain meshes that do not intersect the view frustum.
80
+ * The default implementation uses a fast approximation.
81
+ */
82
+ getChildHeightRange(quadId: QuadId, rectangle: MapCartoRectangle, parent: MapTile): Range1d | undefined;
83
+ /** The tiling scheme used by this provider to convert between tile coordinates and geodetic coordinates. */
27
84
  abstract get tilingScheme(): MapTilingScheme;
28
- forceTileLoad(_tile: Tile): boolean;
29
- get requiresLoadedContent(): boolean;
85
+ /** Returns true if the specified tile should always be loaded. Some tiles contain required metadata and hence should always be loaded.
86
+ * For example, a parent tile might contain information about the availability or height ranges of its child tiles that can be used to
87
+ * implement [[isTileAvailable]] or [[getChildHeightRange]], respectively.
88
+ */
89
+ forceTileLoad(_tile: MapTile): boolean;
30
90
  }
31
91
  //# sourceMappingURL=TerrainMeshProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TerrainMeshProvider.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/TerrainMeshProvider.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAU,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExF;;;;GAIG;AACH,8BAAsB,mBAAmB;IAC3B,SAAS,CAAC,OAAO,EAAE,gBAAgB;IAAE,SAAS,CAAC,QAAQ,EAAE,UAAU;gBAAzD,OAAO,EAAE,gBAAgB,EAAY,QAAQ,EAAE,UAAU;IACxE,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IACvE,YAAY,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI;aACxD,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IACxD,IAAW,cAAc,IAAI,cAAc,CAA2D;IACtG,aAAoB,QAAQ,IAAI,MAAM,CAAC;IAC1B,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;aAClF,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS;IAC1H,aAAoB,YAAY,IAAI,eAAe,CAAC;IAC7C,aAAa,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAC1C,IAAW,qBAAqB,YAAmB;CACpD"}
1
+ {"version":3,"file":"TerrainMeshProvider.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/TerrainMeshProvider.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EACL,iBAAiB,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EACpD,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,IAAI,EAAE,OAAO,CAAC;IACd,0JAA0J;IAC1J,UAAU,IAAI,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,2EAA2E;IAC3E,IAAI,EAAE,GAAG,CAAC;IACV,8DAA8D;IAC9D,IAAI,EAAE,OAAO,CAAC;IACd,mJAAmJ;IACnJ,UAAU,IAAI,OAAO,CAAC;CACvB;AAED;;;;;GAKG;AACH,8BAAsB,mBAAmB;IACvC;;OAEG;aACa,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC;IAExE;;OAEG;aACa,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAEpF;;;OAGG;IACI,YAAY,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI;IAExE;;;OAGG;IACI,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIhD,iEAAiE;IACjE,aAAoB,QAAQ,IAAI,MAAM,CAAC;IAEvC;;;OAGG;IACI,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS;IAI9G,4GAA4G;IAC5G,aAAoB,YAAY,IAAI,eAAe,CAAC;IAEpD;;;OAGG;IACI,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;CAC9C"}
@@ -5,22 +5,37 @@
5
5
  /** @packageDocumentation
6
6
  * @module Tiles
7
7
  */
8
- import { assert } from "@itwin/core-bentley";
9
- /** Abstract base class for terrain mesh providers responsible for producing geometry background map tiles.
10
- * @see [[EllipsoidTerrainMeshProvider]]
11
- * @see [[CesiumTerrainMeshProvider]]
12
- * @internal
8
+ import { ApproximateTerrainHeights } from "../../ApproximateTerrainHeights";
9
+ /** Provides 3d meshes representing terrain for display in a [[Viewport]].
10
+ * Each mesh represents the terrain within a rectangular region of the Earth associated with a [[MapTile]].
11
+ * The display system drapes background map imagery onto these meshes.
12
+ * `TerrainMeshProvider`s are obtained from [[TerrainProvider]]s.
13
+ * @beta
13
14
  */
14
15
  export class TerrainMeshProvider {
15
- constructor(_iModel, _modelId) {
16
- this._iModel = _iModel;
17
- this._modelId = _modelId;
18
- }
19
- constructUrl(_row, _column, _zoomLevel) { assert(false); return ""; }
16
+ /** Add attribution logo cards for the terrain data supplied by this provider to the [[Viewport]]'s logo div.
17
+ * For example, a provider that produces meshes from [Bing Maps](https://docs.microsoft.com/en-us/bingmaps/rest-services/elevations/) would be required to
18
+ * disclose any copyrighted data used in the production of those meshes.
19
+ */
20
20
  addLogoCards(_cards, _vp) { }
21
- get requestOptions() { return { method: "GET", responseType: "arraybuffer" }; }
22
- async getMesh(_tile, _data) { return undefined; }
21
+ /** Return whether terrain data can be obtained for the [[MapTile]] specified by `quadId`. If it returns false, a terrain mesh will instead be produced for
22
+ * that tile by up-sampling the terrain mesh provided by its parent tile.
23
+ * The default implementation returns `true`.
24
+ */
25
+ isTileAvailable(_quadId) {
26
+ return true;
27
+ }
28
+ /** Returns the minimum and maximum elevation of the terrain within the specified region of the Earth.
29
+ * This range is used for culling terrain meshes that do not intersect the view frustum.
30
+ * The default implementation uses a fast approximation.
31
+ */
32
+ getChildHeightRange(quadId, rectangle, parent) {
33
+ return (quadId.level < ApproximateTerrainHeights.maxLevel) ? ApproximateTerrainHeights.instance.getMinimumMaximumHeights(rectangle) : parent.heightRange;
34
+ }
35
+ /** Returns true if the specified tile should always be loaded. Some tiles contain required metadata and hence should always be loaded.
36
+ * For example, a parent tile might contain information about the availability or height ranges of its child tiles that can be used to
37
+ * implement [[isTileAvailable]] or [[getChildHeightRange]], respectively.
38
+ */
23
39
  forceTileLoad(_tile) { return false; }
24
- get requiresLoadedContent() { return true; }
25
40
  }
26
41
  //# sourceMappingURL=TerrainMeshProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TerrainMeshProvider.js","sourceRoot":"","sources":["../../../../src/tile/map/TerrainMeshProvider.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAc,MAAM,qBAAqB,CAAC;AAQzD;;;;GAIG;AACH,MAAM,OAAgB,mBAAmB;IACvC,YAAsB,OAAyB,EAAY,QAAoB;QAAzD,YAAO,GAAP,OAAO,CAAkB;QAAY,aAAQ,GAAR,QAAQ,CAAY;IAAI,CAAC;IAC7E,YAAY,CAAC,IAAY,EAAE,OAAe,EAAE,UAAkB,IAAY,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACrG,YAAY,CAAC,MAAwB,EAAE,GAAmB,IAAU,CAAC;IAE5E,IAAW,cAAc,KAAqB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAE/F,KAAK,CAAC,OAAO,CAAC,KAAc,EAAE,KAAiB,IAA+C,OAAO,SAAS,CAAC,CAAC,CAAC;IAGjH,aAAa,CAAC,KAAW,IAAa,OAAO,KAAK,CAAC,CAAC,CAAC;IAC5D,IAAW,qBAAqB,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;CACpD","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { assert, Id64String } from \"@itwin/core-bentley\";\r\nimport { Range1d } from \"@itwin/core-geometry\";\r\nimport { RequestOptions } from \"../../request/Request\";\r\nimport { IModelConnection } from \"../../IModelConnection\";\r\nimport { ScreenViewport } from \"../../Viewport\";\r\nimport { TerrainMeshPrimitive } from \"../../render/primitives/mesh/TerrainMeshPrimitive\";\r\nimport { MapCartoRectangle, MapTile, MapTilingScheme, QuadId, Tile } from \"../internal\";\r\n\r\n/** Abstract base class for terrain mesh providers responsible for producing geometry background map tiles.\r\n * @see [[EllipsoidTerrainMeshProvider]]\r\n * @see [[CesiumTerrainMeshProvider]]\r\n * @internal\r\n */\r\nexport abstract class TerrainMeshProvider {\r\n constructor(protected _iModel: IModelConnection, protected _modelId: Id64String) { }\r\n public constructUrl(_row: number, _column: number, _zoomLevel: number): string { assert(false); return \"\"; }\r\n public addLogoCards(_cards: HTMLTableElement, _vp: ScreenViewport): void { }\r\n public abstract isTileAvailable(quadId: QuadId): boolean;\r\n public get requestOptions(): RequestOptions { return { method: \"GET\", responseType: \"arraybuffer\" }; }\r\n public abstract get maxDepth(): number;\r\n public async getMesh(_tile: MapTile, _data: Uint8Array): Promise<TerrainMeshPrimitive | undefined> { return undefined; }\r\n public abstract getChildHeightRange(_quadId: QuadId, _rectangle: MapCartoRectangle, _parent: MapTile): Range1d | undefined;\r\n public abstract get tilingScheme(): MapTilingScheme;\r\n public forceTileLoad(_tile: Tile): boolean { return false; }\r\n public get requiresLoadedContent() { return true; }\r\n}\r\n"]}
1
+ {"version":3,"file":"TerrainMeshProvider.js","sourceRoot":"","sources":["../../../../src/tile/map/TerrainMeshProvider.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAqD5E;;;;;GAKG;AACH,MAAM,OAAgB,mBAAmB;IAWvC;;;OAGG;IACI,YAAY,CAAC,MAAwB,EAAE,GAAmB,IAAU,CAAC;IAE5E;;;OAGG;IACI,eAAe,CAAC,OAAe;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAKD;;;OAGG;IACI,mBAAmB,CAAC,MAAc,EAAE,SAA4B,EAAE,MAAe;QACtF,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;IAC3J,CAAC;IAKD;;;OAGG;IACI,aAAa,CAAC,KAAc,IAAa,OAAO,KAAK,CAAC,CAAC,CAAC;CAChE","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { Range1d } from \"@itwin/core-geometry\";\r\nimport { ApproximateTerrainHeights } from \"../../ApproximateTerrainHeights\";\r\nimport { ScreenViewport } from \"../../Viewport\";\r\nimport { RealityMeshParams } from \"../../render/RealityMeshParams\";\r\nimport {\r\n MapCartoRectangle, MapTile, MapTilingScheme, QuadId,\r\n} from \"../internal\";\r\n\r\n/** Options supplied to [[TerrainProvider.createTerrainMeshProvider]] to construct a [[TerrainMeshProvider]].\r\n * @beta\r\n */\r\nexport interface TerrainMeshProviderOptions {\r\n /** A scale factor to be applied to the height of the terrain meshes.\r\n * @see [TerrainSettings.exaggeration]($common).\r\n */\r\n exaggeration: number;\r\n /** If true, the meshes should include \"skirts\" around their edges.\r\n * Skirts add new geometry to each of the four sides of a tile, extending downward. This helps to hide small cracks between adjacent tiles.\r\n * However, if transparency is applied to the terrain then, rather than hiding slight imperfections, the skirts themselves become visible.\r\n * So skirts are only requested when the terrain is displayed without transparency.\r\n *\r\n * A [[TerrainMeshProvider]] can ignore the request for skirts if it considers the risk of visible cracks acceptable.\r\n */\r\n wantSkirts: boolean;\r\n /** If true, each vertex of the terrain meshes should include a normal vector. Normals are requested when lighting or [ThematicDisplay]($common) are applied\r\n * to the terrain.\r\n *\r\n * A [[TerrainmeshProvider can ignore the request to produce normals, but doing so will prevent lighting and thematic display from applying to its terrain meshes.\r\n */\r\n wantNormals: boolean;\r\n}\r\n\r\n/** Arguments supplied to [[TerrainMeshProvider.requestMeshData]].\r\n * @beta\r\n */\r\nexport interface RequestMeshDataArgs {\r\n /** The tile for which the terrain mesh is being requested. */\r\n tile: MapTile;\r\n /** Returns true if the request has been cancelled. Check this after performing an asynchronous action, and abort `requestMeshData` if it returns true. */\r\n isCanceled(): boolean;\r\n}\r\n\r\n/** Arguments supplied to [[TerrainMeshProvider.readMesh]].\r\n * @beta\r\n */\r\nexport interface ReadMeshArgs {\r\n /** The mesh data obtained from [[TerrainMeshProvider.requestMeshData]]. */\r\n data: any;\r\n /** The tile for which the terrain mesh is being generated. */\r\n tile: MapTile;\r\n /** Returns true if the request has been cancelled. Check this after performing an asynchronous action, and abort `readMesh` if it returns true. */\r\n isCanceled(): boolean;\r\n}\r\n\r\n/** Provides 3d meshes representing terrain for display in a [[Viewport]].\r\n * Each mesh represents the terrain within a rectangular region of the Earth associated with a [[MapTile]].\r\n * The display system drapes background map imagery onto these meshes.\r\n * `TerrainMeshProvider`s are obtained from [[TerrainProvider]]s.\r\n * @beta\r\n */\r\nexport abstract class TerrainMeshProvider {\r\n /** Obtain a representation of the terrain for a specific [[MapTile]]. The result will subsequently be supplied to [[readMesh]] to produce the mesh.\r\n * Return `undefined` if no mesh data could be obtained.\r\n */\r\n public abstract requestMeshData(args: RequestMeshDataArgs): Promise<any>;\r\n\r\n /** Convert the terrain data supplied by [[requestMeshData]] into a terrain mesh.\r\n * @see [[RealityMeshParamsBuilder]] to simplify the process of creating the mesh.\r\n */\r\n public abstract readMesh(args: ReadMeshArgs): Promise<RealityMeshParams | undefined>;\r\n\r\n /** Add attribution logo cards for the terrain data supplied by this provider to the [[Viewport]]'s logo div.\r\n * For example, a provider that produces meshes from [Bing Maps](https://docs.microsoft.com/en-us/bingmaps/rest-services/elevations/) would be required to\r\n * disclose any copyrighted data used in the production of those meshes.\r\n */\r\n public addLogoCards(_cards: HTMLTableElement, _vp: ScreenViewport): void { }\r\n\r\n /** Return whether terrain data can be obtained for the [[MapTile]] specified by `quadId`. If it returns false, a terrain mesh will instead be produced for\r\n * that tile by up-sampling the terrain mesh provided by its parent tile.\r\n * The default implementation returns `true`.\r\n */\r\n public isTileAvailable(_quadId: QuadId): boolean {\r\n return true;\r\n }\r\n\r\n /** Returns the maximum level of detail of the terrain meshes. */\r\n public abstract get maxDepth(): number;\r\n\r\n /** Returns the minimum and maximum elevation of the terrain within the specified region of the Earth.\r\n * This range is used for culling terrain meshes that do not intersect the view frustum.\r\n * The default implementation uses a fast approximation.\r\n */\r\n public getChildHeightRange(quadId: QuadId, rectangle: MapCartoRectangle, parent: MapTile): Range1d | undefined {\r\n return (quadId.level < ApproximateTerrainHeights.maxLevel) ? ApproximateTerrainHeights.instance.getMinimumMaximumHeights(rectangle) : parent.heightRange;\r\n }\r\n\r\n /** The tiling scheme used by this provider to convert between tile coordinates and geodetic coordinates. */\r\n public abstract get tilingScheme(): MapTilingScheme;\r\n\r\n /** Returns true if the specified tile should always be loaded. Some tiles contain required metadata and hence should always be loaded.\r\n * For example, a parent tile might contain information about the availability or height ranges of its child tiles that can be used to\r\n * implement [[isTileAvailable]] or [[getChildHeightRange]], respectively.\r\n */\r\n public forceTileLoad(_tile: MapTile): boolean { return false; }\r\n}\r\n"]}
@@ -0,0 +1,34 @@
1
+ /** @packageDocumentation
2
+ * @module Tiles
3
+ */
4
+ import { TerrainMeshProvider, TerrainMeshProviderOptions } from "../internal";
5
+ /** Interface adopted by an object that can supply [[TerrainMeshProvider]]s enabling the display of 3d terrain in a [[Viewport]].
6
+ * @see [[TerrainProviderRegistry]] to register or look up a `TerrainProvider` by its name.
7
+ * @see [TerrainSettings.providerName]($common) to specify the terrain provider used by a [DisplayStyle]($backend).
8
+ * @beta
9
+ */
10
+ export interface TerrainProvider {
11
+ /** Produce a [[TerrainMeshProvider]] using the specified options. */
12
+ createTerrainMeshProvider(options: TerrainMeshProviderOptions): Promise<TerrainMeshProvider | undefined>;
13
+ }
14
+ /** A registry of [[TerrainProvider]]s identified by their unique names. The registry can be accessed via [[IModelApp.terrainProviderRegistry]].
15
+ * It always includes the built-in provider named "CesiumWorldTerrain", which obtains terrain meshes from [Cesium ION](https://cesium.com/platform/cesium-ion/content/cesium-world-terrain/). That provider requires a valid [[TileAdmin.Props.cesiumIonKey]] to be supplied to [[IModelApp.startup]].
16
+ * Any number of additional providers can be [[register]]ed.
17
+ *
18
+ * When terrain is enabled for a [[Viewport]], the display system will attempt to look up the [[TerrainProvider]] corresponding to the [TerrainSettings.providerName]($common) specified by the [[Viewport]]'s [DisplayStyleSettings]($common). If a provider by that name is registered, it will be used to obtain terrain meshes; otherwise, the display system will produce flat terrain meshes.
19
+ * @beta
20
+ */
21
+ export declare class TerrainProviderRegistry {
22
+ private readonly _providers;
23
+ /** @internal */
24
+ constructor();
25
+ /** Register a new [[TerrainProvider]].
26
+ * @param name The name of the provider. It must be unique among all providers.
27
+ * @param provider The provider to register.
28
+ * @see [[find]] to later retrieve the provider by name.
29
+ */
30
+ register(name: string, provider: TerrainProvider): void;
31
+ /** Look up a [[register]]ed [[TerrainProvider]] by its name. */
32
+ find(name: string): TerrainProvider | undefined;
33
+ }
34
+ //# sourceMappingURL=TerrainProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TerrainProvider.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/TerrainProvider.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAA4B,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAExG;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,qEAAqE;IACrE,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;CAC1G;AAED;;;;;;GAMG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;IAEjE,gBAAgB;;IAOhB;;;;OAIG;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI;IAI9D,gEAAgE;IACzD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;CAGvD"}
@@ -0,0 +1,37 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Tiles
7
+ */
8
+ import { getCesiumTerrainProvider } from "../internal";
9
+ /** A registry of [[TerrainProvider]]s identified by their unique names. The registry can be accessed via [[IModelApp.terrainProviderRegistry]].
10
+ * It always includes the built-in provider named "CesiumWorldTerrain", which obtains terrain meshes from [Cesium ION](https://cesium.com/platform/cesium-ion/content/cesium-world-terrain/). That provider requires a valid [[TileAdmin.Props.cesiumIonKey]] to be supplied to [[IModelApp.startup]].
11
+ * Any number of additional providers can be [[register]]ed.
12
+ *
13
+ * When terrain is enabled for a [[Viewport]], the display system will attempt to look up the [[TerrainProvider]] corresponding to the [TerrainSettings.providerName]($common) specified by the [[Viewport]]'s [DisplayStyleSettings]($common). If a provider by that name is registered, it will be used to obtain terrain meshes; otherwise, the display system will produce flat terrain meshes.
14
+ * @beta
15
+ */
16
+ export class TerrainProviderRegistry {
17
+ /** @internal */
18
+ constructor() {
19
+ this._providers = new Map();
20
+ this.register("CesiumWorldTerrain", {
21
+ createTerrainMeshProvider: async (options) => getCesiumTerrainProvider(options),
22
+ });
23
+ }
24
+ /** Register a new [[TerrainProvider]].
25
+ * @param name The name of the provider. It must be unique among all providers.
26
+ * @param provider The provider to register.
27
+ * @see [[find]] to later retrieve the provider by name.
28
+ */
29
+ register(name, provider) {
30
+ this._providers.set(name, provider);
31
+ }
32
+ /** Look up a [[register]]ed [[TerrainProvider]] by its name. */
33
+ find(name) {
34
+ return this._providers.get(name);
35
+ }
36
+ }
37
+ //# sourceMappingURL=TerrainProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TerrainProvider.js","sourceRoot":"","sources":["../../../../src/tile/map/TerrainProvider.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,wBAAwB,EAAmD,MAAM,aAAa,CAAC;AAYxG;;;;;;GAMG;AACH,MAAM,OAAO,uBAAuB;IAGlC,gBAAgB;IAChB;QAHiB,eAAU,GAAG,IAAI,GAAG,EAA2B,CAAC;QAI/D,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE;YAClC,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,wBAAwB,CAAC,OAAO,CAAC;SAChF,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,QAAQ,CAAC,IAAY,EAAE,QAAyB;QACrD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,gEAAgE;IACzD,IAAI,CAAC,IAAY;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { getCesiumTerrainProvider, TerrainMeshProvider, TerrainMeshProviderOptions } from \"../internal\";\r\n\r\n/** Interface adopted by an object that can supply [[TerrainMeshProvider]]s enabling the display of 3d terrain in a [[Viewport]].\r\n * @see [[TerrainProviderRegistry]] to register or look up a `TerrainProvider` by its name.\r\n * @see [TerrainSettings.providerName]($common) to specify the terrain provider used by a [DisplayStyle]($backend).\r\n * @beta\r\n */\r\nexport interface TerrainProvider {\r\n /** Produce a [[TerrainMeshProvider]] using the specified options. */\r\n createTerrainMeshProvider(options: TerrainMeshProviderOptions): Promise<TerrainMeshProvider | undefined>;\r\n}\r\n\r\n/** A registry of [[TerrainProvider]]s identified by their unique names. The registry can be accessed via [[IModelApp.terrainProviderRegistry]].\r\n * It always includes the built-in provider named \"CesiumWorldTerrain\", which obtains terrain meshes from [Cesium ION](https://cesium.com/platform/cesium-ion/content/cesium-world-terrain/). That provider requires a valid [[TileAdmin.Props.cesiumIonKey]] to be supplied to [[IModelApp.startup]].\r\n * Any number of additional providers can be [[register]]ed.\r\n *\r\n * When terrain is enabled for a [[Viewport]], the display system will attempt to look up the [[TerrainProvider]] corresponding to the [TerrainSettings.providerName]($common) specified by the [[Viewport]]'s [DisplayStyleSettings]($common). If a provider by that name is registered, it will be used to obtain terrain meshes; otherwise, the display system will produce flat terrain meshes.\r\n * @beta\r\n */\r\nexport class TerrainProviderRegistry {\r\n private readonly _providers = new Map<string, TerrainProvider>();\r\n\r\n /** @internal */\r\n public constructor() {\r\n this.register(\"CesiumWorldTerrain\", {\r\n createTerrainMeshProvider: async (options) => getCesiumTerrainProvider(options),\r\n });\r\n }\r\n\r\n /** Register a new [[TerrainProvider]].\r\n * @param name The name of the provider. It must be unique among all providers.\r\n * @param provider The provider to register.\r\n * @see [[find]] to later retrieve the provider by name.\r\n */\r\n public register(name: string, provider: TerrainProvider): void {\r\n this._providers.set(name, provider);\r\n }\r\n\r\n /** Look up a [[register]]ed [[TerrainProvider]] by its name. */\r\n public find(name: string): TerrainProvider | undefined {\r\n return this._providers.get(name);\r\n }\r\n}\r\n"]}
@@ -25,7 +25,7 @@ async function getXml(url, credentials) {
25
25
  return data.text;
26
26
  }
27
27
  function rangeFromJSONArray(json) {
28
- return (Array.isArray(json) && json.length === 4) ? MapCartoRectangle.createFromDegrees(json[0], json[1], json[2], json[3]) : undefined;
28
+ return (Array.isArray(json) && json.length === 4) ? MapCartoRectangle.fromDegrees(json[0], json[1], json[2], json[3]) : undefined;
29
29
  }
30
30
  function rangeFromJSON(json) {
31
31
  if (undefined !== json.LatLonBoundingBox)
@@ -1 +1 @@
1
- {"version":3,"file":"WmsCapabilities.js","sourceRoot":"","sources":["../../../../src/tile/map/WmsCapabilities.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 Views\r\n */\r\n\r\nimport { MapSubLayerProps } from \"@itwin/core-common\";\r\nimport { request, RequestBasicCredentials, RequestOptions } from \"../../request/Request\";\r\nimport WMS from \"wms-capabilities\";\r\nimport { MapCartoRectangle, WmsUtilities } from \"../internal\";\r\n\r\n/**\r\n * fetch XML from HTTP request\r\n * @param url server URL to address the request\r\n * @internal\r\n */\r\nasync function getXml(url: string, credentials?: RequestBasicCredentials): Promise<any> {\r\n const options: RequestOptions = {\r\n method: \"GET\",\r\n responseType: \"text\",\r\n timeout: { response: 20000 },\r\n retries: 2,\r\n auth: credentials,\r\n };\r\n const data = await request(url, options);\r\n return data.text;\r\n}\r\nfunction rangeFromJSONArray(json: any): MapCartoRectangle | undefined {\r\n return (Array.isArray(json) && json.length === 4) ? MapCartoRectangle.createFromDegrees(json[0], json[1], json[2], json[3]) : undefined;\r\n}\r\n\r\nfunction rangeFromJSON(json: any): MapCartoRectangle | undefined {\r\n if (undefined !== json.LatLonBoundingBox)\r\n return rangeFromJSONArray(json.LatLonBoundingBox);\r\n else if (Array.isArray(json.EX_GeographicBoundingBox)) {\r\n return rangeFromJSONArray(json.EX_GeographicBoundingBox);\r\n } else {\r\n if (Array.isArray(json.BoundingBox))\r\n for (const boundingBox of json.BoundingBox) {\r\n if (boundingBox.crs === \"CRS:84\" || boundingBox.crs === \"EPSG:4326\") {\r\n return rangeFromJSONArray(boundingBox.extent);\r\n }\r\n }\r\n return undefined;\r\n }\r\n}\r\n\r\nfunction initArray<T>(input: any): undefined | T[] {\r\n return Array.isArray(input) ? input.slice() : undefined;\r\n}\r\n\r\n/** Encapsulation of the capabilities for an WMS server\r\n * @internal\r\n */\r\nexport namespace WmsCapability {\r\n\r\n export class Service {\r\n public readonly name: string;\r\n public readonly title?: string;\r\n public readonly abstract?: string;\r\n public readonly onlineResource?: string;\r\n public readonly contactInformation?: string;\r\n public readonly accessConstraints?: string;\r\n\r\n constructor(json: any) {\r\n this.name = json.Name ? json.Name : \"\";\r\n this.title = json.Title;\r\n this.abstract = json.Abstract;\r\n this.onlineResource = json.OnlineResource;\r\n this.contactInformation = json.ContactInformation;\r\n this.accessConstraints = json.AccessConstraints;\r\n }\r\n }\r\n\r\n export class Layer {\r\n public readonly queryable: boolean;\r\n public readonly title?: string;\r\n public readonly srs?: string[];\r\n public readonly cartoRange?: MapCartoRectangle;\r\n public readonly subLayers = new Array<SubLayer>();\r\n private static readonly PREFIX_SEPARATOR = \":\";\r\n\r\n constructor(json: any, capabilities: WmsCapabilities) {\r\n this.queryable = json.queryable;\r\n this.title = json.title;\r\n this.srs = initArray<string>(capabilities.isVersion13 ? json.CRS : json.SRS);\r\n this.cartoRange = rangeFromJSON(json);\r\n this.subLayers.push(new SubLayer(json, capabilities));\r\n }\r\n public getSubLayers(visible = true): MapSubLayerProps[] {\r\n const subLayers = new Array<MapSubLayerProps>();\r\n let index = 1;\r\n let childrenFound = false;\r\n const pushSubLayer = ((subLayer: SubLayer, parent?: number) => {\r\n let children;\r\n const id = index++;\r\n if (subLayer.children) {\r\n childrenFound = false;\r\n children = new Array<number>();\r\n subLayer.children.forEach((child) => {\r\n children.push(index);\r\n pushSubLayer(child, id);\r\n });\r\n }\r\n subLayers.push({ name: subLayer.name, title: subLayer.title, visible, parent, children, id });\r\n });\r\n this.subLayers.forEach((subLayer) => pushSubLayer(subLayer));\r\n\r\n if (!childrenFound) {\r\n const prefixed = new Map<string, MapSubLayerProps[]>();\r\n subLayers.forEach((subLayer) => {\r\n if (subLayer.name && subLayer.name.indexOf(Layer.PREFIX_SEPARATOR) > 0) {\r\n const prefix = subLayer.name.slice(0, subLayer.name.indexOf(Layer.PREFIX_SEPARATOR));\r\n const found = prefixed.get(prefix);\r\n if (found)\r\n found.push(subLayer);\r\n else\r\n prefixed.set(prefix, [subLayer]);\r\n }\r\n });\r\n if (prefixed.size > 1) {\r\n // Preserve the root node if any.\r\n const rootNode = (this.subLayers.length === 1 && this.subLayers[0].children && this.subLayers[0].children.length > 1) ? subLayers.find((curSubLayer) => this.subLayers[0].name === curSubLayer.name)?.id : undefined;\r\n prefixed.forEach((children, parent) => {\r\n children.forEach((child) => {\r\n child.parent = index;\r\n // Remove the prefix from the title if present.\r\n if (child.title && child.title.indexOf(parent + Layer.PREFIX_SEPARATOR) === 0)\r\n child.title = child.title.slice(parent.length + Layer.PREFIX_SEPARATOR.length);\r\n });\r\n subLayers.push({ name: \"\", title: parent, parent: rootNode, id: index++, children: children.map((child) => child.id as number), visible });\r\n });\r\n }\r\n }\r\n\r\n return subLayers;\r\n }\r\n\r\n public getSubLayersCrs(layerNameFilter: string[]): Map<string, string[]> {\r\n const subLayerCrs = new Map<string, string[]>();\r\n\r\n const processSubLayer = ((subLayer: SubLayer) => {\r\n if (layerNameFilter.includes(subLayer.name)) {\r\n subLayerCrs.set(subLayer.name, subLayer.crs);\r\n }\r\n if (subLayer.children) {\r\n subLayer.children.forEach((child) => {\r\n processSubLayer(child);\r\n });\r\n }\r\n });\r\n\r\n this.subLayers.forEach((subLayer) => processSubLayer(subLayer));\r\n return subLayerCrs;\r\n }\r\n }\r\n\r\n /** @internal */\r\n export class SubLayer {\r\n public readonly name: string;\r\n public readonly title: string;\r\n public readonly crs: string[];\r\n public readonly ownCrs: string[]; // CRS specific to this layer (ie. not including inherited CRS)\r\n public readonly cartoRange?: MapCartoRectangle;\r\n public readonly children?: SubLayer[];\r\n public readonly queryable: boolean;\r\n public constructor(_json: any, capabilities: WmsCapabilities, public readonly parent?: SubLayer) {\r\n\r\n const getParentCrs = (parentLayer: SubLayer, crsSet: Set<string>) => {\r\n parentLayer.crs.forEach((parentCrs) => crsSet.add(parentCrs));\r\n if (parentLayer.parent) {\r\n getParentCrs(parentLayer.parent, crsSet);\r\n }\r\n };\r\n\r\n this.name = _json.Name ? _json.Name : \"\";\r\n this.title = _json.Title;\r\n this.queryable = _json.queryable ? true : false;\r\n this.cartoRange = rangeFromJSON(_json);\r\n this.ownCrs = capabilities.isVersion13 ? _json.CRS : _json.SRS;\r\n const crs = new Set<string>(this.ownCrs);\r\n if (parent) {\r\n getParentCrs(parent, crs);\r\n }\r\n this.crs = [...crs];\r\n\r\n if (Array.isArray(_json.Layer)) {\r\n this.children = new Array<SubLayer>();\r\n for (const childLayer of _json.Layer) {\r\n this.children.push(new SubLayer(childLayer, capabilities, this));\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class WmsCapabilities {\r\n private static _capabilitiesCache = new Map<string, WmsCapabilities | undefined>();\r\n public readonly service: WmsCapability.Service;\r\n public readonly version?: string;\r\n public readonly isVersion13: boolean;\r\n public readonly layer?: WmsCapability.Layer;\r\n public get json() { return this._json; }\r\n public get maxLevel(): number { return this.layer ? this.layer.subLayers.length : - 1; }\r\n public get cartoRange(): MapCartoRectangle | undefined { return this.layer?.cartoRange; }\r\n public get featureInfoSupported() { return undefined !== this._json.Capability?.Request?.GetFeatureInfo; }\r\n public get featureInfoFormats(): string[] | undefined { return Array.isArray(this._json.Capability?.Request?.GetFeatureInfo?.Format) ? this._json.Capability?.Request?.GetFeatureInfo?.Format : undefined; }\r\n constructor(private _json: any) {\r\n this.version = _json.version;\r\n this.isVersion13 = _json.version !== undefined && 0 === _json.version.indexOf(\"1.3\");\r\n this.service = new WmsCapability.Service(_json.Service);\r\n if (_json.Capability)\r\n this.layer = new WmsCapability.Layer(_json.Capability.Layer, this);\r\n }\r\n\r\n public static async create(url: string, credentials?: RequestBasicCredentials, ignoreCache?: boolean): Promise<WmsCapabilities | undefined> {\r\n if (!ignoreCache) {\r\n const cached = WmsCapabilities._capabilitiesCache.get(url);\r\n if (cached !== undefined)\r\n return cached;\r\n }\r\n\r\n const xmlCapabilities = await getXml(`${WmsUtilities.getBaseUrl(url)}?request=GetCapabilities&service=WMS`, credentials);\r\n\r\n if (!xmlCapabilities)\r\n return undefined;\r\n\r\n const capabilities = new WmsCapabilities(new WMS().parse(xmlCapabilities));\r\n WmsCapabilities._capabilitiesCache.set(url, capabilities);\r\n\r\n return capabilities;\r\n }\r\n public getSubLayers(visible = true): undefined | MapSubLayerProps[] {\r\n return this.layer ? this.layer.getSubLayers(visible) : undefined;\r\n }\r\n\r\n public getSubLayersCrs(subLayerNames: string[]): Map<string, string[]>|undefined {\r\n return this.layer ? this.layer.getSubLayersCrs(subLayerNames) : undefined;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"WmsCapabilities.js","sourceRoot":"","sources":["../../../../src/tile/map/WmsCapabilities.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 Views\r\n */\r\n\r\nimport { MapSubLayerProps } from \"@itwin/core-common\";\r\nimport { request, RequestBasicCredentials, RequestOptions } from \"../../request/Request\";\r\nimport WMS from \"wms-capabilities\";\r\nimport { MapCartoRectangle, WmsUtilities } from \"../internal\";\r\n\r\n/**\r\n * fetch XML from HTTP request\r\n * @param url server URL to address the request\r\n * @internal\r\n */\r\nasync function getXml(url: string, credentials?: RequestBasicCredentials): Promise<any> {\r\n const options: RequestOptions = {\r\n method: \"GET\",\r\n responseType: \"text\",\r\n timeout: { response: 20000 },\r\n retries: 2,\r\n auth: credentials,\r\n };\r\n const data = await request(url, options);\r\n return data.text;\r\n}\r\nfunction rangeFromJSONArray(json: any): MapCartoRectangle | undefined {\r\n return (Array.isArray(json) && json.length === 4) ? MapCartoRectangle.fromDegrees(json[0], json[1], json[2], json[3]) : undefined;\r\n}\r\n\r\nfunction rangeFromJSON(json: any): MapCartoRectangle | undefined {\r\n if (undefined !== json.LatLonBoundingBox)\r\n return rangeFromJSONArray(json.LatLonBoundingBox);\r\n else if (Array.isArray(json.EX_GeographicBoundingBox)) {\r\n return rangeFromJSONArray(json.EX_GeographicBoundingBox);\r\n } else {\r\n if (Array.isArray(json.BoundingBox))\r\n for (const boundingBox of json.BoundingBox) {\r\n if (boundingBox.crs === \"CRS:84\" || boundingBox.crs === \"EPSG:4326\") {\r\n return rangeFromJSONArray(boundingBox.extent);\r\n }\r\n }\r\n return undefined;\r\n }\r\n}\r\n\r\nfunction initArray<T>(input: any): undefined | T[] {\r\n return Array.isArray(input) ? input.slice() : undefined;\r\n}\r\n\r\n/** Encapsulation of the capabilities for an WMS server\r\n * @internal\r\n */\r\nexport namespace WmsCapability {\r\n\r\n export class Service {\r\n public readonly name: string;\r\n public readonly title?: string;\r\n public readonly abstract?: string;\r\n public readonly onlineResource?: string;\r\n public readonly contactInformation?: string;\r\n public readonly accessConstraints?: string;\r\n\r\n constructor(json: any) {\r\n this.name = json.Name ? json.Name : \"\";\r\n this.title = json.Title;\r\n this.abstract = json.Abstract;\r\n this.onlineResource = json.OnlineResource;\r\n this.contactInformation = json.ContactInformation;\r\n this.accessConstraints = json.AccessConstraints;\r\n }\r\n }\r\n\r\n export class Layer {\r\n public readonly queryable: boolean;\r\n public readonly title?: string;\r\n public readonly srs?: string[];\r\n public readonly cartoRange?: MapCartoRectangle;\r\n public readonly subLayers = new Array<SubLayer>();\r\n private static readonly PREFIX_SEPARATOR = \":\";\r\n\r\n constructor(json: any, capabilities: WmsCapabilities) {\r\n this.queryable = json.queryable;\r\n this.title = json.title;\r\n this.srs = initArray<string>(capabilities.isVersion13 ? json.CRS : json.SRS);\r\n this.cartoRange = rangeFromJSON(json);\r\n this.subLayers.push(new SubLayer(json, capabilities));\r\n }\r\n public getSubLayers(visible = true): MapSubLayerProps[] {\r\n const subLayers = new Array<MapSubLayerProps>();\r\n let index = 1;\r\n let childrenFound = false;\r\n const pushSubLayer = ((subLayer: SubLayer, parent?: number) => {\r\n let children;\r\n const id = index++;\r\n if (subLayer.children) {\r\n childrenFound = false;\r\n children = new Array<number>();\r\n subLayer.children.forEach((child) => {\r\n children.push(index);\r\n pushSubLayer(child, id);\r\n });\r\n }\r\n subLayers.push({ name: subLayer.name, title: subLayer.title, visible, parent, children, id });\r\n });\r\n this.subLayers.forEach((subLayer) => pushSubLayer(subLayer));\r\n\r\n if (!childrenFound) {\r\n const prefixed = new Map<string, MapSubLayerProps[]>();\r\n subLayers.forEach((subLayer) => {\r\n if (subLayer.name && subLayer.name.indexOf(Layer.PREFIX_SEPARATOR) > 0) {\r\n const prefix = subLayer.name.slice(0, subLayer.name.indexOf(Layer.PREFIX_SEPARATOR));\r\n const found = prefixed.get(prefix);\r\n if (found)\r\n found.push(subLayer);\r\n else\r\n prefixed.set(prefix, [subLayer]);\r\n }\r\n });\r\n if (prefixed.size > 1) {\r\n // Preserve the root node if any.\r\n const rootNode = (this.subLayers.length === 1 && this.subLayers[0].children && this.subLayers[0].children.length > 1) ? subLayers.find((curSubLayer) => this.subLayers[0].name === curSubLayer.name)?.id : undefined;\r\n prefixed.forEach((children, parent) => {\r\n children.forEach((child) => {\r\n child.parent = index;\r\n // Remove the prefix from the title if present.\r\n if (child.title && child.title.indexOf(parent + Layer.PREFIX_SEPARATOR) === 0)\r\n child.title = child.title.slice(parent.length + Layer.PREFIX_SEPARATOR.length);\r\n });\r\n subLayers.push({ name: \"\", title: parent, parent: rootNode, id: index++, children: children.map((child) => child.id as number), visible });\r\n });\r\n }\r\n }\r\n\r\n return subLayers;\r\n }\r\n\r\n public getSubLayersCrs(layerNameFilter: string[]): Map<string, string[]> {\r\n const subLayerCrs = new Map<string, string[]>();\r\n\r\n const processSubLayer = ((subLayer: SubLayer) => {\r\n if (layerNameFilter.includes(subLayer.name)) {\r\n subLayerCrs.set(subLayer.name, subLayer.crs);\r\n }\r\n if (subLayer.children) {\r\n subLayer.children.forEach((child) => {\r\n processSubLayer(child);\r\n });\r\n }\r\n });\r\n\r\n this.subLayers.forEach((subLayer) => processSubLayer(subLayer));\r\n return subLayerCrs;\r\n }\r\n }\r\n\r\n /** @internal */\r\n export class SubLayer {\r\n public readonly name: string;\r\n public readonly title: string;\r\n public readonly crs: string[];\r\n public readonly ownCrs: string[]; // CRS specific to this layer (ie. not including inherited CRS)\r\n public readonly cartoRange?: MapCartoRectangle;\r\n public readonly children?: SubLayer[];\r\n public readonly queryable: boolean;\r\n public constructor(_json: any, capabilities: WmsCapabilities, public readonly parent?: SubLayer) {\r\n\r\n const getParentCrs = (parentLayer: SubLayer, crsSet: Set<string>) => {\r\n parentLayer.crs.forEach((parentCrs) => crsSet.add(parentCrs));\r\n if (parentLayer.parent) {\r\n getParentCrs(parentLayer.parent, crsSet);\r\n }\r\n };\r\n\r\n this.name = _json.Name ? _json.Name : \"\";\r\n this.title = _json.Title;\r\n this.queryable = _json.queryable ? true : false;\r\n this.cartoRange = rangeFromJSON(_json);\r\n this.ownCrs = capabilities.isVersion13 ? _json.CRS : _json.SRS;\r\n const crs = new Set<string>(this.ownCrs);\r\n if (parent) {\r\n getParentCrs(parent, crs);\r\n }\r\n this.crs = [...crs];\r\n\r\n if (Array.isArray(_json.Layer)) {\r\n this.children = new Array<SubLayer>();\r\n for (const childLayer of _json.Layer) {\r\n this.children.push(new SubLayer(childLayer, capabilities, this));\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class WmsCapabilities {\r\n private static _capabilitiesCache = new Map<string, WmsCapabilities | undefined>();\r\n public readonly service: WmsCapability.Service;\r\n public readonly version?: string;\r\n public readonly isVersion13: boolean;\r\n public readonly layer?: WmsCapability.Layer;\r\n public get json() { return this._json; }\r\n public get maxLevel(): number { return this.layer ? this.layer.subLayers.length : - 1; }\r\n public get cartoRange(): MapCartoRectangle | undefined { return this.layer?.cartoRange; }\r\n public get featureInfoSupported() { return undefined !== this._json.Capability?.Request?.GetFeatureInfo; }\r\n public get featureInfoFormats(): string[] | undefined { return Array.isArray(this._json.Capability?.Request?.GetFeatureInfo?.Format) ? this._json.Capability?.Request?.GetFeatureInfo?.Format : undefined; }\r\n constructor(private _json: any) {\r\n this.version = _json.version;\r\n this.isVersion13 = _json.version !== undefined && 0 === _json.version.indexOf(\"1.3\");\r\n this.service = new WmsCapability.Service(_json.Service);\r\n if (_json.Capability)\r\n this.layer = new WmsCapability.Layer(_json.Capability.Layer, this);\r\n }\r\n\r\n public static async create(url: string, credentials?: RequestBasicCredentials, ignoreCache?: boolean): Promise<WmsCapabilities | undefined> {\r\n if (!ignoreCache) {\r\n const cached = WmsCapabilities._capabilitiesCache.get(url);\r\n if (cached !== undefined)\r\n return cached;\r\n }\r\n\r\n const xmlCapabilities = await getXml(`${WmsUtilities.getBaseUrl(url)}?request=GetCapabilities&service=WMS`, credentials);\r\n\r\n if (!xmlCapabilities)\r\n return undefined;\r\n\r\n const capabilities = new WmsCapabilities(new WMS().parse(xmlCapabilities));\r\n WmsCapabilities._capabilitiesCache.set(url, capabilities);\r\n\r\n return capabilities;\r\n }\r\n public getSubLayers(visible = true): undefined | MapSubLayerProps[] {\r\n return this.layer ? this.layer.getSubLayers(visible) : undefined;\r\n }\r\n\r\n public getSubLayersCrs(subLayerNames: string[]): Map<string, string[]>|undefined {\r\n return this.layer ? this.layer.getSubLayersCrs(subLayerNames) : undefined;\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"WmtsCapabilities.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/WmtsCapabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WmtsCapabilities.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/WmtsCapabilities.ts"],"names":[],"mappings":"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"}
@@ -353,7 +353,7 @@ export var WmtsCapability;
353
353
  WmtsCapability.TileMatrix = TileMatrix;
354
354
  class Layer {
355
355
  constructor(_json) {
356
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
356
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
357
357
  this.styles = [];
358
358
  this.tileMatrixSetLinks = [];
359
359
  if (!_json)
@@ -367,10 +367,14 @@ export var WmtsCapability;
367
367
  const lowerCorner = (_f = (_e = (_d = _json[OwsConstants.WGS84BOUNDINGBOX_XMLTAG]) === null || _d === void 0 ? void 0 : _d[OwsConstants.LOWERCORNER_XMLTAG]) === null || _e === void 0 ? void 0 : _e._text) === null || _f === void 0 ? void 0 : _f.split(" ").map((x) => +x);
368
368
  const upperCorner = (_j = (_h = (_g = _json[OwsConstants.WGS84BOUNDINGBOX_XMLTAG]) === null || _g === void 0 ? void 0 : _g[OwsConstants.UPPERCORNER_XMLTAG]) === null || _h === void 0 ? void 0 : _h._text) === null || _j === void 0 ? void 0 : _j.split(" ").map((x) => +x);
369
369
  if ((lowerCorner === null || lowerCorner === void 0 ? void 0 : lowerCorner.length) === 2 && (upperCorner === null || upperCorner === void 0 ? void 0 : upperCorner.length) === 2)
370
- this.wsg84BoundingBox = MapCartoRectangle.createFromDegrees(lowerCorner[0], lowerCorner[1], upperCorner[0], upperCorner[1]);
370
+ this.wsg84BoundingBox = MapCartoRectangle.fromDegrees(lowerCorner[0], lowerCorner[1], upperCorner[0], upperCorner[1]);
371
371
  // If we could not initialized WSG84 bounding box, attempt to initialized it from Bounding Box
372
372
  if (!this.wsg84BoundingBox && (((_l = (_k = this.boundingBox) === null || _k === void 0 ? void 0 : _k.crs) === null || _l === void 0 ? void 0 : _l.includes("EPSG:4326")) || ((_o = (_m = this.boundingBox) === null || _m === void 0 ? void 0 : _m.crs) === null || _o === void 0 ? void 0 : _o.includes("CRS:84")))) {
373
- this.wsg84BoundingBox = MapCartoRectangle.createFromDegrees((_p = this.boundingBox.range) === null || _p === void 0 ? void 0 : _p.low.x, (_q = this.boundingBox.range) === null || _q === void 0 ? void 0 : _q.low.y, (_r = this.boundingBox.range) === null || _r === void 0 ? void 0 : _r.high.x, (_s = this.boundingBox.range) === null || _s === void 0 ? void 0 : _s.high.y);
373
+ const range = this.boundingBox.range;
374
+ if (range)
375
+ this.wsg84BoundingBox = MapCartoRectangle.fromDegrees(range.low.x, range.low.y, range.high.x, range.high.y);
376
+ else
377
+ this.wsg84BoundingBox = MapCartoRectangle.createMaximum();
374
378
  }
375
379
  // Style
376
380
  if (Array.isArray(_json.Style)) {