@itwin/core-frontend 5.11.0-dev.11 → 5.11.0-dev.13

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 (98) hide show
  1. package/CHANGELOG.md +8 -1
  2. package/lib/cjs/BingLocation.d.ts +3 -0
  3. package/lib/cjs/BingLocation.d.ts.map +1 -1
  4. package/lib/cjs/BingLocation.js +5 -1
  5. package/lib/cjs/BingLocation.js.map +1 -1
  6. package/lib/cjs/GeoProviders.d.ts +45 -0
  7. package/lib/cjs/GeoProviders.d.ts.map +1 -0
  8. package/lib/cjs/GeoProviders.js +49 -0
  9. package/lib/cjs/GeoProviders.js.map +1 -0
  10. package/lib/cjs/IModelApp.d.ts +33 -0
  11. package/lib/cjs/IModelApp.d.ts.map +1 -1
  12. package/lib/cjs/IModelApp.js +31 -0
  13. package/lib/cjs/IModelApp.js.map +1 -1
  14. package/lib/cjs/IModelConnection.d.ts +3 -3
  15. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  16. package/lib/cjs/IModelConnection.js +15 -8
  17. package/lib/cjs/IModelConnection.js.map +1 -1
  18. package/lib/cjs/ViewGlobalLocation.d.ts +1 -1
  19. package/lib/cjs/ViewGlobalLocation.d.ts.map +1 -1
  20. package/lib/cjs/ViewGlobalLocation.js +3 -6
  21. package/lib/cjs/ViewGlobalLocation.js.map +1 -1
  22. package/lib/cjs/core-frontend.d.ts +1 -0
  23. package/lib/cjs/core-frontend.d.ts.map +1 -1
  24. package/lib/cjs/core-frontend.js +2 -0
  25. package/lib/cjs/core-frontend.js.map +1 -1
  26. package/lib/cjs/internal/tile/RealityModelTileTree.d.ts.map +1 -1
  27. package/lib/cjs/internal/tile/RealityModelTileTree.js +6 -2
  28. package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -1
  29. package/lib/cjs/internal/tile/RealityTileLoader.d.ts +22 -0
  30. package/lib/cjs/internal/tile/RealityTileLoader.d.ts.map +1 -1
  31. package/lib/cjs/internal/tile/RealityTileLoader.js +53 -5
  32. package/lib/cjs/internal/tile/RealityTileLoader.js.map +1 -1
  33. package/lib/cjs/tile/RealityTile.d.ts +5 -0
  34. package/lib/cjs/tile/RealityTile.d.ts.map +1 -1
  35. package/lib/cjs/tile/RealityTile.js +4 -0
  36. package/lib/cjs/tile/RealityTile.js.map +1 -1
  37. package/lib/cjs/tile/map/BingElevation.d.ts +16 -4
  38. package/lib/cjs/tile/map/BingElevation.d.ts.map +1 -1
  39. package/lib/cjs/tile/map/BingElevation.js +18 -8
  40. package/lib/cjs/tile/map/BingElevation.js.map +1 -1
  41. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts +3 -2
  42. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  43. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  44. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  45. package/lib/cjs/tile/map/MapTileTree.js +18 -8
  46. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  47. package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
  48. package/lib/cjs/tools/ViewTool.js +2 -3
  49. package/lib/cjs/tools/ViewTool.js.map +1 -1
  50. package/lib/esm/BingLocation.d.ts +3 -0
  51. package/lib/esm/BingLocation.d.ts.map +1 -1
  52. package/lib/esm/BingLocation.js +5 -1
  53. package/lib/esm/BingLocation.js.map +1 -1
  54. package/lib/esm/GeoProviders.d.ts +45 -0
  55. package/lib/esm/GeoProviders.d.ts.map +1 -0
  56. package/lib/esm/GeoProviders.js +45 -0
  57. package/lib/esm/GeoProviders.js.map +1 -0
  58. package/lib/esm/IModelApp.d.ts +33 -0
  59. package/lib/esm/IModelApp.d.ts.map +1 -1
  60. package/lib/esm/IModelApp.js +32 -1
  61. package/lib/esm/IModelApp.js.map +1 -1
  62. package/lib/esm/IModelConnection.d.ts +3 -3
  63. package/lib/esm/IModelConnection.d.ts.map +1 -1
  64. package/lib/esm/IModelConnection.js +15 -8
  65. package/lib/esm/IModelConnection.js.map +1 -1
  66. package/lib/esm/ViewGlobalLocation.d.ts +1 -1
  67. package/lib/esm/ViewGlobalLocation.d.ts.map +1 -1
  68. package/lib/esm/ViewGlobalLocation.js +3 -6
  69. package/lib/esm/ViewGlobalLocation.js.map +1 -1
  70. package/lib/esm/core-frontend.d.ts +1 -0
  71. package/lib/esm/core-frontend.d.ts.map +1 -1
  72. package/lib/esm/core-frontend.js +4 -1
  73. package/lib/esm/core-frontend.js.map +1 -1
  74. package/lib/esm/internal/tile/RealityModelTileTree.d.ts.map +1 -1
  75. package/lib/esm/internal/tile/RealityModelTileTree.js +6 -2
  76. package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -1
  77. package/lib/esm/internal/tile/RealityTileLoader.d.ts +22 -0
  78. package/lib/esm/internal/tile/RealityTileLoader.d.ts.map +1 -1
  79. package/lib/esm/internal/tile/RealityTileLoader.js +54 -6
  80. package/lib/esm/internal/tile/RealityTileLoader.js.map +1 -1
  81. package/lib/esm/tile/RealityTile.d.ts +5 -0
  82. package/lib/esm/tile/RealityTile.d.ts.map +1 -1
  83. package/lib/esm/tile/RealityTile.js +4 -0
  84. package/lib/esm/tile/RealityTile.js.map +1 -1
  85. package/lib/esm/tile/map/BingElevation.d.ts +16 -4
  86. package/lib/esm/tile/map/BingElevation.d.ts.map +1 -1
  87. package/lib/esm/tile/map/BingElevation.js +18 -8
  88. package/lib/esm/tile/map/BingElevation.js.map +1 -1
  89. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts +3 -2
  90. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  91. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  92. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  93. package/lib/esm/tile/map/MapTileTree.js +19 -9
  94. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  95. package/lib/esm/tools/ViewTool.d.ts.map +1 -1
  96. package/lib/esm/tools/ViewTool.js +2 -3
  97. package/lib/esm/tools/ViewTool.js.map +1 -1
  98. package/package.json +20 -20
