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

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 (1232) hide show
  1. package/CHANGELOG.md +89 -1
  2. package/LICENSE.md +1 -1
  3. package/lib/cjs/AccuSnap.js +3 -3
  4. package/lib/cjs/AccuSnap.js.map +1 -1
  5. package/lib/cjs/ApproximateTerrainHeights.d.ts.map +1 -1
  6. package/lib/cjs/ApproximateTerrainHeights.js +10 -5
  7. package/lib/cjs/ApproximateTerrainHeights.js.map +1 -1
  8. package/lib/cjs/BackgroundMapGeometry.d.ts +1 -1
  9. package/lib/cjs/BackgroundMapGeometry.d.ts.map +1 -1
  10. package/lib/cjs/BackgroundMapGeometry.js +2 -2
  11. package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
  12. package/lib/cjs/BingLocation.js +2 -2
  13. package/lib/cjs/BingLocation.js.map +1 -1
  14. package/lib/cjs/CheckpointConnection.js +1 -1
  15. package/lib/cjs/CheckpointConnection.js.map +1 -1
  16. package/lib/cjs/ContextRealityModelState.js +1 -1
  17. package/lib/cjs/ContextRealityModelState.js.map +1 -1
  18. package/lib/cjs/DisplayStyleState.d.ts +10 -163
  19. package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
  20. package/lib/cjs/DisplayStyleState.js +69 -350
  21. package/lib/cjs/DisplayStyleState.js.map +1 -1
  22. package/lib/cjs/DrawingViewState.d.ts +2 -2
  23. package/lib/cjs/DrawingViewState.d.ts.map +1 -1
  24. package/lib/cjs/DrawingViewState.js +3 -3
  25. package/lib/cjs/DrawingViewState.js.map +1 -1
  26. package/lib/cjs/ElementLocateManager.d.ts +5 -0
  27. package/lib/cjs/ElementLocateManager.d.ts.map +1 -1
  28. package/lib/cjs/ElementLocateManager.js +12 -2
  29. package/lib/cjs/ElementLocateManager.js.map +1 -1
  30. package/lib/cjs/EmphasizeElements.d.ts.map +1 -1
  31. package/lib/cjs/EmphasizeElements.js +14 -4
  32. package/lib/cjs/EmphasizeElements.js.map +1 -1
  33. package/lib/cjs/EnvironmentDecorations.d.ts +39 -0
  34. package/lib/cjs/EnvironmentDecorations.d.ts.map +1 -0
  35. package/lib/cjs/EnvironmentDecorations.js +200 -0
  36. package/lib/cjs/EnvironmentDecorations.js.map +1 -0
  37. package/lib/cjs/FrontendHubAccess.d.ts +11 -7
  38. package/lib/cjs/FrontendHubAccess.d.ts.map +1 -1
  39. package/lib/cjs/FrontendHubAccess.js.map +1 -1
  40. package/lib/cjs/FrontendLoggerCategory.d.ts +2 -8
  41. package/lib/cjs/FrontendLoggerCategory.d.ts.map +1 -1
  42. package/lib/cjs/FrontendLoggerCategory.js +2 -8
  43. package/lib/cjs/FrontendLoggerCategory.js.map +1 -1
  44. package/lib/cjs/HitDetail.js +7 -7
  45. package/lib/cjs/HitDetail.js.map +1 -1
  46. package/lib/cjs/IModelApp.d.ts +30 -17
  47. package/lib/cjs/IModelApp.d.ts.map +1 -1
  48. package/lib/cjs/IModelApp.js +33 -26
  49. package/lib/cjs/IModelApp.js.map +1 -1
  50. package/lib/cjs/IModelConnection.d.ts +4 -6
  51. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  52. package/lib/cjs/IModelConnection.js +6 -11
  53. package/lib/cjs/IModelConnection.js.map +1 -1
  54. package/lib/cjs/IModeljs-css.d.ts.map +1 -1
  55. package/lib/cjs/IModeljs-css.js +8 -6
  56. package/lib/cjs/IModeljs-css.js.map +1 -1
  57. package/lib/cjs/ImageUtil.d.ts +3 -3
  58. package/lib/cjs/ImageUtil.d.ts.map +1 -1
  59. package/lib/cjs/ImageUtil.js +7 -4
  60. package/lib/cjs/ImageUtil.js.map +1 -1
  61. package/lib/cjs/LocalhostIpcApp.d.ts +2 -1
  62. package/lib/cjs/LocalhostIpcApp.d.ts.map +1 -1
  63. package/lib/cjs/LocalhostIpcApp.js +21 -7
  64. package/lib/cjs/LocalhostIpcApp.js.map +1 -1
  65. package/lib/cjs/Marker.d.ts +9 -2
  66. package/lib/cjs/Marker.d.ts.map +1 -1
  67. package/lib/cjs/Marker.js +33 -5
  68. package/lib/cjs/Marker.js.map +1 -1
  69. package/lib/cjs/ModelState.js +1 -1
  70. package/lib/cjs/ModelState.js.map +1 -1
  71. package/lib/cjs/NativeApp.d.ts +3 -38
  72. package/lib/cjs/NativeApp.d.ts.map +1 -1
  73. package/lib/cjs/NativeApp.js +4 -73
  74. package/lib/cjs/NativeApp.js.map +1 -1
  75. package/lib/cjs/NoRenderApp.d.ts +0 -1
  76. package/lib/cjs/NoRenderApp.d.ts.map +1 -1
  77. package/lib/cjs/NoRenderApp.js +0 -1
  78. package/lib/cjs/NoRenderApp.js.map +1 -1
  79. package/lib/cjs/NotificationManager.d.ts +3 -1
  80. package/lib/cjs/NotificationManager.d.ts.map +1 -1
  81. package/lib/cjs/NotificationManager.js +2 -0
  82. package/lib/cjs/NotificationManager.js.map +1 -1
  83. package/lib/cjs/RealityDataSource.d.ts +59 -29
  84. package/lib/cjs/RealityDataSource.d.ts.map +1 -1
  85. package/lib/cjs/RealityDataSource.js +247 -94
  86. package/lib/cjs/RealityDataSource.js.map +1 -1
  87. package/lib/cjs/RenderScheduleState.d.ts +2 -0
  88. package/lib/cjs/RenderScheduleState.d.ts.map +1 -1
  89. package/lib/cjs/RenderScheduleState.js +10 -5
  90. package/lib/cjs/RenderScheduleState.js.map +1 -1
  91. package/lib/cjs/SheetViewState.d.ts +2 -2
  92. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  93. package/lib/cjs/SheetViewState.js +8 -9
  94. package/lib/cjs/SheetViewState.js.map +1 -1
  95. package/lib/cjs/SpatialViewState.d.ts +10 -2
  96. package/lib/cjs/SpatialViewState.d.ts.map +1 -1
  97. package/lib/cjs/SpatialViewState.js +12 -2
  98. package/lib/cjs/SpatialViewState.js.map +1 -1
  99. package/lib/cjs/SubCategoriesCache.js +1 -1
  100. package/lib/cjs/SubCategoriesCache.js.map +1 -1
  101. package/lib/cjs/Tiles.d.ts +11 -1
  102. package/lib/cjs/Tiles.d.ts.map +1 -1
  103. package/lib/cjs/Tiles.js +7 -0
  104. package/lib/cjs/Tiles.js.map +1 -1
  105. package/lib/cjs/TwoWayViewportSync.d.ts +35 -6
  106. package/lib/cjs/TwoWayViewportSync.d.ts.map +1 -1
  107. package/lib/cjs/TwoWayViewportSync.js +51 -11
  108. package/lib/cjs/TwoWayViewportSync.js.map +1 -1
  109. package/lib/cjs/UserPreferences.d.ts +72 -0
  110. package/lib/cjs/UserPreferences.d.ts.map +1 -0
  111. package/lib/cjs/UserPreferences.js +7 -0
  112. package/lib/cjs/UserPreferences.js.map +1 -0
  113. package/lib/cjs/ViewContext.d.ts +3 -1
  114. package/lib/cjs/ViewContext.d.ts.map +1 -1
  115. package/lib/cjs/ViewContext.js +4 -0
  116. package/lib/cjs/ViewContext.js.map +1 -1
  117. package/lib/cjs/ViewCreator2d.js +3 -3
  118. package/lib/cjs/ViewCreator2d.js.map +1 -1
  119. package/lib/cjs/ViewCreator3d.d.ts +1 -1
  120. package/lib/cjs/ViewCreator3d.d.ts.map +1 -1
  121. package/lib/cjs/ViewCreator3d.js +4 -5
  122. package/lib/cjs/ViewCreator3d.js.map +1 -1
  123. package/lib/cjs/ViewManager.d.ts +6 -6
  124. package/lib/cjs/ViewManager.d.ts.map +1 -1
  125. package/lib/cjs/ViewManager.js +13 -13
  126. package/lib/cjs/ViewManager.js.map +1 -1
  127. package/lib/cjs/ViewState.d.ts +11 -5
  128. package/lib/cjs/ViewState.d.ts.map +1 -1
  129. package/lib/cjs/ViewState.js +18 -63
  130. package/lib/cjs/ViewState.js.map +1 -1
  131. package/lib/cjs/ViewingSpace.js +1 -1
  132. package/lib/cjs/ViewingSpace.js.map +1 -1
  133. package/lib/cjs/Viewport.d.ts +57 -11
  134. package/lib/cjs/Viewport.d.ts.map +1 -1
  135. package/lib/cjs/Viewport.js +55 -31
  136. package/lib/cjs/Viewport.js.map +1 -1
  137. package/lib/cjs/core-frontend.d.ts +11 -24
  138. package/lib/cjs/core-frontend.d.ts.map +1 -1
  139. package/lib/cjs/core-frontend.js +11 -24
  140. package/lib/cjs/core-frontend.js.map +1 -1
  141. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts +3 -2
  142. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts.map +1 -1
  143. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js +3 -2
  144. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  145. package/lib/cjs/quantity-formatting/BasicUnitsProvider.d.ts +5 -1
  146. package/lib/cjs/quantity-formatting/BasicUnitsProvider.d.ts.map +1 -1
  147. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js +20 -5
  148. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  149. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts +26 -3
  150. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  151. package/lib/cjs/quantity-formatting/QuantityFormatter.js +46 -7
  152. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  153. package/lib/cjs/render/FeatureSymbology.d.ts.map +1 -1
  154. package/lib/cjs/render/FeatureSymbology.js +3 -3
  155. package/lib/cjs/render/FeatureSymbology.js.map +1 -1
  156. package/lib/cjs/render/GraphicBranch.d.ts +18 -2
  157. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  158. package/lib/cjs/render/GraphicBranch.js +9 -1
  159. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  160. package/lib/cjs/render/GraphicBuilder.d.ts +7 -1
  161. package/lib/cjs/render/GraphicBuilder.d.ts.map +1 -1
  162. package/lib/cjs/render/GraphicBuilder.js.map +1 -1
  163. package/lib/cjs/render/MockRender.d.ts +3 -1
  164. package/lib/cjs/render/MockRender.d.ts.map +1 -1
  165. package/lib/cjs/render/MockRender.js.map +1 -1
  166. package/lib/cjs/render/RenderMaterial.d.ts +61 -0
  167. package/lib/cjs/render/RenderMaterial.d.ts.map +1 -0
  168. package/lib/cjs/render/RenderMaterial.js +10 -0
  169. package/lib/cjs/render/RenderMaterial.js.map +1 -0
  170. package/lib/cjs/render/RenderMemory.d.ts +21 -15
  171. package/lib/cjs/render/RenderMemory.d.ts.map +1 -1
  172. package/lib/cjs/render/RenderMemory.js +21 -15
  173. package/lib/cjs/render/RenderMemory.js.map +1 -1
  174. package/lib/cjs/render/RenderSystem.d.ts +44 -7
  175. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  176. package/lib/cjs/render/RenderSystem.js +32 -9
  177. package/lib/cjs/render/RenderSystem.js.map +1 -1
  178. package/lib/cjs/render/RenderTarget.d.ts +10 -2
  179. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  180. package/lib/cjs/render/RenderTarget.js +2 -1
  181. package/lib/cjs/render/RenderTarget.js.map +1 -1
  182. package/lib/cjs/render/RenderTexture.d.ts +2 -17
  183. package/lib/cjs/render/RenderTexture.d.ts.map +1 -1
  184. package/lib/cjs/render/RenderTexture.js +0 -17
  185. package/lib/cjs/render/RenderTexture.js.map +1 -1
  186. package/lib/cjs/render/primitives/EdgeParams.d.ts +84 -0
  187. package/lib/cjs/render/primitives/EdgeParams.d.ts.map +1 -0
  188. package/lib/cjs/render/primitives/EdgeParams.js +220 -0
  189. package/lib/cjs/render/primitives/EdgeParams.js.map +1 -0
  190. package/lib/cjs/render/primitives/PointStringParams.d.ts +16 -0
  191. package/lib/cjs/render/primitives/PointStringParams.d.ts.map +1 -0
  192. package/lib/cjs/render/primitives/PointStringParams.js +43 -0
  193. package/lib/cjs/render/primitives/PointStringParams.js.map +1 -0
  194. package/lib/cjs/render/primitives/PolylineParams.d.ts +44 -0
  195. package/lib/cjs/render/primitives/PolylineParams.d.ts.map +1 -0
  196. package/lib/cjs/render/primitives/PolylineParams.js +205 -0
  197. package/lib/cjs/render/primitives/PolylineParams.js.map +1 -0
  198. package/lib/cjs/render/primitives/Primitives.d.ts +1 -1
  199. package/lib/cjs/render/primitives/Primitives.d.ts.map +1 -1
  200. package/lib/cjs/render/primitives/Primitives.js.map +1 -1
  201. package/lib/cjs/render/primitives/SurfaceParams.d.ts +46 -0
  202. package/lib/cjs/render/primitives/SurfaceParams.d.ts.map +1 -0
  203. package/lib/cjs/render/primitives/SurfaceParams.js +42 -0
  204. package/lib/cjs/render/primitives/SurfaceParams.js.map +1 -0
  205. package/lib/cjs/render/primitives/VertexTable.d.ts +4 -123
  206. package/lib/cjs/render/primitives/VertexTable.d.ts.map +1 -1
  207. package/lib/cjs/render/primitives/VertexTable.js +16 -352
  208. package/lib/cjs/render/primitives/VertexTable.js.map +1 -1
  209. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts +2 -0
  210. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  211. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js +2 -1
  212. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  213. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  214. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js +1 -0
  215. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  216. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts +2 -2
  217. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  218. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js +3 -3
  219. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  220. package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.d.ts +1 -1
  221. package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.js +1 -1
  222. package/lib/cjs/render/primitives/mesh/TerrainMeshPrimitive.js.map +1 -1
  223. package/lib/cjs/render/webgl/AttributeMap.js +5 -5
  224. package/lib/cjs/render/webgl/BackgroundMapDrape.js +1 -1
  225. package/lib/cjs/render/webgl/BackgroundMapDrape.js.map +1 -1
  226. package/lib/cjs/render/webgl/BranchUniforms.d.ts.map +1 -1
  227. package/lib/cjs/render/webgl/BranchUniforms.js +8 -5
  228. package/lib/cjs/render/webgl/BranchUniforms.js.map +1 -1
  229. package/lib/cjs/render/webgl/CachedGeometry.d.ts +16 -11
  230. package/lib/cjs/render/webgl/CachedGeometry.d.ts.map +1 -1
  231. package/lib/cjs/render/webgl/CachedGeometry.js +26 -23
  232. package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
  233. package/lib/cjs/render/webgl/DrawCommand.d.ts +2 -3
  234. package/lib/cjs/render/webgl/DrawCommand.d.ts.map +1 -1
  235. package/lib/cjs/render/webgl/DrawCommand.js +6 -4
  236. package/lib/cjs/render/webgl/DrawCommand.js.map +1 -1
  237. package/lib/cjs/render/webgl/EdgeGeometry.d.ts +73 -0
  238. package/lib/cjs/render/webgl/EdgeGeometry.d.ts.map +1 -0
  239. package/lib/cjs/render/webgl/EdgeGeometry.js +141 -0
  240. package/lib/cjs/render/webgl/EdgeGeometry.js.map +1 -0
  241. package/lib/cjs/render/webgl/FeatureOverrides.d.ts +2 -0
  242. package/lib/cjs/render/webgl/FeatureOverrides.d.ts.map +1 -1
  243. package/lib/cjs/render/webgl/FeatureOverrides.js +11 -3
  244. package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
  245. package/lib/cjs/render/webgl/FloatRGBA.d.ts.map +1 -1
  246. package/lib/cjs/render/webgl/FloatRGBA.js +13 -11
  247. package/lib/cjs/render/webgl/FloatRGBA.js.map +1 -1
  248. package/lib/cjs/render/webgl/Graphic.d.ts +13 -0
  249. package/lib/cjs/render/webgl/Graphic.d.ts.map +1 -1
  250. package/lib/cjs/render/webgl/Graphic.js +41 -3
  251. package/lib/cjs/render/webgl/Graphic.js.map +1 -1
  252. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts +51 -0
  253. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -0
  254. package/lib/cjs/render/webgl/IndexedEdgeGeometry.js +90 -0
  255. package/lib/cjs/render/webgl/IndexedEdgeGeometry.js.map +1 -0
  256. package/lib/cjs/render/webgl/InstancedGeometry.d.ts +6 -5
  257. package/lib/cjs/render/webgl/InstancedGeometry.d.ts.map +1 -1
  258. package/lib/cjs/render/webgl/InstancedGeometry.js +2 -1
  259. package/lib/cjs/render/webgl/InstancedGeometry.js.map +1 -1
  260. package/lib/cjs/render/webgl/Material.d.ts +1 -1
  261. package/lib/cjs/render/webgl/Material.d.ts.map +1 -1
  262. package/lib/cjs/render/webgl/Material.js +2 -0
  263. package/lib/cjs/render/webgl/Material.js.map +1 -1
  264. package/lib/cjs/render/webgl/Mesh.d.ts +8 -162
  265. package/lib/cjs/render/webgl/Mesh.d.ts.map +1 -1
  266. package/lib/cjs/render/webgl/Mesh.js +18 -458
  267. package/lib/cjs/render/webgl/Mesh.js.map +1 -1
  268. package/lib/cjs/render/webgl/MeshData.d.ts +38 -0
  269. package/lib/cjs/render/webgl/MeshData.d.ts.map +1 -0
  270. package/lib/cjs/render/webgl/MeshData.js +66 -0
  271. package/lib/cjs/render/webgl/MeshData.js.map +1 -0
  272. package/lib/cjs/render/webgl/MeshGeometry.d.ts +38 -0
  273. package/lib/cjs/render/webgl/MeshGeometry.d.ts.map +1 -0
  274. package/lib/cjs/render/webgl/MeshGeometry.js +59 -0
  275. package/lib/cjs/render/webgl/MeshGeometry.js.map +1 -0
  276. package/lib/cjs/render/webgl/PlanarClassifier.d.ts.map +1 -1
  277. package/lib/cjs/render/webgl/PlanarClassifier.js +8 -4
  278. package/lib/cjs/render/webgl/PlanarClassifier.js.map +1 -1
  279. package/lib/cjs/render/webgl/PlanarGrid.d.ts +2 -3
  280. package/lib/cjs/render/webgl/PlanarGrid.d.ts.map +1 -1
  281. package/lib/cjs/render/webgl/PlanarGrid.js +3 -3
  282. package/lib/cjs/render/webgl/PlanarGrid.js.map +1 -1
  283. package/lib/cjs/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  284. package/lib/cjs/render/webgl/PlanarTextureProjection.js +1 -0
  285. package/lib/cjs/render/webgl/PlanarTextureProjection.js.map +1 -1
  286. package/lib/cjs/render/webgl/PointCloud.d.ts +2 -2
  287. package/lib/cjs/render/webgl/PointCloud.d.ts.map +1 -1
  288. package/lib/cjs/render/webgl/PointCloud.js +2 -2
  289. package/lib/cjs/render/webgl/PointCloud.js.map +1 -1
  290. package/lib/cjs/render/webgl/PointString.d.ts +3 -3
  291. package/lib/cjs/render/webgl/PointString.d.ts.map +1 -1
  292. package/lib/cjs/render/webgl/PointString.js +1 -1
  293. package/lib/cjs/render/webgl/PointString.js.map +1 -1
  294. package/lib/cjs/render/webgl/Polyline.d.ts +3 -3
  295. package/lib/cjs/render/webgl/Polyline.d.ts.map +1 -1
  296. package/lib/cjs/render/webgl/Polyline.js +6 -6
  297. package/lib/cjs/render/webgl/Polyline.js.map +1 -1
  298. package/lib/cjs/render/webgl/Primitive.d.ts +2 -2
  299. package/lib/cjs/render/webgl/Primitive.d.ts.map +1 -1
  300. package/lib/cjs/render/webgl/Primitive.js +5 -5
  301. package/lib/cjs/render/webgl/Primitive.js.map +1 -1
  302. package/lib/cjs/render/webgl/RealityMesh.d.ts +2 -2
  303. package/lib/cjs/render/webgl/RealityMesh.d.ts.map +1 -1
  304. package/lib/cjs/render/webgl/RealityMesh.js +9 -9
  305. package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
  306. package/lib/cjs/render/webgl/RenderCommands.d.ts +6 -2
  307. package/lib/cjs/render/webgl/RenderCommands.d.ts.map +1 -1
  308. package/lib/cjs/render/webgl/RenderCommands.js +81 -48
  309. package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
  310. package/lib/cjs/render/webgl/RenderFlags.d.ts +48 -1
  311. package/lib/cjs/render/webgl/RenderFlags.d.ts.map +1 -1
  312. package/lib/cjs/render/webgl/RenderFlags.js +64 -2
  313. package/lib/cjs/render/webgl/RenderFlags.js.map +1 -1
  314. package/lib/cjs/render/webgl/SceneCompositor.js +10 -9
  315. package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
  316. package/lib/cjs/render/webgl/ScreenSpaceEffect.js +1 -1
  317. package/lib/cjs/render/webgl/ShaderBuilder.d.ts +23 -20
  318. package/lib/cjs/render/webgl/ShaderBuilder.d.ts.map +1 -1
  319. package/lib/cjs/render/webgl/ShaderBuilder.js +38 -32
  320. package/lib/cjs/render/webgl/ShaderBuilder.js.map +1 -1
  321. package/lib/cjs/render/webgl/ShaderProgram.d.ts +1 -1
  322. package/lib/cjs/render/webgl/ShaderProgram.d.ts.map +1 -1
  323. package/lib/cjs/render/webgl/ShaderProgram.js +4 -4
  324. package/lib/cjs/render/webgl/ShaderProgram.js.map +1 -1
  325. package/lib/cjs/render/webgl/SolarShadowMap.d.ts.map +1 -1
  326. package/lib/cjs/render/webgl/SolarShadowMap.js +4 -3
  327. package/lib/cjs/render/webgl/SolarShadowMap.js.map +1 -1
  328. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts +54 -0
  329. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts.map +1 -0
  330. package/lib/cjs/render/webgl/SurfaceGeometry.js +248 -0
  331. package/lib/cjs/render/webgl/SurfaceGeometry.js.map +1 -0
  332. package/lib/cjs/render/webgl/System.d.ts +13 -10
  333. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  334. package/lib/cjs/render/webgl/System.js +75 -21
  335. package/lib/cjs/render/webgl/System.js.map +1 -1
  336. package/lib/cjs/render/webgl/Target.d.ts +13 -1
  337. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  338. package/lib/cjs/render/webgl/Target.js +88 -2
  339. package/lib/cjs/render/webgl/Target.js.map +1 -1
  340. package/lib/cjs/render/webgl/Technique.d.ts.map +1 -1
  341. package/lib/cjs/render/webgl/Technique.js +112 -119
  342. package/lib/cjs/render/webgl/Technique.js.map +1 -1
  343. package/lib/cjs/render/webgl/TechniqueFlags.d.ts +7 -1
  344. package/lib/cjs/render/webgl/TechniqueFlags.d.ts.map +1 -1
  345. package/lib/cjs/render/webgl/TechniqueFlags.js +10 -1
  346. package/lib/cjs/render/webgl/TechniqueFlags.js.map +1 -1
  347. package/lib/cjs/render/webgl/TechniqueId.d.ts +29 -28
  348. package/lib/cjs/render/webgl/TechniqueId.d.ts.map +1 -1
  349. package/lib/cjs/render/webgl/TechniqueId.js +7 -7
  350. package/lib/cjs/render/webgl/TechniqueId.js.map +1 -1
  351. package/lib/cjs/render/webgl/Texture.d.ts +15 -12
  352. package/lib/cjs/render/webgl/Texture.d.ts.map +1 -1
  353. package/lib/cjs/render/webgl/Texture.js +26 -23
  354. package/lib/cjs/render/webgl/Texture.js.map +1 -1
  355. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.d.ts.map +1 -1
  356. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js +83 -18
  357. package/lib/cjs/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  358. package/lib/cjs/render/webgl/glsl/Animation.js +1 -1
  359. package/lib/cjs/render/webgl/glsl/Blur.js +1 -1
  360. package/lib/cjs/render/webgl/glsl/ClearPickAndColor.js +2 -2
  361. package/lib/cjs/render/webgl/glsl/ClearTranslucent.js +2 -2
  362. package/lib/cjs/render/webgl/glsl/Color.js +1 -1
  363. package/lib/cjs/render/webgl/glsl/Combine3Textures.js +1 -1
  364. package/lib/cjs/render/webgl/glsl/CombineTextures.js +1 -1
  365. package/lib/cjs/render/webgl/glsl/Composite.js +1 -1
  366. package/lib/cjs/render/webgl/glsl/CopyColor.d.ts.map +1 -1
  367. package/lib/cjs/render/webgl/glsl/CopyColor.js +17 -2
  368. package/lib/cjs/render/webgl/glsl/CopyColor.js.map +1 -1
  369. package/lib/cjs/render/webgl/glsl/CopyPickBuffers.js +2 -2
  370. package/lib/cjs/render/webgl/glsl/CopyStencil.d.ts.map +1 -1
  371. package/lib/cjs/render/webgl/glsl/CopyStencil.js +10 -13
  372. package/lib/cjs/render/webgl/glsl/CopyStencil.js.map +1 -1
  373. package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js +2 -2
  374. package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  375. package/lib/cjs/render/webgl/glsl/Edge.d.ts +2 -1
  376. package/lib/cjs/render/webgl/glsl/Edge.d.ts.map +1 -1
  377. package/lib/cjs/render/webgl/glsl/Edge.js +132 -14
  378. package/lib/cjs/render/webgl/glsl/Edge.js.map +1 -1
  379. package/lib/cjs/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
  380. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js +43 -21
  381. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  382. package/lib/cjs/render/webgl/glsl/Fragment.d.ts.map +1 -1
  383. package/lib/cjs/render/webgl/glsl/Fragment.js +19 -11
  384. package/lib/cjs/render/webgl/glsl/Fragment.js.map +1 -1
  385. package/lib/cjs/render/webgl/glsl/LogarithmicDepthBuffer.js +1 -1
  386. package/lib/cjs/render/webgl/glsl/LookupTable.d.ts +4 -2
  387. package/lib/cjs/render/webgl/glsl/LookupTable.d.ts.map +1 -1
  388. package/lib/cjs/render/webgl/glsl/LookupTable.js +7 -3
  389. package/lib/cjs/render/webgl/glsl/LookupTable.js.map +1 -1
  390. package/lib/cjs/render/webgl/glsl/PlanarClassification.d.ts.map +1 -1
  391. package/lib/cjs/render/webgl/glsl/PlanarClassification.js +13 -4
  392. package/lib/cjs/render/webgl/glsl/PlanarClassification.js.map +1 -1
  393. package/lib/cjs/render/webgl/glsl/PlanarGrid.js +2 -2
  394. package/lib/cjs/render/webgl/glsl/PlanarGrid.js.map +1 -1
  395. package/lib/cjs/render/webgl/glsl/PointCloud.js +2 -2
  396. package/lib/cjs/render/webgl/glsl/PointCloud.js.map +1 -1
  397. package/lib/cjs/render/webgl/glsl/PointString.js +1 -1
  398. package/lib/cjs/render/webgl/glsl/PointString.js.map +1 -1
  399. package/lib/cjs/render/webgl/glsl/Polyline.js +1 -1
  400. package/lib/cjs/render/webgl/glsl/Polyline.js.map +1 -1
  401. package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  402. package/lib/cjs/render/webgl/glsl/RealityMesh.js +9 -6
  403. package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
  404. package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js +2 -2
  405. package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
  406. package/lib/cjs/render/webgl/glsl/SkyBox.js +2 -2
  407. package/lib/cjs/render/webgl/glsl/SkyBox.js.map +1 -1
  408. package/lib/cjs/render/webgl/glsl/SkySphere.js +2 -2
  409. package/lib/cjs/render/webgl/glsl/Surface.d.ts.map +1 -1
  410. package/lib/cjs/render/webgl/glsl/Surface.js +41 -16
  411. package/lib/cjs/render/webgl/glsl/Surface.js.map +1 -1
  412. package/lib/cjs/render/webgl/glsl/Translucency.js +2 -2
  413. package/lib/cjs/render/webgl/glsl/Vertex.js +2 -2
  414. package/lib/cjs/render/webgl/glsl/Vertex.js.map +1 -1
  415. package/lib/cjs/render/webgl/glsl/ViewportQuad.js +1 -1
  416. package/lib/cjs/render/webgl/glsl/ViewportQuad.js.map +1 -1
  417. package/lib/cjs/render/webgl/glsl/Wiremesh.d.ts +9 -0
  418. package/lib/cjs/render/webgl/glsl/Wiremesh.d.ts.map +1 -0
  419. package/lib/cjs/render/webgl/glsl/Wiremesh.js +40 -0
  420. package/lib/cjs/render/webgl/glsl/Wiremesh.js.map +1 -0
  421. package/lib/cjs/render-primitives.d.ts +5 -1
  422. package/lib/cjs/render-primitives.d.ts.map +1 -1
  423. package/lib/cjs/render-primitives.js +5 -1
  424. package/lib/cjs/render-primitives.js.map +1 -1
  425. package/lib/cjs/request/Request.d.ts +167 -0
  426. package/lib/cjs/request/Request.d.ts.map +1 -0
  427. package/lib/cjs/request/Request.js +315 -0
  428. package/lib/cjs/request/Request.js.map +1 -0
  429. package/lib/cjs/tile/B3dmReader.d.ts +2 -1
  430. package/lib/cjs/tile/B3dmReader.d.ts.map +1 -1
  431. package/lib/cjs/tile/B3dmReader.js +11 -7
  432. package/lib/cjs/tile/B3dmReader.js.map +1 -1
  433. package/lib/cjs/tile/CesiumAssetProvider.d.ts +14 -0
  434. package/lib/cjs/tile/CesiumAssetProvider.d.ts.map +1 -0
  435. package/lib/cjs/tile/CesiumAssetProvider.js +35 -0
  436. package/lib/cjs/tile/CesiumAssetProvider.js.map +1 -0
  437. package/lib/cjs/tile/ContextShareProvider.d.ts +22 -0
  438. package/lib/cjs/tile/ContextShareProvider.d.ts.map +1 -0
  439. package/lib/cjs/tile/ContextShareProvider.js +129 -0
  440. package/lib/cjs/tile/ContextShareProvider.js.map +1 -0
  441. package/lib/cjs/tile/DynamicIModelTile.js +9 -3
  442. package/lib/cjs/tile/DynamicIModelTile.js.map +1 -1
  443. package/lib/cjs/tile/GltfReader.d.ts +594 -55
  444. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  445. package/lib/cjs/tile/GltfReader.js +703 -264
  446. package/lib/cjs/tile/GltfReader.js.map +1 -1
  447. package/lib/cjs/tile/I3dmReader.d.ts +2 -1
  448. package/lib/cjs/tile/I3dmReader.d.ts.map +1 -1
  449. package/lib/cjs/tile/I3dmReader.js +10 -6
  450. package/lib/cjs/tile/I3dmReader.js.map +1 -1
  451. package/lib/cjs/tile/IModelTile.d.ts.map +1 -1
  452. package/lib/cjs/tile/IModelTile.js +14 -7
  453. package/lib/cjs/tile/IModelTile.js.map +1 -1
  454. package/lib/cjs/tile/IModelTileTree.d.ts +8 -0
  455. package/lib/cjs/tile/IModelTileTree.d.ts.map +1 -1
  456. package/lib/cjs/tile/IModelTileTree.js +36 -1
  457. package/lib/cjs/tile/IModelTileTree.js.map +1 -1
  458. package/lib/cjs/tile/ImdlReader.d.ts +365 -10
  459. package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
  460. package/lib/cjs/tile/ImdlReader.js +202 -68
  461. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  462. package/lib/cjs/tile/OrbitGtTileTree.d.ts.map +1 -1
  463. package/lib/cjs/tile/OrbitGtTileTree.js +8 -5
  464. package/lib/cjs/tile/OrbitGtTileTree.js.map +1 -1
  465. package/lib/cjs/tile/PrimaryTileTree.d.ts +14 -5
  466. package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
  467. package/lib/cjs/tile/PrimaryTileTree.js +69 -14
  468. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  469. package/lib/cjs/tile/RealityModelTileTree.d.ts +3 -55
  470. package/lib/cjs/tile/RealityModelTileTree.d.ts.map +1 -1
  471. package/lib/cjs/tile/RealityModelTileTree.js +57 -232
  472. package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
  473. package/lib/cjs/tile/RealityTileLoader.d.ts +1 -0
  474. package/lib/cjs/tile/RealityTileLoader.d.ts.map +1 -1
  475. package/lib/cjs/tile/RealityTileLoader.js +4 -3
  476. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  477. package/lib/cjs/tile/Tile.d.ts.map +1 -1
  478. package/lib/cjs/tile/Tile.js +5 -1
  479. package/lib/cjs/tile/Tile.js.map +1 -1
  480. package/lib/cjs/tile/TileAdmin.d.ts +37 -4
  481. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  482. package/lib/cjs/tile/TileAdmin.js +18 -12
  483. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  484. package/lib/cjs/tile/TileDrawArgs.d.ts +11 -0
  485. package/lib/cjs/tile/TileDrawArgs.d.ts.map +1 -1
  486. package/lib/cjs/tile/TileDrawArgs.js +6 -1
  487. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  488. package/lib/cjs/tile/TileTreeReference.d.ts +2 -0
  489. package/lib/cjs/tile/TileTreeReference.d.ts.map +1 -1
  490. package/lib/cjs/tile/TileTreeReference.js +5 -0
  491. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  492. package/lib/cjs/tile/internal.d.ts +4 -1
  493. package/lib/cjs/tile/internal.d.ts.map +1 -1
  494. package/lib/cjs/tile/internal.js +4 -1
  495. package/lib/cjs/tile/internal.js.map +1 -1
  496. package/lib/cjs/tile/map/ArcGISTileMap.d.ts +22 -0
  497. package/lib/cjs/tile/map/ArcGISTileMap.d.ts.map +1 -0
  498. package/lib/cjs/tile/map/ArcGISTileMap.js +177 -0
  499. package/lib/cjs/tile/map/ArcGISTileMap.js.map +1 -0
  500. package/lib/cjs/tile/map/ArcGisTokenGenerator.js +3 -3
  501. package/lib/cjs/tile/map/ArcGisTokenGenerator.js.map +1 -1
  502. package/lib/cjs/tile/map/ArcGisUtilities.d.ts +1 -1
  503. package/lib/cjs/tile/map/ArcGisUtilities.d.ts.map +1 -1
  504. package/lib/cjs/tile/map/ArcGisUtilities.js +18 -10
  505. package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
  506. package/lib/cjs/tile/map/BingElevation.js +4 -4
  507. package/lib/cjs/tile/map/BingElevation.js.map +1 -1
  508. package/lib/cjs/tile/map/CesiumTerrainProvider.d.ts.map +1 -1
  509. package/lib/cjs/tile/map/CesiumTerrainProvider.js +27 -15
  510. package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
  511. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -2
  512. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  513. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +23 -44
  514. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  515. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js +3 -3
  516. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  517. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +8 -0
  518. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  519. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +51 -10
  520. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  521. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +6 -1
  522. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
  523. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +63 -21
  524. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  525. package/lib/cjs/tile/map/ImageryTileTree.d.ts +4 -4
  526. package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
  527. package/lib/cjs/tile/map/ImageryTileTree.js +20 -24
  528. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  529. package/lib/cjs/tile/map/MapCartoRectangle.js +1 -1
  530. package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
  531. package/lib/cjs/tile/map/MapLayerAuthentication.d.ts +20 -0
  532. package/lib/cjs/tile/map/MapLayerAuthentication.d.ts.map +1 -0
  533. package/lib/cjs/tile/map/MapLayerAuthentication.js +18 -0
  534. package/lib/cjs/tile/map/MapLayerAuthentication.js.map +1 -0
  535. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts +6 -3
  536. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  537. package/lib/cjs/tile/map/MapLayerFormatRegistry.js +3 -1
  538. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  539. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts +2 -2
  540. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  541. package/lib/cjs/tile/map/MapLayerImageryFormats.js +21 -8
  542. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  543. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +18 -6
  544. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  545. package/lib/cjs/tile/map/MapLayerImageryProvider.js +47 -14
  546. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  547. package/lib/cjs/tile/map/MapLayerSources.d.ts +3 -11
  548. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  549. package/lib/cjs/tile/map/MapLayerSources.js +5 -34
  550. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  551. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  552. package/lib/cjs/tile/map/MapTile.js +4 -3
  553. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  554. package/lib/cjs/tile/map/MapTileLoader.js +2 -2
  555. package/lib/cjs/tile/map/MapTileLoader.js.map +1 -1
  556. package/lib/cjs/tile/map/MapTileTree.d.ts +1 -1
  557. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  558. package/lib/cjs/tile/map/MapTileTree.js +30 -21
  559. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  560. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts +3 -3
  561. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  562. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +4 -6
  563. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  564. package/lib/cjs/tile/map/MapTilingScheme.d.ts +7 -2
  565. package/lib/cjs/tile/map/MapTilingScheme.d.ts.map +1 -1
  566. package/lib/cjs/tile/map/MapTilingScheme.js +21 -8
  567. package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
  568. package/lib/cjs/tile/map/QuadId.d.ts +1 -0
  569. package/lib/cjs/tile/map/QuadId.d.ts.map +1 -1
  570. package/lib/cjs/tile/map/QuadId.js +2 -1
  571. package/lib/cjs/tile/map/QuadId.js.map +1 -1
  572. package/lib/cjs/tile/map/TerrainMeshProvider.d.ts +1 -1
  573. package/lib/cjs/tile/map/TerrainMeshProvider.js.map +1 -1
  574. package/lib/cjs/tile/map/WmsCapabilities.d.ts +8 -1
  575. package/lib/cjs/tile/map/WmsCapabilities.d.ts.map +1 -1
  576. package/lib/cjs/tile/map/WmsCapabilities.js +39 -5
  577. package/lib/cjs/tile/map/WmsCapabilities.js.map +1 -1
  578. package/lib/cjs/tile/map/WmtsCapabilities.d.ts +11 -1
  579. package/lib/cjs/tile/map/WmtsCapabilities.d.ts.map +1 -1
  580. package/lib/cjs/tile/map/WmtsCapabilities.js +23 -9
  581. package/lib/cjs/tile/map/WmtsCapabilities.js.map +1 -1
  582. package/lib/cjs/tools/EditManipulator.d.ts.map +1 -1
  583. package/lib/cjs/tools/EditManipulator.js +1 -1
  584. package/lib/cjs/tools/EditManipulator.js.map +1 -1
  585. package/lib/cjs/tools/ElementSetTool.js +2 -2
  586. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  587. package/lib/cjs/tools/PrimitiveTool.d.ts +4 -4
  588. package/lib/cjs/tools/PrimitiveTool.d.ts.map +1 -1
  589. package/lib/cjs/tools/PrimitiveTool.js +2 -2
  590. package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
  591. package/lib/cjs/tools/Tool.d.ts +29 -1
  592. package/lib/cjs/tools/Tool.d.ts.map +1 -1
  593. package/lib/cjs/tools/Tool.js +66 -0
  594. package/lib/cjs/tools/Tool.js.map +1 -1
  595. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  596. package/lib/cjs/tools/ToolAdmin.js +20 -10
  597. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  598. package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
  599. package/lib/cjs/tools/ViewTool.js +3 -11
  600. package/lib/cjs/tools/ViewTool.js.map +1 -1
  601. package/lib/cjs/webgl.d.ts +5 -0
  602. package/lib/cjs/webgl.d.ts.map +1 -1
  603. package/lib/cjs/webgl.js +5 -0
  604. package/lib/cjs/webgl.js.map +1 -1
  605. package/lib/esm/AccuSnap.js +3 -3
  606. package/lib/esm/AccuSnap.js.map +1 -1
  607. package/lib/esm/ApproximateTerrainHeights.d.ts.map +1 -1
  608. package/lib/esm/ApproximateTerrainHeights.js +10 -5
  609. package/lib/esm/ApproximateTerrainHeights.js.map +1 -1
  610. package/lib/esm/BackgroundMapGeometry.d.ts +1 -1
  611. package/lib/esm/BackgroundMapGeometry.d.ts.map +1 -1
  612. package/lib/esm/BackgroundMapGeometry.js +2 -2
  613. package/lib/esm/BackgroundMapGeometry.js.map +1 -1
  614. package/lib/esm/BingLocation.js +1 -1
  615. package/lib/esm/BingLocation.js.map +1 -1
  616. package/lib/esm/CheckpointConnection.js +1 -1
  617. package/lib/esm/CheckpointConnection.js.map +1 -1
  618. package/lib/esm/ContextRealityModelState.js +1 -1
  619. package/lib/esm/ContextRealityModelState.js.map +1 -1
  620. package/lib/esm/DisplayStyleState.d.ts +10 -163
  621. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  622. package/lib/esm/DisplayStyleState.js +70 -346
  623. package/lib/esm/DisplayStyleState.js.map +1 -1
  624. package/lib/esm/DrawingViewState.d.ts +2 -2
  625. package/lib/esm/DrawingViewState.d.ts.map +1 -1
  626. package/lib/esm/DrawingViewState.js +3 -3
  627. package/lib/esm/DrawingViewState.js.map +1 -1
  628. package/lib/esm/ElementLocateManager.d.ts +5 -0
  629. package/lib/esm/ElementLocateManager.d.ts.map +1 -1
  630. package/lib/esm/ElementLocateManager.js +12 -2
  631. package/lib/esm/ElementLocateManager.js.map +1 -1
  632. package/lib/esm/EmphasizeElements.d.ts.map +1 -1
  633. package/lib/esm/EmphasizeElements.js +14 -4
  634. package/lib/esm/EmphasizeElements.js.map +1 -1
  635. package/lib/esm/EnvironmentDecorations.d.ts +39 -0
  636. package/lib/esm/EnvironmentDecorations.d.ts.map +1 -0
  637. package/lib/esm/EnvironmentDecorations.js +196 -0
  638. package/lib/esm/EnvironmentDecorations.js.map +1 -0
  639. package/lib/esm/FrontendHubAccess.d.ts +11 -7
  640. package/lib/esm/FrontendHubAccess.d.ts.map +1 -1
  641. package/lib/esm/FrontendHubAccess.js.map +1 -1
  642. package/lib/esm/FrontendLoggerCategory.d.ts +2 -8
  643. package/lib/esm/FrontendLoggerCategory.d.ts.map +1 -1
  644. package/lib/esm/FrontendLoggerCategory.js +2 -8
  645. package/lib/esm/FrontendLoggerCategory.js.map +1 -1
  646. package/lib/esm/HitDetail.js +7 -7
  647. package/lib/esm/HitDetail.js.map +1 -1
  648. package/lib/esm/IModelApp.d.ts +30 -17
  649. package/lib/esm/IModelApp.d.ts.map +1 -1
  650. package/lib/esm/IModelApp.js +32 -25
  651. package/lib/esm/IModelApp.js.map +1 -1
  652. package/lib/esm/IModelConnection.d.ts +4 -6
  653. package/lib/esm/IModelConnection.d.ts.map +1 -1
  654. package/lib/esm/IModelConnection.js +6 -11
  655. package/lib/esm/IModelConnection.js.map +1 -1
  656. package/lib/esm/IModeljs-css.d.ts.map +1 -1
  657. package/lib/esm/IModeljs-css.js +8 -6
  658. package/lib/esm/IModeljs-css.js.map +1 -1
  659. package/lib/esm/ImageUtil.d.ts +3 -3
  660. package/lib/esm/ImageUtil.d.ts.map +1 -1
  661. package/lib/esm/ImageUtil.js +7 -4
  662. package/lib/esm/ImageUtil.js.map +1 -1
  663. package/lib/esm/LocalhostIpcApp.d.ts +2 -1
  664. package/lib/esm/LocalhostIpcApp.d.ts.map +1 -1
  665. package/lib/esm/LocalhostIpcApp.js +22 -8
  666. package/lib/esm/LocalhostIpcApp.js.map +1 -1
  667. package/lib/esm/Marker.d.ts +9 -2
  668. package/lib/esm/Marker.d.ts.map +1 -1
  669. package/lib/esm/Marker.js +34 -6
  670. package/lib/esm/Marker.js.map +1 -1
  671. package/lib/esm/ModelState.js +1 -1
  672. package/lib/esm/ModelState.js.map +1 -1
  673. package/lib/esm/NativeApp.d.ts +3 -38
  674. package/lib/esm/NativeApp.d.ts.map +1 -1
  675. package/lib/esm/NativeApp.js +1 -69
  676. package/lib/esm/NativeApp.js.map +1 -1
  677. package/lib/esm/NoRenderApp.d.ts +0 -1
  678. package/lib/esm/NoRenderApp.d.ts.map +1 -1
  679. package/lib/esm/NoRenderApp.js +0 -1
  680. package/lib/esm/NoRenderApp.js.map +1 -1
  681. package/lib/esm/NotificationManager.d.ts +3 -1
  682. package/lib/esm/NotificationManager.d.ts.map +1 -1
  683. package/lib/esm/NotificationManager.js +2 -0
  684. package/lib/esm/NotificationManager.js.map +1 -1
  685. package/lib/esm/RealityDataSource.d.ts +59 -29
  686. package/lib/esm/RealityDataSource.d.ts.map +1 -1
  687. package/lib/esm/RealityDataSource.js +247 -92
  688. package/lib/esm/RealityDataSource.js.map +1 -1
  689. package/lib/esm/RenderScheduleState.d.ts +2 -0
  690. package/lib/esm/RenderScheduleState.d.ts.map +1 -1
  691. package/lib/esm/RenderScheduleState.js +8 -4
  692. package/lib/esm/RenderScheduleState.js.map +1 -1
  693. package/lib/esm/SheetViewState.d.ts +2 -2
  694. package/lib/esm/SheetViewState.d.ts.map +1 -1
  695. package/lib/esm/SheetViewState.js +8 -9
  696. package/lib/esm/SheetViewState.js.map +1 -1
  697. package/lib/esm/SpatialViewState.d.ts +10 -2
  698. package/lib/esm/SpatialViewState.d.ts.map +1 -1
  699. package/lib/esm/SpatialViewState.js +12 -2
  700. package/lib/esm/SpatialViewState.js.map +1 -1
  701. package/lib/esm/SubCategoriesCache.js +1 -1
  702. package/lib/esm/SubCategoriesCache.js.map +1 -1
  703. package/lib/esm/Tiles.d.ts +11 -1
  704. package/lib/esm/Tiles.d.ts.map +1 -1
  705. package/lib/esm/Tiles.js +7 -0
  706. package/lib/esm/Tiles.js.map +1 -1
  707. package/lib/esm/TwoWayViewportSync.d.ts +35 -6
  708. package/lib/esm/TwoWayViewportSync.d.ts.map +1 -1
  709. package/lib/esm/TwoWayViewportSync.js +49 -10
  710. package/lib/esm/TwoWayViewportSync.js.map +1 -1
  711. package/lib/esm/UserPreferences.d.ts +72 -0
  712. package/lib/esm/UserPreferences.d.ts.map +1 -0
  713. package/lib/esm/UserPreferences.js +6 -0
  714. package/lib/esm/UserPreferences.js.map +1 -0
  715. package/lib/esm/ViewContext.d.ts +3 -1
  716. package/lib/esm/ViewContext.d.ts.map +1 -1
  717. package/lib/esm/ViewContext.js +4 -0
  718. package/lib/esm/ViewContext.js.map +1 -1
  719. package/lib/esm/ViewCreator2d.js +3 -3
  720. package/lib/esm/ViewCreator2d.js.map +1 -1
  721. package/lib/esm/ViewCreator3d.d.ts +1 -1
  722. package/lib/esm/ViewCreator3d.d.ts.map +1 -1
  723. package/lib/esm/ViewCreator3d.js +5 -6
  724. package/lib/esm/ViewCreator3d.js.map +1 -1
  725. package/lib/esm/ViewManager.d.ts +6 -6
  726. package/lib/esm/ViewManager.d.ts.map +1 -1
  727. package/lib/esm/ViewManager.js +13 -13
  728. package/lib/esm/ViewManager.js.map +1 -1
  729. package/lib/esm/ViewState.d.ts +11 -5
  730. package/lib/esm/ViewState.d.ts.map +1 -1
  731. package/lib/esm/ViewState.js +21 -66
  732. package/lib/esm/ViewState.js.map +1 -1
  733. package/lib/esm/ViewingSpace.js +1 -1
  734. package/lib/esm/ViewingSpace.js.map +1 -1
  735. package/lib/esm/Viewport.d.ts +57 -11
  736. package/lib/esm/Viewport.d.ts.map +1 -1
  737. package/lib/esm/Viewport.js +56 -32
  738. package/lib/esm/Viewport.js.map +1 -1
  739. package/lib/esm/core-frontend.d.ts +11 -24
  740. package/lib/esm/core-frontend.d.ts.map +1 -1
  741. package/lib/esm/core-frontend.js +11 -24
  742. package/lib/esm/core-frontend.js.map +1 -1
  743. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts +3 -2
  744. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts.map +1 -1
  745. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js +3 -2
  746. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  747. package/lib/esm/quantity-formatting/BasicUnitsProvider.d.ts +5 -1
  748. package/lib/esm/quantity-formatting/BasicUnitsProvider.d.ts.map +1 -1
  749. package/lib/esm/quantity-formatting/BasicUnitsProvider.js +18 -4
  750. package/lib/esm/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  751. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts +26 -3
  752. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  753. package/lib/esm/quantity-formatting/QuantityFormatter.js +45 -7
  754. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  755. package/lib/esm/render/FeatureSymbology.d.ts.map +1 -1
  756. package/lib/esm/render/FeatureSymbology.js +3 -3
  757. package/lib/esm/render/FeatureSymbology.js.map +1 -1
  758. package/lib/esm/render/GraphicBranch.d.ts +18 -2
  759. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  760. package/lib/esm/render/GraphicBranch.js +8 -0
  761. package/lib/esm/render/GraphicBranch.js.map +1 -1
  762. package/lib/esm/render/GraphicBuilder.d.ts +7 -1
  763. package/lib/esm/render/GraphicBuilder.d.ts.map +1 -1
  764. package/lib/esm/render/GraphicBuilder.js.map +1 -1
  765. package/lib/esm/render/MockRender.d.ts +3 -1
  766. package/lib/esm/render/MockRender.d.ts.map +1 -1
  767. package/lib/esm/render/MockRender.js.map +1 -1
  768. package/lib/esm/render/RenderMaterial.d.ts +61 -0
  769. package/lib/esm/render/RenderMaterial.d.ts.map +1 -0
  770. package/lib/esm/render/RenderMaterial.js +9 -0
  771. package/lib/esm/render/RenderMaterial.js.map +1 -0
  772. package/lib/esm/render/RenderMemory.d.ts +21 -15
  773. package/lib/esm/render/RenderMemory.d.ts.map +1 -1
  774. package/lib/esm/render/RenderMemory.js +21 -15
  775. package/lib/esm/render/RenderMemory.js.map +1 -1
  776. package/lib/esm/render/RenderSystem.d.ts +44 -7
  777. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  778. package/lib/esm/render/RenderSystem.js +32 -9
  779. package/lib/esm/render/RenderSystem.js.map +1 -1
  780. package/lib/esm/render/RenderTarget.d.ts +10 -2
  781. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  782. package/lib/esm/render/RenderTarget.js +2 -1
  783. package/lib/esm/render/RenderTarget.js.map +1 -1
  784. package/lib/esm/render/RenderTexture.d.ts +2 -17
  785. package/lib/esm/render/RenderTexture.d.ts.map +1 -1
  786. package/lib/esm/render/RenderTexture.js +1 -16
  787. package/lib/esm/render/RenderTexture.js.map +1 -1
  788. package/lib/esm/render/primitives/EdgeParams.d.ts +84 -0
  789. package/lib/esm/render/primitives/EdgeParams.d.ts.map +1 -0
  790. package/lib/esm/render/primitives/EdgeParams.js +217 -0
  791. package/lib/esm/render/primitives/EdgeParams.js.map +1 -0
  792. package/lib/esm/render/primitives/PointStringParams.d.ts +16 -0
  793. package/lib/esm/render/primitives/PointStringParams.d.ts.map +1 -0
  794. package/lib/esm/render/primitives/PointStringParams.js +39 -0
  795. package/lib/esm/render/primitives/PointStringParams.js.map +1 -0
  796. package/lib/esm/render/primitives/PolylineParams.d.ts +44 -0
  797. package/lib/esm/render/primitives/PolylineParams.d.ts.map +1 -0
  798. package/lib/esm/render/primitives/PolylineParams.js +199 -0
  799. package/lib/esm/render/primitives/PolylineParams.js.map +1 -0
  800. package/lib/esm/render/primitives/Primitives.d.ts +1 -1
  801. package/lib/esm/render/primitives/Primitives.d.ts.map +1 -1
  802. package/lib/esm/render/primitives/Primitives.js.map +1 -1
  803. package/lib/esm/render/primitives/SurfaceParams.d.ts +46 -0
  804. package/lib/esm/render/primitives/SurfaceParams.d.ts.map +1 -0
  805. package/lib/esm/render/primitives/SurfaceParams.js +37 -0
  806. package/lib/esm/render/primitives/SurfaceParams.js.map +1 -0
  807. package/lib/esm/render/primitives/VertexTable.d.ts +4 -123
  808. package/lib/esm/render/primitives/VertexTable.d.ts.map +1 -1
  809. package/lib/esm/render/primitives/VertexTable.js +11 -342
  810. package/lib/esm/render/primitives/VertexTable.js.map +1 -1
  811. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts +2 -0
  812. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  813. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js +2 -1
  814. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  815. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  816. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js +1 -0
  817. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  818. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts +2 -2
  819. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  820. package/lib/esm/render/primitives/mesh/MeshPrimitives.js +3 -3
  821. package/lib/esm/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  822. package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.d.ts +1 -1
  823. package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.js +1 -1
  824. package/lib/esm/render/primitives/mesh/TerrainMeshPrimitive.js.map +1 -1
  825. package/lib/esm/render/webgl/AttributeMap.js +5 -5
  826. package/lib/esm/render/webgl/BackgroundMapDrape.js +2 -2
  827. package/lib/esm/render/webgl/BackgroundMapDrape.js.map +1 -1
  828. package/lib/esm/render/webgl/BranchUniforms.d.ts.map +1 -1
  829. package/lib/esm/render/webgl/BranchUniforms.js +8 -5
  830. package/lib/esm/render/webgl/BranchUniforms.js.map +1 -1
  831. package/lib/esm/render/webgl/CachedGeometry.d.ts +16 -11
  832. package/lib/esm/render/webgl/CachedGeometry.d.ts.map +1 -1
  833. package/lib/esm/render/webgl/CachedGeometry.js +26 -23
  834. package/lib/esm/render/webgl/CachedGeometry.js.map +1 -1
  835. package/lib/esm/render/webgl/DrawCommand.d.ts +2 -3
  836. package/lib/esm/render/webgl/DrawCommand.d.ts.map +1 -1
  837. package/lib/esm/render/webgl/DrawCommand.js +6 -4
  838. package/lib/esm/render/webgl/DrawCommand.js.map +1 -1
  839. package/lib/esm/render/webgl/EdgeGeometry.d.ts +73 -0
  840. package/lib/esm/render/webgl/EdgeGeometry.d.ts.map +1 -0
  841. package/lib/esm/render/webgl/EdgeGeometry.js +135 -0
  842. package/lib/esm/render/webgl/EdgeGeometry.js.map +1 -0
  843. package/lib/esm/render/webgl/FeatureOverrides.d.ts +2 -0
  844. package/lib/esm/render/webgl/FeatureOverrides.d.ts.map +1 -1
  845. package/lib/esm/render/webgl/FeatureOverrides.js +11 -3
  846. package/lib/esm/render/webgl/FeatureOverrides.js.map +1 -1
  847. package/lib/esm/render/webgl/FloatRGBA.d.ts.map +1 -1
  848. package/lib/esm/render/webgl/FloatRGBA.js +13 -11
  849. package/lib/esm/render/webgl/FloatRGBA.js.map +1 -1
  850. package/lib/esm/render/webgl/Graphic.d.ts +13 -0
  851. package/lib/esm/render/webgl/Graphic.d.ts.map +1 -1
  852. package/lib/esm/render/webgl/Graphic.js +39 -2
  853. package/lib/esm/render/webgl/Graphic.js.map +1 -1
  854. package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts +51 -0
  855. package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -0
  856. package/lib/esm/render/webgl/IndexedEdgeGeometry.js +85 -0
  857. package/lib/esm/render/webgl/IndexedEdgeGeometry.js.map +1 -0
  858. package/lib/esm/render/webgl/InstancedGeometry.d.ts +6 -5
  859. package/lib/esm/render/webgl/InstancedGeometry.d.ts.map +1 -1
  860. package/lib/esm/render/webgl/InstancedGeometry.js +2 -1
  861. package/lib/esm/render/webgl/InstancedGeometry.js.map +1 -1
  862. package/lib/esm/render/webgl/Material.d.ts +1 -1
  863. package/lib/esm/render/webgl/Material.d.ts.map +1 -1
  864. package/lib/esm/render/webgl/Material.js +2 -0
  865. package/lib/esm/render/webgl/Material.js.map +1 -1
  866. package/lib/esm/render/webgl/Mesh.d.ts +8 -162
  867. package/lib/esm/render/webgl/Mesh.d.ts.map +1 -1
  868. package/lib/esm/render/webgl/Mesh.js +12 -445
  869. package/lib/esm/render/webgl/Mesh.js.map +1 -1
  870. package/lib/esm/render/webgl/MeshData.d.ts +38 -0
  871. package/lib/esm/render/webgl/MeshData.d.ts.map +1 -0
  872. package/lib/esm/render/webgl/MeshData.js +62 -0
  873. package/lib/esm/render/webgl/MeshData.js.map +1 -0
  874. package/lib/esm/render/webgl/MeshGeometry.d.ts +38 -0
  875. package/lib/esm/render/webgl/MeshGeometry.d.ts.map +1 -0
  876. package/lib/esm/render/webgl/MeshGeometry.js +55 -0
  877. package/lib/esm/render/webgl/MeshGeometry.js.map +1 -0
  878. package/lib/esm/render/webgl/PlanarClassifier.d.ts.map +1 -1
  879. package/lib/esm/render/webgl/PlanarClassifier.js +9 -5
  880. package/lib/esm/render/webgl/PlanarClassifier.js.map +1 -1
  881. package/lib/esm/render/webgl/PlanarGrid.d.ts +2 -3
  882. package/lib/esm/render/webgl/PlanarGrid.d.ts.map +1 -1
  883. package/lib/esm/render/webgl/PlanarGrid.js +3 -3
  884. package/lib/esm/render/webgl/PlanarGrid.js.map +1 -1
  885. package/lib/esm/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  886. package/lib/esm/render/webgl/PlanarTextureProjection.js +1 -0
  887. package/lib/esm/render/webgl/PlanarTextureProjection.js.map +1 -1
  888. package/lib/esm/render/webgl/PointCloud.d.ts +2 -2
  889. package/lib/esm/render/webgl/PointCloud.d.ts.map +1 -1
  890. package/lib/esm/render/webgl/PointCloud.js +2 -2
  891. package/lib/esm/render/webgl/PointCloud.js.map +1 -1
  892. package/lib/esm/render/webgl/PointString.d.ts +3 -3
  893. package/lib/esm/render/webgl/PointString.d.ts.map +1 -1
  894. package/lib/esm/render/webgl/PointString.js +1 -1
  895. package/lib/esm/render/webgl/PointString.js.map +1 -1
  896. package/lib/esm/render/webgl/Polyline.d.ts +3 -3
  897. package/lib/esm/render/webgl/Polyline.d.ts.map +1 -1
  898. package/lib/esm/render/webgl/Polyline.js +6 -6
  899. package/lib/esm/render/webgl/Polyline.js.map +1 -1
  900. package/lib/esm/render/webgl/Primitive.d.ts +2 -2
  901. package/lib/esm/render/webgl/Primitive.d.ts.map +1 -1
  902. package/lib/esm/render/webgl/Primitive.js +5 -5
  903. package/lib/esm/render/webgl/Primitive.js.map +1 -1
  904. package/lib/esm/render/webgl/RealityMesh.d.ts +2 -2
  905. package/lib/esm/render/webgl/RealityMesh.d.ts.map +1 -1
  906. package/lib/esm/render/webgl/RealityMesh.js +9 -9
  907. package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
  908. package/lib/esm/render/webgl/RenderCommands.d.ts +6 -2
  909. package/lib/esm/render/webgl/RenderCommands.d.ts.map +1 -1
  910. package/lib/esm/render/webgl/RenderCommands.js +78 -45
  911. package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
  912. package/lib/esm/render/webgl/RenderFlags.d.ts +48 -1
  913. package/lib/esm/render/webgl/RenderFlags.d.ts.map +1 -1
  914. package/lib/esm/render/webgl/RenderFlags.js +63 -1
  915. package/lib/esm/render/webgl/RenderFlags.js.map +1 -1
  916. package/lib/esm/render/webgl/SceneCompositor.js +10 -9
  917. package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
  918. package/lib/esm/render/webgl/ScreenSpaceEffect.js +1 -1
  919. package/lib/esm/render/webgl/ShaderBuilder.d.ts +23 -20
  920. package/lib/esm/render/webgl/ShaderBuilder.d.ts.map +1 -1
  921. package/lib/esm/render/webgl/ShaderBuilder.js +38 -32
  922. package/lib/esm/render/webgl/ShaderBuilder.js.map +1 -1
  923. package/lib/esm/render/webgl/ShaderProgram.d.ts +1 -1
  924. package/lib/esm/render/webgl/ShaderProgram.d.ts.map +1 -1
  925. package/lib/esm/render/webgl/ShaderProgram.js +4 -4
  926. package/lib/esm/render/webgl/ShaderProgram.js.map +1 -1
  927. package/lib/esm/render/webgl/SolarShadowMap.d.ts.map +1 -1
  928. package/lib/esm/render/webgl/SolarShadowMap.js +5 -4
  929. package/lib/esm/render/webgl/SolarShadowMap.js.map +1 -1
  930. package/lib/esm/render/webgl/SurfaceGeometry.d.ts +54 -0
  931. package/lib/esm/render/webgl/SurfaceGeometry.d.ts.map +1 -0
  932. package/lib/esm/render/webgl/SurfaceGeometry.js +243 -0
  933. package/lib/esm/render/webgl/SurfaceGeometry.js.map +1 -0
  934. package/lib/esm/render/webgl/System.d.ts +13 -10
  935. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  936. package/lib/esm/render/webgl/System.js +77 -23
  937. package/lib/esm/render/webgl/System.js.map +1 -1
  938. package/lib/esm/render/webgl/Target.d.ts +13 -1
  939. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  940. package/lib/esm/render/webgl/Target.js +88 -2
  941. package/lib/esm/render/webgl/Target.js.map +1 -1
  942. package/lib/esm/render/webgl/Technique.d.ts.map +1 -1
  943. package/lib/esm/render/webgl/Technique.js +112 -119
  944. package/lib/esm/render/webgl/Technique.js.map +1 -1
  945. package/lib/esm/render/webgl/TechniqueFlags.d.ts +7 -1
  946. package/lib/esm/render/webgl/TechniqueFlags.d.ts.map +1 -1
  947. package/lib/esm/render/webgl/TechniqueFlags.js +10 -1
  948. package/lib/esm/render/webgl/TechniqueFlags.js.map +1 -1
  949. package/lib/esm/render/webgl/TechniqueId.d.ts +29 -28
  950. package/lib/esm/render/webgl/TechniqueId.d.ts.map +1 -1
  951. package/lib/esm/render/webgl/TechniqueId.js +7 -7
  952. package/lib/esm/render/webgl/TechniqueId.js.map +1 -1
  953. package/lib/esm/render/webgl/Texture.d.ts +15 -12
  954. package/lib/esm/render/webgl/Texture.d.ts.map +1 -1
  955. package/lib/esm/render/webgl/Texture.js +27 -24
  956. package/lib/esm/render/webgl/Texture.js.map +1 -1
  957. package/lib/esm/render/webgl/glsl/AmbientOcclusion.d.ts.map +1 -1
  958. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js +84 -19
  959. package/lib/esm/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  960. package/lib/esm/render/webgl/glsl/Animation.js +1 -1
  961. package/lib/esm/render/webgl/glsl/Blur.js +1 -1
  962. package/lib/esm/render/webgl/glsl/ClearPickAndColor.js +2 -2
  963. package/lib/esm/render/webgl/glsl/ClearTranslucent.js +2 -2
  964. package/lib/esm/render/webgl/glsl/Color.js +1 -1
  965. package/lib/esm/render/webgl/glsl/Combine3Textures.js +1 -1
  966. package/lib/esm/render/webgl/glsl/CombineTextures.js +1 -1
  967. package/lib/esm/render/webgl/glsl/Composite.js +1 -1
  968. package/lib/esm/render/webgl/glsl/CopyColor.d.ts.map +1 -1
  969. package/lib/esm/render/webgl/glsl/CopyColor.js +17 -2
  970. package/lib/esm/render/webgl/glsl/CopyColor.js.map +1 -1
  971. package/lib/esm/render/webgl/glsl/CopyPickBuffers.js +2 -2
  972. package/lib/esm/render/webgl/glsl/CopyStencil.d.ts.map +1 -1
  973. package/lib/esm/render/webgl/glsl/CopyStencil.js +10 -13
  974. package/lib/esm/render/webgl/glsl/CopyStencil.js.map +1 -1
  975. package/lib/esm/render/webgl/glsl/EVSMFromDepth.js +2 -2
  976. package/lib/esm/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  977. package/lib/esm/render/webgl/glsl/Edge.d.ts +2 -1
  978. package/lib/esm/render/webgl/glsl/Edge.d.ts.map +1 -1
  979. package/lib/esm/render/webgl/glsl/Edge.js +132 -14
  980. package/lib/esm/render/webgl/glsl/Edge.js.map +1 -1
  981. package/lib/esm/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
  982. package/lib/esm/render/webgl/glsl/FeatureSymbology.js +44 -22
  983. package/lib/esm/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  984. package/lib/esm/render/webgl/glsl/Fragment.d.ts.map +1 -1
  985. package/lib/esm/render/webgl/glsl/Fragment.js +19 -11
  986. package/lib/esm/render/webgl/glsl/Fragment.js.map +1 -1
  987. package/lib/esm/render/webgl/glsl/LogarithmicDepthBuffer.js +1 -1
  988. package/lib/esm/render/webgl/glsl/LookupTable.d.ts +4 -2
  989. package/lib/esm/render/webgl/glsl/LookupTable.d.ts.map +1 -1
  990. package/lib/esm/render/webgl/glsl/LookupTable.js +7 -3
  991. package/lib/esm/render/webgl/glsl/LookupTable.js.map +1 -1
  992. package/lib/esm/render/webgl/glsl/PlanarClassification.d.ts.map +1 -1
  993. package/lib/esm/render/webgl/glsl/PlanarClassification.js +13 -4
  994. package/lib/esm/render/webgl/glsl/PlanarClassification.js.map +1 -1
  995. package/lib/esm/render/webgl/glsl/PlanarGrid.js +2 -2
  996. package/lib/esm/render/webgl/glsl/PlanarGrid.js.map +1 -1
  997. package/lib/esm/render/webgl/glsl/PointCloud.js +2 -2
  998. package/lib/esm/render/webgl/glsl/PointCloud.js.map +1 -1
  999. package/lib/esm/render/webgl/glsl/PointString.js +1 -1
  1000. package/lib/esm/render/webgl/glsl/PointString.js.map +1 -1
  1001. package/lib/esm/render/webgl/glsl/Polyline.js +1 -1
  1002. package/lib/esm/render/webgl/glsl/Polyline.js.map +1 -1
  1003. package/lib/esm/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  1004. package/lib/esm/render/webgl/glsl/RealityMesh.js +9 -6
  1005. package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
  1006. package/lib/esm/render/webgl/glsl/ScreenSpaceEffect.js +2 -2
  1007. package/lib/esm/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
  1008. package/lib/esm/render/webgl/glsl/SkyBox.js +2 -2
  1009. package/lib/esm/render/webgl/glsl/SkyBox.js.map +1 -1
  1010. package/lib/esm/render/webgl/glsl/SkySphere.js +2 -2
  1011. package/lib/esm/render/webgl/glsl/Surface.d.ts.map +1 -1
  1012. package/lib/esm/render/webgl/glsl/Surface.js +41 -16
  1013. package/lib/esm/render/webgl/glsl/Surface.js.map +1 -1
  1014. package/lib/esm/render/webgl/glsl/Translucency.js +2 -2
  1015. package/lib/esm/render/webgl/glsl/Vertex.js +3 -3
  1016. package/lib/esm/render/webgl/glsl/Vertex.js.map +1 -1
  1017. package/lib/esm/render/webgl/glsl/ViewportQuad.js +1 -1
  1018. package/lib/esm/render/webgl/glsl/ViewportQuad.js.map +1 -1
  1019. package/lib/esm/render/webgl/glsl/Wiremesh.d.ts +9 -0
  1020. package/lib/esm/render/webgl/glsl/Wiremesh.d.ts.map +1 -0
  1021. package/lib/esm/render/webgl/glsl/Wiremesh.js +36 -0
  1022. package/lib/esm/render/webgl/glsl/Wiremesh.js.map +1 -0
  1023. package/lib/esm/render-primitives.d.ts +5 -1
  1024. package/lib/esm/render-primitives.d.ts.map +1 -1
  1025. package/lib/esm/render-primitives.js +5 -1
  1026. package/lib/esm/render-primitives.js.map +1 -1
  1027. package/lib/esm/request/Request.d.ts +167 -0
  1028. package/lib/esm/request/Request.d.ts.map +1 -0
  1029. package/lib/esm/request/Request.js +289 -0
  1030. package/lib/esm/request/Request.js.map +1 -0
  1031. package/lib/esm/tile/B3dmReader.d.ts +2 -1
  1032. package/lib/esm/tile/B3dmReader.d.ts.map +1 -1
  1033. package/lib/esm/tile/B3dmReader.js +12 -8
  1034. package/lib/esm/tile/B3dmReader.js.map +1 -1
  1035. package/lib/esm/tile/CesiumAssetProvider.d.ts +14 -0
  1036. package/lib/esm/tile/CesiumAssetProvider.d.ts.map +1 -0
  1037. package/lib/esm/tile/CesiumAssetProvider.js +31 -0
  1038. package/lib/esm/tile/CesiumAssetProvider.js.map +1 -0
  1039. package/lib/esm/tile/ContextShareProvider.d.ts +22 -0
  1040. package/lib/esm/tile/ContextShareProvider.d.ts.map +1 -0
  1041. package/lib/esm/tile/ContextShareProvider.js +125 -0
  1042. package/lib/esm/tile/ContextShareProvider.js.map +1 -0
  1043. package/lib/esm/tile/DynamicIModelTile.js +9 -3
  1044. package/lib/esm/tile/DynamicIModelTile.js.map +1 -1
  1045. package/lib/esm/tile/GltfReader.d.ts +594 -55
  1046. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  1047. package/lib/esm/tile/GltfReader.js +678 -242
  1048. package/lib/esm/tile/GltfReader.js.map +1 -1
  1049. package/lib/esm/tile/I3dmReader.d.ts +2 -1
  1050. package/lib/esm/tile/I3dmReader.d.ts.map +1 -1
  1051. package/lib/esm/tile/I3dmReader.js +11 -7
  1052. package/lib/esm/tile/I3dmReader.js.map +1 -1
  1053. package/lib/esm/tile/IModelTile.d.ts.map +1 -1
  1054. package/lib/esm/tile/IModelTile.js +14 -7
  1055. package/lib/esm/tile/IModelTile.js.map +1 -1
  1056. package/lib/esm/tile/IModelTileTree.d.ts +8 -0
  1057. package/lib/esm/tile/IModelTileTree.d.ts.map +1 -1
  1058. package/lib/esm/tile/IModelTileTree.js +36 -1
  1059. package/lib/esm/tile/IModelTileTree.js.map +1 -1
  1060. package/lib/esm/tile/ImdlReader.d.ts +365 -10
  1061. package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
  1062. package/lib/esm/tile/ImdlReader.js +199 -66
  1063. package/lib/esm/tile/ImdlReader.js.map +1 -1
  1064. package/lib/esm/tile/OrbitGtTileTree.d.ts.map +1 -1
  1065. package/lib/esm/tile/OrbitGtTileTree.js +8 -5
  1066. package/lib/esm/tile/OrbitGtTileTree.js.map +1 -1
  1067. package/lib/esm/tile/PrimaryTileTree.d.ts +14 -5
  1068. package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
  1069. package/lib/esm/tile/PrimaryTileTree.js +70 -15
  1070. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  1071. package/lib/esm/tile/RealityModelTileTree.d.ts +3 -55
  1072. package/lib/esm/tile/RealityModelTileTree.d.ts.map +1 -1
  1073. package/lib/esm/tile/RealityModelTileTree.js +56 -230
  1074. package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
  1075. package/lib/esm/tile/RealityTileLoader.d.ts +1 -0
  1076. package/lib/esm/tile/RealityTileLoader.d.ts.map +1 -1
  1077. package/lib/esm/tile/RealityTileLoader.js +4 -3
  1078. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  1079. package/lib/esm/tile/Tile.d.ts.map +1 -1
  1080. package/lib/esm/tile/Tile.js +5 -1
  1081. package/lib/esm/tile/Tile.js.map +1 -1
  1082. package/lib/esm/tile/TileAdmin.d.ts +37 -4
  1083. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  1084. package/lib/esm/tile/TileAdmin.js +19 -13
  1085. package/lib/esm/tile/TileAdmin.js.map +1 -1
  1086. package/lib/esm/tile/TileDrawArgs.d.ts +11 -0
  1087. package/lib/esm/tile/TileDrawArgs.d.ts.map +1 -1
  1088. package/lib/esm/tile/TileDrawArgs.js +6 -1
  1089. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  1090. package/lib/esm/tile/TileTreeReference.d.ts +2 -0
  1091. package/lib/esm/tile/TileTreeReference.d.ts.map +1 -1
  1092. package/lib/esm/tile/TileTreeReference.js +5 -0
  1093. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  1094. package/lib/esm/tile/internal.d.ts +4 -1
  1095. package/lib/esm/tile/internal.d.ts.map +1 -1
  1096. package/lib/esm/tile/internal.js +4 -1
  1097. package/lib/esm/tile/internal.js.map +1 -1
  1098. package/lib/esm/tile/map/ArcGISTileMap.d.ts +22 -0
  1099. package/lib/esm/tile/map/ArcGISTileMap.d.ts.map +1 -0
  1100. package/lib/esm/tile/map/ArcGISTileMap.js +173 -0
  1101. package/lib/esm/tile/map/ArcGISTileMap.js.map +1 -0
  1102. package/lib/esm/tile/map/ArcGisTokenGenerator.js +1 -1
  1103. package/lib/esm/tile/map/ArcGisTokenGenerator.js.map +1 -1
  1104. package/lib/esm/tile/map/ArcGisUtilities.d.ts +1 -1
  1105. package/lib/esm/tile/map/ArcGisUtilities.d.ts.map +1 -1
  1106. package/lib/esm/tile/map/ArcGisUtilities.js +14 -6
  1107. package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
  1108. package/lib/esm/tile/map/BingElevation.js +1 -1
  1109. package/lib/esm/tile/map/BingElevation.js.map +1 -1
  1110. package/lib/esm/tile/map/CesiumTerrainProvider.d.ts.map +1 -1
  1111. package/lib/esm/tile/map/CesiumTerrainProvider.js +25 -13
  1112. package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
  1113. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -2
  1114. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  1115. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +21 -42
  1116. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  1117. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js +2 -2
  1118. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  1119. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +8 -0
  1120. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  1121. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +51 -10
  1122. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  1123. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +6 -1
  1124. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
  1125. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +63 -21
  1126. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  1127. package/lib/esm/tile/map/ImageryTileTree.d.ts +4 -4
  1128. package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
  1129. package/lib/esm/tile/map/ImageryTileTree.js +21 -25
  1130. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  1131. package/lib/esm/tile/map/MapCartoRectangle.js +1 -1
  1132. package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
  1133. package/lib/esm/tile/map/MapLayerAuthentication.d.ts +20 -0
  1134. package/lib/esm/tile/map/MapLayerAuthentication.d.ts.map +1 -0
  1135. package/lib/esm/tile/map/MapLayerAuthentication.js +15 -0
  1136. package/lib/esm/tile/map/MapLayerAuthentication.js.map +1 -0
  1137. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts +6 -3
  1138. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  1139. package/lib/esm/tile/map/MapLayerFormatRegistry.js +3 -1
  1140. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  1141. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts +2 -2
  1142. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  1143. package/lib/esm/tile/map/MapLayerImageryFormats.js +22 -9
  1144. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  1145. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +18 -6
  1146. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  1147. package/lib/esm/tile/map/MapLayerImageryProvider.js +44 -11
  1148. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  1149. package/lib/esm/tile/map/MapLayerSources.d.ts +3 -11
  1150. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  1151. package/lib/esm/tile/map/MapLayerSources.js +7 -36
  1152. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  1153. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  1154. package/lib/esm/tile/map/MapTile.js +4 -3
  1155. package/lib/esm/tile/map/MapTile.js.map +1 -1
  1156. package/lib/esm/tile/map/MapTileLoader.js +1 -1
  1157. package/lib/esm/tile/map/MapTileLoader.js.map +1 -1
  1158. package/lib/esm/tile/map/MapTileTree.d.ts +1 -1
  1159. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  1160. package/lib/esm/tile/map/MapTileTree.js +30 -21
  1161. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  1162. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts +3 -3
  1163. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  1164. package/lib/esm/tile/map/MapTiledGraphicsProvider.js +4 -6
  1165. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  1166. package/lib/esm/tile/map/MapTilingScheme.d.ts +7 -2
  1167. package/lib/esm/tile/map/MapTilingScheme.d.ts.map +1 -1
  1168. package/lib/esm/tile/map/MapTilingScheme.js +22 -9
  1169. package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
  1170. package/lib/esm/tile/map/QuadId.d.ts +1 -0
  1171. package/lib/esm/tile/map/QuadId.d.ts.map +1 -1
  1172. package/lib/esm/tile/map/QuadId.js +2 -1
  1173. package/lib/esm/tile/map/QuadId.js.map +1 -1
  1174. package/lib/esm/tile/map/TerrainMeshProvider.d.ts +1 -1
  1175. package/lib/esm/tile/map/TerrainMeshProvider.js.map +1 -1
  1176. package/lib/esm/tile/map/WmsCapabilities.d.ts +8 -1
  1177. package/lib/esm/tile/map/WmsCapabilities.d.ts.map +1 -1
  1178. package/lib/esm/tile/map/WmsCapabilities.js +37 -3
  1179. package/lib/esm/tile/map/WmsCapabilities.js.map +1 -1
  1180. package/lib/esm/tile/map/WmtsCapabilities.d.ts +11 -1
  1181. package/lib/esm/tile/map/WmtsCapabilities.d.ts.map +1 -1
  1182. package/lib/esm/tile/map/WmtsCapabilities.js +20 -6
  1183. package/lib/esm/tile/map/WmtsCapabilities.js.map +1 -1
  1184. package/lib/esm/tools/EditManipulator.d.ts.map +1 -1
  1185. package/lib/esm/tools/EditManipulator.js +1 -1
  1186. package/lib/esm/tools/EditManipulator.js.map +1 -1
  1187. package/lib/esm/tools/ElementSetTool.js +2 -2
  1188. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  1189. package/lib/esm/tools/PrimitiveTool.d.ts +4 -4
  1190. package/lib/esm/tools/PrimitiveTool.d.ts.map +1 -1
  1191. package/lib/esm/tools/PrimitiveTool.js +2 -2
  1192. package/lib/esm/tools/PrimitiveTool.js.map +1 -1
  1193. package/lib/esm/tools/Tool.d.ts +29 -1
  1194. package/lib/esm/tools/Tool.d.ts.map +1 -1
  1195. package/lib/esm/tools/Tool.js +66 -0
  1196. package/lib/esm/tools/Tool.js.map +1 -1
  1197. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  1198. package/lib/esm/tools/ToolAdmin.js +20 -10
  1199. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  1200. package/lib/esm/tools/ViewTool.d.ts.map +1 -1
  1201. package/lib/esm/tools/ViewTool.js +3 -11
  1202. package/lib/esm/tools/ViewTool.js.map +1 -1
  1203. package/lib/esm/webgl.d.ts +5 -0
  1204. package/lib/esm/webgl.d.ts.map +1 -1
  1205. package/lib/esm/webgl.js +5 -0
  1206. package/lib/esm/webgl.js.map +1 -1
  1207. package/lib/public/locales/en/iModelJs.json +3 -1
  1208. package/package.json +33 -28
  1209. package/lib/cjs/RealityDataAccessProps.d.ts +0 -42
  1210. package/lib/cjs/RealityDataAccessProps.d.ts.map +0 -1
  1211. package/lib/cjs/RealityDataAccessProps.js +0 -23
  1212. package/lib/cjs/RealityDataAccessProps.js.map +0 -1
  1213. package/lib/cjs/RealityDataConnection.d.ts +0 -31
  1214. package/lib/cjs/RealityDataConnection.d.ts.map +0 -1
  1215. package/lib/cjs/RealityDataConnection.js +0 -101
  1216. package/lib/cjs/RealityDataConnection.js.map +0 -1
  1217. package/lib/cjs/tile/map/MapLayerSettingsService.d.ts +0 -39
  1218. package/lib/cjs/tile/map/MapLayerSettingsService.d.ts.map +0 -1
  1219. package/lib/cjs/tile/map/MapLayerSettingsService.js +0 -190
  1220. package/lib/cjs/tile/map/MapLayerSettingsService.js.map +0 -1
  1221. package/lib/esm/RealityDataAccessProps.d.ts +0 -42
  1222. package/lib/esm/RealityDataAccessProps.d.ts.map +0 -1
  1223. package/lib/esm/RealityDataAccessProps.js +0 -20
  1224. package/lib/esm/RealityDataAccessProps.js.map +0 -1
  1225. package/lib/esm/RealityDataConnection.d.ts +0 -31
  1226. package/lib/esm/RealityDataConnection.d.ts.map +0 -1
  1227. package/lib/esm/RealityDataConnection.js +0 -98
  1228. package/lib/esm/RealityDataConnection.js.map +0 -1
  1229. package/lib/esm/tile/map/MapLayerSettingsService.d.ts +0 -39
  1230. package/lib/esm/tile/map/MapLayerSettingsService.d.ts.map +0 -1
  1231. package/lib/esm/tile/map/MapLayerSettingsService.js +0 -186
  1232. package/lib/esm/tile/map/MapLayerSettingsService.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  /** @packageDocumentation
2
2
  * @module Tiles
3
3
  */
