@itwin/core-frontend 3.0.0-dev.102 → 3.0.0-dev.106

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 (205) hide show
  1. package/lib/cjs/ApproximateTerrainHeights.js +3 -3
  2. package/lib/cjs/ApproximateTerrainHeights.js.map +1 -1
  3. package/lib/cjs/ContextRealityModelState.js +1 -1
  4. package/lib/cjs/ContextRealityModelState.js.map +1 -1
  5. package/lib/cjs/ElementLocateManager.d.ts +5 -0
  6. package/lib/cjs/ElementLocateManager.d.ts.map +1 -1
  7. package/lib/cjs/ElementLocateManager.js +12 -2
  8. package/lib/cjs/ElementLocateManager.js.map +1 -1
  9. package/lib/cjs/ModelState.js +1 -1
  10. package/lib/cjs/ModelState.js.map +1 -1
  11. package/lib/cjs/RealityDataSource.d.ts +53 -29
  12. package/lib/cjs/RealityDataSource.d.ts.map +1 -1
  13. package/lib/cjs/RealityDataSource.js +245 -91
  14. package/lib/cjs/RealityDataSource.js.map +1 -1
  15. package/lib/cjs/TwoWayViewportSync.d.ts +35 -6
  16. package/lib/cjs/TwoWayViewportSync.d.ts.map +1 -1
  17. package/lib/cjs/TwoWayViewportSync.js +51 -11
  18. package/lib/cjs/TwoWayViewportSync.js.map +1 -1
  19. package/lib/cjs/Viewport.d.ts +23 -5
  20. package/lib/cjs/Viewport.d.ts.map +1 -1
  21. package/lib/cjs/Viewport.js +13 -9
  22. package/lib/cjs/Viewport.js.map +1 -1
  23. package/lib/cjs/core-frontend.d.ts +0 -1
  24. package/lib/cjs/core-frontend.d.ts.map +1 -1
  25. package/lib/cjs/core-frontend.js +0 -1
  26. package/lib/cjs/core-frontend.js.map +1 -1
  27. package/lib/cjs/render/webgl/PlanarClassifier.d.ts.map +1 -1
  28. package/lib/cjs/render/webgl/PlanarClassifier.js +4 -2
  29. package/lib/cjs/render/webgl/PlanarClassifier.js.map +1 -1
  30. package/lib/cjs/render/webgl/glsl/PlanarClassification.d.ts.map +1 -1
  31. package/lib/cjs/render/webgl/glsl/PlanarClassification.js +10 -1
  32. package/lib/cjs/render/webgl/glsl/PlanarClassification.js.map +1 -1
  33. package/lib/cjs/tile/CesiumAssetProvider.d.ts +13 -0
  34. package/lib/cjs/tile/CesiumAssetProvider.d.ts.map +1 -0
  35. package/lib/cjs/tile/CesiumAssetProvider.js +34 -0
  36. package/lib/cjs/tile/CesiumAssetProvider.js.map +1 -0
  37. package/lib/cjs/tile/ContextShareProvider.d.ts +22 -0
  38. package/lib/cjs/tile/ContextShareProvider.d.ts.map +1 -0
  39. package/lib/cjs/tile/ContextShareProvider.js +110 -0
  40. package/lib/cjs/tile/ContextShareProvider.js.map +1 -0
  41. package/lib/cjs/tile/OrbitGtTileTree.d.ts.map +1 -1
  42. package/lib/cjs/tile/OrbitGtTileTree.js +8 -5
  43. package/lib/cjs/tile/OrbitGtTileTree.js.map +1 -1
  44. package/lib/cjs/tile/RealityModelTileTree.d.ts +1 -54
  45. package/lib/cjs/tile/RealityModelTileTree.d.ts.map +1 -1
  46. package/lib/cjs/tile/RealityModelTileTree.js +24 -217
  47. package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
  48. package/lib/cjs/tile/internal.d.ts +3 -0
  49. package/lib/cjs/tile/internal.d.ts.map +1 -1
  50. package/lib/cjs/tile/internal.js +3 -0
  51. package/lib/cjs/tile/internal.js.map +1 -1
  52. package/lib/cjs/tile/map/ArcGISTileMap.d.ts +22 -0
  53. package/lib/cjs/tile/map/ArcGISTileMap.d.ts.map +1 -0
  54. package/lib/cjs/tile/map/ArcGISTileMap.js +173 -0
  55. package/lib/cjs/tile/map/ArcGISTileMap.js.map +1 -0
  56. package/lib/cjs/tile/map/CesiumTerrainProvider.js +5 -4
  57. package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
  58. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -2
  59. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  60. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +18 -40
  61. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  62. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +6 -1
  63. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
  64. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +63 -21
  65. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  66. package/lib/cjs/tile/map/ImageryTileTree.d.ts +4 -4
  67. package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
  68. package/lib/cjs/tile/map/ImageryTileTree.js +20 -24
  69. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  70. package/lib/cjs/tile/map/MapCartoRectangle.js +1 -1
  71. package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
  72. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  73. package/lib/cjs/tile/map/MapLayerImageryFormats.js +17 -6
  74. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  75. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +9 -4
  76. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  77. package/lib/cjs/tile/map/MapLayerImageryProvider.js +22 -4
  78. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  79. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  80. package/lib/cjs/tile/map/MapTile.js +4 -3
  81. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  82. package/lib/cjs/tile/map/MapTileTree.js +1 -1
  83. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  84. package/lib/cjs/tile/map/MapTilingScheme.d.ts +7 -2
  85. package/lib/cjs/tile/map/MapTilingScheme.d.ts.map +1 -1
  86. package/lib/cjs/tile/map/MapTilingScheme.js +21 -8
  87. package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
  88. package/lib/cjs/tile/map/QuadId.d.ts +1 -0
  89. package/lib/cjs/tile/map/QuadId.d.ts.map +1 -1
  90. package/lib/cjs/tile/map/QuadId.js +2 -1
  91. package/lib/cjs/tile/map/QuadId.js.map +1 -1
  92. package/lib/cjs/tile/map/WmtsCapabilities.d.ts +7 -0
  93. package/lib/cjs/tile/map/WmtsCapabilities.d.ts.map +1 -1
  94. package/lib/cjs/tile/map/WmtsCapabilities.js +16 -2
  95. package/lib/cjs/tile/map/WmtsCapabilities.js.map +1 -1
  96. package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
  97. package/lib/cjs/tools/ViewTool.js +2 -10
  98. package/lib/cjs/tools/ViewTool.js.map +1 -1
  99. package/lib/esm/ApproximateTerrainHeights.js +3 -3
  100. package/lib/esm/ApproximateTerrainHeights.js.map +1 -1
  101. package/lib/esm/ContextRealityModelState.js +1 -1
  102. package/lib/esm/ContextRealityModelState.js.map +1 -1
  103. package/lib/esm/ElementLocateManager.d.ts +5 -0
  104. package/lib/esm/ElementLocateManager.d.ts.map +1 -1
  105. package/lib/esm/ElementLocateManager.js +12 -2
  106. package/lib/esm/ElementLocateManager.js.map +1 -1
  107. package/lib/esm/ModelState.js +1 -1
  108. package/lib/esm/ModelState.js.map +1 -1
  109. package/lib/esm/RealityDataSource.d.ts +53 -29
  110. package/lib/esm/RealityDataSource.d.ts.map +1 -1
  111. package/lib/esm/RealityDataSource.js +246 -90
  112. package/lib/esm/RealityDataSource.js.map +1 -1
  113. package/lib/esm/TwoWayViewportSync.d.ts +35 -6
  114. package/lib/esm/TwoWayViewportSync.d.ts.map +1 -1
  115. package/lib/esm/TwoWayViewportSync.js +49 -10
  116. package/lib/esm/TwoWayViewportSync.js.map +1 -1
  117. package/lib/esm/Viewport.d.ts +23 -5
  118. package/lib/esm/Viewport.d.ts.map +1 -1
  119. package/lib/esm/Viewport.js +13 -9
  120. package/lib/esm/Viewport.js.map +1 -1
  121. package/lib/esm/core-frontend.d.ts +0 -1
  122. package/lib/esm/core-frontend.d.ts.map +1 -1
  123. package/lib/esm/core-frontend.js +0 -1
  124. package/lib/esm/core-frontend.js.map +1 -1
  125. package/lib/esm/render/webgl/PlanarClassifier.d.ts.map +1 -1
  126. package/lib/esm/render/webgl/PlanarClassifier.js +4 -2
  127. package/lib/esm/render/webgl/PlanarClassifier.js.map +1 -1
  128. package/lib/esm/render/webgl/glsl/PlanarClassification.d.ts.map +1 -1
  129. package/lib/esm/render/webgl/glsl/PlanarClassification.js +10 -1
  130. package/lib/esm/render/webgl/glsl/PlanarClassification.js.map +1 -1
  131. package/lib/esm/tile/CesiumAssetProvider.d.ts +13 -0
  132. package/lib/esm/tile/CesiumAssetProvider.d.ts.map +1 -0
  133. package/lib/esm/tile/CesiumAssetProvider.js +30 -0
  134. package/lib/esm/tile/CesiumAssetProvider.js.map +1 -0
  135. package/lib/esm/tile/ContextShareProvider.d.ts +22 -0
  136. package/lib/esm/tile/ContextShareProvider.d.ts.map +1 -0
  137. package/lib/esm/tile/ContextShareProvider.js +106 -0
  138. package/lib/esm/tile/ContextShareProvider.js.map +1 -0
  139. package/lib/esm/tile/OrbitGtTileTree.d.ts.map +1 -1
  140. package/lib/esm/tile/OrbitGtTileTree.js +8 -5
  141. package/lib/esm/tile/OrbitGtTileTree.js.map +1 -1
  142. package/lib/esm/tile/RealityModelTileTree.d.ts +1 -54
  143. package/lib/esm/tile/RealityModelTileTree.d.ts.map +1 -1
  144. package/lib/esm/tile/RealityModelTileTree.js +26 -218
  145. package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
  146. package/lib/esm/tile/internal.d.ts +3 -0
  147. package/lib/esm/tile/internal.d.ts.map +1 -1
  148. package/lib/esm/tile/internal.js +3 -0
  149. package/lib/esm/tile/internal.js.map +1 -1
  150. package/lib/esm/tile/map/ArcGISTileMap.d.ts +22 -0
  151. package/lib/esm/tile/map/ArcGISTileMap.d.ts.map +1 -0
  152. package/lib/esm/tile/map/ArcGISTileMap.js +169 -0
  153. package/lib/esm/tile/map/ArcGISTileMap.js.map +1 -0
  154. package/lib/esm/tile/map/CesiumTerrainProvider.js +5 -4
  155. package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
  156. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -2
  157. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  158. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +19 -41
  159. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  160. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +6 -1
  161. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
  162. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +63 -21
  163. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  164. package/lib/esm/tile/map/ImageryTileTree.d.ts +4 -4
  165. package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
  166. package/lib/esm/tile/map/ImageryTileTree.js +21 -25
  167. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  168. package/lib/esm/tile/map/MapCartoRectangle.js +1 -1
  169. package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
  170. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  171. package/lib/esm/tile/map/MapLayerImageryFormats.js +17 -6
  172. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  173. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +9 -4
  174. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  175. package/lib/esm/tile/map/MapLayerImageryProvider.js +22 -4
  176. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  177. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  178. package/lib/esm/tile/map/MapTile.js +4 -3
  179. package/lib/esm/tile/map/MapTile.js.map +1 -1
  180. package/lib/esm/tile/map/MapTileTree.js +1 -1
  181. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  182. package/lib/esm/tile/map/MapTilingScheme.d.ts +7 -2
  183. package/lib/esm/tile/map/MapTilingScheme.d.ts.map +1 -1
  184. package/lib/esm/tile/map/MapTilingScheme.js +22 -9
  185. package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
  186. package/lib/esm/tile/map/QuadId.d.ts +1 -0
  187. package/lib/esm/tile/map/QuadId.d.ts.map +1 -1
  188. package/lib/esm/tile/map/QuadId.js +2 -1
  189. package/lib/esm/tile/map/QuadId.js.map +1 -1
  190. package/lib/esm/tile/map/WmtsCapabilities.d.ts +7 -0
  191. package/lib/esm/tile/map/WmtsCapabilities.d.ts.map +1 -1
  192. package/lib/esm/tile/map/WmtsCapabilities.js +16 -2
  193. package/lib/esm/tile/map/WmtsCapabilities.js.map +1 -1
  194. package/lib/esm/tools/ViewTool.d.ts.map +1 -1
  195. package/lib/esm/tools/ViewTool.js +2 -10
  196. package/lib/esm/tools/ViewTool.js.map +1 -1
  197. package/package.json +24 -24
  198. package/lib/cjs/RealityDataConnection.d.ts +0 -31
  199. package/lib/cjs/RealityDataConnection.d.ts.map +0 -1
  200. package/lib/cjs/RealityDataConnection.js +0 -101
  201. package/lib/cjs/RealityDataConnection.js.map +0 -1
  202. package/lib/esm/RealityDataConnection.d.ts +0 -31
  203. package/lib/esm/RealityDataConnection.d.ts.map +0 -1
  204. package/lib/esm/RealityDataConnection.js +0 -98
  205. package/lib/esm/RealityDataConnection.js.map +0 -1
