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

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 (73) hide show
  1. package/lib/cjs/IModelApp.d.ts +1 -2
  2. package/lib/cjs/IModelApp.d.ts.map +1 -1
  3. package/lib/cjs/IModelApp.js.map +1 -1
  4. package/lib/cjs/RealityDataSource.d.ts +1 -2
  5. package/lib/cjs/RealityDataSource.d.ts.map +1 -1
  6. package/lib/cjs/RealityDataSource.js.map +1 -1
  7. package/lib/cjs/Viewport.d.ts.map +1 -1
  8. package/lib/cjs/Viewport.js +8 -8
  9. package/lib/cjs/Viewport.js.map +1 -1
  10. package/lib/cjs/render/webgl/FloatRGBA.d.ts.map +1 -1
  11. package/lib/cjs/render/webgl/FloatRGBA.js +13 -11
  12. package/lib/cjs/render/webgl/FloatRGBA.js.map +1 -1
  13. package/lib/cjs/tile/PrimaryTileTree.js +1 -1
  14. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  15. package/lib/cjs/tile/RealityModelTileTree.d.ts.map +1 -1
  16. package/lib/cjs/tile/RealityModelTileTree.js +3 -4
  17. package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
  18. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +8 -0
  19. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  20. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +51 -10
  21. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  22. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +7 -0
  23. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  24. package/lib/cjs/tile/map/MapLayerImageryProvider.js +20 -5
  25. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  26. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  27. package/lib/cjs/tile/map/MapTileTree.js +11 -5
  28. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  29. package/lib/cjs/tile/map/WmsCapabilities.d.ts +4 -0
  30. package/lib/cjs/tile/map/WmsCapabilities.d.ts.map +1 -1
  31. package/lib/cjs/tile/map/WmsCapabilities.js +30 -0
  32. package/lib/cjs/tile/map/WmsCapabilities.js.map +1 -1
  33. package/lib/esm/IModelApp.d.ts +1 -2
  34. package/lib/esm/IModelApp.d.ts.map +1 -1
  35. package/lib/esm/IModelApp.js.map +1 -1
  36. package/lib/esm/RealityDataSource.d.ts +1 -2
  37. package/lib/esm/RealityDataSource.d.ts.map +1 -1
  38. package/lib/esm/RealityDataSource.js.map +1 -1
  39. package/lib/esm/Viewport.d.ts.map +1 -1
  40. package/lib/esm/Viewport.js +9 -9
  41. package/lib/esm/Viewport.js.map +1 -1
  42. package/lib/esm/render/webgl/FloatRGBA.d.ts.map +1 -1
  43. package/lib/esm/render/webgl/FloatRGBA.js +13 -11
  44. package/lib/esm/render/webgl/FloatRGBA.js.map +1 -1
  45. package/lib/esm/tile/PrimaryTileTree.js +1 -1
  46. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  47. package/lib/esm/tile/RealityModelTileTree.d.ts.map +1 -1
  48. package/lib/esm/tile/RealityModelTileTree.js +1 -2
  49. package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
  50. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +8 -0
  51. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  52. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +51 -10
  53. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  54. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +7 -0
  55. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  56. package/lib/esm/tile/map/MapLayerImageryProvider.js +20 -5
  57. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  58. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  59. package/lib/esm/tile/map/MapTileTree.js +11 -5
  60. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  61. package/lib/esm/tile/map/WmsCapabilities.d.ts +4 -0
  62. package/lib/esm/tile/map/WmsCapabilities.d.ts.map +1 -1
  63. package/lib/esm/tile/map/WmsCapabilities.js +30 -0
  64. package/lib/esm/tile/map/WmsCapabilities.js.map +1 -1
  65. package/package.json +24 -24
  66. package/lib/cjs/RealityDataAccessProps.d.ts +0 -42
  67. package/lib/cjs/RealityDataAccessProps.d.ts.map +0 -1
  68. package/lib/cjs/RealityDataAccessProps.js +0 -23
  69. package/lib/cjs/RealityDataAccessProps.js.map +0 -1
  70. package/lib/esm/RealityDataAccessProps.d.ts +0 -42
  71. package/lib/esm/RealityDataAccessProps.d.ts.map +0 -1
  72. package/lib/esm/RealityDataAccessProps.js +0 -20
  73. package/lib/esm/RealityDataAccessProps.js.map +0 -1
@@ -114,6 +114,21 @@ export var WmsCapability;
114
114
  }
115
115
  return subLayers;
116
116
  }
117
+ getSubLayersCrs(layerNameFilter) {
118
+ const subLayerCrs = new Map();
119
+ const processSubLayer = ((subLayer) => {
120
+ if (layerNameFilter.includes(subLayer.name)) {
121
+ subLayerCrs.set(subLayer.name, subLayer.crs);
122
+ }
123
+ if (subLayer.children) {
124
+ subLayer.children.forEach((child) => {
125
+ processSubLayer(child);
126
+ });
127
+ }
128
+ });
129
+ this.subLayers.forEach((subLayer) => processSubLayer(subLayer));
130
+ return subLayerCrs;
131
+ }
117
132
  }
118
133
  Layer.PREFIX_SEPARATOR = ":";
119
134
  WmsCapability.Layer = Layer;