4
- import { Point2d, Transform } from "@itwin/core-geometry";
4
+ import { Point2d, Range2d, Transform } from "@itwin/core-geometry";
5
5
  import { Cartographic } from "@itwin/core-common";
6
6
  import { IModelConnection } from "../../IModelConnection";
7
7
  import { MapCartoRectangle } from "../internal";
@@ -10,6 +10,7 @@ export declare abstract class MapTilingScheme {
10
10
  readonly numberOfLevelZeroTilesX: number;
11
11
  readonly numberOfLevelZeroTilesY: number;
12
12
  rowZeroAtNorthPole: boolean;
13
+ private _rectangle;
13
14
  private _scratchFraction;
14
15
  /**
15
16
  * @param longitude in radians (-pi to pi)
@@ -21,7 +22,7 @@ export declare abstract class MapTilingScheme {
21
22
  xFractionToLongitude(xFraction: number): number;
22
23
  abstract yFractionToLatitude(yFraction: number): number;
23
24
  abstract latitudeToYFraction(latitude: number): number;
24
- protected constructor(numberOfLevelZeroTilesX: number, numberOfLevelZeroTilesY: number, rowZeroAtNorthPole: boolean);
25
+ protected constructor(numberOfLevelZeroTilesX: number, numberOfLevelZeroTilesY: number, rowZeroAtNorthPole: boolean, _rectangle?: Range2d);
25
26
  /**
26
27
  * Gets the total number of tiles in the X direction at a specified level-of-detail.
27
28
  *
@@ -37,6 +38,9 @@ export declare abstract class MapTilingScheme {
37
38
  * @returns {Number} The number of tiles in the Y direction at the given level.
38
39
  */
39
40
  getNumberOfYTilesAtLevel(level: number): number;
41
+ get rootLevel(): 0 | -1;
42
+ getNumberOfXChildrenAtLevel(level: number): number;
43
+ getNumberOfYChildrenAtLevel(level: number): number;
40
44
  tileXToFraction(x: number, level: number): number;
41
45
  tileYToFraction(y: number, level: number): number;
42
46
  xFractionToTileX(xFraction: number, level: number): number;
@@ -84,6 +88,7 @@ export declare abstract class MapTilingScheme {
84
88
  cartographicToFraction(latitudeRadians: number, longitudeRadians: number, result: Point2d): Point2d;
85
89
  private ecefToPixelFraction;
86
90
  computeMercatorFractionToDb(ecefToDb: Transform, bimElevationOffset: number, iModel: IModelConnection, applyTerrain: boolean): Transform;
91
+ protected yFractionFlip(fraction: number): number;
87
92
  }
88
93
  /** @internal */
89
94
  export declare class GeographicTilingScheme extends MapTilingScheme {
@@ -1 +1 @@
1
- {"version":3,"file":"MapTilingScheme.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/MapTilingScheme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MapTilingScheme.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/MapTilingScheme.ts"],"names":[],"mappings":"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"}
@@ -5,15 +5,16 @@
5
5
  /** @packageDocumentation
6
6
  * @module Tiles
7
7
  */
8
- import { Angle, Matrix3d, Point2d, Point3d, Transform, Vector3d } from "@itwin/core-geometry";
8
+ import { Angle, Matrix3d, Point2d, Point3d, Range2d, Transform, Vector3d } from "@itwin/core-geometry";
9
9
  import { Cartographic } from "@itwin/core-common";
10
10
  import { MapCartoRectangle } from "../internal";
11
11
  /** @internal */
12
12
  export class MapTilingScheme {
13
- constructor(numberOfLevelZeroTilesX, numberOfLevelZeroTilesY, rowZeroAtNorthPole) {
13
+ constructor(numberOfLevelZeroTilesX, numberOfLevelZeroTilesY, rowZeroAtNorthPole, _rectangle = Range2d.createXYXY(-Angle.piRadians, -Angle.piOver2Radians, Angle.piRadians, Angle.piOver2Radians)) {
14
14
  this.numberOfLevelZeroTilesX = numberOfLevelZeroTilesX;
15
15
  this.numberOfLevelZeroTilesY = numberOfLevelZeroTilesY;
16
16
  this.rowZeroAtNorthPole = rowZeroAtNorthPole;
17
+ this._rectangle = _rectangle;
17
18
  this._scratchFraction = Point2d.createZero();
18
19
  }
19
20
  /**
@@ -35,7 +36,7 @@ export class MapTilingScheme {
35
36
  * @returns {Number} The number of tiles in the X direction at the given level.
36
37
  */
37
38
  getNumberOfXTilesAtLevel(level) {
38
- return 0 === level ? 1 : this.numberOfLevelZeroTilesX << (level - 1);
39
+ return level < 0 ? 1 : this.numberOfLevelZeroTilesX << level;
39
40
  }
40
41
  /**
41
42
  * Gets the total number of tiles in the Y direction at a specified level-of-detail.
@@ -45,7 +46,16 @@ export class MapTilingScheme {
45
46
  * @returns {Number} The number of tiles in the Y direction at the given level.
46
47
  */
47
48
  getNumberOfYTilesAtLevel(level) {
48
- return (0 === level) ? 1 : this.numberOfLevelZeroTilesY << (level - 1);
49
+ return level < 0 ? 1 : this.numberOfLevelZeroTilesY << level;
50
+ }
51
+ get rootLevel() {
52
+ return this.numberOfLevelZeroTilesX > 1 || this.numberOfLevelZeroTilesY > 1 ? -1 : 0;
53
+ }
54
+ getNumberOfXChildrenAtLevel(level) {
55
+ return level === 0 ? this.numberOfLevelZeroTilesX : 2;
56
+ }
57
+ getNumberOfYChildrenAtLevel(level) {
58
+ return level === 0 ? this.numberOfLevelZeroTilesY : 2;
49
59
  }
50
60
  tileXToFraction(x, level) {
51
61
  return x / this.getNumberOfXTilesAtLevel(level);
@@ -59,7 +69,7 @@ export class MapTilingScheme {
59
69
  }
60
70
  yFractionToTileY(yFraction, level) {
61
71
  const nTiles = this.getNumberOfYTilesAtLevel(level);
62
- return Math.min(Math.floor(nTiles * (this.rowZeroAtNorthPole ? (1.0 - yFraction) : yFraction)), nTiles - 1);
72
+ return Math.min(Math.floor(yFraction * nTiles), nTiles - 1);
63
73
  }
64
74
  tileXToLongitude(x, level) {
65
75
  return this.xFractionToLongitude(this.tileXToFraction(x, level));
@@ -95,7 +105,7 @@ export class MapTilingScheme {
95
105
  return this.fractionToCartographic(this._scratchFraction.x, this._scratchFraction.y, result, height);
96
106
  }
97
107
  tileXYToRectangle(x, y, level, result) {
98
- return MapCartoRectangle.create(this.tileXToLongitude(x, level), this.tileYToLatitude(this.rowZeroAtNorthPole ? (y + 1) : y, level), this.tileXToLongitude(x + 1, level), this.tileYToLatitude(this.rowZeroAtNorthPole ? y : (y + 1), level), result);
108
+ return level < 0 ? MapCartoRectangle.create() : MapCartoRectangle.create(this.tileXToLongitude(x, level), this.tileYToLatitude(this.rowZeroAtNorthPole ? (y + 1) : y, level), this.tileXToLongitude(x + 1, level), this.tileYToLatitude(this.rowZeroAtNorthPole ? y : (y + 1), level), result);
99
109
  }
100
110
  tileBordersNorthPole(row, level) {
101
111
  return this.rowZeroAtNorthPole ? this.tileYToFraction(row, level) === 0.0 : this.tileYToFraction(row + 1, level) === 1.0;
@@ -152,6 +162,9 @@ export class MapTilingScheme {
152
162
  const mercatorToDb = dbToMercator.inverse();
153
163
  return mercatorToDb === undefined ? Transform.createIdentity() : mercatorToDb;
154
164
  }
165
+ yFractionFlip(fraction) {
166
+ return this.rowZeroAtNorthPole ? (1.0 - fraction) : fraction;
167
+ }
155
168
  }
156
169
  MapTilingScheme._scratchPoint2d = Point2d.createZero();
157
170
  /** @internal */
@@ -160,10 +173,10 @@ export class GeographicTilingScheme extends MapTilingScheme {
160
173
  super(numberOfLevelZeroTilesX, numberOfLevelZeroTilesY, rowZeroAtNorthPole);
161
174
  }
162
175
  yFractionToLatitude(yFraction) {
163
- return Math.PI * (yFraction - .5);
176
+ return Math.PI * (this.yFractionFlip(yFraction) - .5);
164
177
  }
165
178
  latitudeToYFraction(latitude) {
166
- return .5 + latitude / Math.PI;
179
+ return this.yFractionFlip(.5 + latitude / Math.PI);
167
180
  }
168
181
  }
169
182
  /** @internal */
@@ -193,7 +206,7 @@ export class WebMercatorProjection {
193
206
  WebMercatorProjection.maximumLatitude = WebMercatorProjection.mercatorAngleToGeodeticLatitude(Angle.piRadians);
194
207
  /** @internal */
195
208
  export class WebMercatorTilingScheme extends MapTilingScheme {
196
- constructor(numberOfLevelZeroTilesX = 2, numberOfLevelZeroTilesY = 2, rowZeroAtNorthPole = true /* Bing uses 0 north */) {
209
+ constructor(numberOfLevelZeroTilesX = 1, numberOfLevelZeroTilesY = 1, rowZeroAtNorthPole = true /* Bing uses 0 north */) {
197
210
  super(numberOfLevelZeroTilesX, numberOfLevelZeroTilesY, rowZeroAtNorthPole);
198
211
  }
199
212
  yFractionToLatitude(yFraction) {
@@ -1 +1 @@
1
- {"version":3,"file":"MapTilingScheme.js","sourceRoot":"","sources":["../../../../src/tile/map/MapTilingScheme.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { Angle, Matrix3d, Point2d, Point3d, Transform, Vector3d } from \"@itwin/core-geometry\";\r\nimport { Cartographic } from \"@itwin/core-common\";\r\nimport { IModelConnection } from \"../../IModelConnection\";\r\nimport { MapCartoRectangle } from \"../internal\";\r\n\r\n/** @internal */\r\nexport abstract class MapTilingScheme {\r\n private _scratchFraction = Point2d.createZero();\r\n\r\n /**\r\n * @param longitude in radians (-pi to pi)\r\n */\r\n public longitudeToXFraction(longitude: number) {\r\n return longitude / Angle.pi2Radians + .5;\r\n }\r\n\r\n /**\r\n * Return longitude in radians (-pi to pi from fraction).\r\n */\r\n public xFractionToLongitude(xFraction: number) {\r\n return Angle.pi2Radians * (xFraction - .5);\r\n }\r\n\r\n public abstract yFractionToLatitude(yFraction: number): number;\r\n public abstract latitudeToYFraction(latitude: number): number;\r\n\r\n protected constructor(public readonly numberOfLevelZeroTilesX: number, public readonly numberOfLevelZeroTilesY: number, public rowZeroAtNorthPole: boolean) { }\r\n /**\r\n * Gets the total number of tiles in the X direction at a specified level-of-detail.\r\n *\r\n * @param {Number} level The level-of-detail. Level 0 is the root tile.\r\n * @returns {Number} The number of tiles in the X direction at the given level.\r\n */\r\n public getNumberOfXTilesAtLevel(level: number) {\r\n return 0 === level ? 1 : this.numberOfLevelZeroTilesX << (level - 1);\r\n }\r\n\r\n /**\r\n * Gets the total number of tiles in the Y direction at a specified level-of-detail.\r\n *\r\n *\r\n * @param {Number} level The level-of-detail. Level 0 is the root tile.\r\n * @returns {Number} The number of tiles in the Y direction at the given level.\r\n */\r\n public getNumberOfYTilesAtLevel(level: number): number {\r\n return (0 === level) ? 1 : this.numberOfLevelZeroTilesY << (level - 1);\r\n }\r\n public tileXToFraction(x: number, level: number): number {\r\n return x / this.getNumberOfXTilesAtLevel(level);\r\n }\r\n\r\n public tileYToFraction(y: number, level: number): number {\r\n return y / this.getNumberOfYTilesAtLevel(level);\r\n }\r\n public xFractionToTileX(xFraction: number, level: number): number {\r\n const nTiles = this.getNumberOfXTilesAtLevel(level);\r\n return Math.min(Math.floor(xFraction * nTiles), nTiles - 1);\r\n }\r\n\r\n public yFractionToTileY(yFraction: number, level: number): number {\r\n const nTiles = this.getNumberOfYTilesAtLevel(level);\r\n return Math.min(Math.floor(nTiles * (this.rowZeroAtNorthPole ? (1.0 - yFraction) : yFraction)), nTiles - 1);\r\n }\r\n\r\n public tileXToLongitude(x: number, level: number) {\r\n return this.xFractionToLongitude(this.tileXToFraction(x, level));\r\n }\r\n public tileYToLatitude(y: number, level: number) {\r\n return this.yFractionToLatitude(this.tileYToFraction(y, level));\r\n }\r\n /**\r\n * Gets the fraction of the normalized (0-1) coordinates with at left, bottom.\r\n *\r\n * @param x column\r\n * @param y row\r\n * @param level depth\r\n * @param result result (0-1 from left, bottom\r\n */\r\n public tileXYToFraction(x: number, y: number, level: number, result?: Point2d): Point2d {\r\n if (undefined === result)\r\n result = Point2d.createZero();\r\n\r\n result.x = this.tileXToFraction(x, level);\r\n result.y = this.tileYToFraction(y, level);\r\n\r\n return result;\r\n }\r\n private static _scratchPoint2d = Point2d.createZero();\r\n /** Get Cartographic from tile XY\r\n *\r\n * @param x column\r\n * @param y row\r\n * @param level depth\r\n * @param result result longitude, latitude.\r\n * @param height height (optional)\r\n */\r\n public tileXYToCartographic(x: number, y: number, level: number, result: Cartographic, height?: number): Cartographic {\r\n this.tileXYToFraction(x, y, level, this._scratchFraction);\r\n return this.fractionToCartographic(this._scratchFraction.x, this._scratchFraction.y, result, height);\r\n }\r\n\r\n public tileXYToRectangle(x: number, y: number, level: number, result?: MapCartoRectangle) {\r\n return MapCartoRectangle.create(this.tileXToLongitude(x, level), this.tileYToLatitude(this.rowZeroAtNorthPole ? (y + 1) : y, level), this.tileXToLongitude(x + 1, level), this.tileYToLatitude(this.rowZeroAtNorthPole ? y : (y + 1), level), result);\r\n }\r\n public tileBordersNorthPole(row: number, level: number) {\r\n return this.rowZeroAtNorthPole ? this.tileYToFraction(row, level) === 0.0 : this.tileYToFraction(row + 1, level) === 1.0;\r\n }\r\n\r\n public tileBordersSouthPole(row: number, level: number) {\r\n return this.rowZeroAtNorthPole ? this.tileYToFraction(row + 1, level) === 1.0 : this.tileYToFraction(row, level) === 0.0;\r\n }\r\n\r\n /** Get tile XY from Cartographic.\r\n *\r\n * @param x column\r\n * @param y row\r\n * @param level depth\r\n * @param result result longitude, latitude.\r\n * @param height height (optional)\r\n */\r\n public cartographicToTileXY(carto: Cartographic, level: number, result?: Point2d): Point2d {\r\n const fraction = this.cartographicToFraction(carto.latitude, carto.longitude, MapTilingScheme._scratchPoint2d);\r\n return Point2d.create(this.xFractionToTileX(fraction.x, level), this.yFractionToTileY(fraction.y, level), result);\r\n\r\n }\r\n /** Get fraction from Cartographic.\r\n * @param xFraction\r\n * @param yFraction\r\n * @param result\r\n * @param height\r\n */\r\n public fractionToCartographic(xFraction: number, yFraction: number, result: Cartographic, height?: number): Cartographic {\r\n result.longitude = this.xFractionToLongitude(xFraction);\r\n result.latitude = this.yFractionToLatitude(yFraction);\r\n result.height = undefined === height ? 0.0 : height;\r\n return result;\r\n }\r\n\r\n public cartographicToFraction(latitudeRadians: number, longitudeRadians: number, result: Point2d): Point2d {\r\n result.x = this.longitudeToXFraction(longitudeRadians);\r\n result.y = this.latitudeToYFraction(latitudeRadians);\r\n return result;\r\n }\r\n\r\n // gets the longitude and latitude into a point with coordinates between 0 and 1\r\n private ecefToPixelFraction(point: Point3d, applyTerrain: boolean): Point3d {\r\n const cartoGraphic = Cartographic.fromEcef(point)!;\r\n return Point3d.create(this.longitudeToXFraction(cartoGraphic.longitude), this.latitudeToYFraction(cartoGraphic.latitude), applyTerrain ? cartoGraphic.height : 0);\r\n }\r\n\r\n public computeMercatorFractionToDb(ecefToDb: Transform, bimElevationOffset: number, iModel: IModelConnection, applyTerrain: boolean) {\r\n const dbToEcef = ecefToDb.inverse()!;\r\n\r\n const projectCenter = Point3d.create(iModel.projectExtents.center.x, iModel.projectExtents.center.y, bimElevationOffset);\r\n const projectEast = projectCenter.plusXYZ(1, 0, 0);\r\n const projectNorth = projectCenter.plusXYZ(0, 1, 0);\r\n\r\n const mercatorOrigin = this.ecefToPixelFraction(dbToEcef.multiplyPoint3d(projectCenter), applyTerrain);\r\n const mercatorX = this.ecefToPixelFraction(dbToEcef.multiplyPoint3d(projectEast), applyTerrain);\r\n const mercatorY = this.ecefToPixelFraction(dbToEcef.multiplyPoint3d(projectNorth), applyTerrain);\r\n\r\n const deltaX = Vector3d.createStartEnd(mercatorOrigin, mercatorX);\r\n const deltaY = Vector3d.createStartEnd(mercatorOrigin, mercatorY);\r\n const matrix = Matrix3d.createColumns(deltaX, deltaY, Vector3d.create(0, 0, 1));\r\n\r\n const dbToMercator = Transform.createMatrixPickupPutdown(matrix, projectCenter, mercatorOrigin);\r\n const mercatorToDb = dbToMercator.inverse();\r\n return mercatorToDb === undefined ? Transform.createIdentity() : mercatorToDb;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class GeographicTilingScheme extends MapTilingScheme {\r\n public constructor(numberOfLevelZeroTilesX: number = 2, numberOfLevelZeroTilesY: number = 1, rowZeroAtNorthPole: boolean = false) {\r\n super(numberOfLevelZeroTilesX, numberOfLevelZeroTilesY, rowZeroAtNorthPole);\r\n }\r\n\r\n public yFractionToLatitude(yFraction: number): number {\r\n return Math.PI * (yFraction - .5);\r\n }\r\n\r\n public latitudeToYFraction(latitude: number): number {\r\n return .5 + latitude / Math.PI;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class WebMercatorProjection {\r\n /**\r\n * Converts a Mercator angle, in the range -PI to PI, to a geodetic latitude\r\n * in the range -PI/2 to PI/2.\r\n *\r\n * @param {Number} mercatorAngle The angle to convert.\r\n * @returns {Number} The geodetic latitude in radians.\r\n */\r\n public static mercatorAngleToGeodeticLatitude(mercatorAngle: number) {\r\n return Angle.piOver2Radians - (2.0 * Math.atan(Math.exp(-mercatorAngle)));\r\n }\r\n\r\n public static maximumLatitude = WebMercatorProjection.mercatorAngleToGeodeticLatitude(Angle.piRadians);\r\n public static geodeticLatitudeToMercatorAngle(latitude: number) {\r\n // Clamp the latitude coordinate to the valid Mercator bounds.\r\n if (latitude > WebMercatorProjection.maximumLatitude) {\r\n latitude = WebMercatorProjection.maximumLatitude;\r\n } else if (latitude < -WebMercatorProjection.maximumLatitude) {\r\n latitude = -WebMercatorProjection.maximumLatitude;\r\n }\r\n const sinLatitude = Math.sin(latitude);\r\n return 0.5 * Math.log((1.0 + sinLatitude) / (1.0 - sinLatitude));\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class WebMercatorTilingScheme extends MapTilingScheme {\r\n\r\n public constructor(numberOfLevelZeroTilesX: number = 2, numberOfLevelZeroTilesY: number = 2, rowZeroAtNorthPole: boolean = true /* Bing uses 0 north */) {\r\n super(numberOfLevelZeroTilesX, numberOfLevelZeroTilesY, rowZeroAtNorthPole);\r\n }\r\n\r\n public yFractionToLatitude(yFraction: number): number {\r\n const mercatorAngle = Angle.pi2Radians * (this.rowZeroAtNorthPole ? (.5 - yFraction) : (yFraction - .5));\r\n return WebMercatorProjection.mercatorAngleToGeodeticLatitude(mercatorAngle);\r\n }\r\n\r\n public latitudeToYFraction(latitude: number): number {\r\n // Clamp the latitude coordinate to the valid Mercator bounds.\r\n if (latitude > WebMercatorProjection.maximumLatitude) {\r\n latitude = WebMercatorProjection.maximumLatitude;\r\n } else if (latitude < -WebMercatorProjection.maximumLatitude) {\r\n latitude = -WebMercatorProjection.maximumLatitude;\r\n }\r\n const sinLatitude = Math.sin(latitude);\r\n return (0.5 - Math.log((1.0 + sinLatitude) / (1.0 - sinLatitude)) / (4.0 * Angle.piRadians)); // https://msdn.microsoft.com/en-us/library/bb259689.aspx\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"MapTilingScheme.js","sourceRoot":"","sources":["../../../../src/tile/map/MapTilingScheme.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { Angle, Matrix3d, Point2d, Point3d, Range2d, Transform, Vector3d } from \"@itwin/core-geometry\";\r\nimport { Cartographic } from \"@itwin/core-common\";\r\nimport { IModelConnection } from \"../../IModelConnection\";\r\nimport { MapCartoRectangle } from \"../internal\";\r\n\r\n/** @internal */\r\nexport abstract class MapTilingScheme {\r\n private _scratchFraction = Point2d.createZero();\r\n\r\n /**\r\n * @param longitude in radians (-pi to pi)\r\n */\r\n public longitudeToXFraction(longitude: number) {\r\n return longitude / Angle.pi2Radians + .5;\r\n }\r\n\r\n /**\r\n * Return longitude in radians (-pi to pi from fraction).\r\n */\r\n public xFractionToLongitude(xFraction: number) {\r\n return Angle.pi2Radians * (xFraction - .5);\r\n }\r\n\r\n public abstract yFractionToLatitude(yFraction: number): number;\r\n public abstract latitudeToYFraction(latitude: number): number;\r\n\r\n protected constructor(public readonly numberOfLevelZeroTilesX: number, public readonly numberOfLevelZeroTilesY: number, public rowZeroAtNorthPole: boolean, private _rectangle = Range2d.createXYXY(-Angle.piRadians, -Angle.piOver2Radians, Angle.piRadians, Angle.piOver2Radians)) {\r\n }\r\n /**\r\n * Gets the total number of tiles in the X direction at a specified level-of-detail.\r\n *\r\n * @param {Number} level The level-of-detail. Level 0 is the root tile.\r\n * @returns {Number} The number of tiles in the X direction at the given level.\r\n */\r\n public getNumberOfXTilesAtLevel(level: number) {\r\n return level < 0 ? 1 : this.numberOfLevelZeroTilesX << level;\r\n }\r\n\r\n /**\r\n * Gets the total number of tiles in the Y direction at a specified level-of-detail.\r\n *\r\n *\r\n * @param {Number} level The level-of-detail. Level 0 is the root tile.\r\n * @returns {Number} The number of tiles in the Y direction at the given level.\r\n */\r\n public getNumberOfYTilesAtLevel(level: number): number {\r\n return level < 0 ? 1 : this.numberOfLevelZeroTilesY << level;\r\n }\r\n\r\n public get rootLevel() {\r\n return this.numberOfLevelZeroTilesX > 1 || this.numberOfLevelZeroTilesY > 1 ? -1 : 0;\r\n }\r\n public getNumberOfXChildrenAtLevel(level: number): number {\r\n return level === 0 ? this.numberOfLevelZeroTilesX : 2;\r\n }\r\n public getNumberOfYChildrenAtLevel(level: number): number {\r\n return level === 0 ? this.numberOfLevelZeroTilesY : 2;\r\n }\r\n public tileXToFraction(x: number, level: number): number {\r\n return x / this.getNumberOfXTilesAtLevel(level);\r\n }\r\n\r\n public tileYToFraction(y: number, level: number): number {\r\n return y / this.getNumberOfYTilesAtLevel(level);\r\n }\r\n public xFractionToTileX(xFraction: number, level: number): number {\r\n const nTiles = this.getNumberOfXTilesAtLevel(level);\r\n return Math.min(Math.floor(xFraction * nTiles), nTiles - 1);\r\n }\r\n\r\n public yFractionToTileY(yFraction: number, level: number): number {\r\n const nTiles = this.getNumberOfYTilesAtLevel(level);\r\n return Math.min(Math.floor(yFraction * nTiles), nTiles - 1);\r\n }\r\n\r\n public tileXToLongitude(x: number, level: number) {\r\n return this.xFractionToLongitude(this.tileXToFraction(x, level));\r\n }\r\n public tileYToLatitude(y: number, level: number) {\r\n return this.yFractionToLatitude(this.tileYToFraction(y, level));\r\n }\r\n /**\r\n * Gets the fraction of the normalized (0-1) coordinates with at left, bottom.\r\n *\r\n * @param x column\r\n * @param y row\r\n * @param level depth\r\n * @param result result (0-1 from left, bottom\r\n */\r\n public tileXYToFraction(x: number, y: number, level: number, result?: Point2d): Point2d {\r\n if (undefined === result)\r\n result = Point2d.createZero();\r\n\r\n result.x = this.tileXToFraction(x, level);\r\n result.y = this.tileYToFraction(y, level);\r\n\r\n return result;\r\n }\r\n private static _scratchPoint2d = Point2d.createZero();\r\n /** Get Cartographic from tile XY\r\n *\r\n * @param x column\r\n * @param y row\r\n * @param level depth\r\n * @param result result longitude, latitude.\r\n * @param height height (optional)\r\n */\r\n public tileXYToCartographic(x: number, y: number, level: number, result: Cartographic, height?: number): Cartographic {\r\n this.tileXYToFraction(x, y, level, this._scratchFraction);\r\n return this.fractionToCartographic(this._scratchFraction.x, this._scratchFraction.y, result, height);\r\n }\r\n\r\n public tileXYToRectangle(x: number, y: number, level: number, result?: MapCartoRectangle) {\r\n return level < 0 ? MapCartoRectangle.create() : MapCartoRectangle.create(this.tileXToLongitude(x, level), this.tileYToLatitude(this.rowZeroAtNorthPole ? (y + 1) : y, level), this.tileXToLongitude(x + 1, level), this.tileYToLatitude(this.rowZeroAtNorthPole ? y : (y + 1), level), result);\r\n }\r\n public tileBordersNorthPole(row: number, level: number) {\r\n return this.rowZeroAtNorthPole ? this.tileYToFraction(row, level) === 0.0 : this.tileYToFraction(row + 1, level) === 1.0;\r\n }\r\n\r\n public tileBordersSouthPole(row: number, level: number) {\r\n return this.rowZeroAtNorthPole ? this.tileYToFraction(row + 1, level) === 1.0 : this.tileYToFraction(row, level) === 0.0;\r\n }\r\n\r\n /** Get tile XY from Cartographic.\r\n *\r\n * @param x column\r\n * @param y row\r\n * @param level depth\r\n * @param result result longitude, latitude.\r\n * @param height height (optional)\r\n */\r\n public cartographicToTileXY(carto: Cartographic, level: number, result?: Point2d): Point2d {\r\n const fraction = this.cartographicToFraction(carto.latitude, carto.longitude, MapTilingScheme._scratchPoint2d);\r\n return Point2d.create(this.xFractionToTileX(fraction.x, level), this.yFractionToTileY(fraction.y, level), result);\r\n\r\n }\r\n /** Get fraction from Cartographic.\r\n * @param xFraction\r\n * @param yFraction\r\n * @param result\r\n * @param height\r\n */\r\n public fractionToCartographic(xFraction: number, yFraction: number, result: Cartographic, height?: number): Cartographic {\r\n result.longitude = this.xFractionToLongitude(xFraction);\r\n result.latitude = this.yFractionToLatitude(yFraction);\r\n result.height = undefined === height ? 0.0 : height;\r\n return result;\r\n }\r\n\r\n public cartographicToFraction(latitudeRadians: number, longitudeRadians: number, result: Point2d): Point2d {\r\n result.x = this.longitudeToXFraction(longitudeRadians);\r\n result.y = this.latitudeToYFraction(latitudeRadians);\r\n return result;\r\n }\r\n\r\n // gets the longitude and latitude into a point with coordinates between 0 and 1\r\n private ecefToPixelFraction(point: Point3d, applyTerrain: boolean): Point3d {\r\n const cartoGraphic = Cartographic.fromEcef(point)!;\r\n return Point3d.create(this.longitudeToXFraction(cartoGraphic.longitude), this.latitudeToYFraction(cartoGraphic.latitude), applyTerrain ? cartoGraphic.height : 0);\r\n }\r\n\r\n public computeMercatorFractionToDb(ecefToDb: Transform, bimElevationOffset: number, iModel: IModelConnection, applyTerrain: boolean) {\r\n const dbToEcef = ecefToDb.inverse()!;\r\n\r\n const projectCenter = Point3d.create(iModel.projectExtents.center.x, iModel.projectExtents.center.y, bimElevationOffset);\r\n const projectEast = projectCenter.plusXYZ(1, 0, 0);\r\n const projectNorth = projectCenter.plusXYZ(0, 1, 0);\r\n\r\n const mercatorOrigin = this.ecefToPixelFraction(dbToEcef.multiplyPoint3d(projectCenter), applyTerrain);\r\n const mercatorX = this.ecefToPixelFraction(dbToEcef.multiplyPoint3d(projectEast), applyTerrain);\r\n const mercatorY = this.ecefToPixelFraction(dbToEcef.multiplyPoint3d(projectNorth), applyTerrain);\r\n\r\n const deltaX = Vector3d.createStartEnd(mercatorOrigin, mercatorX);\r\n const deltaY = Vector3d.createStartEnd(mercatorOrigin, mercatorY);\r\n const matrix = Matrix3d.createColumns(deltaX, deltaY, Vector3d.create(0, 0, 1));\r\n\r\n const dbToMercator = Transform.createMatrixPickupPutdown(matrix, projectCenter, mercatorOrigin);\r\n const mercatorToDb = dbToMercator.inverse();\r\n return mercatorToDb === undefined ? Transform.createIdentity() : mercatorToDb;\r\n }\r\n\r\n protected yFractionFlip(fraction: number) {\r\n return this.rowZeroAtNorthPole ? (1.0 - fraction) : fraction;\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class GeographicTilingScheme extends MapTilingScheme {\r\n public constructor(numberOfLevelZeroTilesX: number = 2, numberOfLevelZeroTilesY: number = 1, rowZeroAtNorthPole = false) {\r\n super(numberOfLevelZeroTilesX, numberOfLevelZeroTilesY, rowZeroAtNorthPole);\r\n }\r\n\r\n public yFractionToLatitude(yFraction: number): number {\r\n return Math.PI * (this.yFractionFlip(yFraction) - .5);\r\n }\r\n\r\n public latitudeToYFraction(latitude: number): number {\r\n return this.yFractionFlip(.5 + latitude / Math.PI);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class WebMercatorProjection {\r\n /**\r\n * Converts a Mercator angle, in the range -PI to PI, to a geodetic latitude\r\n * in the range -PI/2 to PI/2.\r\n *\r\n * @param {Number} mercatorAngle The angle to convert.\r\n * @returns {Number} The geodetic latitude in radians.\r\n */\r\n public static mercatorAngleToGeodeticLatitude(mercatorAngle: number) {\r\n return Angle.piOver2Radians - (2.0 * Math.atan(Math.exp(-mercatorAngle)));\r\n }\r\n\r\n public static maximumLatitude = WebMercatorProjection.mercatorAngleToGeodeticLatitude(Angle.piRadians);\r\n public static geodeticLatitudeToMercatorAngle(latitude: number) {\r\n // Clamp the latitude coordinate to the valid Mercator bounds.\r\n if (latitude > WebMercatorProjection.maximumLatitude) {\r\n latitude = WebMercatorProjection.maximumLatitude;\r\n } else if (latitude < -WebMercatorProjection.maximumLatitude) {\r\n latitude = -WebMercatorProjection.maximumLatitude;\r\n }\r\n const sinLatitude = Math.sin(latitude);\r\n return 0.5 * Math.log((1.0 + sinLatitude) / (1.0 - sinLatitude));\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class WebMercatorTilingScheme extends MapTilingScheme {\r\n\r\n public constructor(numberOfLevelZeroTilesX: number = 1, numberOfLevelZeroTilesY: number = 1, rowZeroAtNorthPole: boolean = true /* Bing uses 0 north */) {\r\n super(numberOfLevelZeroTilesX, numberOfLevelZeroTilesY, rowZeroAtNorthPole);\r\n }\r\n\r\n public yFractionToLatitude(yFraction: number): number {\r\n const mercatorAngle = Angle.pi2Radians * (this.rowZeroAtNorthPole ? (.5 - yFraction) : (yFraction - .5));\r\n return WebMercatorProjection.mercatorAngleToGeodeticLatitude(mercatorAngle);\r\n }\r\n\r\n public latitudeToYFraction(latitude: number): number {\r\n // Clamp the latitude coordinate to the valid Mercator bounds.\r\n if (latitude > WebMercatorProjection.maximumLatitude) {\r\n latitude = WebMercatorProjection.maximumLatitude;\r\n } else if (latitude < -WebMercatorProjection.maximumLatitude) {\r\n latitude = -WebMercatorProjection.maximumLatitude;\r\n }\r\n const sinLatitude = Math.sin(latitude);\r\n return (0.5 - Math.log((1.0 + sinLatitude) / (1.0 - sinLatitude)) / (4.0 * Angle.piRadians)); // https://msdn.microsoft.com/en-us/library/bb259689.aspx\r\n }\r\n}\r\n"]}
@@ -11,6 +11,7 @@ export declare class QuadId {
11
11
  get isValid(): boolean;
12
12
  static createFromContentId(stringId: string): QuadId;
13
13
  get contentId(): string;
14
+ static getTileContentId(level: number, column: number, row: number): string;
14
15
  get debugString(): string;
15
16
  constructor(level: number, column: number, row: number);
16
17
  getChildIds(columnCount?: number, rowCount?: number): QuadId[];
@@ -1 +1 @@
1
- {"version":3,"file":"QuadId.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/QuadId.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAS,UAAU,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAK9C,gBAAgB;AAChB,qBAAa,MAAM;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACnB,IAAW,OAAO,YAA8B;WAElC,mBAAmB,CAAC,QAAQ,EAAE,MAAM;IAUlD,IAAW,SAAS,IAAI,MAAM,CAAuD;IACrF,IAAW,WAAW,IAAI,MAAM,CAA2E;gBAExF,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAKtD,WAAW,CAAC,WAAW,SAAI,EAAE,QAAQ,SAAI,GAAG,MAAM,EAAE;IAapD,eAAe,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO;IAU1D,aAAa,CAAC,eAAe,EAAE,eAAe,GAAG;QAAE,SAAS,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,UAAU,CAAA;KAAE;IAMhG,gBAAgB,CAAC,eAAe,EAAE,eAAe;IAIjD,gBAAgB,CAAC,eAAe,EAAE,eAAe;IAGjD,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAStC"}
1
+ {"version":3,"file":"QuadId.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/QuadId.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAS,UAAU,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAK9C,gBAAgB;AAChB,qBAAa,MAAM;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACnB,IAAW,OAAO,YAA8B;WAElC,mBAAmB,CAAC,QAAQ,EAAE,MAAM;IAUlD,IAAW,SAAS,IAAI,MAAM,CAAwE;WACxF,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAElF,IAAW,WAAW,IAAI,MAAM,CAA2E;gBAExF,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAKtD,WAAW,CAAC,WAAW,SAAI,EAAE,QAAQ,SAAI,GAAG,MAAM,EAAE;IAapD,eAAe,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO;IAU1D,aAAa,CAAC,eAAe,EAAE,eAAe,GAAG;QAAE,SAAS,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,UAAU,CAAA;KAAE;IAMhG,gBAAgB,CAAC,eAAe,EAAE,eAAe;IAIjD,gBAAgB,CAAC,eAAe,EAAE,eAAe;IAGjD,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAStC"}
@@ -26,7 +26,8 @@ export class QuadId {
26
26
  }
27
27
  return new QuadId(parseInt(idParts[0], 10), parseInt(idParts[1], 10), parseInt(idParts[2], 10));
28
28
  }
29
- get contentId() { return `${this.level}_${this.column}_${this.row}`; }
29
+ get contentId() { return QuadId.getTileContentId(this.level, this.column, this.row); }
30
+ static getTileContentId(level, column, row) { return `${level}_${column}_${row}`; }
30
31
  get debugString() { return `Level: ${this.level} Column: ${this.column} Row: ${this.row}`; }
31
32
  getChildIds(columnCount = 2, rowCount = 2) {
32
33
  const childIds = [];
@@ -1 +1 @@
1
- {"version":3,"file":"QuadId.js","sourceRoot":"","sources":["../../../../src/tile/map/QuadId.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { assert, compareNumbers } from \"@itwin/core-bentley\";\r\nimport { Angle, AngleSweep, Range2d } from \"@itwin/core-geometry\";\r\nimport { Cartographic } from \"@itwin/core-common\";\r\nimport { MapTilingScheme } from \"../internal\";\r\n\r\nconst scratchCartographic1 = Cartographic.createZero();\r\nconst scratchCartographic2 = Cartographic.createZero();\r\n\r\n/** @internal */\r\nexport class QuadId {\r\n public level: number;\r\n public column: number;\r\n public row: number;\r\n public get isValid() { return this.level >= 0; }\r\n\r\n public static createFromContentId(stringId: string) {\r\n const idParts = stringId.split(\"_\");\r\n if (3 !== idParts.length) {\r\n assert(false, \"Invalid quad tree ID\");\r\n return new QuadId(-1, -1, -1);\r\n }\r\n\r\n return new QuadId(parseInt(idParts[0], 10), parseInt(idParts[1], 10), parseInt(idParts[2], 10));\r\n }\r\n\r\n public get contentId(): string { return `${this.level}_${this.column}_${this.row}`; }\r\n public get debugString(): string { return `Level: ${this.level} Column: ${this.column} Row: ${this.row}`; }\r\n\r\n public constructor(level: number, column: number, row: number) {\r\n this.level = level;\r\n this.column = column;\r\n this.row = row;\r\n }\r\n public getChildIds(columnCount = 2, rowCount = 2): QuadId[] {\r\n const childIds = [];\r\n const level = this.level + 1;\r\n const column = this.column * 2;\r\n const row = this.row * 2;\r\n for (let j = 0; j < rowCount; j++)\r\n for (let i = 0; i < columnCount; i++)\r\n childIds.push(new QuadId(level, column + i, row + j));\r\n\r\n return childIds;\r\n }\r\n\r\n // Not used in display - used only to tell whether this tile overlaps the range provided by a tile provider for attribution.\r\n public getLatLongRange(mapTilingScheme: MapTilingScheme): Range2d {\r\n const range = Range2d.createNull();\r\n mapTilingScheme.tileXYToCartographic(this.column, this.row, this.level, scratchCartographic1);\r\n range.extendXY(scratchCartographic1.longitude * Angle.degreesPerRadian, scratchCartographic1.latitude * Angle.degreesPerRadian);\r\n mapTilingScheme.tileXYToCartographic(this.column + 1, this.row + 1, this.level, scratchCartographic2);\r\n range.extendXY(scratchCartographic2.longitude * Angle.degreesPerRadian, scratchCartographic2.latitude * Angle.degreesPerRadian);\r\n\r\n return range;\r\n }\r\n\r\n public getAngleSweep(mapTilingScheme: MapTilingScheme): { longitude: AngleSweep, latitude: AngleSweep } {\r\n mapTilingScheme.tileXYToCartographic(this.column, this.row, this.level, scratchCartographic1);\r\n mapTilingScheme.tileXYToCartographic(this.column + 1, this.row + 1, this.level, scratchCartographic2);\r\n return { longitude: AngleSweep.createStartEndRadians(scratchCartographic1.longitude, scratchCartographic2.longitude), latitude: AngleSweep.createStartEndRadians(Cartographic.parametricLatitudeFromGeodeticLatitude(scratchCartographic1.latitude), Cartographic.parametricLatitudeFromGeodeticLatitude(scratchCartographic2.latitude)) };\r\n }\r\n\r\n public bordersSouthPole(mapTilingScheme: MapTilingScheme) {\r\n return mapTilingScheme.tileBordersSouthPole(this.row, this.level);\r\n }\r\n\r\n public bordersNorthPole(mapTilingScheme: MapTilingScheme) {\r\n return mapTilingScheme.tileBordersNorthPole(this.row, this.level);\r\n }\r\n public compare(other: QuadId): number {\r\n let cmp = compareNumbers(this.level, other.level);\r\n if (0 === cmp) {\r\n cmp = compareNumbers(this.row, other.row);\r\n if (0 === cmp)\r\n cmp = compareNumbers(this.column, other.column);\r\n }\r\n return cmp;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"QuadId.js","sourceRoot":"","sources":["../../../../src/tile/map/QuadId.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { assert, compareNumbers } from \"@itwin/core-bentley\";\r\nimport { Angle, AngleSweep, Range2d } from \"@itwin/core-geometry\";\r\nimport { Cartographic } from \"@itwin/core-common\";\r\nimport { MapTilingScheme } from \"../internal\";\r\n\r\nconst scratchCartographic1 = Cartographic.createZero();\r\nconst scratchCartographic2 = Cartographic.createZero();\r\n\r\n/** @internal */\r\nexport class QuadId {\r\n public level: number;\r\n public column: number;\r\n public row: number;\r\n public get isValid() { return this.level >= 0; }\r\n\r\n public static createFromContentId(stringId: string) {\r\n const idParts = stringId.split(\"_\");\r\n if (3 !== idParts.length) {\r\n assert(false, \"Invalid quad tree ID\");\r\n return new QuadId(-1, -1, -1);\r\n }\r\n\r\n return new QuadId(parseInt(idParts[0], 10), parseInt(idParts[1], 10), parseInt(idParts[2], 10));\r\n }\r\n\r\n public get contentId(): string { return QuadId.getTileContentId(this.level, this.column, this.row); }\r\n public static getTileContentId(level: number, column: number, row: number): string { return `${level}_${column}_${row}`; }\r\n\r\n public get debugString(): string { return `Level: ${this.level} Column: ${this.column} Row: ${this.row}`; }\r\n\r\n public constructor(level: number, column: number, row: number) {\r\n this.level = level;\r\n this.column = column;\r\n this.row = row;\r\n }\r\n public getChildIds(columnCount = 2, rowCount = 2): QuadId[] {\r\n const childIds = [];\r\n const level = this.level + 1;\r\n const column = this.column * 2;\r\n const row = this.row * 2;\r\n for (let j = 0; j < rowCount; j++)\r\n for (let i = 0; i < columnCount; i++)\r\n childIds.push(new QuadId(level, column + i, row + j));\r\n\r\n return childIds;\r\n }\r\n\r\n // Not used in display - used only to tell whether this tile overlaps the range provided by a tile provider for attribution.\r\n public getLatLongRange(mapTilingScheme: MapTilingScheme): Range2d {\r\n const range = Range2d.createNull();\r\n mapTilingScheme.tileXYToCartographic(this.column, this.row, this.level, scratchCartographic1);\r\n range.extendXY(scratchCartographic1.longitude * Angle.degreesPerRadian, scratchCartographic1.latitude * Angle.degreesPerRadian);\r\n mapTilingScheme.tileXYToCartographic(this.column + 1, this.row + 1, this.level, scratchCartographic2);\r\n range.extendXY(scratchCartographic2.longitude * Angle.degreesPerRadian, scratchCartographic2.latitude * Angle.degreesPerRadian);\r\n\r\n return range;\r\n }\r\n\r\n public getAngleSweep(mapTilingScheme: MapTilingScheme): { longitude: AngleSweep, latitude: AngleSweep } {\r\n mapTilingScheme.tileXYToCartographic(this.column, this.row, this.level, scratchCartographic1);\r\n mapTilingScheme.tileXYToCartographic(this.column + 1, this.row + 1, this.level, scratchCartographic2);\r\n return { longitude: AngleSweep.createStartEndRadians(scratchCartographic1.longitude, scratchCartographic2.longitude), latitude: AngleSweep.createStartEndRadians(Cartographic.parametricLatitudeFromGeodeticLatitude(scratchCartographic1.latitude), Cartographic.parametricLatitudeFromGeodeticLatitude(scratchCartographic2.latitude)) };\r\n }\r\n\r\n public bordersSouthPole(mapTilingScheme: MapTilingScheme) {\r\n return mapTilingScheme.tileBordersSouthPole(this.row, this.level);\r\n }\r\n\r\n public bordersNorthPole(mapTilingScheme: MapTilingScheme) {\r\n return mapTilingScheme.tileBordersNorthPole(this.row, this.level);\r\n }\r\n public compare(other: QuadId): number {\r\n let cmp = compareNumbers(this.level, other.level);\r\n if (0 === cmp) {\r\n cmp = compareNumbers(this.row, other.row);\r\n if (0 === cmp)\r\n cmp = compareNumbers(this.column, other.column);\r\n }\r\n return cmp;\r\n }\r\n}\r\n"]}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { Id64String } from "@itwin/core-bentley";
5
5
  import { Range1d } from "@itwin/core-geometry";
6
- import { RequestOptions } from "@bentley/itwin-client";
6
+ import { RequestOptions } from "../../request/Request";
7
7
  import { IModelConnection } from "../../IModelConnection";
8
8
  import { TerrainMeshPrimitive } from "../../render/primitives/mesh/TerrainMeshPrimitive";
9
9
  import { MapCartoRectangle, MapTile, MapTilingScheme, QuadId, Tile } from "../internal";
@@ -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;AAOzD;;;;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,OAAO,KAAsC,OAAO,SAAS,CAAC,CAAC,CAAC;IAEvE,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 \"@bentley/itwin-client\";\r\nimport { IModelConnection } from \"../../IModelConnection\";\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 getLogo(): HTMLTableRowElement | undefined { return undefined; }\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;AAEH,OAAO,EAAE,MAAM,EAAc,MAAM,qBAAqB,CAAC;AAOzD;;;;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,OAAO,KAAsC,OAAO,SAAS,CAAC,CAAC,CAAC;IAEvE,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 { 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 getLogo(): HTMLTableRowElement | undefined { return undefined; }\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,5 +1,8 @@
1
+ /** @packageDocumentation
2
+ * @module Views
3
+ */
1
4
  import { MapSubLayerProps } from "@itwin/core-common";
2
- import { RequestBasicCredentials } from "@bentley/itwin-client";
5
+ import { RequestBasicCredentials } from "../../request/Request";
3
6
  import { MapCartoRectangle } from "../internal";
4
7
  /** Encapsulation of the capabilities for an WMS server
5
8
  * @internal
@@ -23,12 +26,15 @@ export declare namespace WmsCapability {
23
26
  private static readonly PREFIX_SEPARATOR;
24
27
  constructor(_json: any);
25
28
  getSubLayers(visible?: boolean): MapSubLayerProps[];
29
+ getSubLayersCrs(layerNameFilter: string[]): Map<string, string[]>;
26
30
  }
27
31
  /** @internal */
28
32
  class SubLayer {
29
33
  readonly parent?: SubLayer | undefined;
30
34
  readonly name: string;
31
35
  readonly title: string;
36
+ readonly crs: string[];
37
+ readonly ownCrs: string[];
32
38
  readonly cartoRange?: MapCartoRectangle;
33
39
  readonly children?: SubLayer[];
34
40
  readonly queryable: boolean;
@@ -50,5 +56,6 @@ export declare class WmsCapabilities {
50
56
  constructor(_json: any);
51
57
  static create(url: string, credentials?: RequestBasicCredentials, ignoreCache?: boolean): Promise<WmsCapabilities | undefined>;
52
58
  getSubLayers(visible?: boolean): undefined | MapSubLayerProps[];
59
+ getSubLayersCrs(subLayerNames: string[]): Map<string, string[]> | undefined;
53
60
  }
54
61
  //# sourceMappingURL=WmsCapabilities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WmsCapabilities.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/WmsCapabilities.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAW,uBAAuB,EAAkB,MAAM,uBAAuB,CAAC;AAEzF,OAAO,EAAE,iBAAiB,EAAgB,MAAM,aAAa,CAAC;AA8C9D;;GAEG;AACH,yBAAiB,aAAa,CAAC;IAE7B,MAAa,OAAO;QAClB,SAAgB,IAAI,EAAE,MAAM,CAAC;QAC7B,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;QAC/B,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClC,SAAgB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxC,SAAgB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5C,SAAgB,iBAAiB,CAAC,EAAE,MAAM,CAAC;oBAE/B,IAAI,EAAE,GAAG;KAQtB;IAED,MAAa,KAAK;QAChB,SAAgB,SAAS,EAAE,OAAO,CAAC;QACnC,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;QAC/B,SAAgB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;QAC/B,SAAgB,UAAU,CAAC,EAAE,iBAAiB,CAAC;QAC/C,SAAgB,SAAS,aAAyB;QAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAO;oBAEnC,KAAK,EAAE,GAAG;QAQf,YAAY,CAAC,OAAO,UAAO,GAAG,gBAAgB,EAAE;KAgDxD;IACD,gBAAgB;IAChB,MAAa,QAAQ;iBAM4B,MAAM,CAAC;QALtD,SAAgB,IAAI,EAAE,MAAM,CAAC;QAC7B,SAAgB,KAAK,EAAE,MAAM,CAAC;QAC9B,SAAgB,UAAU,CAAC,EAAE,iBAAiB,CAAC;QAC/C,SAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;QACtC,SAAgB,SAAS,EAAE,OAAO,CAAC;oBAChB,KAAK,EAAE,GAAG,EAAkB,MAAM,CAAC,sBAAU;KAYjE;CACF;AAED,gBAAgB;AAChB,qBAAa,eAAe;IAUd,OAAO,CAAC,KAAK;IATzB,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAkD;IACnF,SAAgB,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC;IAC/C,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjC,SAAgB,KAAK,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC;IAC5C,IAAW,IAAI,QAAyB;IACxC,IAAW,QAAQ,IAAI,MAAM,CAA2D;IACxF,IAAW,UAAU,IAAI,iBAAiB,GAAG,SAAS,CAAmC;IACzF,IAAW,oBAAoB,YAA2E;IAC1G,IAAW,kBAAkB,IAAI,MAAM,EAAE,GAAG,SAAS,CAAuJ;gBACxL,KAAK,EAAE,GAAG;WAOV,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,uBAAuB,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAiBpI,YAAY,CAAC,OAAO,UAAO,GAAG,SAAS,GAAG,gBAAgB,EAAE;CAGpE"}
1
+ {"version":3,"file":"WmsCapabilities.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/WmsCapabilities.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAW,uBAAuB,EAAkB,MAAM,uBAAuB,CAAC;AAEzF,OAAO,EAAE,iBAAiB,EAAgB,MAAM,aAAa,CAAC;AA0C9D;;GAEG;AACH,yBAAiB,aAAa,CAAC;IAE7B,MAAa,OAAO;QAClB,SAAgB,IAAI,EAAE,MAAM,CAAC;QAC7B,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;QAC/B,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClC,SAAgB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxC,SAAgB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5C,SAAgB,iBAAiB,CAAC,EAAE,MAAM,CAAC;oBAE/B,IAAI,EAAE,GAAG;KAQtB;IAED,MAAa,KAAK;QAChB,SAAgB,SAAS,EAAE,OAAO,CAAC;QACnC,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;QAC/B,SAAgB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;QAC/B,SAAgB,UAAU,CAAC,EAAE,iBAAiB,CAAC;QAC/C,SAAgB,SAAS,aAAyB;QAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAO;oBAEnC,KAAK,EAAE,GAAG;QAQf,YAAY,CAAC,OAAO,UAAO,GAAG,gBAAgB,EAAE;QAiDhD,eAAe,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;KAiBzE;IAED,gBAAgB;IAChB,MAAa,QAAQ;iBAQ4B,MAAM,CAAC;QAPtD,SAAgB,IAAI,EAAE,MAAM,CAAC;QAC7B,SAAgB,KAAK,EAAE,MAAM,CAAC;QAC9B,SAAgB,GAAG,EAAE,MAAM,EAAE,CAAC;QAC9B,SAAgB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjC,SAAgB,UAAU,CAAC,EAAE,iBAAiB,CAAC;QAC/C,SAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;QACtC,SAAgB,SAAS,EAAE,OAAO,CAAC;oBAChB,KAAK,EAAE,GAAG,EAAkB,MAAM,CAAC,sBAAU;KA2BjE;CACF;AAED,gBAAgB;AAChB,qBAAa,eAAe;IAUd,OAAO,CAAC,KAAK;IATzB,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAkD;IACnF,SAAgB,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC;IAC/C,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjC,SAAgB,KAAK,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC;IAC5C,IAAW,IAAI,QAAyB;IACxC,IAAW,QAAQ,IAAI,MAAM,CAA2D;IACxF,IAAW,UAAU,IAAI,iBAAiB,GAAG,SAAS,CAAmC;IACzF,IAAW,oBAAoB,YAA2E;IAC1G,IAAW,kBAAkB,IAAI,MAAM,EAAE,GAAG,SAAS,CAAuJ;gBACxL,KAAK,EAAE,GAAG;WAOV,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,uBAAuB,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAiBpI,YAAY,CAAC,OAAO,UAAO,GAAG,SAAS,GAAG,gBAAgB,EAAE;IAI5D,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAC,SAAS;CAGjF"}
@@ -1,9 +1,13 @@
1
- import { request } from "@bentley/itwin-client";
2
- import WMS from "wms-capabilities";
3
- import { MapCartoRectangle, WmsUtilities } from "../internal";
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
+ *--------------------------------------------------------------------------------------------*/
4
5
  /** @packageDocumentation
5
6
  * @module Views
6
7
  */
8
+ import { request } from "../../request/Request";
9
+ import WMS from "wms-capabilities";
10
+ import { MapCartoRectangle, WmsUtilities } from "../internal";
7
11
  /**
8
12
  * fetch XML from HTTP request
9
13
  * @param url server URL to address the request
@@ -114,6 +118,21 @@ export var WmsCapability;
114
118
  }
115
119
  return subLayers;
116
120
  }
121
+ getSubLayersCrs(layerNameFilter) {
122
+ const subLayerCrs = new Map();
123
+ const processSubLayer = ((subLayer) => {
124
+ if (layerNameFilter.includes(subLayer.name)) {
125
+ subLayerCrs.set(subLayer.name, subLayer.crs);
126
+ }
127
+ if (subLayer.children) {
128
+ subLayer.children.forEach((child) => {
129
+ processSubLayer(child);
130
+ });
131
+ }
132
+ });
133
+ this.subLayers.forEach((subLayer) => processSubLayer(subLayer));
134
+ return subLayerCrs;
135
+ }
117
136
  }
118
137
  Layer.PREFIX_SEPARATOR = ":";
119
138
  WmsCapability.Layer = Layer;
@@ -121,10 +140,22 @@ export var WmsCapability;
121
140
  class SubLayer {
122
141
  constructor(_json, parent) {
123
142
  this.parent = parent;
143
+ const getParentCrs = (parentLayer, crsSet) => {
144
+ parentLayer.crs.forEach((parentCrs) => crsSet.add(parentCrs));
145
+ if (parentLayer.parent) {
146
+ getParentCrs(parentLayer.parent, crsSet);
147
+ }
148
+ };
124
149
  this.name = _json.Name ? _json.Name : "";
125
150
  this.title = _json.Title;
126
151
  this.queryable = _json.queryable ? true : false;
127
152
  this.cartoRange = rangeFromJSON(_json);
153
+ this.ownCrs = _json.CRS;
154
+ const crs = new Set(this.ownCrs);
155
+ if (parent) {
156
+ getParentCrs(parent, crs);
157
+ }
158
+ this.crs = [...crs];
128
159
  if (Array.isArray(_json.Layer)) {
129
160
  this.children = new Array();
130
161
  for (const childLayer of _json.Layer) {
@@ -165,6 +196,9 @@ export class WmsCapabilities {
165
196
  getSubLayers(visible = true) {
166
197
  return this.layer ? this.layer.getSubLayers(visible) : undefined;
167
198
  }
199
+ getSubLayersCrs(subLayerNames) {
200
+ return this.layer ? this.layer.getSubLayersCrs(subLayerNames) : undefined;
201
+ }
168
202
  }
169
203
  WmsCapabilities._capabilitiesCache = new Map();
170
204
  //# sourceMappingURL=WmsCapabilities.js.map
@@ -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\nimport { MapSubLayerProps } from \"@itwin/core-common\";\r\nimport { request, RequestBasicCredentials, RequestOptions } from \"@bentley/itwin-client\";\r\nimport WMS from \"wms-capabilities\";\r\nimport { MapCartoRectangle, WmsUtilities } from \"../internal\";\r\n\r\n/** @packageDocumentation\r\n * @module Views\r\n */\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) {\r\n this.queryable = _json.queryable;\r\n this.title = _json.title;\r\n this.srs = initArray<string>(_json.SRS);\r\n this.cartoRange = rangeFromJSON(_json);\r\n this.subLayers.push(new SubLayer(_json));\r\n\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 /** @internal */\r\n export class SubLayer {\r\n public readonly name: string;\r\n public readonly title: string;\r\n public readonly cartoRange?: MapCartoRectangle;\r\n public readonly children?: SubLayer[];\r\n public readonly queryable: boolean;\r\n public constructor(_json: any, public readonly parent?: SubLayer) {\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 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, 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 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.service = new WmsCapability.Service(_json.Service);\r\n if (_json.Capability)\r\n this.layer = new WmsCapability.Layer(_json.Capability.Layer);\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"]}
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) {\r\n this.queryable = _json.queryable;\r\n this.title = _json.title;\r\n this.srs = initArray<string>(_json.SRS);\r\n this.cartoRange = rangeFromJSON(_json);\r\n this.subLayers.push(new SubLayer(_json));\r\n\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, 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 = _json.CRS;\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, 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 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.service = new WmsCapability.Service(_json.Service);\r\n if (_json.Capability)\r\n this.layer = new WmsCapability.Layer(_json.Capability.Layer);\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,5 +1,8 @@
1
+ /** @packageDocumentation
2
+ * @module Views
3
+ */
1
4
  import { Point2d, Range2d } from "@itwin/core-geometry";
2
- import { RequestBasicCredentials } from "@bentley/itwin-client";
5
+ import { RequestBasicCredentials } from "../../request/Request";
3
6
  import { MapCartoRectangle } from "../internal";
4
7
  /** Encapsulation of the capabilities for an WMTS server
5
8
  * @internal
@@ -92,6 +95,7 @@ export declare namespace WmtsCapability {
92
95
  readonly tileMatrixSets: WmtsCapability.TileMatrixSet[];
93
96
  constructor(_json: any);
94
97
  getGoogleMapsCompatibleTileMatrixSet(): WmtsCapability.TileMatrixSet[];
98
+ getEpsg4326CompatibleTileMatrixSet(): WmtsCapability.TileMatrixSet[];
95
99
  }
96
100
  class Style {
97
101
  private _json;
@@ -105,8 +109,14 @@ export declare namespace WmtsCapability {
105
109
  readonly range?: Range2d;
106
110
  constructor(_json: any);
107
111
  }
112
+ class TileMatrixSetLimits {
113
+ limits?: Range2d;
114
+ tileMatrix?: string;
115
+ constructor(_json: any);
116
+ }
108
117
  class TileMatrixSetLink {
109
118
  readonly tileMatrixSet: string;
119
+ readonly tileMatrixSetLimits: TileMatrixSetLimits[];
110
120
  constructor(_json: any);
111
121
  }
112
122
  class TileMatrixSet {
@@ -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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"}