@@ -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"]}
@@ -92,6 +92,7 @@ export declare namespace WmtsCapability {
92
92
  readonly tileMatrixSets: WmtsCapability.TileMatrixSet[];
93
93
  constructor(_json: any);
94
94
  getGoogleMapsCompatibleTileMatrixSet(): WmtsCapability.TileMatrixSet[];
95
+ getEpsg4326CompatibleTileMatrixSet(): WmtsCapability.TileMatrixSet[];
95
96
  }
96
97
  class Style {
97
98
  private _json;
@@ -105,8 +106,14 @@ export declare namespace WmtsCapability {
105
106
  readonly range?: Range2d;
106
107
  constructor(_json: any);
107
108
  }
109
+ class TileMatrixSetLimits {
110
+ limits?: Range2d;
111
+ tileMatrix?: string;
112
+ constructor(_json: any);
113
+ }
108
114
  class TileMatrixSetLink {
109
115
  readonly tileMatrixSet: string;
116
+ readonly tileMatrixSetLimits: TileMatrixSetLimits[];
110
117
  constructor(_json: any);
111
118
  }
112
119
  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":"AAIA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAW,uBAAuB,EAAkB,MAAM,uBAAuB,CAAC;AAEzF,OAAO,EAAE,iBAAiB,EAAgB,MAAM,aAAa,CAAC;AAuB9D;;GAEG;AACH,yBAAiB,cAAc,CAAC;IAE9B,eAAsB,YAAY;QAEhC,gBAAuB,eAAe,kBAAkB;QACxD,gBAAuB,wBAAwB,2BAA2B;QAC1E,gBAAuB,oBAAoB,uBAAuB;QAClE,gBAAuB,kBAAkB,qBAAqB;QAC9D,gBAAuB,iBAAiB,oBAAoB;QAC5D,gBAAuB,UAAU,aAAa;QAC9C,gBAAuB,WAAW,cAAc;QAChD,gBAAuB,UAAU,aAAa;QAC9C,gBAAuB,WAAW,cAAc;QAChD,gBAAuB,iBAAiB,oBAAoB;QAC5D,gBAAuB,eAAe,kBAAkB;QACxD,gBAAuB,cAAc,iBAAiB;QACtD,gBAAuB,kBAAkB,qBAAqB;QAC9D,gBAAuB,gBAAgB,mBAAmB;QAC1D,gBAAuB,yBAAyB,4BAA4B;QAC5E,gBAAuB,WAAW,cAAc;QAChD,gBAAuB,4BAA4B,+BAA+B;QAClF,gBAAuB,kBAAkB,qBAAqB;QAC9D,gBAAuB,yBAAyB,4BAA4B;QAC5E,gBAAuB,mBAAmB,sBAAsB;QAChE,gBAAuB,YAAY,eAAe;QAClD,gBAAuB,kBAAkB,qBAAqB;QAC9D,gBAAuB,YAAY,eAAe;QAClD,gBAAuB,uBAAuB,0BAA0B;KACzE;IAED,eAAsB,YAAY;QAEhC,gBAAuB,eAAe,qBAAqB;QAC3D,gBAAuB,OAAO,aAAa;QAC3C,gBAAuB,cAAc,oBAAoB;QAEzD,gBAAuB,kBAAkB,iBAAiB;QAC1D,gBAAuB,mBAAmB,kBAAkB;QAC5D,gBAAuB,uBAAuB,sBAAsB;QAEpE,gBAAuB,iBAAiB,gBAAgB;QACxD,gBAAuB,iBAAiB,gBAAgB;QACxD,gBAAuB,wBAAwB,uBAAuB;QACtE,gBAAuB,gBAAgB,eAAe;QACtD,gBAAuB,oBAAoB,mBAAmB;QAC9D,gBAAuB,wBAAwB,uBAAuB;QAEtE,gBAAuB,sBAAsB,cAAc;QAC3D,gBAAuB,eAAe,eAAe;QACrD,gBAAuB,UAAU,gBAAgB;KAClD;IAED,eAAsB,SAAS;QAC7B,gBAAuB,6BAA6B,qBAAqB;QACzE,gBAAuB,mCAAmC,0BAA0B;KACrF;IAED,MAAa,qBAAqB;QAChC,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClC,SAAgB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3C,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;QAC9B,SAAgB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrC,SAAgB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5C,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;QAC/B,SAAgB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;oBAExB,IAAI,EAAE,GAAG;KAwBtB;IAED,MAAa,iBAAiB;QAC5B,OAAO,CAAC,gBAAgB,CAAC,CAAY;QACrC,IAAW,eAAe,IAAI,SAAS,GAAG,SAAS,CAAkC;QAErF,OAAO,CAAC,eAAe,CAAC,CAAY;QACpC,IAAW,cAAc,IAAI,SAAS,GAAG,SAAS,CAAiC;QAEnF,OAAO,CAAC,QAAQ,CAAC,CAAY;QAC7B,IAAW,OAAO,IAAI,SAAS,GAAG,SAAS,CAA0B;QAErE,OAAO,CAAC,aAAa;oBAST,IAAI,EAAE,GAAG;KAYtB;IAED,MAAa,OAAO;QAClB,SAAgB,GAAG,CAAC,EAAE,MAAM,CAAC;QAC7B,SAAgB,cAAc,CAAC,EAAE,MAAM,CAAC;QAKxC,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;oBAEtB,IAAI,EAAE,GAAG;KAMtB;IAED,MAAa,SAAS;QACpB,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;QAC9B,OAAO,CAAC,WAAW,CAAC,CAAY;QAChC,IAAW,UAAU,IAAI,OAAO,EAAE,GAAG,SAAS,CAA6B;QAC3E,OAAO,CAAC,YAAY,CAAC,CAAY;QACjC,IAAW,WAAW,IAAI,OAAO,EAAE,GAAG,SAAS,CAA8B;oBAEjE,IAAI,EAAE,GAAG;KAiCtB;IAED,MAAa,QAAQ;QAIP,OAAO,CAAC,KAAK;QAHzB,SAAgB,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,CAAM;QACpD,SAAgB,cAAc,EAAE,cAAc,CAAC,aAAa,EAAE,CAAM;oBAEhD,KAAK,EAAE,GAAG;QA2BvB,oCAAoC,IAAI,cAAc,CAAC,aAAa,EAAE;QAgBtE,kCAAkC,IAAI,cAAc,CAAC,aAAa,EAAE;KAG5E;IAED,MAAa,KAAK;QAMJ,OAAO,CAAC,KAAK;QALzB,SAAgB,SAAS,EAAE,OAAO,CAAS;QAC3C,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;QAC/B,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;oBAGhB,KAAK,EAAE,GAAG;KAU/B;IACD,MAAa,WAAW;QACtB,SAAgB,GAAG,CAAC,EAAE,MAAM,CAAC;QAC7B,SAAgB,KAAK,CAAC,EAAE,OAAO,CAAC;oBAEpB,KAAK,EAAE,GAAG;KAOvB;IAED,MAAa,mBAAmB;QACvB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;oBAEf,KAAK,EAAE,GAAG;KAKvB;IAED,MAAa,iBAAiB;QAC5B,SAAgB,aAAa,EAAE,MAAM,CAAC;QACtC,SAAgB,mBAAmB,wBAAoC;oBAE3D,KAAK,EAAE,GAAG;KAMvB;IAED,MAAa,aAAa;QACxB,SAAgB,UAAU,EAAE,MAAM,CAAC;QACnC,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;QAC/B,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClC,SAAgB,YAAY,EAAE,MAAM,CAAC;QACrC,SAAgB,iBAAiB,EAAE,MAAM,CAAC;QAC1C,SAAgB,UAAU,EAAE,UAAU,EAAE,CAAM;oBAElC,KAAK,EAAE,GAAG;KA2BvB;IAED,MAAa,UAAU;QACrB,SAAgB,UAAU,EAAE,MAAM,CAAC;QACnC,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;QAC/B,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClC,SAAgB,gBAAgB,EAAE,MAAM,CAAC;QACzC,SAAgB,aAAa,EAAE,OAAO,CAAC;QACvC,SAAgB,SAAS,EAAE,MAAM,CAAC;QAClC,SAAgB,UAAU,EAAE,MAAM,CAAC;QACnC,SAAgB,WAAW,EAAE,MAAM,CAAC;QACpC,SAAgB,YAAY,EAAE,MAAM,CAAC;oBAEzB,KAAK,EAAE,GAAG;KA+CvB;IAED,MAAa,KAAK;QAChB,SAAgB,UAAU,EAAE,MAAM,CAAC;QACnC,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;QAC/B,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClC,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChC,SAAgB,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;QACrD,SAAgB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1C,SAAgB,MAAM,EAAE,KAAK,EAAE,CAAM;QACrC,SAAgB,kBAAkB,EAAE,iBAAiB,EAAE,CAAM;oBAEjD,KAAK,EAAE,GAAG;KA8CvB;CACF;AAED,gBAAgB;AAChB,qBAAa,gBAAgB;IAWf,OAAO,CAAC,KAAK;IAVzB,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAmD;IAEpF,IAAW,IAAI,QAAyB;IAExC,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjC,SAAgB,qBAAqB,CAAC,EAAE,cAAc,CAAC,qBAAqB,CAAC;IAC7E,SAAgB,QAAQ,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC;IAEnD,SAAgB,kBAAkB,CAAC,EAAE,cAAc,CAAC,iBAAiB,CAAC;gBAElD,KAAK,EAAE,GAAG;WAiBhB,aAAa,CAAC,eAAe,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;WAM9D,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,uBAAuB,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;CAkB7I"}
@@ -229,6 +229,9 @@ export var WmtsCapability;
229
229
  });