@@ -121,10 +136,22 @@ export var WmsCapability;
121
136
  class SubLayer {
122
137
  constructor(_json, parent) {
123
138
  this.parent = parent;
139
+ const getParentCrs = (parentLayer, crsSet) => {
140
+ parentLayer.crs.forEach((parentCrs) => crsSet.add(parentCrs));
141
+ if (parentLayer.parent) {
142
+ getParentCrs(parentLayer.parent, crsSet);
143
+ }
144
+ };
124
145
  this.name = _json.Name ? _json.Name : "";
125
146
  this.title = _json.Title;
126
147
  this.queryable = _json.queryable ? true : false;
127
148
  this.cartoRange = rangeFromJSON(_json);
149
+ this.ownCrs = _json.CRS;
150
+ const crs = new Set(this.ownCrs);
151
+ if (parent) {
152
+ getParentCrs(parent, crs);
153
+ }
154
+ this.crs = [...crs];
128
155
  if (Array.isArray(_json.Layer)) {
129
156
  this.children = new Array();
130
157
  for (const childLayer of _json.Layer) {
@@ -165,6 +192,9 @@ export class WmsCapabilities {
165
192
  getSubLayers(visible = true) {
166
193
  return this.layer ? this.layer.getSubLayers(visible) : undefined;
167
194
  }
195
+ getSubLayersCrs(subLayerNames) {
196
+ return this.layer ? this.layer.getSubLayersCrs(subLayerNames) : undefined;
197
+ }
168
198
  }
169
199
  WmsCapabilities._capabilitiesCache = new Map();
170
200
  //# sourceMappingURL=WmsCapabilities.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WmsCapabilities.js","sourceRoot":"","sources":["../../../../src/tile/map/WmsCapabilities.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAA2C,MAAM,uBAAuB,CAAC;AACzF,OAAO,GAAG,MAAM,kBAAkB,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE9D;;GAEG;AAEH;;;;GAIG;AACH,KAAK,UAAU,MAAM,CAAC,GAAW,EAAE,WAAqC;IACtE,MAAM,OAAO,GAAmB;QAC9B,MAAM,EAAE,KAAK;QACb,YAAY,EAAE,MAAM;QACpB,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC5B,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,WAAW;KAClB,CAAC;IACF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AACD,SAAS,kBAAkB,CAAC,IAAS;IACnC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1I,CAAC;AAED,SAAS,aAAa,CAAC,IAAS;IAC9B,IAAI,SAAS,KAAK,IAAI,CAAC,iBAAiB;QACtC,OAAO,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE;QACrD,OAAO,kBAAkB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;KAC1D;SAAM;QACL,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;YACjC,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE;gBAC1C,IAAI,WAAW,CAAC,GAAG,KAAK,QAAQ,IAAI,WAAW,CAAC,GAAG,KAAK,WAAW,EAAE;oBACnE,OAAO,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;iBAC/C;aACF;QACH,OAAO,SAAS,CAAC;KAClB;AACH,CAAC;AAED,SAAS,SAAS,CAAI,KAAU;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,KAAW,aAAa,CAyG7B;AAzGD,WAAiB,aAAa;IAE5B,MAAa,OAAO;QAQlB,YAAY,IAAS;YACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YAC1C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAClD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAClD,CAAC;KACF;IAhBY,qBAAO,UAgBnB,CAAA;IAED,MAAa,KAAK;QAQhB,YAAY,KAAU;YAHN,cAAS,GAAG,IAAI,KAAK,EAAY,CAAC;YAIhD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;YACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,GAAG,GAAG,SAAS,CAAS,KAAK,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAE3C,CAAC;QACM,YAAY,CAAC,OAAO,GAAG,IAAI;;YAChC,MAAM,SAAS,GAAG,IAAI,KAAK,EAAoB,CAAC;YAChD,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,aAAa,GAAG,KAAK,CAAC;YAC1B,MAAM,YAAY,GAAG,CAAC,CAAC,QAAkB,EAAE,MAAe,EAAE,EAAE;gBAC5D,IAAI,QAAQ,CAAC;gBACb,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;gBACnB,IAAI,QAAQ,CAAC,QAAQ,EAAE;oBACrB,aAAa,GAAG,KAAK,CAAC;oBACtB,QAAQ,GAAG,IAAI,KAAK,EAAU,CAAC;oBAC/B,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;wBAClC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACrB,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAC1B,CAAC,CAAC,CAAC;iBACJ;gBACD,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YAChG,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;YAE7D,IAAI,CAAC,aAAa,EAAE;gBAClB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;gBACvD,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;oBAC7B,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;wBACtE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;wBACrF,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBACnC,IAAI,KAAK;4BACP,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;4BAErB,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;qBACpC;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE;oBACrB,iCAAiC;oBACjC,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAA,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,0CAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;oBACrN,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;wBACpC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;4BACzB,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;4BACrB,+CAA+C;4BAC/C,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC;gCAC3E,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;wBACnF,CAAC,CAAC,CAAC;wBACH,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;oBAC7I,CAAC,CAAC,CAAC;iBACJ;aACF;YAED,OAAO,SAAS,CAAC;QACnB,CAAC;;IAzDuB,sBAAgB,GAAG,GAAG,CAAC;IANpC,mBAAK,QAgEjB,CAAA;IACD,gBAAgB;IAChB,MAAa,QAAQ;QAMnB,YAAmB,KAAU,EAAkB,MAAiB;YAAjB,WAAM,GAAN,MAAM,CAAW;YAC9D,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YAChD,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,EAAY,CAAC;gBACtC,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,KAAK,EAAE;oBACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;iBACpD;aACF;QACH,CAAC;KACF;IAlBY,sBAAQ,WAkBpB,CAAA;AACH,CAAC,EAzGgB,aAAa,KAAb,aAAa,QAyG7B;AAED,gBAAgB;AAChB,MAAM,OAAO,eAAe;IAU1B,YAAoB,KAAU;QAAV,UAAK,GAAL,KAAK,CAAK;QAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,KAAK,CAAC,UAAU;YAClB,IAAI,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;IAVD,IAAW,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACxC,IAAW,QAAQ,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC;IACxF,IAAW,UAAU,aAAoC,OAAO,MAAA,IAAI,CAAC,KAAK,0CAAE,UAAU,CAAC,CAAC,CAAC;IACzF,IAAW,oBAAoB,iBAAK,OAAO,SAAS,MAAK,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,0CAAE,OAAO,0CAAE,cAAc,CAAA,CAAC,CAAC,CAAC;IAC1G,IAAW,kBAAkB,iCAA2B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,0CAAE,OAAO,0CAAE,cAAc,0CAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,0CAAE,OAAO,0CAAE,cAAc,0CAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAQrM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,WAAqC,EAAE,WAAqB;QAClG,IAAI,CAAC,WAAW,EAAE;YAChB,MAAM,MAAM,GAAG,eAAe,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3D,IAAI,MAAM,KAAK,SAAS;gBACtB,OAAO,MAAM,CAAC;SACjB;QAED,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,sCAAsC,EAAE,WAAW,CAAC,CAAC;QAEzH,IAAI,CAAC,eAAe;YAClB,OAAO,SAAS,CAAC;QAEnB,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QAC3E,eAAe,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAE1D,OAAO,YAAY,CAAC;IACtB,CAAC;IACM,YAAY,CAAC,OAAO,GAAG,IAAI;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,CAAC;;AAnCc,kCAAkB,GAAG,IAAI,GAAG,EAAuC,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\nimport { MapSubLayerProps } from \"@itwin/core-common\";\r\nimport { request, RequestBasicCredentials, RequestOptions } from \"@bentley/itwin-client\";\r\nimport WMS from \"wms-capabilities\";\r\nimport { MapCartoRectangle, WmsUtilities } from \"../internal\";\r\n\r\n/** @packageDocumentation\r\n * @module Views\r\n */\r\n\r\n/**\r\n * fetch XML from HTTP request\r\n * @param url server URL to address the request\r\n * @internal\r\n */\r\nasync function getXml(url: string, credentials?: RequestBasicCredentials): Promise<any> {\r\n const options: RequestOptions = {\r\n method: \"GET\",\r\n responseType: \"text\",\r\n timeout: { response: 20000 },\r\n retries: 2,\r\n auth: credentials,\r\n };\r\n const data = await request(url, options);\r\n return data.text;\r\n}\r\nfunction rangeFromJSONArray(json: any): MapCartoRectangle | undefined {\r\n return (Array.isArray(json) && json.length === 4) ? MapCartoRectangle.createFromDegrees(json[0], json[1], json[2], json[3]) : undefined;\r\n}\r\n\r\nfunction rangeFromJSON(json: any): MapCartoRectangle | undefined {\r\n if (undefined !== json.LatLonBoundingBox)\r\n return rangeFromJSONArray(json.LatLonBoundingBox);\r\n else if (Array.isArray(json.EX_GeographicBoundingBox)) {\r\n return rangeFromJSONArray(json.EX_GeographicBoundingBox);\r\n } else {\r\n if (Array.isArray(json.BoundingBox))\r\n for (const boundingBox of json.BoundingBox) {\r\n if (boundingBox.crs === \"CRS:84\" || boundingBox.crs === \"EPSG:4326\") {\r\n return rangeFromJSONArray(boundingBox.extent);\r\n }\r\n }\r\n return undefined;\r\n }\r\n}\r\n\r\nfunction initArray<T>(input: any): undefined | T[] {\r\n return Array.isArray(input) ? input.slice() : undefined;\r\n}\r\n\r\n/** Encapsulation of the capabilities for an WMS server\r\n * @internal\r\n */\r\nexport namespace WmsCapability {\r\n\r\n export class Service {\r\n public readonly name: string;\r\n public readonly title?: string;\r\n public readonly abstract?: string;\r\n public readonly onlineResource?: string;\r\n public readonly contactInformation?: string;\r\n public readonly accessConstraints?: string;\r\n\r\n constructor(json: any) {\r\n this.name = json.Name ? json.Name : \"\";\r\n this.title = json.Title;\r\n this.abstract = json.Abstract;\r\n this.onlineResource = json.OnlineResource;\r\n this.contactInformation = json.ContactInformation;\r\n this.accessConstraints = json.AccessConstraints;\r\n }\r\n }\r\n\r\n export class Layer {\r\n public readonly queryable: boolean;\r\n public readonly title?: string;\r\n public readonly srs?: string[];\r\n public readonly cartoRange?: MapCartoRectangle;\r\n public readonly subLayers = new Array<SubLayer>();\r\n private static readonly PREFIX_SEPARATOR = \":\";\r\n\r\n constructor(_json: any) {\r\n this.queryable = _json.queryable;\r\n this.title = _json.title;\r\n this.srs = initArray<string>(_json.SRS);\r\n this.cartoRange = rangeFromJSON(_json);\r\n this.subLayers.push(new SubLayer(_json));\r\n\r\n }\r\n public getSubLayers(visible = true): MapSubLayerProps[] {\r\n const subLayers = new Array<MapSubLayerProps>();\r\n let index = 1;\r\n let childrenFound = false;\r\n const pushSubLayer = ((subLayer: SubLayer, parent?: number) => {\r\n let children;\r\n const id = index++;\r\n if (subLayer.children) {\r\n childrenFound = false;\r\n children = new Array<number>();\r\n subLayer.children.forEach((child) => {\r\n children.push(index);\r\n pushSubLayer(child, id);\r\n });\r\n }\r\n subLayers.push({ name: subLayer.name, title: subLayer.title, visible, parent, children, id });\r\n });\r\n this.subLayers.forEach((subLayer) => pushSubLayer(subLayer));\r\n\r\n if (!childrenFound) {\r\n const prefixed = new Map<string, MapSubLayerProps[]>();\r\n subLayers.forEach((subLayer) => {\r\n if (subLayer.name && subLayer.name.indexOf(Layer.PREFIX_SEPARATOR) > 0) {\r\n const prefix = subLayer.name.slice(0, subLayer.name.indexOf(Layer.PREFIX_SEPARATOR));\r\n const found = prefixed.get(prefix);\r\n if (found)\r\n found.push(subLayer);\r\n else\r\n prefixed.set(prefix, [subLayer]);\r\n }\r\n });\r\n if (prefixed.size > 1) {\r\n // Preserve the root node if any.\r\n const rootNode = (this.subLayers.length === 1 && this.subLayers[0].children && this.subLayers[0].children.length > 1) ? subLayers.find((curSubLayer) => this.subLayers[0].name === curSubLayer.name)?.id : undefined;\r\n prefixed.forEach((children, parent) => {\r\n children.forEach((child) => {\r\n child.parent = index;\r\n // Remove the prefix from the title if present.\r\n if (child.title && child.title.indexOf(parent + Layer.PREFIX_SEPARATOR) === 0)\r\n child.title = child.title.slice(parent.length + Layer.PREFIX_SEPARATOR.length);\r\n });\r\n subLayers.push({ name: \"\", title: parent, parent: rootNode, id: index++, children: children.map((child) => child.id as number), visible });\r\n });\r\n }\r\n }\r\n\r\n return subLayers;\r\n }\r\n }\r\n /** @internal */\r\n export class SubLayer {\r\n public readonly name: string;\r\n public readonly title: string;\r\n public readonly cartoRange?: MapCartoRectangle;\r\n public readonly children?: SubLayer[];\r\n public readonly queryable: boolean;\r\n public constructor(_json: any, public readonly parent?: SubLayer) {\r\n this.name = _json.Name ? _json.Name : \"\";\r\n this.title = _json.Title;\r\n this.queryable = _json.queryable ? true : false;\r\n this.cartoRange = rangeFromJSON(_json);\r\n if (Array.isArray(_json.Layer)) {\r\n this.children = new Array<SubLayer>();\r\n for (const childLayer of _json.Layer) {\r\n this.children.push(new SubLayer(childLayer, this));\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class WmsCapabilities {\r\n private static _capabilitiesCache = new Map<string, WmsCapabilities | undefined>();\r\n public readonly service: WmsCapability.Service;\r\n public readonly version?: string;\r\n public readonly layer?: WmsCapability.Layer;\r\n public get json() { return this._json; }\r\n public get maxLevel(): number { return this.layer ? this.layer.subLayers.length : - 1; }\r\n public get cartoRange(): MapCartoRectangle | undefined { return this.layer?.cartoRange; }\r\n public get featureInfoSupported() { return undefined !== this._json.Capability?.Request?.GetFeatureInfo; }\r\n public get featureInfoFormats(): string[] | undefined { return Array.isArray(this._json.Capability?.Request?.GetFeatureInfo?.Format) ? this._json.Capability?.Request?.GetFeatureInfo?.Format : undefined; }\r\n constructor(private _json: any) {\r\n this.version = _json.version;\r\n this.service = new WmsCapability.Service(_json.Service);\r\n if (_json.Capability)\r\n this.layer = new WmsCapability.Layer(_json.Capability.Layer);\r\n }\r\n\r\n public static async create(url: string, credentials?: RequestBasicCredentials, ignoreCache?: boolean): Promise<WmsCapabilities | undefined> {\r\n if (!ignoreCache) {\r\n const cached = WmsCapabilities._capabilitiesCache.get(url);\r\n if (cached !== undefined)\r\n return cached;\r\n }\r\n\r\n const xmlCapabilities = await getXml(`${WmsUtilities.getBaseUrl(url)}?request=GetCapabilities&service=WMS`, credentials);\r\n\r\n if (!xmlCapabilities)\r\n return undefined;\r\n\r\n const capabilities = new WmsCapabilities(new WMS().parse(xmlCapabilities));\r\n WmsCapabilities._capabilitiesCache.set(url, capabilities);\r\n\r\n return capabilities;\r\n }\r\n public getSubLayers(visible = true): undefined | MapSubLayerProps[] {\r\n return this.layer ? this.layer.getSubLayers(visible) : undefined;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"WmsCapabilities.js","sourceRoot":"","sources":["../../../../src/tile/map/WmsCapabilities.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\nimport { MapSubLayerProps } from \"@itwin/core-common\";\r\nimport { request, RequestBasicCredentials, RequestOptions } from \"@bentley/itwin-client\";\r\nimport WMS from \"wms-capabilities\";\r\nimport { MapCartoRectangle, WmsUtilities } from \"../internal\";\r\n\r\n/** @packageDocumentation\r\n * @module Views\r\n */\r\n\r\n/**\r\n * fetch XML from HTTP request\r\n * @param url server URL to address the request\r\n * @internal\r\n */\r\nasync function getXml(url: string, credentials?: RequestBasicCredentials): Promise<any> {\r\n const options: RequestOptions = {\r\n method: \"GET\",\r\n responseType: \"text\",\r\n timeout: { response: 20000 },\r\n retries: 2,\r\n auth: credentials,\r\n };\r\n const data = await request(url, options);\r\n return data.text;\r\n}\r\nfunction rangeFromJSONArray(json: any): MapCartoRectangle | undefined {\r\n return (Array.isArray(json) && json.length === 4) ? MapCartoRectangle.createFromDegrees(json[0], json[1], json[2], json[3]) : undefined;\r\n}\r\n\r\nfunction rangeFromJSON(json: any): MapCartoRectangle | undefined {\r\n if (undefined !== json.LatLonBoundingBox)\r\n return rangeFromJSONArray(json.LatLonBoundingBox);\r\n else if (Array.isArray(json.EX_GeographicBoundingBox)) {\r\n return rangeFromJSONArray(json.EX_GeographicBoundingBox);\r\n } else {\r\n if (Array.isArray(json.BoundingBox))\r\n for (const boundingBox of json.BoundingBox) {\r\n if (boundingBox.crs === \"CRS:84\" || boundingBox.crs === \"EPSG:4326\") {\r\n return rangeFromJSONArray(boundingBox.extent);\r\n }\r\n }\r\n return undefined;\r\n }\r\n}\r\n\r\nfunction initArray<T>(input: any): undefined | T[] {\r\n return Array.isArray(input) ? input.slice() : undefined;\r\n}\r\n\r\n/** Encapsulation of the capabilities for an WMS server\r\n * @internal\r\n */\r\nexport namespace WmsCapability {\r\n\r\n export class Service {\r\n public readonly name: string;\r\n public readonly title?: string;\r\n public readonly abstract?: string;\r\n public readonly onlineResource?: string;\r\n public readonly contactInformation?: string;\r\n public readonly accessConstraints?: string;\r\n\r\n constructor(json: any) {\r\n this.name = json.Name ? json.Name : \"\";\r\n this.title = json.Title;\r\n this.abstract = json.Abstract;\r\n this.onlineResource = json.OnlineResource;\r\n this.contactInformation = json.ContactInformation;\r\n this.accessConstraints = json.AccessConstraints;\r\n }\r\n }\r\n\r\n export class Layer {\r\n public readonly queryable: boolean;\r\n public readonly title?: string;\r\n public readonly srs?: string[];\r\n public readonly cartoRange?: MapCartoRectangle;\r\n public readonly subLayers = new Array<SubLayer>();\r\n private static readonly PREFIX_SEPARATOR = \":\";\r\n\r\n constructor(_json: any) {\r\n this.queryable = _json.queryable;\r\n this.title = _json.title;\r\n this.srs = initArray<string>(_json.SRS);\r\n this.cartoRange = rangeFromJSON(_json);\r\n this.subLayers.push(new SubLayer(_json));\r\n\r\n }\r\n public getSubLayers(visible = true): MapSubLayerProps[] {\r\n const subLayers = new Array<MapSubLayerProps>();\r\n let index = 1;\r\n let childrenFound = false;\r\n const pushSubLayer = ((subLayer: SubLayer, parent?: number) => {\r\n let children;\r\n const id = index++;\r\n if (subLayer.children) {\r\n childrenFound = false;\r\n children = new Array<number>();\r\n subLayer.children.forEach((child) => {\r\n children.push(index);\r\n pushSubLayer(child, id);\r\n });\r\n }\r\n subLayers.push({ name: subLayer.name, title: subLayer.title, visible, parent, children, id });\r\n });\r\n this.subLayers.forEach((subLayer) => pushSubLayer(subLayer));\r\n\r\n if (!childrenFound) {\r\n const prefixed = new Map<string, MapSubLayerProps[]>();\r\n subLayers.forEach((subLayer) => {\r\n if (subLayer.name && subLayer.name.indexOf(Layer.PREFIX_SEPARATOR) > 0) {\r\n const prefix = subLayer.name.slice(0, subLayer.name.indexOf(Layer.PREFIX_SEPARATOR));\r\n const found = prefixed.get(prefix);\r\n if (found)\r\n found.push(subLayer);\r\n else\r\n prefixed.set(prefix, [subLayer]);\r\n }\r\n });\r\n if (prefixed.size > 1) {\r\n // Preserve the root node if any.\r\n const rootNode = (this.subLayers.length === 1 && this.subLayers[0].children && this.subLayers[0].children.length > 1) ? subLayers.find((curSubLayer) => this.subLayers[0].name === curSubLayer.name)?.id : undefined;\r\n prefixed.forEach((children, parent) => {\r\n children.forEach((child) => {\r\n child.parent = index;\r\n // Remove the prefix from the title if present.\r\n if (child.title && child.title.indexOf(parent + Layer.PREFIX_SEPARATOR) === 0)\r\n child.title = child.title.slice(parent.length + Layer.PREFIX_SEPARATOR.length);\r\n });\r\n subLayers.push({ name: \"\", title: parent, parent: rootNode, id: index++, children: children.map((child) => child.id as number), visible });\r\n });\r\n }\r\n }\r\n\r\n return subLayers;\r\n }\r\n\r\n public getSubLayersCrs(layerNameFilter: string[]): Map<string, string[]> {\r\n const subLayerCrs = new Map<string, string[]>();\r\n\r\n const processSubLayer = ((subLayer: SubLayer) => {\r\n if (layerNameFilter.includes(subLayer.name)) {\r\n subLayerCrs.set(subLayer.name, subLayer.crs);\r\n }\r\n if (subLayer.children) {\r\n subLayer.children.forEach((child) => {\r\n processSubLayer(child);\r\n });\r\n }\r\n });\r\n\r\n this.subLayers.forEach((subLayer) => processSubLayer(subLayer));\r\n return subLayerCrs;\r\n }\r\n }\r\n\r\n /** @internal */\r\n export class SubLayer {\r\n public readonly name: string;\r\n public readonly title: string;\r\n public readonly crs: string[];\r\n public readonly ownCrs: string[]; // CRS specific to this layer (ie. not including inherited CRS)\r\n public readonly cartoRange?: MapCartoRectangle;\r\n public readonly children?: SubLayer[];\r\n public readonly queryable: boolean;\r\n public constructor(_json: any, public readonly parent?: SubLayer) {\r\n\r\n const getParentCrs = (parentLayer: SubLayer, crsSet: Set<string>) => {\r\n parentLayer.crs.forEach((parentCrs) => crsSet.add(parentCrs));\r\n if (parentLayer.parent) {\r\n getParentCrs(parentLayer.parent, crsSet);\r\n }\r\n };\r\n\r\n this.name = _json.Name ? _json.Name : \"\";\r\n this.title = _json.Title;\r\n this.queryable = _json.queryable ? true : false;\r\n this.cartoRange = rangeFromJSON(_json);\r\n this.ownCrs = _json.CRS;\r\n const crs = new Set<string>(this.ownCrs);\r\n if (parent) {\r\n getParentCrs(parent, crs);\r\n }\r\n this.crs = [...crs];\r\n\r\n if (Array.isArray(_json.Layer)) {\r\n this.children = new Array<SubLayer>();\r\n for (const childLayer of _json.Layer) {\r\n this.children.push(new SubLayer(childLayer, this));\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class WmsCapabilities {\r\n private static _capabilitiesCache = new Map<string, WmsCapabilities | undefined>();\r\n public readonly service: WmsCapability.Service;\r\n public readonly version?: string;\r\n public readonly layer?: WmsCapability.Layer;\r\n public get json() { return this._json; }\r\n public get maxLevel(): number { return this.layer ? this.layer.subLayers.length : - 1; }\r\n public get cartoRange(): MapCartoRectangle | undefined { return this.layer?.cartoRange; }\r\n public get featureInfoSupported() { return undefined !== this._json.Capability?.Request?.GetFeatureInfo; }\r\n public get featureInfoFormats(): string[] | undefined { return Array.isArray(this._json.Capability?.Request?.GetFeatureInfo?.Format) ? this._json.Capability?.Request?.GetFeatureInfo?.Format : undefined; }\r\n constructor(private _json: any) {\r\n this.version = _json.version;\r\n this.service = new WmsCapability.Service(_json.Service);\r\n if (_json.Capability)\r\n this.layer = new WmsCapability.Layer(_json.Capability.Layer);\r\n }\r\n\r\n public static async create(url: string, credentials?: RequestBasicCredentials, ignoreCache?: boolean): Promise<WmsCapabilities | undefined> {\r\n if (!ignoreCache) {\r\n const cached = WmsCapabilities._capabilitiesCache.get(url);\r\n if (cached !== undefined)\r\n return cached;\r\n }\r\n\r\n const xmlCapabilities = await getXml(`${WmsUtilities.getBaseUrl(url)}?request=GetCapabilities&service=WMS`, credentials);\r\n\r\n if (!xmlCapabilities)\r\n return undefined;\r\n\r\n const capabilities = new WmsCapabilities(new WMS().parse(xmlCapabilities));\r\n WmsCapabilities._capabilitiesCache.set(url, capabilities);\r\n\r\n return capabilities;\r\n }\r\n public getSubLayers(visible = true): undefined | MapSubLayerProps[] {\r\n return this.layer ? this.layer.getSubLayers(visible) : undefined;\r\n }\r\n\r\n public getSubLayersCrs(subLayerNames: string[]): Map<string, string[]>|undefined {\r\n return this.layer ? this.layer.getSubLayersCrs(subLayerNames) : undefined;\r\n }\r\n}\r\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/core-frontend",
3
- "version": "3.0.0-dev.106",
3
+ "version": "3.0.0-dev.112",
4
4
  "description": "iTwin.js frontend components",
5
5
  "main": "lib/cjs/core-frontend.js",
6
6
  "module": "lib/esm/core-frontend.js",
@@ -23,33 +23,33 @@
23
23
  "url": "http://www.bentley.com"
24
24
  },
25
25
  "peerDependencies": {
26
- "@itwin/core-bentley": "^3.0.0-dev.106",
27
- "@itwin/core-geometry": "^3.0.0-dev.106",
28
- "@itwin/core-common": "^3.0.0-dev.106",
29
- "@itwin/core-quantity": "^3.0.0-dev.106",
30
- "@bentley/itwin-client": "^3.0.0-dev.106",
31
- "@itwin/core-orbitgt": "^3.0.0-dev.106",
32
- "@bentley/product-settings-client": "^3.0.0-dev.106",
33
- "@itwin/appui-abstract": "^3.0.0-dev.106",
34
- "@itwin/webgl-compatibility": "^3.0.0-dev.106"
26
+ "@itwin/core-bentley": "^3.0.0-dev.112",
27
+ "@itwin/core-geometry": "^3.0.0-dev.112",
28
+ "@itwin/core-common": "^3.0.0-dev.112",
29
+ "@itwin/core-quantity": "^3.0.0-dev.112",
30
+ "@bentley/itwin-client": "^3.0.0-dev.112",
31
+ "@itwin/core-orbitgt": "^3.0.0-dev.112",
32
+ "@bentley/product-settings-client": "^3.0.0-dev.112",
33
+ "@itwin/appui-abstract": "^3.0.0-dev.112",
34
+ "@itwin/webgl-compatibility": "^3.0.0-dev.112"
35
35
  },
36
36
  "//devDependencies": [
37
37
  "NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install",
38
38
  "NOTE: All tools used by scripts in this package must be listed as devDependencies"
39
39
  ],
40
40
  "devDependencies": {
41
- "@itwin/core-bentley": "3.0.0-dev.106",
42
- "@itwin/build-tools": "3.0.0-dev.106",
43
- "@itwin/certa": "3.0.0-dev.106",
44
- "@itwin/eslint-plugin": "3.0.0-dev.106",
45
- "@itwin/core-geometry": "3.0.0-dev.106",
46
- "@itwin/core-common": "3.0.0-dev.106",
47
- "@itwin/core-quantity": "3.0.0-dev.106",
48
- "@bentley/itwin-client": "3.0.0-dev.106",
49
- "@itwin/core-orbitgt": "3.0.0-dev.106",
50
- "@bentley/product-settings-client": "3.0.0-dev.106",
51
- "@itwin/appui-abstract": "3.0.0-dev.106",
52
- "@itwin/webgl-compatibility": "3.0.0-dev.106",
41
+ "@itwin/core-bentley": "3.0.0-dev.112",
42
+ "@itwin/build-tools": "3.0.0-dev.112",
43
+ "@itwin/certa": "3.0.0-dev.112",
44
+ "@itwin/eslint-plugin": "3.0.0-dev.112",
45
+ "@itwin/core-geometry": "3.0.0-dev.112",
46
+ "@itwin/core-common": "3.0.0-dev.112",
47
+ "@itwin/core-quantity": "3.0.0-dev.112",
48
+ "@bentley/itwin-client": "3.0.0-dev.112",
49
+ "@itwin/core-orbitgt": "3.0.0-dev.112",
50
+ "@bentley/product-settings-client": "3.0.0-dev.112",
51
+ "@itwin/appui-abstract": "3.0.0-dev.112",
52
+ "@itwin/webgl-compatibility": "3.0.0-dev.112",
53
53
  "@types/chai": "^4.1.4",
54
54
  "@types/chai-as-promised": "^7",
55
55
  "@types/mocha": "^8.2.2",
@@ -74,8 +74,8 @@
74
74
  "NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"
75
75
  ],
76
76
  "dependencies": {
77
- "@bentley/telemetry-client": "3.0.0-dev.106",
78
- "@itwin/core-i18n": "3.0.0-dev.106",
77
+ "@bentley/telemetry-client": "3.0.0-dev.112",
78
+ "@itwin/core-i18n": "3.0.0-dev.112",
79
79
  "fuse.js": "^3.3.0",
80
80
  "semver": "^5.5.0",
81
81
  "wms-capabilities": "0.4.0",
@@ -1,42 +0,0 @@
1
- /** @packageDocumentation
2
- * @module RealityData
3
- */
4
- import { AccessToken } from "@itwin/core-bentley";
5
- /**
6
- * All of the currently supported ProjectWise ContextShare reality data types
7
- * @beta
8
- */
9
- export declare enum DefaultSupportedTypes {
10
- RealityMesh3dTiles = "RealityMesh3DTiles",
11
- OPC = "OPC",
12
- Terrain3dTiles = "Terrain3DTiles",
13
- OMR = "OMR",
14
- Cesium3dTiles = "Cesium3DTiles"
15
- }
16
- /** RealityData
17
- * This class implements a Reality Data stored in ProjectWise Context Share (Reality Data Service)
18
- * Data is accessed directly through methods of the reality data instance.
19
- * Access to the data required a properly entitled token though the access to the blob is controlled through
20
- * an Azure blob URL, the token may be required to obtain this Azure blob URL or refresh it.
21
- * The Azure blob URL is considered valid for an hour and is refreshed after 50 minutes.
22
- * In addition to the reality data properties, and Azure blob URL and internal states, a reality data also contains
23
- * the identification of the iTwin to identify the context(used for access permissions resolution)
24
- * @beta
25
- */
26
- export interface RealityData {
27
- id?: string;
28
- rootDocument?: string;
29
- type?: string;
30
- getBlobUrl(accessToken: AccessToken, blobPath: string): Promise<URL>;
31
- }
32
- /**
33
- * Client wrapper to Reality Data Service.
34
- * An instance of this class is used to extract reality data from the ProjectWise Context Share (Reality Data Service)
35
- * This class implements obtaining a specific reality data and extraction of the Azure blob address.
36
- * @beta
37
- */
38
- export interface RealityDataAccess {
39
- getRealityData: (accessToken: AccessToken, iTwinId: string | undefined, realityDataId: string) => Promise<RealityData>;
40
- getRealityDataUrl: (iTwinId: string | undefined, realityDataId: string) => Promise<string>;
41
- }
42
- //# sourceMappingURL=RealityDataAccessProps.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RealityDataAccessProps.d.ts","sourceRoot":"","sources":["../../src/RealityDataAccessProps.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD;;;GAGG;AACH,oBAAY,qBAAqB;IAC/B,kBAAkB,uBAAuB;IACzC,GAAG,QAAQ;IACX,cAAc,mBAAmB;IACjC,GAAG,QAAQ;IACX,aAAa,kBAAkB;CAChC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,UAAU,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACtE;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IACvH,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5F"}
@@ -1,23 +0,0 @@
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 RealityData
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.DefaultSupportedTypes = void 0;
11
- /**
12
- * All of the currently supported ProjectWise ContextShare reality data types
13
- * @beta
14
- */
15
- var DefaultSupportedTypes;
16
- (function (DefaultSupportedTypes) {
17
- DefaultSupportedTypes["RealityMesh3dTiles"] = "RealityMesh3DTiles";
18
- DefaultSupportedTypes["OPC"] = "OPC";
19
- DefaultSupportedTypes["Terrain3dTiles"] = "Terrain3DTiles";
20
- DefaultSupportedTypes["OMR"] = "OMR";
21
- DefaultSupportedTypes["Cesium3dTiles"] = "Cesium3DTiles"; // Cesium 3D Tiles
22
- })(DefaultSupportedTypes = exports.DefaultSupportedTypes || (exports.DefaultSupportedTypes = {}));
23
- //# sourceMappingURL=RealityDataAccessProps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RealityDataAccessProps.js","sourceRoot":"","sources":["../../src/RealityDataAccessProps.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAIH;;;GAGG;AACH,IAAY,qBAMX;AAND,WAAY,qBAAqB;IAC/B,kEAAyC,CAAA;IACzC,oCAAW,CAAA;IACX,0DAAiC,CAAA;IACjC,oCAAW,CAAA;IACX,wDAA+B,CAAA,CAAC,kBAAkB;AACpD,CAAC,EANW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAMhC","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 RealityData\r\n */\r\n\r\nimport { AccessToken } from \"@itwin/core-bentley\";\r\n\r\n/**\r\n * All of the currently supported ProjectWise ContextShare reality data types\r\n * @beta\r\n */\r\nexport enum DefaultSupportedTypes {\r\n RealityMesh3dTiles = \"RealityMesh3DTiles\", // Web Ready 3D Scalable Mesh\r\n OPC = \"OPC\", // Web Ready Orbit Point Cloud\r\n Terrain3dTiles = \"Terrain3DTiles\", // Web Ready Terrain Scalable Mesh\r\n OMR = \"OMR\", // Orbit Mapping Resource\r\n Cesium3dTiles = \"Cesium3DTiles\" // Cesium 3D Tiles\r\n}\r\n\r\n/** RealityData\r\n * This class implements a Reality Data stored in ProjectWise Context Share (Reality Data Service)\r\n * Data is accessed directly through methods of the reality data instance.\r\n * Access to the data required a properly entitled token though the access to the blob is controlled through\r\n * an Azure blob URL, the token may be required to obtain this Azure blob URL or refresh it.\r\n * The Azure blob URL is considered valid for an hour and is refreshed after 50 minutes.\r\n * In addition to the reality data properties, and Azure blob URL and internal states, a reality data also contains\r\n * the identification of the iTwin to identify the context(used for access permissions resolution)\r\n * @beta\r\n */\r\nexport interface RealityData {\r\n id?: string;\r\n rootDocument?: string;\r\n type?: string;\r\n\r\n getBlobUrl(accessToken: AccessToken, blobPath: string): Promise<URL>;\r\n}\r\n\r\n/**\r\n * Client wrapper to Reality Data Service.\r\n * An instance of this class is used to extract reality data from the ProjectWise Context Share (Reality Data Service)\r\n * This class implements obtaining a specific reality data and extraction of the Azure blob address.\r\n * @beta\r\n */\r\nexport interface RealityDataAccess {\r\n getRealityData: (accessToken: AccessToken, iTwinId: string | undefined, realityDataId: string) => Promise<RealityData>;\r\n getRealityDataUrl: (iTwinId: string | undefined, realityDataId: string) => Promise<string>;\r\n}\r\n"]}
@@ -1,42 +0,0 @@
1
- /** @packageDocumentation
2
- * @module RealityData
3
- */
4
- import { AccessToken } from "@itwin/core-bentley";
5
- /**
6
- * All of the currently supported ProjectWise ContextShare reality data types
7
- * @beta
8
- */
9
- export declare enum DefaultSupportedTypes {
10
- RealityMesh3dTiles = "RealityMesh3DTiles",
11
- OPC = "OPC",
12
- Terrain3dTiles = "Terrain3DTiles",
13
- OMR = "OMR",
14
- Cesium3dTiles = "Cesium3DTiles"
15
- }
16
- /** RealityData
17
- * This class implements a Reality Data stored in ProjectWise Context Share (Reality Data Service)
18
- * Data is accessed directly through methods of the reality data instance.
19
- * Access to the data required a properly entitled token though the access to the blob is controlled through
20
- * an Azure blob URL, the token may be required to obtain this Azure blob URL or refresh it.
21
- * The Azure blob URL is considered valid for an hour and is refreshed after 50 minutes.
22
- * In addition to the reality data properties, and Azure blob URL and internal states, a reality data also contains
23
- * the identification of the iTwin to identify the context(used for access permissions resolution)
24
- * @beta
25
- */
26
- export interface RealityData {
27
- id?: string;
28
- rootDocument?: string;
29
- type?: string;
30
- getBlobUrl(accessToken: AccessToken, blobPath: string): Promise<URL>;
31
- }
32
- /**
33
- * Client wrapper to Reality Data Service.
34
- * An instance of this class is used to extract reality data from the ProjectWise Context Share (Reality Data Service)
35
- * This class implements obtaining a specific reality data and extraction of the Azure blob address.
36
- * @beta
37
- */
38
- export interface RealityDataAccess {
39
- getRealityData: (accessToken: AccessToken, iTwinId: string | undefined, realityDataId: string) => Promise<RealityData>;
40
- getRealityDataUrl: (iTwinId: string | undefined, realityDataId: string) => Promise<string>;
41
- }
42
- //# sourceMappingURL=RealityDataAccessProps.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RealityDataAccessProps.d.ts","sourceRoot":"","sources":["../../src/RealityDataAccessProps.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD;;;GAGG;AACH,oBAAY,qBAAqB;IAC/B,kBAAkB,uBAAuB;IACzC,GAAG,QAAQ;IACX,cAAc,mBAAmB;IACjC,GAAG,QAAQ;IACX,aAAa,kBAAkB;CAChC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,UAAU,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACtE;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IACvH,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5F"}
@@ -1,20 +0,0 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module RealityData
7
- */
8
- /**
9
- * All of the currently supported ProjectWise ContextShare reality data types
10
- * @beta
11
- */
12
- export var DefaultSupportedTypes;
13
- (function (DefaultSupportedTypes) {
14
- DefaultSupportedTypes["RealityMesh3dTiles"] = "RealityMesh3DTiles";
15
- DefaultSupportedTypes["OPC"] = "OPC";
16
- DefaultSupportedTypes["Terrain3dTiles"] = "Terrain3DTiles";
17
- DefaultSupportedTypes["OMR"] = "OMR";
18
- DefaultSupportedTypes["Cesium3dTiles"] = "Cesium3DTiles"; // Cesium 3D Tiles
19
- })(DefaultSupportedTypes || (DefaultSupportedTypes = {}));
20
- //# sourceMappingURL=RealityDataAccessProps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RealityDataAccessProps.js","sourceRoot":"","sources":["../../src/RealityDataAccessProps.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAIH;;;GAGG;AACH,MAAM,CAAN,IAAY,qBAMX;AAND,WAAY,qBAAqB;IAC/B,kEAAyC,CAAA;IACzC,oCAAW,CAAA;IACX,0DAAiC,CAAA;IACjC,oCAAW,CAAA;IACX,wDAA+B,CAAA,CAAC,kBAAkB;AACpD,CAAC,EANW,qBAAqB,KAArB,qBAAqB,QAMhC","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 RealityData\r\n */\r\n\r\nimport { AccessToken } from \"@itwin/core-bentley\";\r\n\r\n/**\r\n * All of the currently supported ProjectWise ContextShare reality data types\r\n * @beta\r\n */\r\nexport enum DefaultSupportedTypes {\r\n RealityMesh3dTiles = \"RealityMesh3DTiles\", // Web Ready 3D Scalable Mesh\r\n OPC = \"OPC\", // Web Ready Orbit Point Cloud\r\n Terrain3dTiles = \"Terrain3DTiles\", // Web Ready Terrain Scalable Mesh\r\n OMR = \"OMR\", // Orbit Mapping Resource\r\n Cesium3dTiles = \"Cesium3DTiles\" // Cesium 3D Tiles\r\n}\r\n\r\n/** RealityData\r\n * This class implements a Reality Data stored in ProjectWise Context Share (Reality Data Service)\r\n * Data is accessed directly through methods of the reality data instance.\r\n * Access to the data required a properly entitled token though the access to the blob is controlled through\r\n * an Azure blob URL, the token may be required to obtain this Azure blob URL or refresh it.\r\n * The Azure blob URL is considered valid for an hour and is refreshed after 50 minutes.\r\n * In addition to the reality data properties, and Azure blob URL and internal states, a reality data also contains\r\n * the identification of the iTwin to identify the context(used for access permissions resolution)\r\n * @beta\r\n */\r\nexport interface RealityData {\r\n id?: string;\r\n rootDocument?: string;\r\n type?: string;\r\n\r\n getBlobUrl(accessToken: AccessToken, blobPath: string): Promise<URL>;\r\n}\r\n\r\n/**\r\n * Client wrapper to Reality Data Service.\r\n * An instance of this class is used to extract reality data from the ProjectWise Context Share (Reality Data Service)\r\n * This class implements obtaining a specific reality data and extraction of the Azure blob address.\r\n * @beta\r\n */\r\nexport interface RealityDataAccess {\r\n getRealityData: (accessToken: AccessToken, iTwinId: string | undefined, realityDataId: string) => Promise<RealityData>;\r\n getRealityDataUrl: (iTwinId: string | undefined, realityDataId: string) => Promise<string>;\r\n}\r\n"]}