bruce-cesium 0.3.6 → 0.3.7

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 (43) hide show
  1. package/dist/bruce-cesium.es5.js +1018 -559
  2. package/dist/bruce-cesium.es5.js.map +1 -1
  3. package/dist/bruce-cesium.umd.js +1015 -556
  4. package/dist/bruce-cesium.umd.js.map +1 -1
  5. package/dist/lib/bruce-cesium.js +30 -30
  6. package/dist/lib/rendering/entity-render-engine.js +848 -848
  7. package/dist/lib/rendering/entity-render-engine.js.map +1 -1
  8. package/dist/lib/rendering/menu-item-manager.js +252 -252
  9. package/dist/lib/rendering/render-addons/measure-addon.js +186 -186
  10. package/dist/lib/rendering/render-addons/render-addon.js +2 -2
  11. package/dist/lib/rendering/render-helper.js +296 -279
  12. package/dist/lib/rendering/render-helper.js.map +1 -1
  13. package/dist/lib/rendering/render-managers/common/shared-getters.js +31 -31
  14. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +146 -146
  15. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js.map +1 -1
  16. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +143 -143
  17. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +234 -234
  18. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +1 -1
  19. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +139 -139
  20. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js.map +1 -1
  21. package/dist/lib/rendering/render-managers/render-manager.js +50 -50
  22. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +236 -236
  23. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js.map +1 -1
  24. package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js +320 -320
  25. package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js.map +1 -1
  26. package/dist/lib/rendering/tile-render-engine.js +822 -542
  27. package/dist/lib/rendering/tile-render-engine.js.map +1 -1
  28. package/dist/lib/rendering/tileset-render-engine.js +499 -499
  29. package/dist/lib/rendering/tileset-render-engine.js.map +1 -1
  30. package/dist/lib/rendering/view-render-engine.js +300 -138
  31. package/dist/lib/rendering/view-render-engine.js.map +1 -1
  32. package/dist/lib/rendering/visuals-register.js +394 -394
  33. package/dist/lib/utils/drawing-utils.js +42 -42
  34. package/dist/lib/utils/entity-utils.js +99 -99
  35. package/dist/lib/utils/measure-utils.js +34 -34
  36. package/dist/lib/utils/view-utils.js +34 -34
  37. package/dist/lib/utils/view-utils.js.map +1 -1
  38. package/dist/lib/viewer/cesium-view-monitor.js +231 -231
  39. package/dist/lib/viewer/viewer-utils.js +85 -85
  40. package/dist/types/rendering/render-helper.d.ts +1 -1
  41. package/dist/types/rendering/tile-render-engine.d.ts +60 -44
  42. package/dist/types/utils/view-utils.d.ts +1 -1
  43. package/package.json +76 -73
@@ -1,5 +1,5 @@
1
- import { BruceEvent, Cartes, Carto, Geometry, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, DelayQueue, Entity as Entity$1, BatchedDataGetter, ObjectUtils, Tileset, EntityCoords, EntityFilterGetter, EntitySource, MenuItem, ProjectView, ProjectViewBookmark, ProjectViewTileSource, Camera, MathUtils } from 'bruce-models';
2
- import { Cartesian2, Cartographic, Math as Math$1, Color, HeightReference, Cartesian3, Entity, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, Viewer, ArcGisMapServerImageryProvider, ScreenSpaceEventType, Primitive, Cesium3DTileFeature, HeadingPitchRange, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, createWorldTerrain, CesiumTerrainProvider, EllipsoidTerrainProvider, OrthographicFrustum, EllipsoidGeodesic, createOsmBuildings, Cesium3DTileStyle, Rectangle, Matrix4, Cesium3DTileset } from 'cesium';
1
+ import { BruceEvent, Cartes, Carto, Geometry, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, DelayQueue, Entity as Entity$1, BatchedDataGetter, ObjectUtils, Tileset, EntityCoords, EntityFilterGetter, EntitySource, MenuItem, ProjectView, ProjectViewBookmark, ProjectViewTile, ProjectViewLegacyTile, TilesetExtMapTiles, Camera, MathUtils } from 'bruce-models';
2
+ import { Cartesian2, Cartographic, Math as Math$1, Viewer, ArcGisMapServerImageryProvider, ScreenSpaceEventType, Entity, Primitive, Cesium3DTileFeature, Color, Cartesian3, HeightReference, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, HeadingPitchRange, OrthographicFrustum, createWorldTerrain, EllipsoidTerrainProvider, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, createOsmBuildings, Cesium3DTileStyle, Rectangle, EllipsoidGeodesic, Matrix4, Cesium3DTileset } from 'cesium';
3
3
 
4
4
  var TIME_LAG = 300;
5
5
  var POSITION_CHECK_TIMER = 950;