230
230
  return googleMapsTms;
231
231
  }
232
+ getEpsg4326CompatibleTileMatrixSet() {
233
+ return this.tileMatrixSets.filter((tms) => tms.supportedCrs.includes("4326"));
234
+ }
232
235
  }
233
236
  WmtsCapability.Contents = Contents;
234
237
  class Style {
@@ -257,11 +260,22 @@ export var WmtsCapability;
257
260
  }
258
261
  }
259
262
  WmtsCapability.BoundingBox = BoundingBox;
263
+ class TileMatrixSetLimits {
264
+ constructor(_json) {
265
+ this.tileMatrix = _json.TileMatrix;
266
+ if (_json.MinTileRow !== undefined && _json.MaxTileRow !== undefined && _json.MinTileCol !== undefined && _json.MaxTileCol)
267
+ this.limits = Range2d.createXYXY(Number(_json.MinTileCol._text), Number(_json.MinTileRow._text), Number(_json.MaxTileCol._text), Number(_json.MaxTileRow._text));
268
+ }
269
+ }
270
+ WmtsCapability.TileMatrixSetLimits = TileMatrixSetLimits;
260
271
  class TileMatrixSetLink {
261
- // TODO: TileMatrixSetLimits
262
272
  constructor(_json) {
263
- var _a;
273
+ var _a, _b;
274
+ this.tileMatrixSetLimits = new Array();
264
275
  this.tileMatrixSet = (((_a = _json === null || _json === void 0 ? void 0 : _json.TileMatrixSet) === null || _a === void 0 ? void 0 : _a._text) ? _json.TileMatrixSet._text : "");
276
+ const tileMatrixLimits = (_b = _json === null || _json === void 0 ? void 0 : _json.TileMatrixSetLimits) === null || _b === void 0 ? void 0 : _b.TileMatrixLimits;
277
+ if (Array.isArray(tileMatrixLimits))
278
+ tileMatrixLimits.forEach((tml) => this.tileMatrixSetLimits.push(new TileMatrixSetLimits(tml)));
265
279
  }
266
280
  }
267
281
  WmtsCapability.TileMatrixSetLink = TileMatrixSetLink;