package/CHANGELOG.md CHANGED
@@ -1,6 +1,13 @@
1
1
  # Change Log - @itwin/core-frontend
2
2
 
3
- This log was last generated on Thu, 11 Jun 2026 21:11:10 GMT and should not be manually modified.
3
+ This log was last generated on Tue, 16 Jun 2026 13:00:23 GMT and should not be manually modified.
4
+
5
+ ## 5.10.3
6
+ Tue, 16 Jun 2026 12:58:32 GMT
7
+
8
+ ### Updates
9
+
10
+ - NativeApp.startup now always reports the initial connectivity to the backend. Previously, if if `window.navigator.onLine` was false at startup, setConnectivity was never called, leaving the backend incorrectly assuming it was online.
4
11
 
5
12
  ## 5.10.2
6
13
  Thu, 11 Jun 2026 21:09:38 GMT
@@ -6,6 +6,9 @@ import { GlobalLocation } from "./ViewGlobalLocation";
6
6
  * Use of this service requires an API key to be supplied via [[MapLayerOptions.BingMaps]] in the [[IModelAppOptions.mapLayerOptions]] passed to [[IModelApp.startup]].
7
7
  * @public
8
8
  * @extensions
9
+ * @deprecated in 5.11.0. Provide a [[LocationProvider]] implementation via [[IModelAppOptions.geospatialProviders]].
10
+ * @note This class structurally satisfies [[LocationProvider]] but does not use an explicit `implements` clause
11
+ * because api-extractor forbids `@public` classes from referencing `@beta` interfaces (ae-incompatible-release-tags).
9
12
  */