@@ -923,7 +923,7 @@ var EntityRenderEngine;
923
923
  return __generator(this, function (_c) {
924
924
  switch (_c.label) {
925
925
  case 0:
926
- api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
926
+ api = params.apiGetter.getApi();
927
927
  cEntities = {};
928
928
  i = 0;
929
929
  _c.label = 1;
@@ -1034,7 +1034,7 @@ var EntityRenderEngine;
1034
1034
  return __generator(this, function (_c) {
1035
1035
  switch (_c.label) {
1036
1036
  case 0:
1037
- api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
1037
+ api = params.apiGetter.getApi();
1038
1038
  cEntities = {};
1039
1039
  i = 0;
1040
1040
  _c.label = 1;
@@ -1153,7 +1153,7 @@ var EntityRenderEngine;
1153
1153
  return __generator(this, function (_c) {
1154
1154
  switch (_c.label) {
1155
1155
  case 0:
1156
- api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
1156
+ api = params.apiGetter.getApi();
1157
1157
  cEntities = {};
1158
1158
  i = 0;
1159
1159
  _c.label = 1;
@@ -1266,7 +1266,7 @@ var EntityRenderEngine;
1266
1266
  return __generator(this, function (_e) {
1267
1267
  switch (_e.label) {
1268
1268
  case 0:
1269
- api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
1269
+ api = params.apiGetter.getApi();
1270
1270
  cEntities = {};
1271
1271
  reqBody = {
1272
1272
  "strict": false,
@@ -1413,7 +1413,7 @@ var EntitiesRenderManager;
1413
1413
  if (this.disposed) {
1414
1414
  throw (new Error("This item is disposed."));
1415
1415
  }
1416
- api = this.apiGetter.getApi(this.apiGetter.accountId, this.apiGetter.env);
1416
+ api = this.apiGetter.getApi();
1417
1417
  this.getter = this.sharedGetters.GetOrCreateFilterGetter({
1418
1418
  api: api,
1419
1419
  attrFilter: (_a = this.item.BruceEntity.Filter) !== null && _a !== void 0 ? _a : {},
@@ -1463,7 +1463,7 @@ var EntitiesRenderManager;
1463
1463
  return [2 /*return*/];
1464
1464
  }
1465
1465
  this.isRunningCheck = true;
1466
- api = this.apiGetter.getApi(this.apiGetter.accountId, this.apiGetter.env);
1466
+ api = this.apiGetter.getApi();
1467
1467
  _a.label = 1;
1468
1468
  case 1:
1469
1469
  _a.trys.push([1, 5, , 6]);
@@ -2115,7 +2115,7 @@ var EntitiesIdsRenderManager;
2115
2115
  if (this.disposed) {
2116
2116
  return [2 /*return*/];
2117
2117
  }
2118
- api = this.apiGetter.getApi(this.apiGetter.accountId, this.apiGetter.env);
2118
+ api = this.apiGetter.getApi();
2119
2119
  return [4 /*yield*/, Entity$1.GetListByIds(api, entityIds)];
2120
2120
  case 1:
2121
2121
  entities = _b.sent();
@@ -2219,7 +2219,7 @@ var EntityRenderManager;
2219
2219
  if (this.disposed) {
2220
2220
  return [2 /*return*/];
2221
2221
  }
2222
- api = this.apiGetter.getApi(this.apiGetter.accountId, this.apiGetter.env);
2222
+ api = this.apiGetter.getApi();
2223
2223
  return [4 /*yield*/, Entity$1.Get(api, id)];
2224
2224
  case 1:
2225
2225
  entity = _b.sent();
@@ -2315,7 +2315,7 @@ var TilesetRenderEngine;
2315
2315
  }
2316
2316
  TilesetRenderEngine.ApplySettings = ApplySettings;
2317
2317
  function Render(params) {
2318
- var api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
2318
+ var api = params.apiGetter.getApi(params.apiGetter.accountId);
2319
2319
  if (params.tileset.type == Tileset.EType.Cad) {
2320
2320
  var cTileset_1 = new Cesium3DTileset({
2321
2321
  url: Tileset.GetPublicFileUrl(api, params.tileset.id, "tileset.json") + "?generation=" + params.tileset.generateVersion
@@ -2742,7 +2742,7 @@ var TilesetCadRenderManager;
2742
2742
  if (!tilesetId) {
2743
2743
  return [2 /*return*/];
2744
2744
  }
2745
- api = this.apiGetter.getApi(this.apiGetter.accountId, this.apiGetter.env);
2745
+ api = this.apiGetter.getApi();
2746
2746
  return [4 /*yield*/, Tileset.Get(api, tilesetId)];
2747
2747
  case 1:
2748
2748
  tileset = _b.sent();
@@ -3154,7 +3154,7 @@ var TilesetOsmRenderManager;
3154
3154
  for (i = 0; i < features.length; i++) {
3155
3155
  _loop_1(i);
3156
3156
  }
3157
- api = this.apiGetter.getApi(this.apiGetter.accountId, this.apiGetter.env);
3157
+ api = this.apiGetter.getApi();
3158
3158
  return [4 /*yield*/, EntitySource.GetEntityIdsBySourceKeys(api, this.sourceId, featureIds)];
3159
3159
  case 1:
3160
3160
  bIds = _a.sent();
@@ -3512,73 +3512,6 @@ var RenderHelper;
3512
3512
  });
3513
3513
  }
3514
3514
  RenderHelper.RenderEntityFilter = RenderEntityFilter;
3515
- function RenderBookmarkItems(params, viewId, bookmarkId) {
3516
- var _a, _b, _c, _d;
3517
- return __awaiter(this, void 0, void 0, function () {
3518
- function traverseItems(item) {
3519
- return __awaiter(this, void 0, void 0, function () {
3520
- var itemId, i;
3521
- return __generator(this, function (_a) {
3522
- switch (_a.label) {
3523
- case 0:
3524
- if (!enabledItemIds.includes(item.id)) return [3 /*break*/, 2];
3525
- return [4 /*yield*/, params.manager.RenderItem({
3526
- item: item,
3527
- apiGetter: params.apiGetter
3528
- })];
3529
- case 1:
3530
- itemId = _a.sent();
3531
- renderedItemIds.push(itemId);
3532
- _a.label = 2;
3533
- case 2:
3534
- if (!item.Children) return [3 /*break*/, 6];
3535
- i = 0;
3536
- _a.label = 3;
3537
- case 3:
3538
- if (!(i < item.Children.length)) return [3 /*break*/, 6];
3539
- return [4 /*yield*/, traverseItems(item.Children[i])];
3540
- case 4:
3541
- _a.sent();
3542
- _a.label = 5;
3543
- case 5:
3544
- i++;
3545
- return [3 /*break*/, 3];
3546
- case 6: return [2 /*return*/];
3547
- }
3548
- });
3549
- });
3550
- }
3551
- var api, view, bookmark, items, enabledItemIds, renderedItemIds, i;
3552
- return __generator(this, function (_e) {
3553
- switch (_e.label) {
3554
- case 0:
3555
- api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
3556
- return [4 /*yield*/, ProjectView.Get(api, viewId)];
3557
- case 1:
3558
- view = _e.sent();
3559
- return [4 /*yield*/, ProjectViewBookmark.Get(api, viewId, bookmarkId)];
3560
- case 2:
3561
- bookmark = _e.sent();
3562
- items = (_b = (_a = view.Settings) === null || _a === void 0 ? void 0 : _a.LayersMenu) !== null && _b !== void 0 ? _b : [];
3563
- enabledItemIds = (_d = (_c = bookmark.Settings) === null || _c === void 0 ? void 0 : _c.selectedItemIds) !== null && _d !== void 0 ? _d : [];
3564
- renderedItemIds = [];
3565
- i = 0;
3566
- _e.label = 3;
3567
- case 3:
3568
- if (!(i < items.length)) return [3 /*break*/, 6];
3569
- return [4 /*yield*/, traverseItems(items[i])];
3570
- case 4:
3571
- _e.sent();
3572
- _e.label = 5;
3573
- case 5:
3574
- i++;
3575
- return [3 /*break*/, 3];
3576
- case 6: return [2 /*return*/, renderedItemIds];
3577
- }
3578
- });
3579
- });
3580
- }
3581
- RenderHelper.RenderBookmarkItems = RenderBookmarkItems;
3582
3515
  function RenderMenuItems(params, menuItems) {
3583
3516
  return __awaiter(this, void 0, void 0, function () {
3584
3517
  var renderedItemIds, i, menuItem, itemId;
@@ -3614,7 +3547,7 @@ var RenderHelper;
3614
3547
  return __generator(this, function (_a) {
3615
3548
  switch (_a.label) {
3616
3549
  case 0:
3617
- api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
3550
+ api = params.apiGetter.getApi();
3618
3551
  return [4 /*yield*/, Tileset.Get(api, tilesetId)];
3619
3552
  case 1:
3620
3553
  tileset = _a.sent();
@@ -3641,9 +3574,101 @@ var RenderHelper;
3641
3574
  });
3642
3575
  }
3643
3576
  RenderHelper.RenderTileset = RenderTileset;
3577
+ function RenderBookmarkItems(params, viewId, bookmarkId) {
3578
+ return __awaiter(this, void 0, void 0, function () {
3579
+ var api, view, bookmark, enabledIds, menuItems, version, vSettings, bSettings, vSettings, bSettings, renderedItemIds, traverseItems_1, i;
3580
+ var _this = this;
3581
+ return __generator(this, function (_a) {
3582
+ switch (_a.label) {
3583
+ case 0:
3584
+ api = params.apiGetter.getApi();
3585
+ return [4 /*yield*/, ProjectView.Get(api, viewId)];
3586
+ case 1:
3587
+ view = _a.sent();
3588
+ return [4 /*yield*/, ProjectViewBookmark.Get(api, viewId, bookmarkId)];
3589
+ case 2:
3590
+ bookmark = _a.sent();
3591
+ if (view.DataVersion != bookmark.DataVersion) {
3592
+ throw new Error("View and bookmark settings version mismatch.");
3593
+ }
3594
+ enabledIds = [];
3595
+ menuItems = [];
3596
+ version = view.DataVersion;
3597
+ if (view.Settings && bookmark.Settings) {
3598
+ if (version === 2) {
3599
+ vSettings = view.Settings;
3600
+ bSettings = bookmark.Settings;
3601
+ menuItems = vSettings.menuItems;
3602
+ enabledIds = bSettings.menuItemIds;
3603
+ }
3604
+ else {
3605
+ vSettings = view.Settings;
3606
+ bSettings = bookmark.Settings;
3607
+ menuItems = vSettings.LayersMenu;
3608
+ enabledIds = bSettings.selectedItemIds;
3609
+ }
3610
+ }
3611
+ renderedItemIds = [];
3612
+ if (!((menuItems === null || menuItems === void 0 ? void 0 : menuItems.length) && (enabledIds === null || enabledIds === void 0 ? void 0 : enabledIds.length))) return [3 /*break*/, 6];
3613
+ traverseItems_1 = function (item) { return __awaiter(_this, void 0, void 0, function () {
3614
+ var itemId, i;
3615
+ return __generator(this, function (_a) {
3616
+ switch (_a.label) {
3617
+ case 0:
3618
+ if (!enabledIds.includes(item.id)) return [3 /*break*/, 2];
3619
+ return [4 /*yield*/, params.manager.RenderItem({
3620
+ item: item,
3621
+ apiGetter: params.apiGetter
3622
+ })];
3623
+ case 1:
3624
+ itemId = _a.sent();
3625
+ renderedItemIds.push(itemId);
3626
+ _a.label = 2;
3627
+ case 2:
3628
+ if (!item.Children) return [3 /*break*/, 6];
3629
+ i = 0;
3630
+ _a.label = 3;
3631
+ case 3:
3632
+ if (!(i < item.Children.length)) return [3 /*break*/, 6];
3633
+ return [4 /*yield*/, traverseItems_1(item.Children[i])];
3634
+ case 4:
3635
+ _a.sent();
3636
+ _a.label = 5;
3637
+ case 5:
3638
+ i++;
3639
+ return [3 /*break*/, 3];
3640
+ case 6: return [2 /*return*/];
3641
+ }
3642
+ });
3643
+ }); };
3644
+ i = 0;
3645
+ _a.label = 3;
3646
+ case 3:
3647
+ if (!(i < menuItems.length)) return [3 /*break*/, 6];
3648
+ return [4 /*yield*/, traverseItems_1(menuItems[i])];
3649
+ case 4:
3650
+ _a.sent();
3651
+ _a.label = 5;
3652
+ case 5:
3653
+ i++;
3654
+ return [3 /*break*/, 3];
3655
+ case 6: return [2 /*return*/, renderedItemIds];
3656
+ }
3657
+ });
3658
+ });
3659
+ }
3660
+ RenderHelper.RenderBookmarkItems = RenderBookmarkItems;
3644
3661
  })(RenderHelper || (RenderHelper = {}));
3645
3662
 
3663
+ var DEFAULT_BING_KEY = "AqL0uYT5T84jiJeX55_b9zJeeP3MX2p1WLOHH4ljIEPZ7ZL2M81bYLzyYeSwuzzl";
3664
+ var DEFAULT_MAPBOX_KEY = "pk.eyJ1IjoiYWxleHRodW5kZXIiLCJhIjoiY2psbHJxbnN5MTBvbzNxczZwMHNpeTI0MCJ9.fdoj2QW_7n8RV4e0NCFgZA";
3646
3665
  var re = /[\0-\x1F\x7F-\x9F\xAD\u0378\u0379\u037F-\u0383\u038B\u038D\u03A2\u0528-\u0530\u0557\u0558\u0560\u0588\u058B-\u058E\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u0605\u061C\u061D\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08A1\u08AD-\u08E3\u08FF\u0978\u0980\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0C00\u0C04\u0C0D\u0C11\u0C29\u0C34\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5A-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C80\u0C81\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D01\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D4F-\u0D56\u0D58-\u0D5F\u0D64\u0D65\u0D76-\u0D78\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F5-\u13FF\u169D-\u169F\u16F1-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191D-\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C80-\u1CBF\u1CC8-\u1CCF\u1CF7-\u1CFF\u1DE7-\u1DFB\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20BB-\u20CF\u20F1-\u20FF\u218A-\u218F\u23F4-\u23FF\u2427-\u243F\u244B-\u245F\u2700\u2B4D-\u2B4F\u2B5A-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E3C-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FCD-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA698-\uA69E\uA6F8-\uA6FF\uA78F\uA794-\uA79F\uA7AB-\uA7F7\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C5-\uA8CD\uA8DA-\uA8DF\uA8FC-\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9E0-\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAA7C-\uAA7F\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F-\uABBF\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFE\uFDFF\uFE1A-\uFE1F\uFE27-\uFE2F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD-\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFFB\uFFFE\uFFFF]/g;
3666
+ /**
3667
+ * Prepares a legacy imagery name for comparison.
3668
+ * Legacy data did not have ids... we do what we can.
3669
+ * @param name
3670
+ * @returns
3671
+ */
3647
3672
  function prepLegacyName(name) {
3648
3673
  if (!name) {
3649
3674
  return "";
@@ -3656,26 +3681,68 @@ function prepLegacyName(name) {
3656
3681
  }
3657
3682
  return name;
3658
3683
  }
3659
- var EDefaultTerrain;
3660
- (function (EDefaultTerrain) {
3661
- EDefaultTerrain["CesiumWorldTerrain"] = "cesiumworldterrain";
3662
- EDefaultTerrain["Linz"] = "linz";
3663
- EDefaultTerrain["FlatTerrain"] = "flatterrain";
3664
- })(EDefaultTerrain || (EDefaultTerrain = {}));
3665
- var DEFAULT_TERRAIN_NAMES = [
3666
- EDefaultTerrain.CesiumWorldTerrain,
3667
- EDefaultTerrain.Linz,
3668
- EDefaultTerrain.FlatTerrain
3669
- ];
3670
- function isDefaultTerrain(name) {
3684
+ /**
3685
+ * Constructs an terrain provider for a default terrain type.
3686
+ * Warning: This does not add it to the viewer.
3687
+ * @param id
3688
+ * @returns
3689
+ */
3690
+ function renderDefaultTerrTile(id) {
3691
+ var provider;
3692
+ switch (id) {
3693
+ case ProjectViewTile.EDefaultTerrain.CesiumWorldTerrain:
3694
+ provider = createWorldTerrain({
3695
+ requestVertexNormals: true,
3696
+ requestWaterMask: false
3697
+ });
3698
+ break;
3699
+ case ProjectViewTile.EDefaultTerrain.FlatTerrain:
3700
+ provider = new EllipsoidTerrainProvider();
3701
+ break;
3702
+ case ProjectViewTile.EDefaultTerrain.LINZ:
3703
+ provider = new CesiumTerrainProvider({
3704
+ url: "https://s3-ap-southeast-2.amazonaws.com/digitalnewzealand/PROD/Tilesets/nz-dem",
3705
+ requestVertexNormals: true,
3706
+ });
3707
+ break;
3708
+ }
3709
+ return provider;
3710
+ }
3711
+ /**
3712
+ * Maps a legacy terrain's name to a default terrain id.
3713
+ * @param name
3714
+ * @returns
3715
+ */
3716
+ function legacyTerrIdToDefaultId(name) {
3671
3717
  name = prepLegacyName(name);
3672
- return DEFAULT_TERRAIN_NAMES.includes(name);
3718
+ switch (name) {
3719
+ case "cesiumworldterrain":
3720
+ return ProjectViewTile.EDefaultTerrain.CesiumWorldTerrain;
3721
+ case "linz":
3722
+ return ProjectViewTile.EDefaultTerrain.LINZ;
3723
+ case "flatterrain":
3724
+ return ProjectViewTile.EDefaultTerrain.FlatTerrain;
3725
+ }
3673
3726
  }
3674
- function createTerrainBId(source) {
3727
+ /**
3728
+ * Returns if a given legacy terrain's name correspondings to a default source.
3729
+ * @param name
3730
+ * @returns
3731
+ */
3732
+ function isLegacyTerrainDefault(name) {
3733
+ name = legacyTerrIdToDefaultId(name);
3734
+ return ProjectViewTile.DefaultTerrains.find(function (x) { return x.id == name; }) != null;
3735
+ }
3736
+ /**
3737
+ * Returns a best attempt at a unique id from a given legacy terrain source.
3738
+ * @param source
3739
+ * @returns
3740
+ */
3741
+ function createLegacyTerrId(source) {
3675
3742
  if (!source) {
3676
3743
  return "";
3677
3744
  }
3678
- if (isDefaultTerrain(source.Name)) {
3745
+ if (isLegacyTerrainDefault(source.Name)) {
3679
3746
  return source.Name;
3680
3747
  }
3681
3748
  if (source.SourceUrl) {
@@ -3683,11 +3750,16 @@ function createTerrainBId(source) {
3683
3750
  }
3684
3751
  return "";
3685
3752
  }
3686
- function createImageryBId(source) {
3753
+ /**
3754
+ * Returns a best attempt at a unique id from a given legacy imagery source.
3755
+ * @param source
3756
+ * @returns
3757
+ */
3758
+ function createLegacyImageryId(source) {
3687
3759
  if (!source) {
3688
3760
  return "";
3689
3761
  }
3690
- if (isDefaultImagery(source.Name)) {
3762
+ if (isLegacyImageryDefault(source.Name)) {
3691
3763
  return source.Name;
3692
3764
  }
3693
3765
  if (source.SourceUrl) {
@@ -3695,43 +3767,11 @@ function createImageryBId(source) {
3695
3767
  }
3696
3768
  return "";
3697
3769
  }
3698
- var EDefaultImagery;
3699
- (function (EDefaultImagery) {
3700
- EDefaultImagery["BingMapsAerial"] = "bingmapsaerial";
3701
- EDefaultImagery["BingMapsAerialWithLabels"] = "bingmapsaerialwithlabels";
3702
- EDefaultImagery["BingMapsRoads"] = "bingmapsroads";
3703
- EDefaultImagery["MapboxSatellite"] = "mapboxsatellite";
3704
- EDefaultImagery["MapBoxStreets"] = "mapboxstreets";
3705
- EDefaultImagery["MapBoxStreetsClassic"] = "mapboxstreetsclassic";
3706
- EDefaultImagery["EsriWorldImagery"] = "esriworldimagery";
3707
- EDefaultImagery["EsriWorldStreetMap"] = "esriworldstreetmap";
3708
- EDefaultImagery["EsriNationalGeographic"] = "esrinationalgeographic";
3709
- EDefaultImagery["OpenStreetMap"] = "openstreetmap";
3710
- EDefaultImagery["StamenWaterColor"] = "stamenwatercolor";
3711
- EDefaultImagery["StamenToner"] = "stamentoner";
3712
- EDefaultImagery["Grid"] = "grid";
3713
- })(EDefaultImagery || (EDefaultImagery = {}));
3714
- var DEFAULT_IMAGERY_NAMES = [
3715
- EDefaultImagery.BingMapsAerial,
3716
- EDefaultImagery.BingMapsAerialWithLabels,
3717
- EDefaultImagery.BingMapsRoads,
3718
- EDefaultImagery.MapboxSatellite,
3719
- EDefaultImagery.MapBoxStreets,
3720
- EDefaultImagery.MapBoxStreetsClassic,
3721
- EDefaultImagery.EsriWorldImagery,
3722
- EDefaultImagery.EsriWorldStreetMap,
3723
- EDefaultImagery.EsriNationalGeographic,
3724
- EDefaultImagery.OpenStreetMap,
3725
- EDefaultImagery.StamenWaterColor,
3726
- EDefaultImagery.StamenToner,
3727
- EDefaultImagery.Grid
3728
- ];
3729
- function isDefaultImagery(name) {
3730
- name = prepLegacyName(name);
3731
- return DEFAULT_IMAGERY_NAMES.includes(name);
3732
- }
3733
- var DEFAULT_BING_KEY = "AqL0uYT5T84jiJeX55_b9zJeeP3MX2p1WLOHH4ljIEPZ7ZL2M81bYLzyYeSwuzzl";
3734
- var DEFAULT_MAPBOX_KEY = "pk.eyJ1IjoiYWxleHRodW5kZXIiLCJhIjoiY2psbHJxbnN5MTBvbzNxczZwMHNpeTI0MCJ9.fdoj2QW_7n8RV4e0NCFgZA";
3770
+ /**
3771
+ * Turns Cesium collection of enabled imageries into an array.
3772
+ * @param viewer
3773
+ * @returns
3774
+ */
3735
3775
  function gatherEnabledImageries(viewer) {
3736
3776
  var collection = viewer.imageryLayers;
3737
3777
  var layers = [];
@@ -3741,6 +3781,154 @@ function gatherEnabledImageries(viewer) {
3741
3781
  }
3742
3782
  return layers;
3743
3783
  }
3784
+ /**
3785
+ * Constructs an imagery provider for a default imagery type.
3786
+ * Warning: This does not add it to the viewer.
3787
+ * @param id
3788
+ * @returns
3789
+ */
3790
+ function renderDefaultMapTile(id) {
3791
+ var provider;
3792
+ switch (id) {
3793
+ case ProjectViewTile.EDefaultImagery.BingMapsAerial:
3794
+ // TODO: Read account key if available.
3795
+ provider = new BingMapsImageryProvider({
3796
+ url: "https://dev.virtualearth.net",
3797
+ mapStyle: BingMapsStyle.AERIAL,
3798
+ key: DEFAULT_BING_KEY
3799
+ });
3800
+ break;
3801
+ case ProjectViewTile.EDefaultImagery.BingMapsAerialWithLabels:
3802
+ // TODO: Read account key if available.
3803
+ provider = new BingMapsImageryProvider({
3804
+ url: "https://dev.virtualearth.net",
3805
+ mapStyle: BingMapsStyle.AERIAL_WITH_LABELS,
3806
+ key: DEFAULT_BING_KEY
3807
+ });
3808
+ break;
3809
+ case ProjectViewTile.EDefaultImagery.BingMapsRoads:
3810
+ // TODO: Read account key if available.
3811
+ provider = new BingMapsImageryProvider({
3812
+ url: "https://dev.virtualearth.net",
3813
+ mapStyle: BingMapsStyle.ROAD_ON_DEMAND,
3814
+ key: DEFAULT_BING_KEY
3815
+ });
3816
+ break;
3817
+ case ProjectViewTile.EDefaultImagery.MapboxSatellite:
3818
+ // TODO: Read account key if available.
3819
+ provider = new MapboxImageryProvider({
3820
+ mapId: "mapbox.satellite",
3821
+ accessToken: DEFAULT_MAPBOX_KEY
3822
+ });
3823
+ break;
3824
+ case ProjectViewTile.EDefaultImagery.MapBoxStreets:
3825
+ // TODO: Read account key if available.
3826
+ provider = new MapboxImageryProvider({
3827
+ mapId: "satellite-streets-v11",
3828
+ accessToken: DEFAULT_MAPBOX_KEY
3829
+ });
3830
+ break;
3831
+ case ProjectViewTile.EDefaultImagery.MapBoxStreetsClassic:
3832
+ // TODO: Read account key if available.
3833
+ provider = new MapboxImageryProvider({
3834
+ mapId: "streets-v11",
3835
+ accessToken: DEFAULT_MAPBOX_KEY
3836
+ });
3837
+ break;
3838
+ case ProjectViewTile.EDefaultImagery.EsriWorldImagery:
3839
+ provider = new ArcGisMapServerImageryProvider({
3840
+ url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",
3841
+ enablePickFeatures: false
3842
+ });
3843
+ break;
3844
+ case ProjectViewTile.EDefaultImagery.EsriWorldStreetMap:
3845
+ provider = new ArcGisMapServerImageryProvider({
3846
+ url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer",
3847
+ enablePickFeatures: false
3848
+ });
3849
+ break;
3850
+ case ProjectViewTile.EDefaultImagery.EsriNationalGeographic:
3851
+ provider = new ArcGisMapServerImageryProvider({
3852
+ url: "https://services.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer/",
3853
+ enablePickFeatures: false
3854
+ });
3855
+ break;
3856
+ case ProjectViewTile.EDefaultImagery.OpenStreetMap:
3857
+ provider = new OpenStreetMapImageryProvider({
3858
+ url: "https://a.tile.openstreetmap.org/"
3859
+ });
3860
+ break;
3861
+ case ProjectViewTile.EDefaultImagery.StamenWaterColor:
3862
+ provider = new OpenStreetMapImageryProvider({
3863
+ url: "https://stamen-tiles.a.ssl.fastly.net/watercolor/"
3864
+ });
3865
+ break;
3866
+ case ProjectViewTile.EDefaultImagery.StamenToner:
3867
+ provider = new OpenStreetMapImageryProvider({
3868
+ url: "https://stamen-tiles.a.ssl.fastly.net/toner/"
3869
+ });
3870
+ break;
3871
+ case ProjectViewTile.EDefaultImagery.Grid:
3872
+ provider = new GridImageryProvider({
3873
+ tilingScheme: new GeographicTilingScheme(),
3874
+ cells: 0,
3875
+ color: Color.fromCssColorString("rgb(97, 151, 237)"),
3876
+ glowColor: Color.fromCssColorString("rgb(54, 54, 54)"),
3877
+ glowWidth: 4,
3878
+ backgroundColor: Color.TRANSPARENT,
3879
+ tileWidth: 256,
3880
+ tileHeight: 256,
3881
+ canvasSize: 256
3882
+ });
3883
+ break;
3884
+ }
3885
+ return provider;
3886
+ }
3887
+ /**
3888
+ * Maps a legacy imagery's name to a default imagery id.
3889
+ * @param name
3890
+ * @returns
3891
+ */
3892
+ function legacyMapIdToDefaultId(name) {
3893
+ name = prepLegacyName(name);
3894
+ switch (name) {
3895
+ case "bingmapsaerial":
3896
+ return ProjectViewTile.EDefaultImagery.BingMapsAerial;
3897
+ case "bingmapsaerialwithlabels":
3898
+ return ProjectViewTile.EDefaultImagery.BingMapsAerialWithLabels;
3899
+ case "bingmapsroads":
3900
+ return ProjectViewTile.EDefaultImagery.BingMapsRoads;
3901
+ case "mapboxsatellite":
3902
+ return ProjectViewTile.EDefaultImagery.MapboxSatellite;
3903
+ case "mapboxstreets":
3904
+ return ProjectViewTile.EDefaultImagery.MapBoxStreets;
3905
+ case "mapboxstreetsclassic":
3906
+ return ProjectViewTile.EDefaultImagery.MapBoxStreetsClassic;
3907
+ case "esriworldimagery":
3908
+ return ProjectViewTile.EDefaultImagery.EsriWorldImagery;
3909
+ case "esriworldstreetmap":
3910
+ return ProjectViewTile.EDefaultImagery.EsriWorldStreetMap;
3911
+ case "esrinationalgeographic":
3912
+ return ProjectViewTile.EDefaultImagery.EsriNationalGeographic;
3913
+ case "openstreetmap":
3914
+ return ProjectViewTile.EDefaultImagery.OpenStreetMap;
3915
+ case "stamenwatercolor":
3916
+ return ProjectViewTile.EDefaultImagery.StamenWaterColor;
3917
+ case "stamentoner":
3918
+ return ProjectViewTile.EDefaultImagery.StamenToner;
3919
+ case "grid":
3920
+ return ProjectViewTile.EDefaultImagery.Grid;
3921
+ }
3922
+ }
3923
+ /**
3924
+ * Returns if a given legacy imagery's name correspondings to a default source.
3925
+ * @param name
3926
+ * @returns
3927
+ */
3928
+ function isLegacyImageryDefault(name) {
3929
+ name = legacyMapIdToDefaultId(name);
3930
+ return ProjectViewTile.DefaultImagery.find(function (x) { return x.id == name; }) != null;
3931
+ }
3744
3932
  var TileRenderEngine;
3745
3933
  (function (TileRenderEngine) {
3746
3934
  /**
@@ -3757,480 +3945,751 @@ var TileRenderEngine;
3757
3945
  TileRenderEngine.CompareLegacyNames = CompareLegacyNames;
3758
3946
  var Map;
3759
3947
  (function (Map) {
3760
- function Render(params) {
3761
- throw ("Not implemented");
3762
- }
3763
- Map.Render = Render;
3764
- function RenderLegacy(params) {
3765
- var enabled = gatherEnabledImageries(params.viewer);
3766
- var tile = params.data;
3767
- var bId = createImageryBId(tile);
3768
- var layer = enabled.find(function (x) { return x._bId == bId; });
3769
- if (layer) ;
3770
- else if (isDefaultImagery(tile.Name)) {
3771
- var provider = null;
3772
- // TODO: Rest of defaults.
3773
- // TODO: Should be enum.
3774
- switch (prepLegacyName(tile.Name)) {
3775
- case EDefaultImagery.BingMapsAerial:
3776
- // TODO: Read account key if available.
3777
- provider = new BingMapsImageryProvider({
3778
- url: "https://dev.virtualearth.net",
3779
- mapStyle: BingMapsStyle.AERIAL,
3780
- key: DEFAULT_BING_KEY
3781
- });
3782
- break;
3783
- case EDefaultImagery.BingMapsAerialWithLabels:
3784
- // TODO: Read account key if available.
3785
- provider = new BingMapsImageryProvider({
3786
- url: "https://dev.virtualearth.net",
3787
- mapStyle: BingMapsStyle.AERIAL_WITH_LABELS,
3788
- key: DEFAULT_BING_KEY
3789
- });
3790
- break;
3791
- case EDefaultImagery.BingMapsRoads:
3792
- // TODO: Read account key if available.
3793
- provider = new BingMapsImageryProvider({
3794
- url: "https://dev.virtualearth.net",
3795
- mapStyle: BingMapsStyle.ROAD_ON_DEMAND,
3796
- key: DEFAULT_BING_KEY
3797
- });
3798
- break;
3799
- case EDefaultImagery.MapboxSatellite:
3800
- // TODO: Read account key if available.
3801
- provider = new MapboxImageryProvider({
3802
- mapId: "mapbox.satellite",
3803
- accessToken: DEFAULT_MAPBOX_KEY
3804
- });
3805
- break;
3806
- case EDefaultImagery.MapBoxStreets:
3807
- // TODO: Read account key if available.
3808
- provider = new MapboxImageryProvider({
3809
- mapId: "satellite-streets-v11",
3810
- accessToken: DEFAULT_MAPBOX_KEY
3811
- });
3812
- break;
3813
- case EDefaultImagery.MapBoxStreetsClassic:
3814
- // TODO: Read account key if available.
3815
- provider = new MapboxImageryProvider({
3816
- mapId: "streets-v11",
3817
- accessToken: DEFAULT_MAPBOX_KEY
3818
- });
3819
- break;
3820
- case EDefaultImagery.EsriWorldImagery:
3821
- provider = new ArcGisMapServerImageryProvider({
3822
- url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",
3823
- enablePickFeatures: false
3824
- });
3825
- break;
3826
- case EDefaultImagery.EsriWorldStreetMap:
3827
- provider = new ArcGisMapServerImageryProvider({
3828
- url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer",
3829
- enablePickFeatures: false
3830
- });
3831
- break;
3832
- case EDefaultImagery.EsriNationalGeographic:
3833
- provider = new ArcGisMapServerImageryProvider({
3834
- url: "https://services.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer/",
3835
- enablePickFeatures: false
3836
- });
3837
- break;
3838
- case EDefaultImagery.OpenStreetMap:
3839
- provider = new OpenStreetMapImageryProvider({
3840
- url: "https://a.tile.openstreetmap.org/"
3841
- });
3842
- break;
3843
- case EDefaultImagery.StamenWaterColor:
3844
- provider = new OpenStreetMapImageryProvider({
3845
- url: "https://stamen-tiles.a.ssl.fastly.net/watercolor/"
3846
- });
3847
- break;
3848
- case EDefaultImagery.StamenToner:
3849
- provider = new OpenStreetMapImageryProvider({
3850
- url: "https://stamen-tiles.a.ssl.fastly.net/toner/"
3851
- });
3852
- break;
3853
- case EDefaultImagery.Grid:
3854
- provider = new GridImageryProvider({
3855
- tilingScheme: new GeographicTilingScheme(),
3856
- cells: 0,
3857
- color: Color.fromCssColorString("rgb(97, 151, 237)"),
3858
- glowColor: Color.fromCssColorString("rgb(54, 54, 54)"),
3859
- glowWidth: 4,
3860
- backgroundColor: Color.TRANSPARENT,
3861
- tileWidth: 256,
3862
- tileHeight: 256,
3863
- canvasSize: 256
3864
- });
3865
- break;
3866
- }
3867
- if (provider) {
3868
- layer = new ImageryLayer(provider);
3869
- }
3870
- }
3871
- else if (tile.SourceUrl) {
3872
- var provider = null;
3873
- var min = tile.Minimum;
3874
- var max = tile.Maximum;
3875
- if (min != undefined && min <= -1) {
3876
- min = undefined;
3877
- }
3878
- if (max != undefined && max <= -1) {
3879
- max = undefined;
3880
- }
3881
- switch (tile.Type) {
3882
- case "BruceImagery":
3883
- provider = new UrlTemplateImageryProvider({
3884
- url: tile.SourceUrl,
3885
- tileHeight: 256,
3886
- tileWidth: 256
3887
- });
3888
- break;
3889
- case "ArcGisImagery":
3890
- provider = new OpenStreetMapImageryProvider({
3891
- url: tile.SourceUrl,
3892
- fileExtension: tile.FileExtension,
3893
- minimumLevel: min,
3894
- maximumLevel: max
3895
- });
3896
- break;
3897
- case "TileMapImagery":
3898
- provider = new TileMapServiceImageryProvider({
3899
- url: tile.SourceUrl,
3900
- fileExtension: tile.FileExtension,
3901
- minimumLevel: min,
3902
- maximumLevel: max
3903
- });
3904
- break;
3905
- case "OpenStreetMapImagery":
3906
- provider = new OpenStreetMapImageryProvider({
3907
- url: tile.SourceUrl,
3908
- fileExtension: tile.FileExtension,
3909
- minimumLevel: min,
3910
- maximumLevel: max
3911
- });
3912
- break;
3913
- case "MapBoxImagery":
3914
- // TODO: Read default account key when missing.
3915
- provider = new UrlTemplateImageryProvider({
3916
- url: "https://api.mapbox.com/styles/v1/"
3917
- + tile.MapBoxUsername + "/" + tile.MapBoxID +
3918
- "/tiles/256/{z}/{x}/{y}?access_token="
3919
- + tile.ProgramKey
3920
- });
3921
- break;
3948
+ var V1;
3949
+ (function (V1) {
3950
+ function Render(params) {
3951
+ var enabled = gatherEnabledImageries(params.viewer);
3952
+ var tile = params.data;
3953
+ var bId = createLegacyImageryId(tile);
3954
+ var layer = enabled.find(function (x) { return x._bId == bId; });
3955
+ if (layer) ;
3956
+ else if (isLegacyImageryDefault(tile.Name)) {
3957
+ var defaultId = legacyMapIdToDefaultId(tile.Name);
3958
+ var provider = renderDefaultMapTile(defaultId);
3959
+ if (provider) {
3960
+ layer = new ImageryLayer(provider);
3961
+ }
3922
3962
  }
3923
- if (provider) {
3924
- layer = new ImageryLayer(provider);
3963
+ else if (tile.SourceUrl) {
3964
+ var provider = null;
3965
+ var min = tile.Minimum;
3966
+ var max = tile.Maximum;
3967
+ if (min != undefined && min <= -1) {
3968
+ min = undefined;
3969
+ }
3970
+ if (max != undefined && max <= -1) {
3971
+ max = undefined;
3972
+ }
3973
+ switch (tile.Type) {
3974
+ case "BruceImagery":
3975
+ provider = new UrlTemplateImageryProvider({
3976
+ url: tile.SourceUrl,
3977
+ tileHeight: 256,
3978
+ tileWidth: 256
3979
+ });
3980
+ break;
3981
+ case "ArcGisImagery":
3982
+ provider = new OpenStreetMapImageryProvider({
3983
+ url: tile.SourceUrl,
3984
+ fileExtension: tile.FileExtension,
3985
+ minimumLevel: min,
3986
+ maximumLevel: max
3987
+ });
3988
+ break;
3989
+ case "TileMapImagery":
3990
+ provider = new TileMapServiceImageryProvider({
3991
+ url: tile.SourceUrl,
3992
+ fileExtension: tile.FileExtension,
3993
+ minimumLevel: min,
3994
+ maximumLevel: max
3995
+ });
3996
+ break;
3997
+ case "OpenStreetMapImagery":
3998
+ provider = new OpenStreetMapImageryProvider({
3999
+ url: tile.SourceUrl,
4000
+ fileExtension: tile.FileExtension,
4001
+ minimumLevel: min,
4002
+ maximumLevel: max
4003
+ });
4004
+ break;
4005
+ case "MapBoxImagery":
4006
+ // TODO: Read default account key when missing.
4007
+ provider = new UrlTemplateImageryProvider({
4008
+ url: "https://api.mapbox.com/styles/v1/"
4009
+ + tile.MapBoxUsername + "/" + tile.MapBoxID +
4010
+ "/tiles/256/{z}/{x}/{y}?access_token="
4011
+ + tile.ProgramKey
4012
+ });
4013
+ break;
4014
+ }
4015
+ if (provider) {
4016
+ layer = new ImageryLayer(provider);
4017
+ }
3925
4018
  }
3926
- }
3927
- if (layer) {
3928
- layer._bId = bId;
3929
- layer._bName = tile.Name;
3930
- if (!params.viewer.imageryLayers.contains(layer)) {
3931
- params.viewer.imageryLayers.add(layer);
4019
+ if (layer) {
4020
+ layer._bId = bId;
4021
+ layer._bName = tile.Name;
4022
+ if (!params.viewer.imageryLayers.contains(layer)) {
4023
+ params.viewer.imageryLayers.add(layer);
4024
+ }
3932
4025
  }
4026
+ return layer;
3933
4027
  }
3934
- return layer;
3935
- }
3936
- Map.RenderLegacy = RenderLegacy;
3937
- function RenderLegacyView(params) {
3938
- var _a, _b, _c, _d, _e;
3939
- return __awaiter(this, void 0, void 0, function () {
3940
- var api, view, bookmark, data, dataNames, i, source, tiles, i, name_1, j, tile, enabled, layers, _loop_1, i, i, tile, layer, i, layer;
3941
- return __generator(this, function (_f) {
3942
- switch (_f.label) {
3943
- case 0:
3944
- api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
3945
- return [4 /*yield*/, ProjectView.Get(api, params.viewId)];
3946
- case 1:
3947
- view = _f.sent();
3948
- bookmark = null;
3949
- if (!params.bookmarkId) return [3 /*break*/, 3];
3950
- return [4 /*yield*/, ProjectViewBookmark.Get(api, params.viewId, params.bookmarkId)];
3951
- case 2:
3952
- bookmark = _f.sent();
3953
- _f.label = 3;
3954
- case 3:
3955
- data = [];
3956
- dataNames = [];
3957
- if ((_a = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _a === void 0 ? void 0 : _a.imagery) {
3958
- for (i = 0; i < bookmark.Settings.imagery.length; i++) {
3959
- source = bookmark.Settings.imagery[i];
3960
- dataNames.push(source.title);
4028
+ V1.Render = Render;
4029
+ function RenderView(params) {
4030
+ var _a;
4031
+ return __awaiter(this, void 0, void 0, function () {
4032
+ var api, view, bookmark, vSettings, bSettings, data, dataNames, i, source, tiles, i, name_1, j, tile, enabled, layers, _loop_1, i, i, tile, layer, i, layer;
4033
+ return __generator(this, function (_b) {
4034
+ switch (_b.label) {
4035
+ case 0:
4036
+ api = params.apiGetter.getApi();
4037
+ return [4 /*yield*/, ProjectView.Get(api, params.viewId)];
4038
+ case 1:
4039
+ view = _b.sent();
4040
+ bookmark = null;
4041
+ if (!params.bookmarkId) return [3 /*break*/, 3];
4042
+ return [4 /*yield*/, ProjectViewBookmark.Get(api, params.viewId, params.bookmarkId)];
4043
+ case 2:
4044
+ bookmark = (_b.sent());
4045
+ _b.label = 3;
4046
+ case 3:
4047
+ vSettings = view.Settings;
4048
+ bSettings = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings;
4049
+ data = [];
4050
+ dataNames = [];
4051
+ if (bSettings === null || bSettings === void 0 ? void 0 : bSettings.imagery) {
4052
+ for (i = 0; i < bSettings.imagery.length; i++) {
4053
+ source = bSettings.imagery[i];
4054
+ dataNames.push(source.title);
4055
+ }
3961
4056
  }
3962
- }
3963
- else if ((_b = view.Settings) === null || _b === void 0 ? void 0 : _b.DefaultMapTiles) {
3964
- dataNames.push(view.Settings.DefaultMapTiles);
3965
- }
3966
- tiles = (_d = (_c = view.Settings) === null || _c === void 0 ? void 0 : _c.CesiumMapSources) !== null && _d !== void 0 ? _d : [];
3967
- return [4 /*yield*/, ProjectViewTileSource.MergeMapTemplateData(params.apiGetter, tiles, ((_e = view.Settings) === null || _e === void 0 ? void 0 : _e.CesiumMapSources) == null)];
3968
- case 4:
3969
- _f.sent();
3970
- for (i = 0; i < dataNames.length; i++) {
3971
- name_1 = dataNames[i];
3972
- for (j = 0; j < tiles.length; j++) {
3973
- tile = tiles[j];
3974
- if (CompareLegacyNames(tile.Name, name_1)) {
3975
- data.push(tile);
3976
- break;
4057
+ else if (vSettings === null || vSettings === void 0 ? void 0 : vSettings.DefaultMapTiles) {
4058
+ dataNames.push(vSettings.DefaultMapTiles);
4059
+ }
4060
+ tiles = (_a = vSettings === null || vSettings === void 0 ? void 0 : vSettings.CesiumMapSources) !== null && _a !== void 0 ? _a : [];
4061
+ return [4 /*yield*/, ProjectViewLegacyTile.MergeMapTemplateData(params.apiGetter, tiles, (vSettings === null || vSettings === void 0 ? void 0 : vSettings.CesiumMapSources) == null)];
4062
+ case 4:
4063
+ _b.sent();
4064
+ for (i = 0; i < dataNames.length; i++) {
4065
+ name_1 = dataNames[i];
4066
+ for (j = 0; j < tiles.length; j++) {
4067
+ tile = tiles[j];
4068
+ if (CompareLegacyNames(tile.Name, name_1)) {
4069
+ data.push(tile);
4070
+ break;
4071
+ }
3977
4072
  }
3978
4073
  }
3979
- }
3980
- enabled = gatherEnabledImageries(params.viewer);
3981
- layers = [];
3982
- // Gather layers we want to render.
3983
- // Any new layer is added to viewer at the bottom.
3984
- if (params.ignoreIds) {
3985
- _loop_1 = function (i) {
3986
- var id = params.ignoreIds[i];
3987
- var layer = enabled.find(function (x) {
3988
- var layer = x;
3989
- if (layer._bId === id) {
3990
- return true;
4074
+ enabled = gatherEnabledImageries(params.viewer);
4075
+ layers = [];
4076
+ // Gather layers we want to render.
4077
+ // Any new layer is added to viewer at the bottom.
4078
+ if (params.ignoreIds) {
4079
+ _loop_1 = function (i) {
4080
+ var id = params.ignoreIds[i];
4081
+ var layer = enabled.find(function (x) {
4082
+ var layer = x;
4083
+ if (layer._bId === id) {
4084
+ return true;
4085
+ }
4086
+ });
4087
+ if (layer) {
4088
+ layers.push(layer);
3991
4089
  }
4090
+ };
4091
+ for (i = 0; i < params.ignoreIds.length; i++) {
4092
+ _loop_1(i);
4093
+ }
4094
+ }
4095
+ for (i = 0; i < data.length; i++) {
4096
+ tile = data[i];
4097
+ layer = Render({
4098
+ apiGetter: params.apiGetter,
4099
+ viewer: params.viewer,
4100
+ data: tile,
3992
4101
  });
3993
4102
  if (layer) {
3994
4103
  layers.push(layer);
3995
4104
  }
3996
- };
3997
- for (i = 0; i < params.ignoreIds.length; i++) {
3998
- _loop_1(i);
3999
4105
  }
4000
- }
4001
- for (i = 0; i < data.length; i++) {
4002
- tile = data[i];
4003
- layer = RenderLegacy({
4004
- apiGetter: params.apiGetter,
4005
- viewer: params.viewer,
4006
- data: tile,
4106
+ // Sort currently enabled (after new ones added) to match desired order.
4107
+ enabled = gatherEnabledImageries(params.viewer);
4108
+ enabled.sort(function (a, b) {
4109
+ var indexA = layers.indexOf(a);
4110
+ var indexB = layers.indexOf(b);
4111
+ if (indexA < 0 && indexB < 0) {
4112
+ return 0;
4113
+ }
4114
+ if (indexA < 0) {
4115
+ return 1;
4116
+ }
4117
+ if (indexB < 0) {
4118
+ return -1;
4119
+ }
4120
+ return indexA - indexB;
4007
4121
  });
4008
- if (layer) {
4009
- layers.push(layer);
4122
+ // Move enabled layers to match desired order.
4123
+ // Remove any layers that aren't in enabled list.
4124
+ for (i = 0; i < enabled.length; i++) {
4125
+ layer = enabled[i];
4126
+ if (layers.includes(layer)) {
4127
+ params.viewer.imageryLayers.raiseToTop(layer);
4128
+ }
4129
+ else {
4130
+ params.viewer.imageryLayers.remove(layer);
4131
+ }
4010
4132
  }
4011
- }
4012
- // Sort currently enabled (after new ones added) to match desired order.
4013
- enabled = gatherEnabledImageries(params.viewer);
4014
- enabled.sort(function (a, b) {
4015
- var indexA = layers.indexOf(a);
4016
- var indexB = layers.indexOf(b);
4017
- if (indexA < 0 && indexB < 0) {
4018
- return 0;
4133
+ return [2 /*return*/];
4134
+ }
4135
+ });
4136
+ });
4137
+ }
4138
+ V1.RenderView = RenderView;
4139
+ })(V1 = Map.V1 || (Map.V1 = {}));
4140
+ var V2;
4141
+ (function (V2) {
4142
+ function GetOrCreateLayer(viewer, apiGetter, meta) {
4143
+ return __awaiter(this, void 0, void 0, function () {
4144
+ var defaultImg, provider, api, tileset, settings, layer;
4145
+ return __generator(this, function (_a) {
4146
+ switch (_a.label) {
4147
+ case 0:
4148
+ defaultImg = meta.accountId ? null : ProjectViewTile.DefaultImagery.find(function (x) { return x.id === meta.tilesetId; });
4149
+ provider = null;
4150
+ if (!defaultImg) return [3 /*break*/, 1];
4151
+ provider = renderDefaultMapTile(defaultImg.id);
4152
+ return [3 /*break*/, 3];
4153
+ case 1:
4154
+ api = apiGetter.getApi(meta.accountId);
4155
+ return [4 /*yield*/, Tileset.Get(api, meta.tilesetId)];
4156
+ case 2:
4157
+ tileset = _a.sent();
4158
+ if (tileset.type === Tileset.EType.GeoMap) {
4159
+ provider = new TileMapServiceImageryProvider({
4160
+ url: Tileset.GetPublicFileUrl(api, meta.tilesetId, ""),
4161
+ fileExtension: ".png"
4162
+ });
4019
4163
  }
4020
- if (indexA < 0) {
4021
- return 1;
4164
+ else if (tileset.type === Tileset.EType.ExternalGeoMap) {
4165
+ settings = tileset.settings;
4166
+ switch (settings.mapType) {
4167
+ case TilesetExtMapTiles.EType.CesiumIon:
4168
+ provider = new IonImageryProvider({
4169
+ assetId: settings.ionId,
4170
+ // TODO
4171
+ accessToken: null
4172
+ });
4173
+ break;
4174
+ case TilesetExtMapTiles.EType.MapBoxImagery:
4175
+ // TODO: Read default account key when missing.
4176
+ provider = new UrlTemplateImageryProvider({
4177
+ url: "https://api.mapbox.com/styles/v1/"
4178
+ + settings.mapBoxAccount + "/" + settings.mapBoxStyleId +
4179
+ "/tiles/256/{z}/{x}/{y}?access_token="
4180
+ + settings.mapBoxKey
4181
+ });
4182
+ break;
4183
+ case TilesetExtMapTiles.EType.OpenStreetMapImagery:
4184
+ provider = new OpenStreetMapImageryProvider({
4185
+ url: settings.url,
4186
+ fileExtension: settings.sourceExt
4187
+ });
4188
+ break;
4189
+ case TilesetExtMapTiles.EType.TileMapImagery:
4190
+ provider = new TileMapServiceImageryProvider({
4191
+ url: settings.url,
4192
+ fileExtension: settings.sourceExt
4193
+ });
4194
+ break;
4195
+ }
4022
4196
  }
4023
- if (indexB < 0) {
4024
- return -1;
4197
+ else if (tileset.type === Tileset.EType.EntitiesMap) {
4198
+ provider = new UrlTemplateImageryProvider({
4199
+ url: Tileset.GetPublicFileUrl(api, meta.tilesetId, "{z}/{x}/{y}.png"),
4200
+ tileHeight: 256,
4201
+ tileWidth: 256
4202
+ });
4025
4203
  }
4026
- return indexA - indexB;
4027
- });
4028
- // Move enabled layers to match desired order.
4029
- // Remove any layers that aren't in enabled list.
4030
- enabled = enabled.reverse();
4031
- for (i = 0; i < enabled.length; i++) {
4032
- layer = enabled[i];
4033
- if (layers.includes(layer)) {
4034
- params.viewer.imageryLayers.raiseToTop(layer);
4204
+ _a.label = 3;
4205
+ case 3:
4206
+ if (provider) {
4207
+ layer = viewer.imageryLayers.addImageryProvider(provider);
4208
+ layer._bMeta = meta;
4209
+ return [2 /*return*/, layer];
4035
4210
  }
4036
- else {
4037
- params.viewer.imageryLayers.remove(layer);
4211
+ return [2 /*return*/, null];
4212
+ }
4213
+ });
4214
+ });
4215
+ }
4216
+ V2.GetOrCreateLayer = GetOrCreateLayer;
4217
+ function Render(params) {
4218
+ return __awaiter(this, void 0, void 0, function () {
4219
+ var _loop_2, i, curEnabled, toDisable, curEnabledArr, _loop_3, i, i, _loop_4, i;
4220
+ return __generator(this, function (_a) {
4221
+ switch (_a.label) {
4222
+ case 0:
4223
+ _loop_2 = function (i) {
4224
+ var enabled, source;
4225
+ return __generator(this, function (_a) {
4226
+ switch (_a.label) {
4227
+ case 0:
4228
+ enabled = params.enabled[i];
4229
+ source = params.sources.find(function (x) { return x.accountId === enabled.accountId && x.tilesetId === enabled.tilesetId; });
4230
+ if (!source) {
4231
+ console.error("Missing source for enabled imagery.", enabled);
4232
+ }
4233
+ return [4 /*yield*/, GetOrCreateLayer(params.viewer, params.apiGetter, {
4234
+ accountId: source.accountId,
4235
+ tilesetId: source.tilesetId,
4236
+ })];
4237
+ case 1:
4238
+ _a.sent();
4239
+ return [2 /*return*/];
4240
+ }
4241
+ });
4242
+ };
4243
+ i = 0;
4244
+ _a.label = 1;
4245
+ case 1:
4246
+ if (!(i < params.enabled.length)) return [3 /*break*/, 4];
4247
+ return [5 /*yield**/, _loop_2(i)];
4248
+ case 2:
4249
+ _a.sent();
4250
+ _a.label = 3;
4251
+ case 3:
4252
+ i++;
4253
+ return [3 /*break*/, 1];
4254
+ case 4:
4255
+ curEnabled = params.viewer.imageryLayers;
4256
+ toDisable = [];
4257
+ curEnabledArr = [];
4258
+ _loop_3 = function (i) {
4259
+ var layer = curEnabled.get(i);
4260
+ var meta = layer === null || layer === void 0 ? void 0 : layer._bMeta;
4261
+ var disable = !params.enabled.find(function (x) { return x.accountId === (meta === null || meta === void 0 ? void 0 : meta.accountId) && x.tilesetId === (meta === null || meta === void 0 ? void 0 : meta.tilesetId); });
4262
+ if (disable) {
4263
+ toDisable.push(layer);
4264
+ }
4265
+ else {
4266
+ curEnabledArr.push(layer);
4267
+ }
4268
+ };
4269
+ for (i = 0; i < curEnabled.length; i++) {
4270
+ _loop_3(i);
4038
4271
  }
4039
- }
4040
- return [2 /*return*/];
4041
- }
4272
+ for (i = 0; i < toDisable.length; i++) {
4273
+ params.viewer.imageryLayers.remove(toDisable[i]);
4274
+ }
4275
+ _loop_4 = function (i) {
4276
+ var enabled = params.enabled[i];
4277
+ var layer = curEnabledArr.find(function (x) { var _a, _b; return ((_a = x._bMeta) === null || _a === void 0 ? void 0 : _a.accountId) === enabled.accountId && ((_b = x._bMeta) === null || _b === void 0 ? void 0 : _b.tilesetId) === enabled.tilesetId; });
4278
+ if (layer) {
4279
+ params.viewer.imageryLayers.raiseToTop(layer);
4280
+ layer.alpha = Number(enabled.alpha);
4281
+ layer.brightness = Number(enabled.brightness);
4282
+ layer.contrast = Number(enabled.contrast);
4283
+ layer.hue = Number(enabled.hue);
4284
+ layer.saturation = Number(enabled.saturation);
4285
+ layer.gamma = Number(enabled.gamma);
4286
+ }
4287
+ };
4288
+ for (i = 0; i < params.enabled.length; i++) {
4289
+ _loop_4(i);
4290
+ }
4291
+ return [2 /*return*/];
4292
+ }
4293
+ });
4042
4294
  });
4043
- });
4044
- }
4045
- Map.RenderLegacyView = RenderLegacyView;
4295
+ }
4296
+ V2.Render = Render;
4297
+ })(V2 = Map.V2 || (Map.V2 = {}));
4046
4298
  })(Map = TileRenderEngine.Map || (TileRenderEngine.Map = {}));
4047
4299
  var Terrain;
4048
4300
  (function (Terrain) {
4049
- function Render(params) {
4050
- throw ("Not implemented");
4051
- }
4052
- Terrain.Render = Render;
4053
- function RenderLegacy(params) {
4054
- var _a;
4055
- var bId = createTerrainBId(params.data);
4056
- var curProvider = params.viewer.terrainProvider;
4057
- if (curProvider._bId && curProvider._bId === bId) {
4058
- return;
4059
- }
4060
- var provider = null;
4061
- if (isDefaultTerrain(params.data.Name)) {
4062
- var name_2 = prepLegacyName(params.data.Name);
4063
- switch (name_2) {
4064
- case EDefaultTerrain.CesiumWorldTerrain:
4065
- provider = createWorldTerrain({
4066
- requestVertexNormals: true
4067
- });
4068
- break;
4069
- case EDefaultTerrain.Linz:
4070
- provider = new CesiumTerrainProvider({
4071
- url: "https://s3-ap-southeast-2.amazonaws.com/digitalnewzealand/PROD/Tilesets/nz-dem",
4072
- requestVertexNormals: true
4073
- });
4074
- break;
4075
- case EDefaultTerrain.FlatTerrain:
4076
- provider = new EllipsoidTerrainProvider();
4077
- break;
4301
+ var V1;
4302
+ (function (V1) {
4303
+ function Render(params) {
4304
+ var _a;
4305
+ var bId = createLegacyTerrId(params.data);
4306
+ var curProvider = params.viewer.terrainProvider;
4307
+ if (curProvider._bId && curProvider._bId === bId) {
4308
+ return;
4309
+ }
4310
+ var provider = null;
4311
+ if (isLegacyTerrainDefault(params.data.Name)) {
4312
+ var id = legacyTerrIdToDefaultId(params.data.Name);
4313
+ provider = renderDefaultTerrTile(id);
4314
+ }
4315
+ else if (params.data.SourceUrl) {
4316
+ provider = new CesiumTerrainProvider({
4317
+ url: params.data.SourceUrl,
4318
+ requestWaterMask: params.data.RequestWaterMask,
4319
+ requestVertexNormals: true
4320
+ });
4321
+ }
4322
+ if (provider) {
4323
+ provider._bId = bId;
4324
+ provider._bName = (_a = params.data) === null || _a === void 0 ? void 0 : _a.Name;
4325
+ params.viewer.terrainProvider = provider;
4078
4326
  }
4079
4327
  }
4080
- else if (params.data.SourceUrl) {
4081
- provider = new CesiumTerrainProvider({
4082
- url: params.data.SourceUrl,
4083
- requestWaterMask: params.data.RequestWaterMask,
4084
- requestVertexNormals: true
4328
+ V1.Render = Render;
4329
+ function RenderView(params) {
4330
+ var _a, _b;
4331
+ return __awaiter(this, void 0, void 0, function () {
4332
+ var api, view, bookmark, vSettings, bSettings, terrainTiles, terrainTile, terrainTileName, i, tile;
4333
+ return __generator(this, function (_c) {
4334
+ switch (_c.label) {
4335
+ case 0:
4336
+ api = params.apiGetter.getApi();
4337
+ return [4 /*yield*/, ProjectView.Get(api, params.viewId)];
4338
+ case 1:
4339
+ view = _c.sent();
4340
+ bookmark = null;
4341
+ if (!params.bookmarkId) return [3 /*break*/, 3];
4342
+ return [4 /*yield*/, ProjectViewBookmark.Get(api, params.viewId, params.bookmarkId)];
4343
+ case 2:
4344
+ bookmark = (_c.sent());
4345
+ _c.label = 3;
4346
+ case 3:
4347
+ vSettings = view.Settings;
4348
+ bSettings = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings;
4349
+ terrainTiles = (_a = vSettings === null || vSettings === void 0 ? void 0 : vSettings.CesiumTerrainSources) !== null && _a !== void 0 ? _a : [];
4350
+ terrainTile = null;
4351
+ terrainTileName = null;
4352
+ if ((_b = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _b === void 0 ? void 0 : _b.terrain) {
4353
+ terrainTileName = bSettings.terrain;
4354
+ }
4355
+ else {
4356
+ terrainTileName = vSettings === null || vSettings === void 0 ? void 0 : vSettings.DefaultTerrain;
4357
+ }
4358
+ return [4 /*yield*/, ProjectViewLegacyTile.MergeTerrainTemplateData(params.apiGetter, terrainTiles, (vSettings === null || vSettings === void 0 ? void 0 : vSettings.CesiumTerrainSources) == null)];
4359
+ case 4:
4360
+ _c.sent();
4361
+ for (i = 0; i < terrainTiles.length; i++) {
4362
+ tile = terrainTiles[i];
4363
+ if (TileRenderEngine.CompareLegacyNames(tile.Name, terrainTileName)) {
4364
+ terrainTile = tile;
4365
+ break;
4366
+ }
4367
+ }
4368
+ if (terrainTile) {
4369
+ Render({
4370
+ data: terrainTile,
4371
+ viewer: params.viewer,
4372
+ });
4373
+ }
4374
+ return [2 /*return*/];
4375
+ }
4376
+ });
4085
4377
  });
4086
4378
  }
4087
- if (provider) {
4088
- provider._bId = bId;
4089
- provider._bName = (_a = params.data) === null || _a === void 0 ? void 0 : _a.Name;
4090
- params.viewer.terrainProvider = provider;
4091
- }
4092
- }
4093
- Terrain.RenderLegacy = RenderLegacy;
4094
- function RenderLegacyView(params) {
4095
- var _a, _b, _c, _d, _e;
4096
- return __awaiter(this, void 0, void 0, function () {
4097
- var api, view, bookmark, terrainTiles, terrainTile, terrainTileName, i, tile;
4098
- return __generator(this, function (_f) {
4099
- switch (_f.label) {
4100
- case 0:
4101
- api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
4102
- return [4 /*yield*/, ProjectView.Get(api, params.viewId)];
4103
- case 1:
4104
- view = _f.sent();
4105
- bookmark = null;
4106
- if (!params.bookmarkId) return [3 /*break*/, 3];
4107
- return [4 /*yield*/, ProjectViewBookmark.Get(api, params.viewId, params.bookmarkId)];
4108
- case 2:
4109
- bookmark = _f.sent();
4110
- _f.label = 3;
4111
- case 3:
4112
- terrainTiles = (_b = (_a = view.Settings) === null || _a === void 0 ? void 0 : _a.CesiumTerrainSources) !== null && _b !== void 0 ? _b : [];
4113
- terrainTile = null;
4114
- terrainTileName = null;
4115
- if ((_c = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _c === void 0 ? void 0 : _c.terrain) {
4116
- terrainTileName = bookmark.Settings.terrain;
4117
- }
4118
- else {
4119
- terrainTileName = (_d = view.Settings) === null || _d === void 0 ? void 0 : _d.DefaultTerrain;
4120
- }
4121
- return [4 /*yield*/, ProjectViewTileSource.MergeTerrainTemplateData(params.apiGetter, terrainTiles, ((_e = view.Settings) === null || _e === void 0 ? void 0 : _e.CesiumTerrainSources) == null)];
4122
- case 4:
4123
- _f.sent();
4124
- for (i = 0; i < terrainTiles.length; i++) {
4125
- tile = terrainTiles[i];
4126
- if (TileRenderEngine.CompareLegacyNames(tile.Name, terrainTileName)) {
4127
- terrainTile = tile;
4128
- break;
4379
+ V1.RenderView = RenderView;
4380
+ })(V1 = Terrain.V1 || (Terrain.V1 = {}));
4381
+ var V2;
4382
+ (function (V2) {
4383
+ function Render(params) {
4384
+ var _a;
4385
+ return __awaiter(this, void 0, void 0, function () {
4386
+ var enabledMeta, defaultTerr, provider, api, tileset, url, vertexes, settings;
4387
+ return __generator(this, function (_b) {
4388
+ switch (_b.label) {
4389
+ case 0:
4390
+ enabledMeta = (_a = params.viewer.terrainProvider) === null || _a === void 0 ? void 0 : _a._bMeta;
4391
+ if ((enabledMeta === null || enabledMeta === void 0 ? void 0 : enabledMeta.tilesetId) === params.source.tilesetId &&
4392
+ (enabledMeta === null || enabledMeta === void 0 ? void 0 : enabledMeta.accountId) === params.source.accountId) {
4393
+ return [2 /*return*/];
4129
4394
  }
4130
- }
4131
- if (terrainTile) {
4132
- TileRenderEngine.Terrain.RenderLegacy({
4133
- data: terrainTile,
4134
- viewer: params.viewer,
4135
- });
4136
- }
4137
- return [2 /*return*/];
4138
- }
4395
+ defaultTerr = params.source.accountId ? null : ProjectViewTile.DefaultTerrains.find(function (x) { return x.id === params.source.tilesetId; });
4396
+ provider = null;
4397
+ if (!defaultTerr) return [3 /*break*/, 1];
4398
+ provider = renderDefaultTerrTile(defaultTerr.id);
4399
+ return [3 /*break*/, 3];
4400
+ case 1:
4401
+ api = params.apiGetter.getApi(params.source.accountId);
4402
+ return [4 /*yield*/, Tileset.Get(api, params.source.tilesetId)];
4403
+ case 2:
4404
+ tileset = _b.sent();
4405
+ url = void 0;
4406
+ vertexes = true;
4407
+ if (tileset.type === Tileset.EType.Terrain) {
4408
+ url = Tileset.GetPublicFileUrl(api, tileset.id, "");
4409
+ }
4410
+ else if (tileset.type === Tileset.EType.ExternalTerrain) {
4411
+ settings = tileset.settings;
4412
+ url = settings.url;
4413
+ vertexes = settings.requestVertexNormals == null ? true : settings.requestVertexNormals;
4414
+ }
4415
+ else {
4416
+ console.error("Invalid tileset type.", tileset);
4417
+ }
4418
+ if (url) {
4419
+ provider = new CesiumTerrainProvider({
4420
+ url: url,
4421
+ requestVertexNormals: vertexes
4422
+ });
4423
+ }
4424
+ _b.label = 3;
4425
+ case 3:
4426
+ if (provider) {
4427
+ provider._bMeta = {
4428
+ accountId: params.source.accountId,
4429
+ tilesetId: params.source.tilesetId
4430
+ };
4431
+ params.viewer.terrainProvider = provider;
4432
+ }
4433
+ return [2 /*return*/];
4434
+ }
4435
+ });
4139
4436
  });
4140
- });
4141
- }
4142
- Terrain.RenderLegacyView = RenderLegacyView;
4437
+ }
4438
+ V2.Render = Render;
4439
+ })(V2 = Terrain.V2 || (Terrain.V2 = {}));
4143
4440
  })(Terrain = TileRenderEngine.Terrain || (TileRenderEngine.Terrain = {}));
4144
4441
  })(TileRenderEngine || (TileRenderEngine = {}));
4145
4442
 
4146
- var ViewRenderEngine;
4147
- (function (ViewRenderEngine) {
4148
- function Render(params) {
4149
- var _a, _b, _c, _d, _e;
4150
- return __awaiter(this, void 0, void 0, function () {
4151
- var api, view, bookmark, frustum, scene, curFrustum, camera, pos, go, enabledItems, newItemIds, _i, enabledItems_1, id;
4152
- return __generator(this, function (_f) {
4153
- switch (_f.label) {
4154
- case 0:
4155
- api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
4156
- return [4 /*yield*/, ProjectView.Get(api, params.viewId)];
4157
- case 1:
4158
- view = _f.sent();
4159
- bookmark = null;
4160
- if (!params.bookmarkId) return [3 /*break*/, 3];
4161
- return [4 /*yield*/, ProjectViewBookmark.Get(api, params.viewId, params.bookmarkId)];
4162
- case 2:
4163
- bookmark = _f.sent();
4164
- _f.label = 3;
4165
- case 3: return [4 /*yield*/, TileRenderEngine.Terrain.RenderLegacyView({
4443
+ function renderV1(params, bookmark, view) {
4444
+ var _a, _b;
4445
+ return __awaiter(this, void 0, void 0, function () {
4446
+ var vSettings, bSettings, frustum, scene, curFrustum, camera, pos, go, enabledItems, newItemIds, _i, enabledItems_1, id;
4447
+ return __generator(this, function (_c) {
4448
+ switch (_c.label) {
4449
+ case 0:
4450
+ vSettings = view.Settings;
4451
+ bSettings = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings;
4452
+ return [4 /*yield*/, TileRenderEngine.Terrain.V1.RenderView({
4166
4453
  apiGetter: params.apiGetter,
4167
4454
  bookmarkId: params.bookmarkId,
4168
4455
  viewer: params.manager.Viewer,
4169
4456
  viewId: params.viewId,
4170
4457
  })];
4171
- case 4:
4172
- _f.sent();
4173
- return [4 /*yield*/, TileRenderEngine.Map.RenderLegacyView({
4174
- apiGetter: params.apiGetter,
4175
- bookmarkId: params.bookmarkId,
4176
- viewer: params.manager.Viewer,
4177
- viewId: params.viewId,
4178
- ignoreIds: []
4179
- })];
4180
- case 5:
4181
- _f.sent();
4182
- frustum = (_a = bookmark.Settings) === null || _a === void 0 ? void 0 : _a.cameraFrustum;
4183
- if (frustum == null) {
4184
- frustum = Camera.EFrustum.Perspective;
4458
+ case 1:
4459
+ _c.sent();
4460
+ return [4 /*yield*/, TileRenderEngine.Map.V1.RenderView({
4461
+ apiGetter: params.apiGetter,
4462
+ bookmarkId: params.bookmarkId,
4463
+ viewer: params.manager.Viewer,
4464
+ viewId: params.viewId,
4465
+ ignoreIds: []
4466
+ })];
4467
+ case 2:
4468
+ _c.sent();
4469
+ frustum = bSettings === null || bSettings === void 0 ? void 0 : bSettings.cameraFrustum;
4470
+ if (frustum == null) {
4471
+ frustum = Camera.EFrustum.Perspective;
4472
+ }
4473
+ scene = params.manager.Viewer.scene;
4474
+ curFrustum = scene.camera.frustum instanceof OrthographicFrustum ? Camera.EFrustum.Orthographic : Camera.EFrustum.Perspective;
4475
+ if (curFrustum != frustum) {
4476
+ if (frustum == Camera.EFrustum.Perspective) {
4477
+ scene.camera.switchToPerspectiveFrustum();
4478
+ scene.screenSpaceCameraController.enableTilt = true;
4185
4479
  }
4186
- scene = params.manager.Viewer.scene;
4187
- curFrustum = scene.camera.frustum instanceof OrthographicFrustum ? Camera.EFrustum.Orthographic : Camera.EFrustum.Perspective;
4188
- if (curFrustum != frustum) {
4189
- if (frustum == Camera.EFrustum.Perspective) {
4190
- scene.camera.switchToPerspectiveFrustum();
4191
- scene.screenSpaceCameraController.enableTilt = true;
4192
- }
4193
- else {
4194
- scene.camera.switchToOrthographicFrustum();
4195
- scene.screenSpaceCameraController.enableTilt = false;
4196
- }
4197
- params.skipTransition = true;
4480
+ else {
4481
+ scene.camera.switchToOrthographicFrustum();
4482
+ scene.screenSpaceCameraController.enableTilt = false;
4483
+ }
4484
+ params.skipTransition = true;
4485
+ }
4486
+ camera = bookmark.Camera;
4487
+ pos = Cartesian3.fromDegrees(+camera.position.longitude, +camera.position.latitude, +camera.position.height);
4488
+ params.manager.Viewer.scene.camera.flyTo({
4489
+ destination: pos,
4490
+ orientation: {
4491
+ heading: +camera.heading,
4492
+ pitch: +camera.pitch,
4493
+ roll: +camera.roll
4494
+ },
4495
+ duration: params.skipTransition ? 0 : 2
4496
+ });
4497
+ go = (_a = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _a === void 0 ? void 0 : _a.groundOcclusion;
4498
+ if (go == null) {
4499
+ go = vSettings === null || vSettings === void 0 ? void 0 : vSettings.GroundOcclusion;
4500
+ }
4501
+ if (go == null) {
4502
+ go = false;
4503
+ }
4504
+ params.manager.Viewer.scene.globe.depthTestAgainstTerrain = go;
4505
+ enabledItems = params.manager.GetEnabledItemIds();
4506
+ newItemIds = (_b = bSettings === null || bSettings === void 0 ? void 0 : bSettings.selectedItemIds) !== null && _b !== void 0 ? _b : [];
4507
+ for (_i = 0, enabledItems_1 = enabledItems; _i < enabledItems_1.length; _i++) {
4508
+ id = enabledItems_1[_i];
4509
+ if (newItemIds.indexOf(id) === -1) {
4510
+ params.manager.RemoveItemById(id);
4511
+ }
4512
+ }
4513
+ if (!params.bookmarkId) return [3 /*break*/, 4];
4514
+ return [4 /*yield*/, RenderHelper.RenderBookmarkItems({
4515
+ apiGetter: params.apiGetter,
4516
+ manager: params.manager,
4517
+ }, params.viewId, params.bookmarkId)];
4518
+ case 3:
4519
+ _c.sent();
4520
+ _c.label = 4;
4521
+ case 4: return [2 /*return*/];
4522
+ }
4523
+ });
4524
+ });
4525
+ }
4526
+ function renderV2(params, bookmark, view) {
4527
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
4528
+ return __awaiter(this, void 0, void 0, function () {
4529
+ var viewer, scene, vSettings, bSettings, defaults, camera, newLens, curLens, transition, pos, gOcclusion, terrain, source, imagery, iSources, curEnabled, newItemIds, _i, curEnabled_1, id;
4530
+ return __generator(this, function (_p) {
4531
+ switch (_p.label) {
4532
+ case 0:
4533
+ viewer = params.manager.Viewer;
4534
+ scene = viewer.scene;
4535
+ vSettings = view.Settings;
4536
+ bSettings = ((_a = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) !== null && _a !== void 0 ? _a : {});
4537
+ defaults = (_b = vSettings.defaults) !== null && _b !== void 0 ? _b : {};
4538
+ camera = ((_c = bookmark.Camera) !== null && _c !== void 0 ? _c : {});
4539
+ newLens = camera.cameraFrustum;
4540
+ if (newLens == null) {
4541
+ newLens = (_d = defaults.camera) === null || _d === void 0 ? void 0 : _d.cameraFrustum;
4542
+ }
4543
+ if (newLens == null) {
4544
+ // TODO: Need global default.
4545
+ newLens = Camera.EFrustum.Perspective;
4546
+ }
4547
+ curLens = scene.camera.frustum instanceof OrthographicFrustum ?
4548
+ Camera.EFrustum.Orthographic :
4549
+ Camera.EFrustum.Perspective;
4550
+ if (newLens != curLens) {
4551
+ if (newLens == Camera.EFrustum.Perspective) {
4552
+ scene.camera.switchToPerspectiveFrustum();
4553
+ scene.screenSpaceCameraController.enableTilt = true;
4198
4554
  }
4199
- camera = bookmark.Camera;
4200
- pos = Cartesian3.fromDegrees(+camera.position.longitude, +camera.position.latitude, +camera.position.height);
4201
- params.manager.Viewer.scene.camera.flyTo({
4555
+ else {
4556
+ scene.camera.switchToOrthographicFrustum();
4557
+ scene.screenSpaceCameraController.enableTilt = false;
4558
+ }
4559
+ }
4560
+ transition = params.skipTransition ? 0 : curLens === newLens ? camera.transition : 0;
4561
+ if (transition == null) {
4562
+ transition = (_e = defaults.camera) === null || _e === void 0 ? void 0 : _e.transition;
4563
+ }
4564
+ if (transition == null) {
4565
+ // TODO: Need global default.
4566
+ transition = 2000;
4567
+ }
4568
+ if (Carto.ValidateCarto(camera)) {
4569
+ pos = Cartesian3.fromDegrees(+camera.longitude, +camera.latitude, +camera.altitude);
4570
+ scene.camera.flyTo({
4202
4571
  destination: pos,
4203
4572
  orientation: {
4204
4573
  heading: +camera.heading,
4205
4574
  pitch: +camera.pitch,
4206
4575
  roll: +camera.roll
4207
4576
  },
4208
- duration: params.skipTransition ? 0 : 2
4577
+ duration: transition != 0 ? transition / 1000 : 0
4209
4578
  });
4210
- go = (_b = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _b === void 0 ? void 0 : _b.groundOcclusion;
4211
- if (go == null) {
4212
- go = (_c = view.Settings) === null || _c === void 0 ? void 0 : _c.GroundOcclusion;
4213
- }
4214
- if (go == null) {
4215
- go = false;
4216
- }
4217
- params.manager.Viewer.scene.globe.depthTestAgainstTerrain = go;
4218
- enabledItems = params.manager.GetEnabledItemIds();
4219
- newItemIds = (_e = (_d = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _d === void 0 ? void 0 : _d.selectedItemIds) !== null && _e !== void 0 ? _e : [];
4220
- for (_i = 0, enabledItems_1 = enabledItems; _i < enabledItems_1.length; _i++) {
4221
- id = enabledItems_1[_i];
4222
- if (newItemIds.indexOf(id) === -1) {
4223
- params.manager.RemoveItemById(id);
4579
+ }
4580
+ gOcclusion = bSettings === null || bSettings === void 0 ? void 0 : bSettings.groundOcclusion;
4581
+ if (gOcclusion == null) {
4582
+ gOcclusion = (_f = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _f === void 0 ? void 0 : _f.groundOcclusion;
4583
+ }
4584
+ if (gOcclusion == null) {
4585
+ // TODO: Need global default.
4586
+ gOcclusion = true;
4587
+ }
4588
+ scene.globe.depthTestAgainstTerrain = Boolean(gOcclusion);
4589
+ terrain = (_g = bSettings === null || bSettings === void 0 ? void 0 : bSettings.terrain) !== null && _g !== void 0 ? _g : (_h = defaults.settings) === null || _h === void 0 ? void 0 : _h.terrain;
4590
+ if (!terrain) return [3 /*break*/, 2];
4591
+ source = (_j = vSettings.terrains) === null || _j === void 0 ? void 0 : _j.find(function (x) { return x.accountId === terrain.accountId && x.tilesetId === terrain.tilesetId; });
4592
+ if (!source) return [3 /*break*/, 2];
4593
+ return [4 /*yield*/, TileRenderEngine.Terrain.V2.Render({
4594
+ apiGetter: params.apiGetter,
4595
+ enabled: terrain,
4596
+ source: source,
4597
+ viewer: params.manager.Viewer,
4598
+ })];
4599
+ case 1:
4600
+ _p.sent();
4601
+ _p.label = 2;
4602
+ case 2:
4603
+ imagery = (_k = bSettings.imagery) !== null && _k !== void 0 ? _k : (_l = defaults.settings) === null || _l === void 0 ? void 0 : _l.imagery;
4604
+ if (imagery == null) {
4605
+ // TODO: Need global default.
4606
+ imagery = [
4607
+ {
4608
+ accountId: null,
4609
+ tilesetId: ProjectViewTile.EDefaultImagery.MapboxSatellite,
4610
+ alpha: 1,
4611
+ brightness: 1,
4612
+ contrast: 1,
4613
+ gamma: 1,
4614
+ hue: 0,
4615
+ saturation: 1
4224
4616
  }
4617
+ ];
4618
+ }
4619
+ iSources = (_m = vSettings.imageries) === null || _m === void 0 ? void 0 : _m.filter(function (x) {
4620
+ return imagery.find(function (y) {
4621
+ y.accountId === x.accountId && y.tilesetId === x.tilesetId;
4622
+ });
4623
+ });
4624
+ return [4 /*yield*/, TileRenderEngine.Map.V2.Render({
4625
+ apiGetter: params.apiGetter,
4626
+ enabled: imagery,
4627
+ sources: iSources,
4628
+ viewer: params.manager.Viewer,
4629
+ })];
4630
+ case 3:
4631
+ _p.sent();
4632
+ curEnabled = params.manager.GetEnabledItemIds();
4633
+ newItemIds = (_o = bSettings === null || bSettings === void 0 ? void 0 : bSettings.menuItemIds) !== null && _o !== void 0 ? _o : [];
4634
+ _i = 0, curEnabled_1 = curEnabled;
4635
+ _p.label = 4;
4636
+ case 4:
4637
+ if (!(_i < curEnabled_1.length)) return [3 /*break*/, 7];
4638
+ id = curEnabled_1[_i];
4639
+ if (!(newItemIds.indexOf(id) === -1)) return [3 /*break*/, 6];
4640
+ return [4 /*yield*/, params.manager.RemoveItemById(id)];
4641
+ case 5:
4642
+ _p.sent();
4643
+ _p.label = 6;
4644
+ case 6:
4645
+ _i++;
4646
+ return [3 /*break*/, 4];
4647
+ case 7:
4648
+ if (!params.bookmarkId) return [3 /*break*/, 9];
4649
+ return [4 /*yield*/, RenderHelper.RenderBookmarkItems({
4650
+ apiGetter: params.apiGetter,
4651
+ manager: params.manager,
4652
+ }, params.viewId, params.bookmarkId)];
4653
+ case 8:
4654
+ _p.sent();
4655
+ _p.label = 9;
4656
+ case 9: return [2 /*return*/];
4657
+ }
4658
+ });
4659
+ });
4660
+ }
4661
+ var ViewRenderEngine;
4662
+ (function (ViewRenderEngine) {
4663
+ function Render(params) {
4664
+ return __awaiter(this, void 0, void 0, function () {
4665
+ var api, view, bookmark, version;
4666
+ return __generator(this, function (_a) {
4667
+ switch (_a.label) {
4668
+ case 0:
4669
+ api = params.apiGetter.getApi();
4670
+ return [4 /*yield*/, ProjectView.Get(api, params.viewId)];
4671
+ case 1:
4672
+ view = _a.sent();
4673
+ bookmark = null;
4674
+ if (!params.bookmarkId) return [3 /*break*/, 3];
4675
+ return [4 /*yield*/, ProjectViewBookmark.Get(api, params.viewId, params.bookmarkId)];
4676
+ case 2:
4677
+ bookmark = _a.sent();
4678
+ _a.label = 3;
4679
+ case 3:
4680
+ if (bookmark && view.DataVersion != bookmark.DataVersion) {
4681
+ throw new Error("View and bookmark settings version mismatch.");
4225
4682
  }
4226
- if (!params.bookmarkId) return [3 /*break*/, 7];
4227
- return [4 /*yield*/, RenderHelper.RenderBookmarkItems({
4228
- apiGetter: params.apiGetter,
4229
- manager: params.manager,
4230
- }, params.viewId, params.bookmarkId)];
4683
+ version = view.DataVersion;
4684
+ if (!(version === 2)) return [3 /*break*/, 5];
4685
+ return [4 /*yield*/, renderV2(params, bookmark, view)];
4686
+ case 4:
4687
+ _a.sent();
4688
+ return [3 /*break*/, 7];
4689
+ case 5: return [4 /*yield*/, renderV1(params, bookmark, view)];
4231
4690
  case 6:
4232
- _f.sent();
4233
- _f.label = 7;
4691
+ _a.sent();
4692
+ _a.label = 7;
4234
4693
  case 7: return [2 /*return*/];
4235
4694
  }
4236
4695
  });