@@ -1 +1 @@
1
- {"version":3,"file":"WmtsCapabilities.js","sourceRoot":"","sources":["../../../../src/tile/map/WmtsCapabilities.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 { Point2d, Range2d } from \"@itwin/core-geometry\";\r\nimport { request, RequestBasicCredentials, RequestOptions } from \"@bentley/itwin-client\";\r\nimport { xml2json } from \"xml-js\";\r\nimport { MapCartoRectangle, WmsUtilities } from \"../internal\"; // WmsUtilities needed for getBaseUrl\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\n\r\n/** Encapsulation of the capabilities for an WMTS server\r\n * @internal\r\n */\r\nexport namespace WmtsCapability {\r\n\r\n export abstract class OwsConstants {\r\n // OWS xml tag names\r\n public static readonly ABSTRACT_XMLTAG = \"ows:Abstract\";\r\n public static readonly ACCESSCONSTRAINTS_XMLTAG = \"ows:AccessConstraints\";\r\n public static readonly ALLOWEDVALUES_XMLTAG = \"ows:AllowedValues\";\r\n public static readonly BOUNDINGBOX_XMLTAG = \"ows:BoundingBox\";\r\n public static readonly CONSTRAINT_XMLTAG = \"ows:Constraint\";\r\n public static readonly DCP_XMLTAG = \"ows:DCP\";\r\n public static readonly FEES_XMLTAG = \"ows:Fees\";\r\n public static readonly GET_XMLTAG = \"ows:Get\";\r\n public static readonly HTTP_XMLTAG = \"ows:HTTP\";\r\n public static readonly IDENTIFIER_XMLTAG = \"ows:Identifier\";\r\n public static readonly KEYWORDS_XMLTAG = \"ows:Keywords\";\r\n public static readonly KEYWORD_XMLTAG = \"ows:Keyword\";\r\n public static readonly LOWERCORNER_XMLTAG = \"ows:LowerCorner\";\r\n public static readonly OPERATION_XMLTAG = \"ows:Operation\";\r\n public static readonly OPERATIONSMETADATA_XMLTAG = \"ows:OperationsMetadata\";\r\n public static readonly POST_XMLTAG = \"ows:Post\";\r\n public static readonly SERVICEIDENTIFICATION_XMLTAG = \"ows:ServiceIdentification\";\r\n public static readonly SERVICETYPE_XMLTAG = \"ows:ServiceType\";\r\n public static readonly SERVICETYPEVERSION_XMLTAG = \"ows:ServiceTypeVersion\";\r\n public static readonly SUPPORTEDCRS_XMLTAG = \"ows:SupportedCRS\";\r\n public static readonly TITLE_XMLTAG = \"ows:Title\";\r\n public static readonly UPPERCORNER_XMLTAG = \"ows:UpperCorner\";\r\n public static readonly VALUE_XMLTAG = \"ows:Value\";\r\n public static readonly WGS84BOUNDINGBOX_XMLTAG = \"ows:WGS84BoundingBox\";\r\n }\r\n\r\n export abstract class XmlConstants {\r\n // Operations names\r\n public static readonly GETCAPABILITIES = \"GetCapabilities\";\r\n public static readonly GETTILE = \"GetTile\";\r\n public static readonly GETFEATUREINFO = \"GetFeatureInfo\";\r\n\r\n public static readonly MATRIXWIDTH_XMLTAG = \"MatrixWidth\";\r\n public static readonly MATRIXHEIGHT_XMLTAG = \"MatrixHeight\";\r\n public static readonly SCALEDENOMINATOR_XMLTAG = \"ScaleDenominator\";\r\n\r\n public static readonly TILEHEIGHT_XMLTAG = \"TileHeight\";\r\n public static readonly TILEMATRIX_XMLTAG = \"TileMatrix\";\r\n public static readonly TILEMATRIXSETLINK_XMLTAG = \"TileMatrixSetLink\";\r\n public static readonly TILEWIDTH_XMLTAG = \"TileWidth\";\r\n public static readonly TOPLEFTCORNER_XMLTAG = \"TopLeftCorner\";\r\n public static readonly WELLKNOWNSCALESET_XMLTAG = \"WellKnownScaleSet\";\r\n\r\n public static readonly CONSTRAINT_NAME_FILTER = \"Encoding\";\r\n public static readonly STYLE_ISDEFAULT = \"IsDefault\";\r\n public static readonly XLINK_HREF = \"xlink:href\";\r\n }\r\n\r\n export abstract class Constants {\r\n public static readonly GOOGLEMAPS_LEVEL0_SCALE_DENOM = 559082264.0287178;\r\n public static readonly GOOGLEMAPS_COMPATIBLE_WELLKNOWNNAME = \"googlemapscompatible\";\r\n }\r\n\r\n export class ServiceIdentification {\r\n public readonly abstract?: string;\r\n public readonly accessConstraints?: string;\r\n public readonly fees?: string;\r\n public readonly serviceType?: string;\r\n public readonly serviceTypeVersion?: string;\r\n public readonly title?: string;\r\n public readonly keywords?: string[];\r\n\r\n constructor(json: any) {\r\n this.abstract = json[OwsConstants.ABSTRACT_XMLTAG]?._text;\r\n this.serviceType = json[OwsConstants.SERVICETYPE_XMLTAG]?._text;\r\n this.serviceTypeVersion = json[OwsConstants.SERVICETYPEVERSION_XMLTAG]?._text;\r\n this.title = json[OwsConstants.TITLE_XMLTAG]?._text;\r\n\r\n const keywords = json[OwsConstants.KEYWORDS_XMLTAG]?.[OwsConstants.KEYWORD_XMLTAG];\r\n if (keywords !== undefined) {\r\n this.keywords = [];\r\n\r\n if (Array.isArray(keywords)) {\r\n for (const keyword of keywords) {\r\n if (keyword !== undefined) {\r\n this.keywords.push(keyword._text);\r\n }\r\n }\r\n } else {\r\n this.keywords.push(keywords._text);\r\n }\r\n }\r\n\r\n this.accessConstraints = json[OwsConstants.ACCESSCONSTRAINTS_XMLTAG]?._text;\r\n this.fees = json[OwsConstants.FEES_XMLTAG]?._text;\r\n }\r\n }\r\n\r\n export class OperationMetadata {\r\n private _getCapabilities?: Operation;\r\n public get getCapabilities(): Operation | undefined { return this._getCapabilities; }\r\n\r\n private _getFeatureInfo?: Operation;\r\n public get getFeatureInfo(): Operation | undefined { return this._getFeatureInfo; }\r\n\r\n private _getTile?: Operation;\r\n public get getTile(): Operation | undefined { return this._getTile; }\r\n\r\n private readOperation(op: any) {\r\n if (op?._attributes?.name === XmlConstants.GETCAPABILITIES)\r\n this._getCapabilities = new Operation(op);\r\n else if (op?._attributes?.name === XmlConstants.GETTILE)\r\n this._getTile = new Operation(op);\r\n else if (op?._attributes?.name === XmlConstants.GETFEATUREINFO)\r\n this._getFeatureInfo = new Operation(op);\r\n }\r\n\r\n constructor(json: any) {\r\n const operation = (json ? json[OwsConstants.OPERATION_XMLTAG] : undefined);\r\n if (operation) {\r\n if (Array.isArray(operation)) {\r\n operation.forEach((op: any) => {\r\n this.readOperation(op);\r\n });\r\n } else {\r\n this.readOperation(operation);\r\n }\r\n }\r\n }\r\n }\r\n\r\n export class HttpDcp {\r\n public readonly url?: string;\r\n public readonly constraintName?: string;\r\n\r\n // For simplicity of use we create a 'static' encoding property instead of having\r\n // a generic constraint data model.\r\n // We make sure the constraint name is 'encoding' related.\r\n public readonly encoding?: string;\r\n\r\n constructor(json: any) {\r\n this.url = json?._attributes[XmlConstants.XLINK_HREF];\r\n this.constraintName = (json ? json[OwsConstants.CONSTRAINT_XMLTAG]?._attributes?.name : undefined);\r\n if (this.constraintName?.endsWith(XmlConstants.CONSTRAINT_NAME_FILTER))\r\n this.encoding = json[OwsConstants.CONSTRAINT_XMLTAG]?.[OwsConstants.ALLOWEDVALUES_XMLTAG]?.[OwsConstants.VALUE_XMLTAG]?._text;\r\n }\r\n }\r\n\r\n export class Operation {\r\n public readonly name?: string;\r\n private _getDcpHttp?: HttpDcp[];\r\n public get getDcpHttp(): HttpDcp[] | undefined { return this._getDcpHttp; }\r\n private _postDcpHttp?: HttpDcp[];\r\n public get postDcpHttp(): HttpDcp[] | undefined { return this._postDcpHttp; }\r\n\r\n constructor(json: any) {\r\n this.name = json?._attributes?.name;\r\n\r\n const dcpHttp = (json ? json[OwsConstants.DCP_XMLTAG]?.[OwsConstants.HTTP_XMLTAG] : undefined);\r\n if (!dcpHttp)\r\n return;\r\n\r\n const get = dcpHttp[OwsConstants.GET_XMLTAG];\r\n if (get) {\r\n this._getDcpHttp = [];\r\n\r\n if (Array.isArray(get)) {\r\n get.forEach((getItem: any) => {\r\n this._getDcpHttp?.push(new WmtsCapability.HttpDcp(getItem));\r\n });\r\n } else {\r\n this._getDcpHttp?.push(new WmtsCapability.HttpDcp(get));\r\n }\r\n }\r\n\r\n const post = dcpHttp[OwsConstants.POST_XMLTAG];\r\n if (post) {\r\n this._postDcpHttp = [];\r\n\r\n if (Array.isArray(post)) {\r\n post.forEach((postItem: any) => {\r\n this._postDcpHttp?.push(new WmtsCapability.HttpDcp(postItem));\r\n });\r\n } else {\r\n this._postDcpHttp?.push(new WmtsCapability.HttpDcp(post));\r\n }\r\n }\r\n }\r\n }\r\n\r\n export class Contents {\r\n public readonly layers: WmtsCapability.Layer[] = [];\r\n public readonly tileMatrixSets: WmtsCapability.TileMatrixSet[] = [];\r\n\r\n constructor(private _json: any) {\r\n\r\n // Layers\r\n const jsonLayer = _json?.Layer;\r\n if (jsonLayer) {\r\n if (Array.isArray(jsonLayer)) {\r\n jsonLayer.forEach((layer: any) => {\r\n this.layers.push(new WmtsCapability.Layer(layer));\r\n });\r\n } else {\r\n this.layers.push(new WmtsCapability.Layer(jsonLayer));\r\n }\r\n }\r\n\r\n // TileMatrixSet\r\n const jsonTileMatrixSet = _json?.TileMatrixSet;\r\n if (jsonTileMatrixSet) {\r\n if (Array.isArray(jsonTileMatrixSet)) {\r\n jsonTileMatrixSet.forEach((matrixSet: any) => {\r\n this.tileMatrixSets.push(new WmtsCapability.TileMatrixSet(matrixSet));\r\n });\r\n } else {\r\n this.tileMatrixSets.push(new WmtsCapability.TileMatrixSet(jsonTileMatrixSet));\r\n }\r\n }\r\n }\r\n\r\n public getGoogleMapsCompatibleTileMatrixSet(): WmtsCapability.TileMatrixSet[] {\r\n const googleMapsTms: WmtsCapability.TileMatrixSet[] = [];\r\n this.tileMatrixSets.forEach((tms) => {\r\n if (tms.wellKnownScaleSet?.toLowerCase().includes(Constants.GOOGLEMAPS_COMPATIBLE_WELLKNOWNNAME))\r\n googleMapsTms.push(tms);\r\n\r\n // In case wellKnownScaleSet was not been set properly, infer from scaleDenominator\r\n // Note: some servers are quite inaccurate in their scale values, hence I used a delta value of 1.\r\n else if (tms.tileMatrix.length > 0\r\n && Math.abs(tms.tileMatrix[0].scaleDenominator - Constants.GOOGLEMAPS_LEVEL0_SCALE_DENOM) < 1\r\n && (tms.supportedCrs.includes(\"3857\") || tms.supportedCrs.includes(\"900913\")))\r\n googleMapsTms.push(tms);\r\n });\r\n return googleMapsTms;\r\n }\r\n }\r\n\r\n export class Style {\r\n public readonly isDefault: boolean = false;\r\n public readonly title?: string;\r\n public readonly identifier?: string;\r\n // TODO: LegendURL\r\n\r\n constructor(private _json: any) {\r\n if (!_json)\r\n return;\r\n\r\n if (_json._attributes?.isDefault)\r\n this.isDefault = _json._attributes.isDefault.toLowerCase() === \"true\";\r\n\r\n this.title = _json[OwsConstants.TITLE_XMLTAG]?._text;\r\n this.identifier = _json[OwsConstants.IDENTIFIER_XMLTAG]?._text;\r\n }\r\n }\r\n export class BoundingBox {\r\n public readonly crs?: string;\r\n public readonly range?: Range2d;\r\n\r\n constructor(_json: any) {\r\n this.crs = _json._attributes?.crs;\r\n const lowerCorner = _json[OwsConstants.LOWERCORNER_XMLTAG]?._text?.split(\" \").map((x: string) => +x);\r\n const upperCorner = _json[OwsConstants.UPPERCORNER_XMLTAG]?._text?.split(\" \").map((x: string) => +x);\r\n if (lowerCorner.length === 2 && upperCorner.length === 2)\r\n this.range = Range2d.createXYXY(lowerCorner[0], lowerCorner[1], upperCorner[0], upperCorner[1]);\r\n }\r\n }\r\n\r\n export class TileMatrixSetLink {\r\n public readonly tileMatrixSet: string;\r\n // TODO: TileMatrixSetLimits\r\n\r\n constructor(_json: any) {\r\n this.tileMatrixSet = (_json?.TileMatrixSet?._text ? _json.TileMatrixSet._text : \"\");\r\n }\r\n }\r\n\r\n export class TileMatrixSet {\r\n public readonly identifier: string;\r\n public readonly title?: string;\r\n public readonly abstract?: string;\r\n public readonly supportedCrs: string;\r\n public readonly wellKnownScaleSet: string;\r\n public readonly tileMatrix: TileMatrix[] = [];\r\n\r\n constructor(_json: any) {\r\n this.identifier = _json[OwsConstants.IDENTIFIER_XMLTAG]?._text;\r\n if (!this.identifier)\r\n throw new Error(\"No Identifier found.\");\r\n\r\n this.title = _json[OwsConstants.TITLE_XMLTAG]?._text;\r\n this.abstract = _json[OwsConstants.ABSTRACT_XMLTAG]?._text;\r\n this.supportedCrs = _json[OwsConstants.SUPPORTEDCRS_XMLTAG]?._text;\r\n if (!this.supportedCrs)\r\n throw new Error(\"No supported CRS found.\");\r\n\r\n this.wellKnownScaleSet = _json[XmlConstants.WELLKNOWNSCALESET_XMLTAG]?._text;\r\n\r\n // TileMatrix:\r\n // TileMatrix is mandatory on TileMatrixSet, if it doesn't exists, something is OFF with the capability.\r\n const tileMatrix = _json[XmlConstants.TILEMATRIX_XMLTAG];\r\n if (!tileMatrix)\r\n throw new Error(\"No matrix set link found for WMTS layer\");\r\n\r\n if (Array.isArray(tileMatrix)) {\r\n tileMatrix.forEach((tm: any) => {\r\n this.tileMatrix.push(new TileMatrix(tm));\r\n });\r\n } else {\r\n this.tileMatrix.push(new TileMatrix(tileMatrix));\r\n }\r\n }\r\n }\r\n\r\n export class TileMatrix {\r\n public readonly identifier: string;\r\n public readonly title?: string;\r\n public readonly abstract?: string;\r\n public readonly scaleDenominator: number;\r\n public readonly topLeftCorner: Point2d;\r\n public readonly tileWidth: number;\r\n public readonly tileHeight: number;\r\n public readonly matrixWidth: number;\r\n public readonly matrixHeight: number;\r\n\r\n constructor(_json: any) {\r\n if (!_json)\r\n throw new Error(\"Invalid json data provided\");\r\n\r\n this.identifier = _json[OwsConstants.IDENTIFIER_XMLTAG]?._text;\r\n if (!this.identifier)\r\n throw new Error(\"No Identifier found.\");\r\n\r\n this.title = _json[OwsConstants.TITLE_XMLTAG]?._text;\r\n this.abstract = _json[OwsConstants.ABSTRACT_XMLTAG]?._text;\r\n\r\n // Scale denominator\r\n const scaleDenomStr = _json[XmlConstants.SCALEDENOMINATOR_XMLTAG]?._text;\r\n if (!scaleDenomStr)\r\n throw new Error(\"No scale denominator found on TileMatrix.\");\r\n this.scaleDenominator = +scaleDenomStr;\r\n\r\n // Top left corner\r\n const topLeftCorner = _json[XmlConstants.TOPLEFTCORNER_XMLTAG]?._text?.split(\" \").map((x: string) => +x);\r\n if (topLeftCorner?.length !== 2)\r\n throw new Error(\"No TopLeftCorner found on TileMatrix.\");\r\n this.topLeftCorner = Point2d.create(topLeftCorner[0], topLeftCorner[1]);\r\n\r\n // Tile Width\r\n const tileWidthStr = _json[XmlConstants.TILEWIDTH_XMLTAG]?._text;\r\n if (!tileWidthStr)\r\n throw new Error(\"No tile width found on TileMatrix.\");\r\n this.tileWidth = +tileWidthStr;\r\n\r\n // Tile Height\r\n const tileHeightStr = _json[XmlConstants.TILEHEIGHT_XMLTAG]?._text;\r\n if (!tileHeightStr)\r\n throw new Error(\"No tile eight found on TileMatrix.\");\r\n this.tileHeight = +tileHeightStr;\r\n\r\n // Matrix Width\r\n const matrixWidthStr = _json[XmlConstants.MATRIXWIDTH_XMLTAG]?._text;\r\n if (!matrixWidthStr)\r\n throw new Error(\"No tile width found on TileMatrix.\");\r\n this.matrixWidth = +matrixWidthStr;\r\n\r\n // Matrix Height\r\n const matrixHeightStr = _json[XmlConstants.MATRIXHEIGHT_XMLTAG]?._text;\r\n if (!matrixHeightStr)\r\n throw new Error(\"No tile eight found on TileMatrix.\");\r\n this.matrixHeight = +matrixHeightStr;\r\n }\r\n }\r\n\r\n export class Layer {\r\n public readonly identifier: string;\r\n public readonly title?: string;\r\n public readonly abstract?: string;\r\n public readonly format?: string;\r\n public readonly wsg84BoundingBox?: MapCartoRectangle;\r\n public readonly boundingBox?: BoundingBox;\r\n public readonly styles: Style[] = [];\r\n public readonly tileMatrixSetLinks: TileMatrixSetLink[] = [];\r\n\r\n constructor(_json: any) {\r\n if (!_json)\r\n throw new Error(\"Invalid json data provided\");\r\n\r\n this.identifier = _json[OwsConstants.IDENTIFIER_XMLTAG]?._text;\r\n this.title = _json[OwsConstants.TITLE_XMLTAG]?._text;\r\n this.format = _json.Format?._text;\r\n\r\n // BoundingBox\r\n this.boundingBox = (_json[OwsConstants.BOUNDINGBOX_XMLTAG] ? new BoundingBox(_json[OwsConstants.BOUNDINGBOX_XMLTAG]) : undefined);\r\n\r\n // WSG84 BoundingBox\r\n const lowerCorner = _json[OwsConstants.WGS84BOUNDINGBOX_XMLTAG]?.[OwsConstants.LOWERCORNER_XMLTAG]?._text?.split(\" \").map((x: string) => +x);\r\n const upperCorner = _json[OwsConstants.WGS84BOUNDINGBOX_XMLTAG]?.[OwsConstants.UPPERCORNER_XMLTAG]?._text?.split(\" \").map((x: string) => +x);\r\n if (lowerCorner?.length === 2 && upperCorner?.length === 2)\r\n this.wsg84BoundingBox = MapCartoRectangle.createFromDegrees(lowerCorner[0], lowerCorner[1], upperCorner[0], upperCorner[1]);\r\n\r\n // If we could not initialized WSG84 bounding box, attempt to initialized it from Bounding Box\r\n if (!this.wsg84BoundingBox && (this.boundingBox?.crs?.includes(\"EPSG:4326\") || this.boundingBox?.crs?.includes(\"CRS:84\"))) {\r\n this.wsg84BoundingBox = MapCartoRectangle.createFromDegrees(this.boundingBox.range?.low.x, this.boundingBox.range?.low.y, this.boundingBox.range?.high.x, this.boundingBox.range?.high.y);\r\n }\r\n\r\n // Style\r\n if (Array.isArray(_json.Style)) {\r\n _json.Style.forEach((style: any) => {\r\n this.styles.push(new Style(style));\r\n });\r\n } else if (_json.Style) {\r\n this.styles.push(new Style(_json.Style));\r\n }\r\n\r\n // TileMatrixSetLink\r\n // TileMatrixSetLink is mandatory on Layer, if it doesn't exists, something is OFF with the capability.\r\n const tileMatrixSetLink = _json[XmlConstants.TILEMATRIXSETLINK_XMLTAG];\r\n\r\n if (!tileMatrixSetLink)\r\n throw new Error(\"No matrix set link found for WMTS layer\");\r\n\r\n if (Array.isArray(tileMatrixSetLink)) {\r\n tileMatrixSetLink.forEach((tmsl: any) => {\r\n this.tileMatrixSetLinks.push(new TileMatrixSetLink(tmsl));\r\n });\r\n } else {\r\n this.tileMatrixSetLinks.push(new TileMatrixSetLink(tileMatrixSetLink));\r\n }\r\n }\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class WmtsCapabilities {\r\n private static _capabilitiesCache = new Map<string, WmtsCapabilities | undefined>();\r\n\r\n public get json() { return this._json; }\r\n\r\n public readonly version?: string;\r\n public readonly serviceIdentification?: WmtsCapability.ServiceIdentification;\r\n public readonly contents?: WmtsCapability.Contents;\r\n\r\n public readonly operationsMetadata?: WmtsCapability.OperationMetadata;\r\n\r\n constructor(private _json: any) {\r\n // Capabilities version\r\n this.version = _json?.Capabilities?._attributes.version;\r\n\r\n // Service Identification\r\n if (_json?.Capabilities?.[WmtsCapability.OwsConstants.SERVICEIDENTIFICATION_XMLTAG])\r\n this.serviceIdentification = new WmtsCapability.ServiceIdentification(_json?.Capabilities?.[WmtsCapability.OwsConstants.SERVICEIDENTIFICATION_XMLTAG]);\r\n\r\n // Operations metadata\r\n if (_json?.Capabilities?.[WmtsCapability.OwsConstants.OPERATIONSMETADATA_XMLTAG])\r\n this.operationsMetadata = new WmtsCapability.OperationMetadata(_json?.Capabilities?.[WmtsCapability.OwsConstants.OPERATIONSMETADATA_XMLTAG]);\r\n\r\n // Contents\r\n if (_json.Capabilities?.Contents)\r\n this.contents = new WmtsCapability.Contents(_json.Capabilities?.Contents);\r\n }\r\n\r\n public static createFromXml(xmlCapabilities: string): WmtsCapabilities | undefined {\r\n const jsonCapabilities = xml2json(xmlCapabilities, { compact: true, nativeType: false, ignoreComment: true });\r\n const capabilities = JSON.parse(jsonCapabilities);\r\n return new WmtsCapabilities(capabilities);\r\n }\r\n\r\n public static async create(url: string, credentials?: RequestBasicCredentials, ignoreCache?: boolean): Promise<WmtsCapabilities | undefined> {\r\n if (!ignoreCache) {\r\n const cached = WmtsCapabilities._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=WMTS`, credentials);\r\n\r\n if (!xmlCapabilities)\r\n return undefined;\r\n\r\n const capabilities = WmtsCapabilities.createFromXml(xmlCapabilities);\r\n if (capabilities)\r\n WmtsCapabilities._capabilitiesCache.set(url, capabilities);\r\n\r\n return capabilities;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"WmtsCapabilities.js","sourceRoot":"","sources":["../../../../src/tile/map/WmtsCapabilities.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 { Point2d, Range2d } from \"@itwin/core-geometry\";\r\nimport { request, RequestBasicCredentials, RequestOptions } from \"@bentley/itwin-client\";\r\nimport { xml2json } from \"xml-js\";\r\nimport { MapCartoRectangle, WmsUtilities } from \"../internal\"; // WmsUtilities needed for getBaseUrl\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\n\r\n/** Encapsulation of the capabilities for an WMTS server\r\n * @internal\r\n */\r\nexport namespace WmtsCapability {\r\n\r\n export abstract class OwsConstants {\r\n // OWS xml tag names\r\n public static readonly ABSTRACT_XMLTAG = \"ows:Abstract\";\r\n public static readonly ACCESSCONSTRAINTS_XMLTAG = \"ows:AccessConstraints\";\r\n public static readonly ALLOWEDVALUES_XMLTAG = \"ows:AllowedValues\";\r\n public static readonly BOUNDINGBOX_XMLTAG = \"ows:BoundingBox\";\r\n public static readonly CONSTRAINT_XMLTAG = \"ows:Constraint\";\r\n public static readonly DCP_XMLTAG = \"ows:DCP\";\r\n public static readonly FEES_XMLTAG = \"ows:Fees\";\r\n public static readonly GET_XMLTAG = \"ows:Get\";\r\n public static readonly HTTP_XMLTAG = \"ows:HTTP\";\r\n public static readonly IDENTIFIER_XMLTAG = \"ows:Identifier\";\r\n public static readonly KEYWORDS_XMLTAG = \"ows:Keywords\";\r\n public static readonly KEYWORD_XMLTAG = \"ows:Keyword\";\r\n public static readonly LOWERCORNER_XMLTAG = \"ows:LowerCorner\";\r\n public static readonly OPERATION_XMLTAG = \"ows:Operation\";\r\n public static readonly OPERATIONSMETADATA_XMLTAG = \"ows:OperationsMetadata\";\r\n public static readonly POST_XMLTAG = \"ows:Post\";\r\n public static readonly SERVICEIDENTIFICATION_XMLTAG = \"ows:ServiceIdentification\";\r\n public static readonly SERVICETYPE_XMLTAG = \"ows:ServiceType\";\r\n public static readonly SERVICETYPEVERSION_XMLTAG = \"ows:ServiceTypeVersion\";\r\n public static readonly SUPPORTEDCRS_XMLTAG = \"ows:SupportedCRS\";\r\n public static readonly TITLE_XMLTAG = \"ows:Title\";\r\n public static readonly UPPERCORNER_XMLTAG = \"ows:UpperCorner\";\r\n public static readonly VALUE_XMLTAG = \"ows:Value\";\r\n public static readonly WGS84BOUNDINGBOX_XMLTAG = \"ows:WGS84BoundingBox\";\r\n }\r\n\r\n export abstract class XmlConstants {\r\n // Operations names\r\n public static readonly GETCAPABILITIES = \"GetCapabilities\";\r\n public static readonly GETTILE = \"GetTile\";\r\n public static readonly GETFEATUREINFO = \"GetFeatureInfo\";\r\n\r\n public static readonly MATRIXWIDTH_XMLTAG = \"MatrixWidth\";\r\n public static readonly MATRIXHEIGHT_XMLTAG = \"MatrixHeight\";\r\n public static readonly SCALEDENOMINATOR_XMLTAG = \"ScaleDenominator\";\r\n\r\n public static readonly TILEHEIGHT_XMLTAG = \"TileHeight\";\r\n public static readonly TILEMATRIX_XMLTAG = \"TileMatrix\";\r\n public static readonly TILEMATRIXSETLINK_XMLTAG = \"TileMatrixSetLink\";\r\n public static readonly TILEWIDTH_XMLTAG = \"TileWidth\";\r\n public static readonly TOPLEFTCORNER_XMLTAG = \"TopLeftCorner\";\r\n public static readonly WELLKNOWNSCALESET_XMLTAG = \"WellKnownScaleSet\";\r\n\r\n public static readonly CONSTRAINT_NAME_FILTER = \"Encoding\";\r\n public static readonly STYLE_ISDEFAULT = \"IsDefault\";\r\n public static readonly XLINK_HREF = \"xlink:href\";\r\n }\r\n\r\n export abstract class Constants {\r\n public static readonly GOOGLEMAPS_LEVEL0_SCALE_DENOM = 559082264.0287178;\r\n public static readonly GOOGLEMAPS_COMPATIBLE_WELLKNOWNNAME = \"googlemapscompatible\";\r\n }\r\n\r\n export class ServiceIdentification {\r\n public readonly abstract?: string;\r\n public readonly accessConstraints?: string;\r\n public readonly fees?: string;\r\n public readonly serviceType?: string;\r\n public readonly serviceTypeVersion?: string;\r\n public readonly title?: string;\r\n public readonly keywords?: string[];\r\n\r\n constructor(json: any) {\r\n this.abstract = json[OwsConstants.ABSTRACT_XMLTAG]?._text;\r\n this.serviceType = json[OwsConstants.SERVICETYPE_XMLTAG]?._text;\r\n this.serviceTypeVersion = json[OwsConstants.SERVICETYPEVERSION_XMLTAG]?._text;\r\n this.title = json[OwsConstants.TITLE_XMLTAG]?._text;\r\n\r\n const keywords = json[OwsConstants.KEYWORDS_XMLTAG]?.[OwsConstants.KEYWORD_XMLTAG];\r\n if (keywords !== undefined) {\r\n this.keywords = [];\r\n\r\n if (Array.isArray(keywords)) {\r\n for (const keyword of keywords) {\r\n if (keyword !== undefined) {\r\n this.keywords.push(keyword._text);\r\n }\r\n }\r\n } else {\r\n this.keywords.push(keywords._text);\r\n }\r\n }\r\n\r\n this.accessConstraints = json[OwsConstants.ACCESSCONSTRAINTS_XMLTAG]?._text;\r\n this.fees = json[OwsConstants.FEES_XMLTAG]?._text;\r\n }\r\n }\r\n\r\n export class OperationMetadata {\r\n private _getCapabilities?: Operation;\r\n public get getCapabilities(): Operation | undefined { return this._getCapabilities; }\r\n\r\n private _getFeatureInfo?: Operation;\r\n public get getFeatureInfo(): Operation | undefined { return this._getFeatureInfo; }\r\n\r\n private _getTile?: Operation;\r\n public get getTile(): Operation | undefined { return this._getTile; }\r\n\r\n private readOperation(op: any) {\r\n if (op?._attributes?.name === XmlConstants.GETCAPABILITIES)\r\n this._getCapabilities = new Operation(op);\r\n else if (op?._attributes?.name === XmlConstants.GETTILE)\r\n this._getTile = new Operation(op);\r\n else if (op?._attributes?.name === XmlConstants.GETFEATUREINFO)\r\n this._getFeatureInfo = new Operation(op);\r\n }\r\n\r\n constructor(json: any) {\r\n const operation = (json ? json[OwsConstants.OPERATION_XMLTAG] : undefined);\r\n if (operation) {\r\n if (Array.isArray(operation)) {\r\n operation.forEach((op: any) => {\r\n this.readOperation(op);\r\n });\r\n } else {\r\n this.readOperation(operation);\r\n }\r\n }\r\n }\r\n }\r\n\r\n export class HttpDcp {\r\n public readonly url?: string;\r\n public readonly constraintName?: string;\r\n\r\n // For simplicity of use we create a 'static' encoding property instead of having\r\n // a generic constraint data model.\r\n // We make sure the constraint name is 'encoding' related.\r\n public readonly encoding?: string;\r\n\r\n constructor(json: any) {\r\n this.url = json?._attributes[XmlConstants.XLINK_HREF];\r\n this.constraintName = (json ? json[OwsConstants.CONSTRAINT_XMLTAG]?._attributes?.name : undefined);\r\n if (this.constraintName?.endsWith(XmlConstants.CONSTRAINT_NAME_FILTER))\r\n this.encoding = json[OwsConstants.CONSTRAINT_XMLTAG]?.[OwsConstants.ALLOWEDVALUES_XMLTAG]?.[OwsConstants.VALUE_XMLTAG]?._text;\r\n }\r\n }\r\n\r\n export class Operation {\r\n public readonly name?: string;\r\n private _getDcpHttp?: HttpDcp[];\r\n public get getDcpHttp(): HttpDcp[] | undefined { return this._getDcpHttp; }\r\n private _postDcpHttp?: HttpDcp[];\r\n public get postDcpHttp(): HttpDcp[] | undefined { return this._postDcpHttp; }\r\n\r\n constructor(json: any) {\r\n this.name = json?._attributes?.name;\r\n\r\n const dcpHttp = (json ? json[OwsConstants.DCP_XMLTAG]?.[OwsConstants.HTTP_XMLTAG] : undefined);\r\n if (!dcpHttp)\r\n return;\r\n\r\n const get = dcpHttp[OwsConstants.GET_XMLTAG];\r\n if (get) {\r\n this._getDcpHttp = [];\r\n\r\n if (Array.isArray(get)) {\r\n get.forEach((getItem: any) => {\r\n this._getDcpHttp?.push(new WmtsCapability.HttpDcp(getItem));\r\n });\r\n } else {\r\n this._getDcpHttp?.push(new WmtsCapability.HttpDcp(get));\r\n }\r\n }\r\n\r\n const post = dcpHttp[OwsConstants.POST_XMLTAG];\r\n if (post) {\r\n this._postDcpHttp = [];\r\n\r\n if (Array.isArray(post)) {\r\n post.forEach((postItem: any) => {\r\n this._postDcpHttp?.push(new WmtsCapability.HttpDcp(postItem));\r\n });\r\n } else {\r\n this._postDcpHttp?.push(new WmtsCapability.HttpDcp(post));\r\n }\r\n }\r\n }\r\n }\r\n\r\n export class Contents {\r\n public readonly layers: WmtsCapability.Layer[] = [];\r\n public readonly tileMatrixSets: WmtsCapability.TileMatrixSet[] = [];\r\n\r\n constructor(private _json: any) {\r\n\r\n // Layers\r\n const jsonLayer = _json?.Layer;\r\n if (jsonLayer) {\r\n if (Array.isArray(jsonLayer)) {\r\n jsonLayer.forEach((layer: any) => {\r\n this.layers.push(new WmtsCapability.Layer(layer));\r\n });\r\n } else {\r\n this.layers.push(new WmtsCapability.Layer(jsonLayer));\r\n }\r\n }\r\n\r\n // TileMatrixSet\r\n const jsonTileMatrixSet = _json?.TileMatrixSet;\r\n if (jsonTileMatrixSet) {\r\n if (Array.isArray(jsonTileMatrixSet)) {\r\n jsonTileMatrixSet.forEach((matrixSet: any) => {\r\n this.tileMatrixSets.push(new WmtsCapability.TileMatrixSet(matrixSet));\r\n });\r\n } else {\r\n this.tileMatrixSets.push(new WmtsCapability.TileMatrixSet(jsonTileMatrixSet));\r\n }\r\n }\r\n }\r\n\r\n public getGoogleMapsCompatibleTileMatrixSet(): WmtsCapability.TileMatrixSet[] {\r\n const googleMapsTms: WmtsCapability.TileMatrixSet[] = [];\r\n this.tileMatrixSets.forEach((tms) => {\r\n if (tms.wellKnownScaleSet?.toLowerCase().includes(Constants.GOOGLEMAPS_COMPATIBLE_WELLKNOWNNAME))\r\n googleMapsTms.push(tms);\r\n\r\n // In case wellKnownScaleSet was not been set properly, infer from scaleDenominator\r\n // Note: some servers are quite inaccurate in their scale values, hence I used a delta value of 1.\r\n else if (tms.tileMatrix.length > 0\r\n && Math.abs(tms.tileMatrix[0].scaleDenominator - Constants.GOOGLEMAPS_LEVEL0_SCALE_DENOM) < 1\r\n && (tms.supportedCrs.includes(\"3857\") || tms.supportedCrs.includes(\"900913\")))\r\n googleMapsTms.push(tms);\r\n });\r\n return googleMapsTms;\r\n }\r\n\r\n public getEpsg4326CompatibleTileMatrixSet(): WmtsCapability.TileMatrixSet[] {\r\n return this.tileMatrixSets.filter((tms) => tms.supportedCrs.includes(\"4326\"));\r\n }\r\n }\r\n\r\n export class Style {\r\n public readonly isDefault: boolean = false;\r\n public readonly title?: string;\r\n public readonly identifier?: string;\r\n // TODO: LegendURL\r\n\r\n constructor(private _json: any) {\r\n if (!_json)\r\n return;\r\n\r\n if (_json._attributes?.isDefault)\r\n this.isDefault = _json._attributes.isDefault.toLowerCase() === \"true\";\r\n\r\n this.title = _json[OwsConstants.TITLE_XMLTAG]?._text;\r\n this.identifier = _json[OwsConstants.IDENTIFIER_XMLTAG]?._text;\r\n }\r\n }\r\n export class BoundingBox {\r\n public readonly crs?: string;\r\n public readonly range?: Range2d;\r\n\r\n constructor(_json: any) {\r\n this.crs = _json._attributes?.crs;\r\n const lowerCorner = _json[OwsConstants.LOWERCORNER_XMLTAG]?._text?.split(\" \").map((x: string) => +x);\r\n const upperCorner = _json[OwsConstants.UPPERCORNER_XMLTAG]?._text?.split(\" \").map((x: string) => +x);\r\n if (lowerCorner.length === 2 && upperCorner.length === 2)\r\n this.range = Range2d.createXYXY(lowerCorner[0], lowerCorner[1], upperCorner[0], upperCorner[1]);\r\n }\r\n }\r\n\r\n export class TileMatrixSetLimits {\r\n public limits?: Range2d;\r\n public tileMatrix?: string;\r\n\r\n constructor(_json: any) {\r\n this.tileMatrix = _json.TileMatrix;\r\n if (_json.MinTileRow !== undefined && _json.MaxTileRow !== undefined && _json.MinTileCol !== undefined && _json.MaxTileCol)\r\n this.limits = Range2d.createXYXY(Number(_json.MinTileCol._text), Number(_json.MinTileRow._text), Number(_json.MaxTileCol._text), Number(_json.MaxTileRow._text));\r\n }\r\n }\r\n\r\n export class TileMatrixSetLink {\r\n public readonly tileMatrixSet: string;\r\n public readonly tileMatrixSetLimits = new Array<TileMatrixSetLimits>();\r\n\r\n constructor(_json: any) {\r\n this.tileMatrixSet = (_json?.TileMatrixSet?._text ? _json.TileMatrixSet._text : \"\");\r\n const tileMatrixLimits = _json?.TileMatrixSetLimits?.TileMatrixLimits;\r\n if (Array.isArray(tileMatrixLimits))\r\n tileMatrixLimits.forEach((tml: any) => this.tileMatrixSetLimits.push(new TileMatrixSetLimits(tml)));\r\n }\r\n }\r\n\r\n export class TileMatrixSet {\r\n public readonly identifier: string;\r\n public readonly title?: string;\r\n public readonly abstract?: string;\r\n public readonly supportedCrs: string;\r\n public readonly wellKnownScaleSet: string;\r\n public readonly tileMatrix: TileMatrix[] = [];\r\n\r\n constructor(_json: any) {\r\n this.identifier = _json[OwsConstants.IDENTIFIER_XMLTAG]?._text;\r\n if (!this.identifier)\r\n throw new Error(\"No Identifier found.\");\r\n\r\n this.title = _json[OwsConstants.TITLE_XMLTAG]?._text;\r\n this.abstract = _json[OwsConstants.ABSTRACT_XMLTAG]?._text;\r\n this.supportedCrs = _json[OwsConstants.SUPPORTEDCRS_XMLTAG]?._text;\r\n if (!this.supportedCrs)\r\n throw new Error(\"No supported CRS found.\");\r\n\r\n this.wellKnownScaleSet = _json[XmlConstants.WELLKNOWNSCALESET_XMLTAG]?._text;\r\n\r\n // TileMatrix:\r\n // TileMatrix is mandatory on TileMatrixSet, if it doesn't exists, something is OFF with the capability.\r\n const tileMatrix = _json[XmlConstants.TILEMATRIX_XMLTAG];\r\n if (!tileMatrix)\r\n throw new Error(\"No matrix set link found for WMTS layer\");\r\n\r\n if (Array.isArray(tileMatrix)) {\r\n tileMatrix.forEach((tm: any) => {\r\n this.tileMatrix.push(new TileMatrix(tm));\r\n });\r\n } else {\r\n this.tileMatrix.push(new TileMatrix(tileMatrix));\r\n }\r\n }\r\n }\r\n\r\n export class TileMatrix {\r\n public readonly identifier: string;\r\n public readonly title?: string;\r\n public readonly abstract?: string;\r\n public readonly scaleDenominator: number;\r\n public readonly topLeftCorner: Point2d;\r\n public readonly tileWidth: number;\r\n public readonly tileHeight: number;\r\n public readonly matrixWidth: number;\r\n public readonly matrixHeight: number;\r\n\r\n constructor(_json: any) {\r\n if (!_json)\r\n throw new Error(\"Invalid json data provided\");\r\n\r\n this.identifier = _json[OwsConstants.IDENTIFIER_XMLTAG]?._text;\r\n if (!this.identifier)\r\n throw new Error(\"No Identifier found.\");\r\n\r\n this.title = _json[OwsConstants.TITLE_XMLTAG]?._text;\r\n this.abstract = _json[OwsConstants.ABSTRACT_XMLTAG]?._text;\r\n\r\n // Scale denominator\r\n const scaleDenomStr = _json[XmlConstants.SCALEDENOMINATOR_XMLTAG]?._text;\r\n if (!scaleDenomStr)\r\n throw new Error(\"No scale denominator found on TileMatrix.\");\r\n this.scaleDenominator = +scaleDenomStr;\r\n\r\n // Top left corner\r\n const topLeftCorner = _json[XmlConstants.TOPLEFTCORNER_XMLTAG]?._text?.split(\" \").map((x: string) => +x);\r\n if (topLeftCorner?.length !== 2)\r\n throw new Error(\"No TopLeftCorner found on TileMatrix.\");\r\n this.topLeftCorner = Point2d.create(topLeftCorner[0], topLeftCorner[1]);\r\n\r\n // Tile Width\r\n const tileWidthStr = _json[XmlConstants.TILEWIDTH_XMLTAG]?._text;\r\n if (!tileWidthStr)\r\n throw new Error(\"No tile width found on TileMatrix.\");\r\n this.tileWidth = +tileWidthStr;\r\n\r\n // Tile Height\r\n const tileHeightStr = _json[XmlConstants.TILEHEIGHT_XMLTAG]?._text;\r\n if (!tileHeightStr)\r\n throw new Error(\"No tile eight found on TileMatrix.\");\r\n this.tileHeight = +tileHeightStr;\r\n\r\n // Matrix Width\r\n const matrixWidthStr = _json[XmlConstants.MATRIXWIDTH_XMLTAG]?._text;\r\n if (!matrixWidthStr)\r\n throw new Error(\"No tile width found on TileMatrix.\");\r\n this.matrixWidth = +matrixWidthStr;\r\n\r\n // Matrix Height\r\n const matrixHeightStr = _json[XmlConstants.MATRIXHEIGHT_XMLTAG]?._text;\r\n if (!matrixHeightStr)\r\n throw new Error(\"No tile eight found on TileMatrix.\");\r\n this.matrixHeight = +matrixHeightStr;\r\n }\r\n }\r\n\r\n export class Layer {\r\n public readonly identifier: string;\r\n public readonly title?: string;\r\n public readonly abstract?: string;\r\n public readonly format?: string;\r\n public readonly wsg84BoundingBox?: MapCartoRectangle;\r\n public readonly boundingBox?: BoundingBox;\r\n public readonly styles: Style[] = [];\r\n public readonly tileMatrixSetLinks: TileMatrixSetLink[] = [];\r\n\r\n constructor(_json: any) {\r\n if (!_json)\r\n throw new Error(\"Invalid json data provided\");\r\n\r\n this.identifier = _json[OwsConstants.IDENTIFIER_XMLTAG]?._text;\r\n this.title = _json[OwsConstants.TITLE_XMLTAG]?._text;\r\n this.format = _json.Format?._text;\r\n\r\n // BoundingBox\r\n this.boundingBox = (_json[OwsConstants.BOUNDINGBOX_XMLTAG] ? new BoundingBox(_json[OwsConstants.BOUNDINGBOX_XMLTAG]) : undefined);\r\n\r\n // WSG84 BoundingBox\r\n const lowerCorner = _json[OwsConstants.WGS84BOUNDINGBOX_XMLTAG]?.[OwsConstants.LOWERCORNER_XMLTAG]?._text?.split(\" \").map((x: string) => +x);\r\n const upperCorner = _json[OwsConstants.WGS84BOUNDINGBOX_XMLTAG]?.[OwsConstants.UPPERCORNER_XMLTAG]?._text?.split(\" \").map((x: string) => +x);\r\n if (lowerCorner?.length === 2 && upperCorner?.length === 2)\r\n this.wsg84BoundingBox = MapCartoRectangle.createFromDegrees(lowerCorner[0], lowerCorner[1], upperCorner[0], upperCorner[1]);\r\n\r\n // If we could not initialized WSG84 bounding box, attempt to initialized it from Bounding Box\r\n if (!this.wsg84BoundingBox && (this.boundingBox?.crs?.includes(\"EPSG:4326\") || this.boundingBox?.crs?.includes(\"CRS:84\"))) {\r\n this.wsg84BoundingBox = MapCartoRectangle.createFromDegrees(this.boundingBox.range?.low.x, this.boundingBox.range?.low.y, this.boundingBox.range?.high.x, this.boundingBox.range?.high.y);\r\n }\r\n\r\n // Style\r\n if (Array.isArray(_json.Style)) {\r\n _json.Style.forEach((style: any) => {\r\n this.styles.push(new Style(style));\r\n });\r\n } else if (_json.Style) {\r\n this.styles.push(new Style(_json.Style));\r\n }\r\n\r\n // TileMatrixSetLink\r\n // TileMatrixSetLink is mandatory on Layer, if it doesn't exists, something is OFF with the capability.\r\n const tileMatrixSetLink = _json[XmlConstants.TILEMATRIXSETLINK_XMLTAG];\r\n\r\n if (!tileMatrixSetLink)\r\n throw new Error(\"No matrix set link found for WMTS layer\");\r\n\r\n if (Array.isArray(tileMatrixSetLink)) {\r\n tileMatrixSetLink.forEach((tmsl: any) => {\r\n this.tileMatrixSetLinks.push(new TileMatrixSetLink(tmsl));\r\n });\r\n } else {\r\n this.tileMatrixSetLinks.push(new TileMatrixSetLink(tileMatrixSetLink));\r\n }\r\n }\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class WmtsCapabilities {\r\n private static _capabilitiesCache = new Map<string, WmtsCapabilities | undefined>();\r\n\r\n public get json() { return this._json; }\r\n\r\n public readonly version?: string;\r\n public readonly serviceIdentification?: WmtsCapability.ServiceIdentification;\r\n public readonly contents?: WmtsCapability.Contents;\r\n\r\n public readonly operationsMetadata?: WmtsCapability.OperationMetadata;\r\n\r\n constructor(private _json: any) {\r\n // Capabilities version\r\n this.version = _json?.Capabilities?._attributes.version;\r\n\r\n // Service Identification\r\n if (_json?.Capabilities?.[WmtsCapability.OwsConstants.SERVICEIDENTIFICATION_XMLTAG])\r\n this.serviceIdentification = new WmtsCapability.ServiceIdentification(_json?.Capabilities?.[WmtsCapability.OwsConstants.SERVICEIDENTIFICATION_XMLTAG]);\r\n\r\n // Operations metadata\r\n if (_json?.Capabilities?.[WmtsCapability.OwsConstants.OPERATIONSMETADATA_XMLTAG])\r\n this.operationsMetadata = new WmtsCapability.OperationMetadata(_json?.Capabilities?.[WmtsCapability.OwsConstants.OPERATIONSMETADATA_XMLTAG]);\r\n\r\n // Contents\r\n if (_json.Capabilities?.Contents)\r\n this.contents = new WmtsCapability.Contents(_json.Capabilities?.Contents);\r\n }\r\n\r\n public static createFromXml(xmlCapabilities: string): WmtsCapabilities | undefined {\r\n const jsonCapabilities = xml2json(xmlCapabilities, { compact: true, nativeType: false, ignoreComment: true });\r\n const capabilities = JSON.parse(jsonCapabilities);\r\n return new WmtsCapabilities(capabilities);\r\n }\r\n\r\n public static async create(url: string, credentials?: RequestBasicCredentials, ignoreCache?: boolean): Promise<WmtsCapabilities | undefined> {\r\n if (!ignoreCache) {\r\n const cached = WmtsCapabilities._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=WMTS`, credentials);\r\n\r\n if (!xmlCapabilities)\r\n return undefined;\r\n\r\n const capabilities = WmtsCapabilities.createFromXml(xmlCapabilities);\r\n if (capabilities)\r\n WmtsCapabilities._capabilitiesCache.set(url, capabilities);\r\n\r\n return capabilities;\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ViewTool.d.ts","sourceRoot":"","sources":["../../../src/tools/ViewTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ViewTool.d.ts","sourceRoot":"","sources":["../../../src/tools/ViewTool.ts"],"names":[],"mappings":"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"}
@@ -1011,16 +1011,8 @@ class ViewRotate extends HandleWithInertia {
1011
1011
  plane.getNormalRef().setFrom(vp.view.getZVector());
1012
1012
  return true;
1013
1013
  }
1014
- if (super.adjustDepthPoint(isValid, vp, plane, source)) {
1015
- if (DepthPointSource.Geometry === source && vp instanceof ScreenViewport) {
1016
- // If we had hit something we might need to undo the model display transform of the hit.
1017
- const hitDetail = vp.picker.getHit(0);
1018
- if (undefined !== hitDetail && undefined !== hitDetail.modelId) {
1019
- vp.view.transformPointByModelDisplayTransform(hitDetail.modelId, plane.getOriginRef(), false);
1020
- }
1021
- }
1014
+ if (super.adjustDepthPoint(isValid, vp, plane, source))
1022
1015
  return true;
1023
- }
1024
1016
  plane.getOriginRef().setFrom(this.viewTool.targetCenterWorld);
1025
1017
  return false;
1026
1018
  }
@@ -1786,7 +1778,7 @@ class ViewLookAndMove extends ViewNavigate {
1786
1778
  const pixel = pixels.getPixel(testPoint.x, testPoint.y);
1787
1779
  if (pixel.distanceFraction < 0)
1788
1780
  continue; // No geometry at location...
1789
- const hitPointWorld = vp.getPixelDataWorldPoint(pixels, testPoint.x, testPoint.y);
1781
+ const hitPointWorld = vp.getPixelDataWorldPoint({ pixels, x: testPoint.x, y: testPoint.y, preserveModelDisplayTransforms: true });
1790
1782
  if (undefined === hitPointWorld)
1791
1783
  continue;
1792
1784
  if (0 === contourLine.numPoints()) {