10
13
  export declare class BingLocationProvider {
11
14
  private _locationRequestTemplate;
@@ -1 +1 @@
1
- {"version":3,"file":"BingLocation.d.ts","sourceRoot":"","sources":["../../src/BingLocation.ts"],"names":[],"mappings":"AAIA;;GAEG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;GAIG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,wBAAwB,CAAS;;IASzC;;;;OAIG;IACU,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;CAqB7E"}
1
+ {"version":3,"file":"BingLocation.d.ts","sourceRoot":"","sources":["../../src/BingLocation.ts"],"names":[],"mappings":"AAIA;;GAEG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;;;GAOG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,wBAAwB,CAAS;;IAUzC;;;;OAIG;IACU,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;CAqB7E"}
@@ -15,13 +15,17 @@ const IModelApp_1 = require("./IModelApp");
15
15
  * Use of this service requires an API key to be supplied via [[MapLayerOptions.BingMaps]] in the [[IModelAppOptions.mapLayerOptions]] passed to [[IModelApp.startup]].
16
16
  * @public
17
17
  * @extensions
18
+ * @deprecated in 5.11.0. Provide a [[LocationProvider]] implementation via [[IModelAppOptions.geospatialProviders]].
19
+ * @note This class structurally satisfies [[LocationProvider]] but does not use an explicit `implements` clause
20
+ * because api-extractor forbids `@public` classes from referencing `@beta` interfaces (ae-incompatible-release-tags).
18
21
  */
19
22
  class BingLocationProvider {
20
23
  _locationRequestTemplate;
21
24
  constructor() {
22
25
  let bingKey = "";
26
+ // eslint-disable-next-line @typescript-eslint/no-deprecated -- this deprecated class reads from the deprecated BingMaps key by design
23
27
  if (IModelApp_1.IModelApp.mapLayerFormatRegistry.configOptions.BingMaps) {
24
- bingKey = IModelApp_1.IModelApp.mapLayerFormatRegistry.configOptions.BingMaps.value;
28
+ bingKey = IModelApp_1.IModelApp.mapLayerFormatRegistry.configOptions.BingMaps.value; // eslint-disable-line @typescript-eslint/no-deprecated
25
29
  }
26
30
  this._locationRequestTemplate = `https://dev.virtualearth.net/REST/v1/Locations?query={query}&key=${bingKey}`;
27
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BingLocation.js","sourceRoot":"","sources":["../../src/BingLocation.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,oDAAkD;AAClD,+CAA4C;AAC5C,2CAAwC;AAGxC;;;;GAIG;AACH,MAAa,oBAAoB;IACvB,wBAAwB,CAAS;IAEzC;QACE,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,qBAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC5D,OAAO,GAAG,qBAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,wBAAwB,GAAG,oEAAoE,OAAO,EAAE,CAAC;IAChH,CAAC;IACD;;;;OAIG;IACI,KAAK,CAAC,WAAW,CAAC,KAAa;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC3E,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,MAAM,IAAA,iBAAO,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC3D,MAAM,KAAK,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAClE,MAAM,IAAI,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAChE,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,OAAO;gBACL,MAAM,EAAE,0BAAY,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrG,IAAI,EAAE;oBACJ,SAAS,EAAE,0BAAY,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;oBAC1F,SAAS,EAAE,0BAAY,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;iBAC3F;aACF,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;CACF;AApCD,oDAoCC","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 { Cartographic } from \"@itwin/core-common\";\r\nimport { request } from \"./request/Request\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { GlobalLocation } from \"./ViewGlobalLocation\";\r\n\r\n/** Provides an interface to the [Bing Maps location services](https://docs.microsoft.com/en-us/bingmaps/rest-services/locations/).\r\n * Use of this service requires an API key to be supplied via [[MapLayerOptions.BingMaps]] in the [[IModelAppOptions.mapLayerOptions]] passed to [[IModelApp.startup]].\r\n * @public\r\n * @extensions\r\n */\r\nexport class BingLocationProvider {\r\n private _locationRequestTemplate: string;\r\n\r\n constructor() {\r\n let bingKey = \"\";\r\n if (IModelApp.mapLayerFormatRegistry.configOptions.BingMaps) {\r\n bingKey = IModelApp.mapLayerFormatRegistry.configOptions.BingMaps.value;\r\n }\r\n this._locationRequestTemplate = `https://dev.virtualearth.net/REST/v1/Locations?query={query}&key=${bingKey}`;\r\n }\r\n /** Return the location of a query (or undefined if not found). The strings \"Space Needle\" (a landmark) and \"1 Microsoft Way Redmond WA\" (an address) are examples of query strings with location information.\r\n * These strings can be specified as a structured URL parameter or as a query parameter value. See [Bing Location Services documentation](https://docs.microsoft.com/en-us/bingmaps/rest-services/locations/find-a-location-by-query) for additional\r\n * information on queries.\r\n * @public\r\n */\r\n public async getLocation(query: string): Promise<GlobalLocation | undefined> {\r\n const requestUrl = this._locationRequestTemplate.replace(\"{query}\", query);\r\n try {\r\n const locationResponse = await request(requestUrl, \"json\");\r\n const point = locationResponse.resourceSets[0].resources[0].point;\r\n const bbox = locationResponse.resourceSets[0].resources[0].bbox;\r\n const southLatitude = bbox[0];\r\n const westLongitude = bbox[1];\r\n const northLatitude = bbox[2];\r\n const eastLongitude = bbox[3];\r\n return {\r\n center: Cartographic.fromDegrees({ longitude: point.coordinates[1], latitude: point.coordinates[0] }),\r\n area: {\r\n southwest: Cartographic.fromDegrees({ longitude: westLongitude, latitude: southLatitude }),\r\n northeast: Cartographic.fromDegrees({ longitude: eastLongitude, latitude: northLatitude }),\r\n },\r\n };\r\n } catch {\r\n return undefined;\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"BingLocation.js","sourceRoot":"","sources":["../../src/BingLocation.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,oDAAkD;AAClD,+CAA4C;AAC5C,2CAAwC;AAGxC;;;;;;;GAOG;AACH,MAAa,oBAAoB;IACvB,wBAAwB,CAAS;IAEzC;QACE,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,sIAAsI;QACtI,IAAI,qBAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC5D,OAAO,GAAG,qBAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,uDAAuD;QAClI,CAAC;QACD,IAAI,CAAC,wBAAwB,GAAG,oEAAoE,OAAO,EAAE,CAAC;IAChH,CAAC;IACD;;;;OAIG;IACI,KAAK,CAAC,WAAW,CAAC,KAAa;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC3E,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,MAAM,IAAA,iBAAO,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC3D,MAAM,KAAK,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAClE,MAAM,IAAI,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAChE,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,OAAO;gBACL,MAAM,EAAE,0BAAY,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrG,IAAI,EAAE;oBACJ,SAAS,EAAE,0BAAY,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;oBAC1F,SAAS,EAAE,0BAAY,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;iBAC3F;aACF,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;CACF;AArCD,oDAqCC","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 { Cartographic } from \"@itwin/core-common\";\r\nimport { request } from \"./request/Request\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { GlobalLocation } from \"./ViewGlobalLocation\";\r\n\r\n/** Provides an interface to the [Bing Maps location services](https://docs.microsoft.com/en-us/bingmaps/rest-services/locations/).\r\n * Use of this service requires an API key to be supplied via [[MapLayerOptions.BingMaps]] in the [[IModelAppOptions.mapLayerOptions]] passed to [[IModelApp.startup]].\r\n * @public\r\n * @extensions\r\n * @deprecated in 5.11.0. Provide a [[LocationProvider]] implementation via [[IModelAppOptions.geospatialProviders]].\r\n * @note This class structurally satisfies [[LocationProvider]] but does not use an explicit `implements` clause\r\n * because api-extractor forbids `@public` classes from referencing `@beta` interfaces (ae-incompatible-release-tags).\r\n */\r\nexport class BingLocationProvider {\r\n private _locationRequestTemplate: string;\r\n\r\n constructor() {\r\n let bingKey = \"\";\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- this deprecated class reads from the deprecated BingMaps key by design\r\n if (IModelApp.mapLayerFormatRegistry.configOptions.BingMaps) {\r\n bingKey = IModelApp.mapLayerFormatRegistry.configOptions.BingMaps.value; // eslint-disable-line @typescript-eslint/no-deprecated\r\n }\r\n this._locationRequestTemplate = `https://dev.virtualearth.net/REST/v1/Locations?query={query}&key=${bingKey}`;\r\n }\r\n /** Return the location of a query (or undefined if not found). The strings \"Space Needle\" (a landmark) and \"1 Microsoft Way Redmond WA\" (an address) are examples of query strings with location information.\r\n * These strings can be specified as a structured URL parameter or as a query parameter value. See [Bing Location Services documentation](https://docs.microsoft.com/en-us/bingmaps/rest-services/locations/find-a-location-by-query) for additional\r\n * information on queries.\r\n * @public\r\n */\r\n public async getLocation(query: string): Promise<GlobalLocation | undefined> {\r\n const requestUrl = this._locationRequestTemplate.replace(\"{query}\", query);\r\n try {\r\n const locationResponse = await request(requestUrl, \"json\");\r\n const point = locationResponse.resourceSets[0].resources[0].point;\r\n const bbox = locationResponse.resourceSets[0].resources[0].bbox;\r\n const southLatitude = bbox[0];\r\n const westLongitude = bbox[1];\r\n const northLatitude = bbox[2];\r\n const eastLongitude = bbox[3];\r\n return {\r\n center: Cartographic.fromDegrees({ longitude: point.coordinates[1], latitude: point.coordinates[0] }),\r\n area: {\r\n southwest: Cartographic.fromDegrees({ longitude: westLongitude, latitude: southLatitude }),\r\n northeast: Cartographic.fromDegrees({ longitude: eastLongitude, latitude: northLatitude }),\r\n },\r\n };\r\n } catch {\r\n return undefined;\r\n }\r\n }\r\n}\r\n"]}
@@ -0,0 +1,45 @@
1
+ /** @packageDocumentation
2
+ * @module Views
3
+ */
4
+ import { Cartographic } from "@itwin/core-common";
5
+ import { Range1d, Range2d } from "@itwin/core-geometry";
6
+ import { IModelConnection } from "./IModelConnection";
7
+ import type { GlobalLocation } from "./ViewGlobalLocation";
8
+ /** Provides terrain elevation data.
9
+ * @beta
10
+ */
11
+ export interface ElevationProvider {
12
+ /** Return the height (altitude) at a given cartographic location.
13
+ * If geodetic is true (the default) then height is returned in the Ellipsoidal WGS84 datum.
14
+ * If geodetic is false then sea level height is returned using the Earth Gravitational Model 2008 (EGM2008 2.5').
15
+ */
16
+ getHeight(carto: Cartographic, geodetic?: boolean): Promise<number>;
17
+ /** Return a grid of elevations within the specified range.
18
+ * Returns undefined if elevation data is unavailable for the range.
19
+ * Implementations that do not support bulk grid queries may omit this method.
20
+ */
21
+ getHeights?(range: Range2d): Promise<number[] | undefined>;
22
+ }
23
+ /** Provides geoid undulation — the offset between the geodetic ellipsoid (WGS84) and sea level (EGM2008).
24
+ * @beta
25
+ */
26
+ export interface GeoidProvider {
27
+ /** Return the offset from geodetic height to sea level height at the given cartographic location. */
28
+ getGeodeticToSeaLevelOffset(carto: Cartographic): Promise<number>;
29
+ }
30
+ /** Provides geocoding — converting a query string to a geographic location.
31
+ * @beta
32
+ */
33
+ export interface LocationProvider {
34
+ /** Return the location for a query string, or undefined if not found. */
35
+ getLocation(query: string): Promise<GlobalLocation | undefined>;
36
+ }
37
+ /** Compute the elevation range for an iModel's project extents using the given provider.
38
+ * @beta
39
+ */
40
+ export declare function getHeightRange(provider: ElevationProvider, iModel: IModelConnection): Promise<Range1d>;
41
+ /** Compute the average elevation for an iModel's project extents using the given provider.
42
+ * @beta
43
+ */
44
+ export declare function getHeightAverage(provider: ElevationProvider, iModel: IModelConnection): Promise<number>;
45
+ //# sourceMappingURL=GeoProviders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeoProviders.d.ts","sourceRoot":"","sources":["../../src/GeoProviders.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpE;;;OAGG;IACH,UAAU,CAAC,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;CAC5D;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qGAAqG;IACrG,2BAA2B,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACnE;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yEAAyE;IACzE,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;CACjE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAgB5G;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmB7G"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Views
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.getHeightRange = getHeightRange;
11
+ exports.getHeightAverage = getHeightAverage;
12
+ const core_geometry_1 = require("@itwin/core-geometry");
13
+ /** Compute the elevation range for an iModel's project extents using the given provider.
14
+ * @beta
15
+ */
16
+ async function getHeightRange(provider, iModel) {
17
+ if (!iModel.isGeoLocated)
18
+ return core_geometry_1.Range1d.createNull();
19
+ const latLongRange = core_geometry_1.Range2d.createNull();
20
+ const range = iModel.projectExtents.clone();
21
+ // Expand for project surroundings.
22
+ range.expandInPlace(1000);
23
+ for (const corner of range.corners()) {
24
+ const carto = iModel.spatialToCartographicFromEcef(corner);
25
+ latLongRange.extendXY(carto.longitudeDegrees, carto.latitudeDegrees);
26
+ }
27
+ const heights = await provider.getHeights?.(latLongRange);
28
+ return heights ? core_geometry_1.Range1d.createArray(heights) : core_geometry_1.Range1d.createNull();
29
+ }
30
+ /** Compute the average elevation for an iModel's project extents using the given provider.
31
+ * @beta
32
+ */
33
+ async function getHeightAverage(provider, iModel) {
34
+ if (!iModel.isGeoLocated)
35
+ return 0;
36
+ const latLongRange = core_geometry_1.Range2d.createNull();
37
+ for (const corner of iModel.projectExtents.corners()) {
38
+ const carto = iModel.spatialToCartographicFromEcef(corner);
39
+ latLongRange.extendXY(carto.longitudeDegrees, carto.latitudeDegrees);
40
+ }
41
+ const heights = await provider.getHeights?.(latLongRange);
42
+ if (!heights || !heights.length)
43
+ return 0;
44
+ let total = 0.0;
45
+ for (const height of heights)
46
+ total += height;
47
+ return total / heights.length;
48
+ }
49
+ //# sourceMappingURL=GeoProviders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeoProviders.js","sourceRoot":"","sources":["../../src/GeoProviders.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;AA2CH,wCAgBC;AAKD,4CAmBC;AAhFD,wDAAwD;AAqCxD;;GAEG;AACI,KAAK,UAAU,cAAc,CAAC,QAA2B,EAAE,MAAwB;IACxF,IAAI,CAAC,MAAM,CAAC,YAAY;QACtB,OAAO,uBAAO,CAAC,UAAU,EAAE,CAAC;IAE9B,MAAM,YAAY,GAAG,uBAAO,CAAC,UAAU,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAE5C,mCAAmC;IACnC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC1B,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;QAC3D,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,CAAC;IAC1D,OAAO,OAAO,CAAC,CAAC,CAAC,uBAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,uBAAO,CAAC,UAAU,EAAE,CAAC;AACvE,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,gBAAgB,CAAC,QAA2B,EAAE,MAAwB;IAC1F,IAAI,CAAC,MAAM,CAAC,YAAY;QACtB,OAAO,CAAC,CAAC;IAEX,MAAM,YAAY,GAAG,uBAAO,CAAC,UAAU,EAAE,CAAC;IAC1C,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;QAC3D,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,CAAC;IAC1D,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM;QAC7B,OAAO,CAAC,CAAC;IAEX,IAAI,KAAK,GAAG,GAAG,CAAC;IAChB,KAAK,MAAM,MAAM,IAAI,OAAO;QAC1B,KAAK,IAAI,MAAM,CAAC;IAElB,OAAO,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;AAChC,CAAC","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 { Cartographic } from \"@itwin/core-common\";\r\nimport { Range1d, Range2d } from \"@itwin/core-geometry\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport type { GlobalLocation } from \"./ViewGlobalLocation\";\r\n\r\n/** Provides terrain elevation data.\r\n * @beta\r\n */\r\nexport interface ElevationProvider {\r\n /** Return the height (altitude) at a given cartographic location.\r\n * If geodetic is true (the default) then height is returned in the Ellipsoidal WGS84 datum.\r\n * If geodetic is false then sea level height is returned using the Earth Gravitational Model 2008 (EGM2008 2.5').\r\n */\r\n getHeight(carto: Cartographic, geodetic?: boolean): Promise<number>;\r\n\r\n /** Return a grid of elevations within the specified range.\r\n * Returns undefined if elevation data is unavailable for the range.\r\n * Implementations that do not support bulk grid queries may omit this method.\r\n */\r\n getHeights?(range: Range2d): Promise<number[] | undefined>;\r\n}\r\n\r\n/** Provides geoid undulation — the offset between the geodetic ellipsoid (WGS84) and sea level (EGM2008).\r\n * @beta\r\n */\r\nexport interface GeoidProvider {\r\n /** Return the offset from geodetic height to sea level height at the given cartographic location. */\r\n getGeodeticToSeaLevelOffset(carto: Cartographic): Promise<number>;\r\n}\r\n\r\n/** Provides geocoding — converting a query string to a geographic location.\r\n * @beta\r\n */\r\nexport interface LocationProvider {\r\n /** Return the location for a query string, or undefined if not found. */\r\n getLocation(query: string): Promise<GlobalLocation | undefined>;\r\n}\r\n\r\n/** Compute the elevation range for an iModel's project extents using the given provider.\r\n * @beta\r\n */\r\nexport async function getHeightRange(provider: ElevationProvider, iModel: IModelConnection): Promise<Range1d> {\r\n if (!iModel.isGeoLocated)\r\n return Range1d.createNull();\r\n\r\n const latLongRange = Range2d.createNull();\r\n const range = iModel.projectExtents.clone();\r\n\r\n // Expand for project surroundings.\r\n range.expandInPlace(1000);\r\n for (const corner of range.corners()) {\r\n const carto = iModel.spatialToCartographicFromEcef(corner);\r\n latLongRange.extendXY(carto.longitudeDegrees, carto.latitudeDegrees);\r\n }\r\n\r\n const heights = await provider.getHeights?.(latLongRange);\r\n return heights ? Range1d.createArray(heights) : Range1d.createNull();\r\n}\r\n\r\n/** Compute the average elevation for an iModel's project extents using the given provider.\r\n * @beta\r\n */\r\nexport async function getHeightAverage(provider: ElevationProvider, iModel: IModelConnection): Promise<number> {\r\n if (!iModel.isGeoLocated)\r\n return 0;\r\n\r\n const latLongRange = Range2d.createNull();\r\n for (const corner of iModel.projectExtents.corners()) {\r\n const carto = iModel.spatialToCartographicFromEcef(corner);\r\n latLongRange.extendXY(carto.longitudeDegrees, carto.latitudeDegrees);\r\n }\r\n\r\n const heights = await provider.getHeights?.(latLongRange);\r\n if (!heights || !heights.length)\r\n return 0;\r\n\r\n let total = 0.0;\r\n for (const height of heights)\r\n total += height;\r\n\r\n return total / heights.length;\r\n}\r\n"]}
@@ -20,6 +20,7 @@ import { RenderSystem } from "./render/RenderSystem";
20
20
  import { TentativePoint } from "./TentativePoint";
21
21
  import { RealityDataSourceProviderRegistry } from "./RealityDataSource";
22
22
  import { MapLayerFormatRegistry, MapLayerOptions, TerrainProviderRegistry, TileAdmin } from "./tile/internal";
23
+ import { ElevationProvider, GeoidProvider, LocationProvider } from "./GeoProviders";
23
24
  import { ToolRegistry } from "./tools/Tool";
24
25
  import { ToolAdmin } from "./tools/ToolAdmin";
25
26
  import { UserPreferencesAccess } from "./UserPreferences";
@@ -60,6 +61,20 @@ export interface IModelAppOptions {
60
61
  * @beta
61
62
  */
62
63
  mapLayerOptions?: MapLayerOptions;
64
+ /** Geospatial service providers for elevation, geoid, and geocoding.
65
+ * If not supplied, deprecated Bing-backed defaults are used for backward compatibility.
66
+ * @note If you have not yet migrated to custom providers, continue supplying the deprecated
67
+ * [[MapLayerOptions.BingMaps]] key as an interim measure. To fully remove the Bing dependency, supply custom implementations here.
68
+ * @beta
69
+ */
70
+ geospatialProviders?: {
71
+ /** Terrain height lookup. Defaults to [[BingElevationProvider]]. */
72
+ elevationProvider?: ElevationProvider;
73
+ /** Geodetic-to-sea-level offset. Defaults to [[BingElevationProvider]] (which implements both). */
74
+ geoidProvider?: GeoidProvider;
75
+ /** Geocoding (query string to location). Defaults to [[BingLocationProvider]]. */
76
+ locationProvider?: LocationProvider;
77
+ };
63
78
  /** If present, supplies the properties with which to initialize the [[TileAdmin]] for this session. */
64
79
  tileAdmin?: TileAdmin.Props;
65
80
  /** If present, supplies the [[NotificationManager]] for this session. */
@@ -169,6 +184,9 @@ export declare class IModelApp {
169
184
  private static _securityOptions;
170
185
  private static _mapLayerFormatRegistry;
171
186
  private static _terrainProviderRegistry;
187
+ private static _elevationProvider;
188
+ private static _geoidProvider;
189
+ private static _locationProvider;
172
190
  private static _realityDataSourceProviders;
173
191
  private static _hubAccess?;
174
192
  private static _realityDataAccess?;
@@ -190,6 +208,21 @@ export declare class IModelApp {
190
208
  static get mapLayerFormatRegistry(): MapLayerFormatRegistry;
191
209
  /** The [[TerrainProviderRegistry]] for this session. */
192
210
  static get terrainProviderRegistry(): TerrainProviderRegistry;
211
+ /** The [[ElevationProvider]] for this session.
212
+ * @beta
213
+ */
214
+ static get elevationProvider(): ElevationProvider;
215
+ static set elevationProvider(provider: ElevationProvider);
216
+ /** The [[GeoidProvider]] for this session.
217
+ * @beta
218
+ */
219
+ static get geoidProvider(): GeoidProvider;
220
+ static set geoidProvider(provider: GeoidProvider);
221
+ /** The [[LocationProvider]] for this session.
222
+ * @beta
223
+ */
224
+ static get locationProvider(): LocationProvider;
225
+ static set locationProvider(provider: LocationProvider);
193
226
  /** The [[RealityDataSourceProviderRegistry]] for this session.
194
227
  * @beta
195
228
  */
@@ -1 +1 @@
1
- {"version":3,"file":"IModelApp.d.ts","sourceRoot":"","sources":["../../src/IModelApp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IModelApp.d.ts","sourceRoot":"","sources":["../../src/IModelApp.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,7 @@ const spatialViewState = __importStar(require("./SpatialViewState"));
66
66
  const TentativePoint_1 = require("./TentativePoint");
67
67
  const RealityDataSource_1 = require("./RealityDataSource");
68
68
  const internal_1 = require("./tile/internal");
69
+ const BingLocation_1 = require("./BingLocation");
69
70
  const accudrawTool = __importStar(require("./tools/AccuDrawTool"));
70
71
  const clipViewTool = __importStar(require("./tools/ClipViewTool"));
71
72
  const idleTool = __importStar(require("./tools/IdleTool"));
@@ -111,6 +112,9 @@ class IModelApp {
111
112
  static _securityOptions;
112
113
  static _mapLayerFormatRegistry;
113
114
  static _terrainProviderRegistry;
115
+ static _elevationProvider;
116
+ static _geoidProvider;
117
+ static _locationProvider;
114
118
  static _realityDataSourceProviders;
115
119
  static _hubAccess;
116
120
  static _realityDataAccess;
@@ -133,6 +137,21 @@ class IModelApp {
133
137
  static get mapLayerFormatRegistry() { return this._mapLayerFormatRegistry; }
134
138
  /** The [[TerrainProviderRegistry]] for this session. */
135
139
  static get terrainProviderRegistry() { return this._terrainProviderRegistry; }
140
+ /** The [[ElevationProvider]] for this session.
141
+ * @beta
142
+ */
143
+ static get elevationProvider() { return (0, core_bentley_1.expectDefined)(this._elevationProvider); }
144
+ static set elevationProvider(provider) { this._elevationProvider = provider; }
145
+ /** The [[GeoidProvider]] for this session.
146
+ * @beta
147
+ */
148
+ static get geoidProvider() { return (0, core_bentley_1.expectDefined)(this._geoidProvider); }
149
+ static set geoidProvider(provider) { this._geoidProvider = provider; }
150
+ /** The [[LocationProvider]] for this session.
151
+ * @beta
152
+ */
153
+ static get locationProvider() { return (0, core_bentley_1.expectDefined)(this._locationProvider); }
154
+ static set locationProvider(provider) { this._locationProvider = provider; }
136
155
  /** The [[RealityDataSourceProviderRegistry]] for this session.
137
156
  * @beta
138
157
  */
@@ -308,6 +327,15 @@ class IModelApp {
308
327
  this._uiAdmin = opts.uiAdmin ?? new appui_abstract_1.UiAdmin();
309
328
  this._mapLayerFormatRegistry = new internal_1.MapLayerFormatRegistry(opts.mapLayerOptions);
310
329
  this._terrainProviderRegistry = new internal_1.TerrainProviderRegistry();
330
+ // eslint-disable-next-line @typescript-eslint/no-deprecated -- intentional: Bing is the backward-compat default until it is removed in a future major version
331
+ let defaultBingElevation;
332
+ const geo = opts.geospatialProviders;
333
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
334
+ const lazyBing = () => defaultBingElevation ??= new internal_1.BingElevationProvider();
335
+ this._elevationProvider = geo?.elevationProvider ?? lazyBing();
336
+ this._geoidProvider = geo?.geoidProvider ?? lazyBing();
337
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
338
+ this._locationProvider = geo?.locationProvider ?? new BingLocation_1.BingLocationProvider();
311
339
  this._realityDataSourceProviders = new RealityDataSource_1.RealityDataSourceProviderRegistry();
312
340
  this._realityDataAccess = opts.realityDataAccess;
313
341
  this._formatsProviderManager = new QuantityFormatter_1.FormatsProviderManager(opts.formatsProvider ?? new QuantityFormatter_1.QuantityTypeFormatsProvider());
@@ -345,6 +373,9 @@ class IModelApp {
345
373
  [this.toolAdmin, this.viewManager, this.tileAdmin].forEach((sys) => sys.onShutDown());
346
374
  this.tools.shutdown();
347
375
  this._renderSystem = (0, core_bentley_1.dispose)(this._renderSystem);
376
+ this._elevationProvider = undefined;
377
+ this._geoidProvider = undefined;
378
+ this._locationProvider = undefined;
348
379
  this._entityClasses.clear();
349
380
  this.authorizationClient = undefined;
350
381
  this._initialized = false;