bruce-cesium 0.1.3 → 0.1.6

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 (41) hide show
  1. package/dist/bruce-cesium.es5.js +262 -134
  2. package/dist/bruce-cesium.es5.js.map +1 -1
  3. package/dist/bruce-cesium.umd.js +260 -132
  4. package/dist/bruce-cesium.umd.js.map +1 -1
  5. package/dist/lib/rendering/entity-render-engine.js +21 -17
  6. package/dist/lib/rendering/entity-render-engine.js.map +1 -1
  7. package/dist/lib/rendering/menu-item-manager.js +5 -5
  8. package/dist/lib/rendering/menu-item-manager.js.map +1 -1
  9. package/dist/lib/rendering/render-helper.js +9 -10
  10. package/dist/lib/rendering/render-helper.js.map +1 -1
  11. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +6 -5
  12. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js.map +1 -1
  13. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +3 -3
  14. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js.map +1 -1
  15. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +9 -6
  16. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +1 -1
  17. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +6 -5
  18. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js.map +1 -1
  19. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +7 -6
  20. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js.map +1 -1
  21. package/dist/lib/rendering/tile-render-engine.js +134 -36
  22. package/dist/lib/rendering/tile-render-engine.js.map +1 -1
  23. package/dist/lib/rendering/tileset-render-engine.js +2 -1
  24. package/dist/lib/rendering/tileset-render-engine.js.map +1 -1
  25. package/dist/lib/rendering/view-render-engine.js +58 -38
  26. package/dist/lib/rendering/view-render-engine.js.map +1 -1
  27. package/dist/types/rendering/entity-render-engine.d.ts +5 -5
  28. package/dist/types/rendering/menu-item-manager.d.ts +1 -3
  29. package/dist/types/rendering/render-helper.d.ts +1 -3
  30. package/dist/types/rendering/render-managers/entities/entities-ids-render-manager.d.ts +2 -2
  31. package/dist/types/rendering/render-managers/entities/entities-loaded-render-manager.d.ts +2 -2
  32. package/dist/types/rendering/render-managers/entities/entities-render-manager.d.ts +2 -2
  33. package/dist/types/rendering/render-managers/entities/entity-render-manager.d.ts +2 -2
  34. package/dist/types/rendering/render-managers/tilesets/tileset-cad-render-manager.d.ts +2 -2
  35. package/dist/types/rendering/tile-render-engine.d.ts +5 -9
  36. package/dist/types/rendering/tileset-render-engine.d.ts +2 -2
  37. package/dist/types/rendering/view-render-engine.d.ts +1 -3
  38. package/package.json +2 -2
  39. package/dist/lib/common/api-getter.js +0 -3
  40. package/dist/lib/common/api-getter.js.map +0 -1
  41. package/dist/types/common/api-getter.d.ts +0 -2
@@ -1,5 +1,5 @@
1
- import { BruceEvent, Cartes, Carto, Geometry, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, DelayQueue, Entity as Entity$1, EntityFilterGetter, BatchedDataGetter, ObjectUtils, Tileset, MenuItem, ProjectView, ProjectViewBookmark } from 'bruce-models';
2
- import { Cartesian2, Cartographic, Math as Math$1, Viewer, ArcGisMapServerImageryProvider, ScreenSpaceEventType, Entity, Primitive, Cesium3DTileFeature, Color, HeightReference, Cartesian3, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, HeadingPitchRange, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, OpenStreetMapImageryProvider, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, createWorldTerrain, CesiumTerrainProvider, EllipsoidTerrainProvider, Matrix4, Cesium3DTileset, EllipsoidGeodesic } from 'cesium';
1
+ import { BruceEvent, Cartes, Carto, Geometry, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, DelayQueue, Entity as Entity$1, EntityFilterGetter, BatchedDataGetter, ObjectUtils, Tileset, MenuItem, ProjectView, ProjectViewBookmark, ProjectViewTileSource, Camera } from 'bruce-models';
2
+ import { Cartesian2, Cartographic, Math as Math$1, Viewer, ArcGisMapServerImageryProvider, ScreenSpaceEventType, Color, HeightReference, Cartesian3, Entity, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, Primitive, Cesium3DTileFeature, HeadingPitchRange, OrthographicFrustum, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, createWorldTerrain, CesiumTerrainProvider, EllipsoidTerrainProvider, Matrix4, Cesium3DTileset, EllipsoidGeodesic } from 'cesium';
3
3
 
4
4
  var TIME_LAG = 300;
5
5
  var POSITION_CHECK_TIMER = 950;
@@ -696,7 +696,7 @@ var EntityRenderEngine;
696
696
  switch (_a.label) {
697
697
  case 0:
698
698
  groupRenderParams = {
699
- api: params.api,
699
+ apiGetter: params.apiGetter,
700
700
  viewer: params.viewer,
701
701
  entities: [],
702
702
  zoomItems: {},
@@ -854,10 +854,11 @@ var EntityRenderEngine;
854
854
  function RenderGroup(params) {
855
855
  var _a, _b;
856
856
  return __awaiter(this, void 0, void 0, function () {
857
- var cEntities, i, entity, zoomItem, style, tagIds, tags, pStyle, cEntity;
857
+ var api, cEntities, i, entity, zoomItem, style, tagIds, tags, pStyle, cEntity;
858
858
  return __generator(this, function (_c) {
859
859
  switch (_c.label) {
860
860
  case 0:
861
+ api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
861
862
  cEntities = {};
862
863
  i = 0;
863
864
  _c.label = 1;
@@ -865,13 +866,13 @@ var EntityRenderEngine;
865
866
  if (!(i < params.entities.length)) return [3 /*break*/, 6];
866
867
  entity = params.entities[i];
867
868
  zoomItem = params.zoomItems[entity.Bruce.ID];
868
- return [4 /*yield*/, getStyle(params.api, entity, zoomItem.StyleID)];
869
+ return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
869
870
  case 2:
870
871
  style = _c.sent();
871
872
  tagIds = entity.Bruce["Layer.ID"];
872
873
  tags = [];
873
874
  if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 4];
874
- return [4 /*yield*/, EntityTag.GetListByIds(params.api, tagIds)];
875
+ return [4 /*yield*/, EntityTag.GetListByIds(api, tagIds)];
875
876
  case 3:
876
877
  tags = _c.sent();
877
878
  _c.label = 4;
@@ -963,10 +964,11 @@ var EntityRenderEngine;
963
964
  function RenderGroup(params) {
964
965
  var _a, _b;
965
966
  return __awaiter(this, void 0, void 0, function () {
966
- var cEntities, i, entity, zoomItem, style, tagIds, tags, lStyle, cEntity;
967
+ var api, cEntities, i, entity, zoomItem, style, tagIds, tags, lStyle, cEntity;
967
968
  return __generator(this, function (_c) {
968
969
  switch (_c.label) {
969
970
  case 0:
971
+ api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
970
972
  cEntities = {};
971
973
  i = 0;
972
974
  _c.label = 1;
@@ -974,13 +976,13 @@ var EntityRenderEngine;
974
976
  if (!(i < params.entities.length)) return [3 /*break*/, 6];
975
977
  entity = params.entities[i];
976
978
  zoomItem = params.zoomItems[entity.Bruce.ID];
977
- return [4 /*yield*/, getStyle(params.api, entity, zoomItem.StyleID)];
979
+ return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
978
980
  case 2:
979
981
  style = _c.sent();
980
982
  tagIds = entity.Bruce["Layer.ID"];
981
983
  tags = [];
982
984
  if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 4];
983
- return [4 /*yield*/, EntityTag.GetListByIds(params.api, tagIds)];
985
+ return [4 /*yield*/, EntityTag.GetListByIds(api, tagIds)];
984
986
  case 3:
985
987
  tags = _c.sent();
986
988
  _c.label = 4;
@@ -1081,10 +1083,11 @@ var EntityRenderEngine;
1081
1083
  function RenderGroup(params) {
1082
1084
  var _a, _b;
1083
1085
  return __awaiter(this, void 0, void 0, function () {
1084
- var cEntities, i, entity, zoomItem, style, tagIds, tags, pStyle, cEntity;
1086
+ var api, cEntities, i, entity, zoomItem, style, tagIds, tags, pStyle, cEntity;
1085
1087
  return __generator(this, function (_c) {
1086
1088
  switch (_c.label) {
1087
1089
  case 0:
1090
+ api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
1088
1091
  cEntities = {};
1089
1092
  i = 0;
1090
1093
  _c.label = 1;
@@ -1092,13 +1095,13 @@ var EntityRenderEngine;
1092
1095
  if (!(i < params.entities.length)) return [3 /*break*/, 6];
1093
1096
  entity = params.entities[i];
1094
1097
  zoomItem = params.zoomItems[entity.Bruce.ID];
1095
- return [4 /*yield*/, getStyle(params.api, entity, zoomItem.StyleID)];
1098
+ return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
1096
1099
  case 2:
1097
1100
  style = _c.sent();
1098
1101
  tagIds = entity.Bruce["Layer.ID"];
1099
1102
  tags = [];
1100
1103
  if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 4];
1101
- return [4 /*yield*/, EntityTag.GetListByIds(params.api, tagIds)];
1104
+ return [4 /*yield*/, EntityTag.GetListByIds(api, tagIds)];
1102
1105
  case 3:
1103
1106
  tags = _c.sent();
1104
1107
  _c.label = 4;
@@ -1193,10 +1196,11 @@ var EntityRenderEngine;
1193
1196
  function RenderGroup(params) {
1194
1197
  var _a, _b, _c, _d;
1195
1198
  return __awaiter(this, void 0, void 0, function () {
1196
- var cEntities, reqBody, i, entity, zoomItem, style, tagIds, tags, mStyle, group, level, catId, lodData, _loop_1, i;
1199
+ var api, cEntities, reqBody, i, entity, zoomItem, style, tagIds, tags, mStyle, group, level, catId, lodData, _loop_1, i;
1197
1200
  return __generator(this, function (_e) {
1198
1201
  switch (_e.label) {
1199
1202
  case 0:
1203
+ api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
1200
1204
  cEntities = {};
1201
1205
  reqBody = {
1202
1206
  "strict": false,
@@ -1209,13 +1213,13 @@ var EntityRenderEngine;
1209
1213
  if (!(i < params.entities.length)) return [3 /*break*/, 6];
1210
1214
  entity = params.entities[i];
1211
1215
  zoomItem = params.zoomItems[entity.Bruce.ID];
1212
- return [4 /*yield*/, getStyle(params.api, entity, zoomItem.StyleID)];
1216
+ return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
1213
1217
  case 2:
1214
1218
  style = _e.sent();
1215
1219
  tagIds = entity.Bruce["Layer.ID"];
1216
1220
  tags = [];
1217
1221
  if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 4];
1218
- return [4 /*yield*/, EntityTag.GetListByIds(params.api, tagIds)];
1222
+ return [4 /*yield*/, EntityTag.GetListByIds(api, tagIds)];
1219
1223
  case 3:
1220
1224
  tags = _e.sent();
1221
1225
  _e.label = 4;
@@ -1243,7 +1247,7 @@ var EntityRenderEngine;
1243
1247
  case 5:
1244
1248
  i++;
1245
1249
  return [3 /*break*/, 1];
1246
- case 6: return [4 /*yield*/, EntityLod.GetLods(params.api, reqBody)];
1250
+ case 6: return [4 /*yield*/, EntityLod.GetLods(api, reqBody)];
1247
1251
  case 7:
1248
1252
  lodData = _e.sent();
1249
1253
  _loop_1 = function (i) {
@@ -1253,13 +1257,13 @@ var EntityRenderEngine;
1253
1257
  case 0:
1254
1258
  entity = params.entities[i];
1255
1259
  zoomItem = params.zoomItems[entity.Bruce.ID];
1256
- return [4 /*yield*/, getStyle(params.api, entity, zoomItem.StyleID)];
1260
+ return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
1257
1261
  case 1:
1258
1262
  style = _a.sent();
1259
1263
  tagIds = entity.Bruce["Layer.ID"];
1260
1264
  tags = [];
1261
1265
  if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 3];
1262
- return [4 /*yield*/, EntityTag.GetListByIds(params.api, tagIds)];
1266
+ return [4 /*yield*/, EntityTag.GetListByIds(api, tagIds)];
1263
1267
  case 2:
1264
1268
  tags = _a.sent();
1265
1269
  _a.label = 3;
@@ -1274,7 +1278,7 @@ var EntityRenderEngine;
1274
1278
  style: mStyle,
1275
1279
  tags: tags,
1276
1280
  viewer: params.viewer,
1277
- lodUrl: ClientFile.GetUrl(params.api, lod.clientFileId)
1281
+ lodUrl: ClientFile.GetUrl(api, lod.clientFileId)
1278
1282
  });
1279
1283
  if (cEntity) {
1280
1284
  cEntity._renderGroup = getRenderGroupId(zoomItem);
@@ -1311,7 +1315,7 @@ var EntityRenderEngine;
1311
1315
  var EntitiesRenderManager;
1312
1316
  (function (EntitiesRenderManager) {
1313
1317
  var Manager = /** @class */ (function () {
1314
- function Manager(viewer, visualsManager, api, item) {
1318
+ function Manager(viewer, visualsManager, apiGetter, item) {
1315
1319
  this.getter = null;
1316
1320
  this.getterSub = null;
1317
1321
  this.disposed = false;
@@ -1321,7 +1325,7 @@ var EntitiesRenderManager;
1321
1325
  this.isRunningCheck = false;
1322
1326
  this.viewMonitorRemoval = null;
1323
1327
  this.viewer = viewer;
1324
- this.api = api;
1328
+ this.apiGetter = apiGetter;
1325
1329
  this.item = item;
1326
1330
  this.visualsManager = visualsManager;
1327
1331
  }
@@ -1334,12 +1338,14 @@ var EntitiesRenderManager;
1334
1338
  });
1335
1339
  Manager.prototype.Init = function () {
1336
1340
  return __awaiter(this, void 0, void 0, function () {
1341
+ var api;
1337
1342
  var _this = this;
1338
1343
  return __generator(this, function (_a) {
1339
1344
  if (this.disposed) {
1340
1345
  throw (new Error("This item is disposed."));
1341
1346
  }
1342
- this.getter = new EntityFilterGetter.Getter(this.api, new CesiumViewMonitor(this.viewer), this.item.BruceEntity["EntityType.ID"], 500, {});
1347
+ api = this.apiGetter.getApi(this.apiGetter.accountId, this.apiGetter.env);
1348
+ this.getter = new EntityFilterGetter.Getter(api, new CesiumViewMonitor(this.viewer), this.item.BruceEntity["EntityType.ID"], 500, {});
1343
1349
  this.getter.IncludeMenuItem(this.item.id, [], 0, 100000);
1344
1350
  this.getterSub = this.getter.OnUpdate.Subscribe(function (entities) {
1345
1351
  _this.onGetterUpdate(entities);
@@ -1368,7 +1374,7 @@ var EntitiesRenderManager;
1368
1374
  };
1369
1375
  Manager.prototype.doEntityCheck = function () {
1370
1376
  return __awaiter(this, void 0, void 0, function () {
1371
- var ids_1, CHECK_BATCH_SIZE_1, checkBatch, e_1;
1377
+ var api, ids_1, CHECK_BATCH_SIZE_1, checkBatch, e_1;
1372
1378
  var _this = this;
1373
1379
  return __generator(this, function (_a) {
1374
1380
  switch (_a.label) {
@@ -1378,6 +1384,7 @@ var EntitiesRenderManager;
1378
1384
  return [2 /*return*/];
1379
1385
  }
1380
1386
  this.isRunningCheck = true;
1387
+ api = this.apiGetter.getApi(this.apiGetter.accountId, this.apiGetter.env);
1381
1388
  _a.label = 1;
1382
1389
  case 1:
1383
1390
  _a.trys.push([1, 5, , 6]);
@@ -1393,7 +1400,7 @@ var EntitiesRenderManager;
1393
1400
  switch (_a.label) {
1394
1401
  case 0:
1395
1402
  entityIds = ids_1.splice(0, CHECK_BATCH_SIZE_1);
1396
- return [4 /*yield*/, Entity$1.GetListByIds(this.api, entityIds)];
1403
+ return [4 /*yield*/, Entity$1.GetListByIds(api, entityIds)];
1397
1404
  case 1:
1398
1405
  entities = _a.sent();
1399
1406
  if (this.disposed) {
@@ -1442,7 +1449,7 @@ var EntitiesRenderManager;
1442
1449
  }
1443
1450
  return [4 /*yield*/, EntityRenderEngine.Render({
1444
1451
  viewer: this.viewer,
1445
- api: this.api,
1452
+ apiGetter: this.apiGetter,
1446
1453
  entities: entities,
1447
1454
  menuItemId: this.item.id,
1448
1455
  visualRegister: this.visualsManager,
@@ -1487,13 +1494,13 @@ var EntitiesRenderManager;
1487
1494
  var EntitiesLoadedRenderManager;
1488
1495
  (function (EntitiesLoadedRenderManager) {
1489
1496
  var Manager = /** @class */ (function () {
1490
- function Manager(viewer, visualsManager, api, item) {
1497
+ function Manager(viewer, visualsManager, apiGetter, item) {
1491
1498
  this.getter = null;
1492
1499
  this.getterSub = null;
1493
1500
  this.disposed = false;
1494
1501
  this.renderedEntities = {};
1495
1502
  this.viewer = viewer;
1496
- this.api = api;
1503
+ this.apiGetter = apiGetter;
1497
1504
  this.item = item;
1498
1505
  this.visualsManager = visualsManager;
1499
1506
  }
@@ -1541,7 +1548,7 @@ var EntitiesLoadedRenderManager;
1541
1548
  }
1542
1549
  return [4 /*yield*/, EntityRenderEngine.Render({
1543
1550
  viewer: this.viewer,
1544
- api: this.api,
1551
+ apiGetter: this.apiGetter,
1545
1552
  entities: entities,
1546
1553
  menuItemId: this.item.id,
1547
1554
  visualRegister: this.visualsManager,
@@ -1920,13 +1927,13 @@ var VisualsRegister;
1920
1927
  var EntitiesIdsRenderManager;
1921
1928
  (function (EntitiesIdsRenderManager) {
1922
1929
  var Manager = /** @class */ (function () {
1923
- function Manager(viewer, visualsManager, api, item) {
1930
+ function Manager(viewer, visualsManager, apiGetter, item) {
1924
1931
  this.getter = null;
1925
1932
  this.getterSub = null;
1926
1933
  this.disposed = false;
1927
1934
  this.renderedEntities = {};
1928
1935
  this.viewer = viewer;
1929
- this.api = api;
1936
+ this.apiGetter = apiGetter;
1930
1937
  this.item = item;
1931
1938
  this.visualsManager = visualsManager;
1932
1939
  }
@@ -1965,19 +1972,20 @@ var EntitiesIdsRenderManager;
1965
1972
  Manager.prototype.onGetterUpdate = function (entityIds) {
1966
1973
  var _a;
1967
1974
  return __awaiter(this, void 0, void 0, function () {
1968
- var entities, cEntities, i, id, cEntity, visual;
1975
+ var api, entities, cEntities, i, id, cEntity, visual;
1969
1976
  return __generator(this, function (_b) {
1970
1977
  switch (_b.label) {
1971
1978
  case 0:
1972
1979
  if (this.disposed) {
1973
1980
  return [2 /*return*/];
1974
1981
  }
1975
- return [4 /*yield*/, Entity$1.GetListByIds(this.api, entityIds)];
1982
+ api = this.apiGetter.getApi(this.apiGetter.accountId, this.apiGetter.env);
1983
+ return [4 /*yield*/, Entity$1.GetListByIds(api, entityIds)];
1976
1984
  case 1:
1977
1985
  entities = _b.sent();
1978
1986
  return [4 /*yield*/, EntityRenderEngine.Render({
1979
1987
  viewer: this.viewer,
1980
- api: this.api,
1988
+ apiGetter: this.apiGetter,
1981
1989
  entities: entities,
1982
1990
  menuItemId: this.item.id,
1983
1991
  visualRegister: this.visualsManager,
@@ -2020,12 +2028,12 @@ var EntitiesIdsRenderManager;
2020
2028
  var EntityRenderManager;
2021
2029
  (function (EntityRenderManager) {
2022
2030
  var Manager = /** @class */ (function () {
2023
- function Manager(viewer, visualsManager, api, item) {
2031
+ function Manager(viewer, visualsManager, apiGetter, item) {
2024
2032
  this.getter = null;
2025
2033
  this.getterSub = null;
2026
2034
  this.disposed = false;
2027
2035
  this.viewer = viewer;
2028
- this.api = api;
2036
+ this.apiGetter = apiGetter;
2029
2037
  this.item = item;
2030
2038
  this.visualsManager = visualsManager;
2031
2039
  }
@@ -2064,19 +2072,20 @@ var EntityRenderManager;
2064
2072
  Manager.prototype.onGetterUpdate = function (id) {
2065
2073
  var _a;
2066
2074
  return __awaiter(this, void 0, void 0, function () {
2067
- var entity, cEntities, cEntity, visual;
2075
+ var api, entity, cEntities, cEntity, visual;
2068
2076
  return __generator(this, function (_b) {
2069
2077
  switch (_b.label) {
2070
2078
  case 0:
2071
2079
  if (this.disposed) {
2072
2080
  return [2 /*return*/];
2073
2081
  }
2074
- return [4 /*yield*/, Entity$1.Get(this.api, id)];
2082
+ api = this.apiGetter.getApi(this.apiGetter.accountId, this.apiGetter.env);
2083
+ return [4 /*yield*/, Entity$1.Get(api, id)];
2075
2084
  case 1:
2076
2085
  entity = _b.sent();
2077
2086
  return [4 /*yield*/, EntityRenderEngine.Render({
2078
2087
  viewer: this.viewer,
2079
- api: this.api,
2088
+ apiGetter: this.apiGetter,
2080
2089
  entities: [entity],
2081
2090
  menuItemId: this.item.id,
2082
2091
  visualRegister: this.visualsManager,
@@ -2150,9 +2159,10 @@ var TilesetRenderEngine;
2150
2159
  }
2151
2160
  TilesetRenderEngine.ApplySettings = ApplySettings;
2152
2161
  function Render(params) {
2162
+ var api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
2153
2163
  if (params.tileset.type == Tileset.EType.Cad) {
2154
2164
  var cTileset_1 = new Cesium3DTileset({
2155
- url: Tileset.GetPublicFileUrl(params.api, params.tileset.id, "tileset.json") + "?generation=" + params.tileset.generateVersion
2165
+ url: Tileset.GetPublicFileUrl(api, params.tileset.id, "tileset.json") + "?generation=" + params.tileset.generateVersion
2156
2166
  });
2157
2167
  params.viewer.scene.primitives.add(cTileset_1);
2158
2168
  cTileset_1.readyPromise.then(function () {
@@ -2547,12 +2557,12 @@ var TilesetRenderEngine;
2547
2557
  var TilesetCadRenderManager;
2548
2558
  (function (TilesetCadRenderManager) {
2549
2559
  var Manager = /** @class */ (function () {
2550
- function Manager(viewer, visualsManager, api, item) {
2560
+ function Manager(viewer, visualsManager, apiGetter, item) {
2551
2561
  this.disposed = false;
2552
2562
  this.cTileset = null;
2553
2563
  this.styler = null;
2554
2564
  this.viewer = viewer;
2555
- this.api = api;
2565
+ this.apiGetter = apiGetter;
2556
2566
  this.item = item;
2557
2567
  this.visualsManager = visualsManager;
2558
2568
  }
@@ -2566,7 +2576,7 @@ var TilesetCadRenderManager;
2566
2576
  Manager.prototype.Init = function () {
2567
2577
  var _a;
2568
2578
  return __awaiter(this, void 0, void 0, function () {
2569
- var tilesetId, tileset, cTileset;
2579
+ var tilesetId, api, tileset, cTileset;
2570
2580
  var _this = this;
2571
2581
  return __generator(this, function (_b) {
2572
2582
  switch (_b.label) {
@@ -2575,14 +2585,15 @@ var TilesetCadRenderManager;
2575
2585
  if (!tilesetId) {
2576
2586
  return [2 /*return*/];
2577
2587
  }
2578
- return [4 /*yield*/, Tileset.Get(this.api, tilesetId)];
2588
+ api = this.apiGetter.getApi(this.apiGetter.accountId, this.apiGetter.env);
2589
+ return [4 /*yield*/, Tileset.Get(api, tilesetId)];
2579
2590
  case 1:
2580
2591
  tileset = _b.sent();
2581
2592
  if (!tileset) {
2582
2593
  return [2 /*return*/];
2583
2594
  }
2584
2595
  cTileset = this.cTileset = TilesetRenderEngine.Render({
2585
- api: this.api,
2596
+ apiGetter: this.apiGetter,
2586
2597
  tileset: tileset,
2587
2598
  viewer: this.viewer
2588
2599
  });
@@ -2592,7 +2603,7 @@ var TilesetCadRenderManager;
2592
2603
  cTileset.tileLoad.addEventListener(function (tile) {
2593
2604
  _this.mapCTile(tile);
2594
2605
  });
2595
- this.styler = new TilesetRenderEngine.CadStyler(this.api, this.cTileset, this.item.styleId, this.item.StyleMapping);
2606
+ this.styler = new TilesetRenderEngine.CadStyler(api, this.cTileset, this.item.styleId, this.item.StyleMapping);
2596
2607
  return [2 /*return*/];
2597
2608
  }
2598
2609
  });
@@ -2792,18 +2803,18 @@ var MenuItemManager;
2792
2803
  };
2793
2804
  switch (params.item.Type) {
2794
2805
  case MenuItem.EType.Entities:
2795
- rItem.renderManager = new EntitiesRenderManager.Manager(this.viewer, this.visualsRegister, params.api, params.item);
2806
+ rItem.renderManager = new EntitiesRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
2796
2807
  break;
2797
2808
  case MenuItem.EType.EntitiesLoaded:
2798
- rItem.renderManager = new EntitiesLoadedRenderManager.Manager(this.viewer, this.visualsRegister, params.api, params.item);
2809
+ rItem.renderManager = new EntitiesLoadedRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
2799
2810
  break;
2800
2811
  case MenuItem.EType.EntitiesIds:
2801
- rItem.renderManager = new EntitiesIdsRenderManager.Manager(this.viewer, this.visualsRegister, params.api, params.item);
2812
+ rItem.renderManager = new EntitiesIdsRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
2802
2813
  break;
2803
2814
  case MenuItem.EType.Entity:
2804
- rItem.renderManager = new EntityRenderManager.Manager(this.viewer, this.visualsRegister, params.api, params.item);
2815
+ rItem.renderManager = new EntityRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
2805
2816
  case MenuItem.EType.CadTileset:
2806
- rItem.renderManager = new TilesetCadRenderManager.Manager(this.viewer, this.visualsRegister, params.api, params.item);
2817
+ rItem.renderManager = new TilesetCadRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
2807
2818
  break;
2808
2819
  case MenuItem.EType.Osm:
2809
2820
  // TODO;
@@ -2945,7 +2956,6 @@ var RenderHelper;
2945
2956
  ]
2946
2957
  };
2947
2958
  return [4 /*yield*/, params.manager.RenderItem({
2948
- api: params.api,
2949
2959
  apiGetter: params.apiGetter,
2950
2960
  item: item
2951
2961
  })];
@@ -2969,7 +2979,6 @@ var RenderHelper;
2969
2979
  typeId = typeIds[i];
2970
2980
  menuItem = MenuItem.CreateFromTypeId(typeId, 0);
2971
2981
  return [4 /*yield*/, params.manager.RenderItem({
2972
- api: params.api,
2973
2982
  apiGetter: params.apiGetter,
2974
2983
  item: menuItem
2975
2984
  })];
@@ -3005,7 +3014,6 @@ var RenderHelper;
3005
3014
  case 0:
3006
3015
  if (!enabledItemIds.includes(item.id)) return [3 /*break*/, 2];
3007
3016
  return [4 /*yield*/, params.manager.RenderItem({
3008
- api: params.api,
3009
3017
  item: item,
3010
3018
  apiGetter: params.apiGetter
3011
3019
  })];
@@ -3031,13 +3039,15 @@ var RenderHelper;
3031
3039
  });
3032
3040
  });
3033
3041
  }
3034
- var view, bookmark, items, enabledItemIds, renderedItemIds, i;
3042
+ var api, view, bookmark, items, enabledItemIds, renderedItemIds, i;
3035
3043
  return __generator(this, function (_e) {
3036
3044
  switch (_e.label) {
3037
- case 0: return [4 /*yield*/, ProjectView.Get(params.api, viewId)];
3045
+ case 0:
3046
+ api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
3047
+ return [4 /*yield*/, ProjectView.Get(api, viewId)];
3038
3048
  case 1:
3039
3049
  view = _e.sent();
3040
- return [4 /*yield*/, ProjectViewBookmark.Get(params.api, viewId, bookmarkId)];
3050
+ return [4 /*yield*/, ProjectViewBookmark.Get(api, viewId, bookmarkId)];
3041
3051
  case 2:
3042
3052
  bookmark = _e.sent();
3043
3053
  items = (_b = (_a = view.Settings) === null || _a === void 0 ? void 0 : _a.LayersMenu) !== null && _b !== void 0 ? _b : [];
@@ -3073,7 +3083,6 @@ var RenderHelper;
3073
3083
  if (!(i < menuItems.length)) return [3 /*break*/, 4];
3074
3084
  menuItem = menuItems[i];
3075
3085
  return [4 /*yield*/, params.manager.RenderItem({
3076
- api: params.api,
3077
3086
  apiGetter: params.apiGetter,
3078
3087
  item: menuItem
3079
3088
  })];
@@ -3092,10 +3101,12 @@ var RenderHelper;
3092
3101
  RenderHelper.RenderMenuItems = RenderMenuItems;
3093
3102
  function RenderTileset(params, tilesetId) {
3094
3103
  return __awaiter(this, void 0, void 0, function () {
3095
- var tileset, menuItem;
3104
+ var api, tileset, menuItem;
3096
3105
  return __generator(this, function (_a) {
3097
3106
  switch (_a.label) {
3098
- case 0: return [4 /*yield*/, Tileset.Get(params.api, tilesetId)];
3107
+ case 0:
3108
+ api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
3109
+ return [4 /*yield*/, Tileset.Get(api, tilesetId)];
3099
3110
  case 1:
3100
3111
  tileset = _a.sent();
3101
3112
  if (!(tileset.type == Tileset.EType.Cad)) return [3 /*break*/, 3];
@@ -3111,7 +3122,6 @@ var RenderHelper;
3111
3122
  Children: []
3112
3123
  };
3113
3124
  return [4 /*yield*/, params.manager.RenderItem({
3114
- api: params.api,
3115
3125
  item: menuItem,
3116
3126
  apiGetter: params.apiGetter
3117
3127
  })];
@@ -3129,16 +3139,24 @@ function prepLegacyName(name) {
3129
3139
  if (!name) {
3130
3140
  return "";
3131
3141
  }
3132
- name = name.replace(/" "/g, "");
3142
+ name = name.replace(/\s/g, "");
3133
3143
  name = name.replace(re, "");
3134
3144
  name = name.toLowerCase();
3145
+ if (name === "cwt") {
3146
+ name = "cesiumworldterrain";
3147
+ }
3135
3148
  return name;
3136
3149
  }
3150
+ var EDefaultTerrain;
3151
+ (function (EDefaultTerrain) {
3152
+ EDefaultTerrain["CesiumWorldTerrain"] = "cesiumworldterrain";
3153
+ EDefaultTerrain["Linz"] = "linz";
3154
+ EDefaultTerrain["FlatTerrain"] = "flatterrain";
3155
+ })(EDefaultTerrain || (EDefaultTerrain = {}));
3137
3156
  var DEFAULT_TERRAIN_NAMES = [
3138
- "cesiumworldterrain",
3139
- "linz",
3140
- "flatterrain",
3141
- "grid"
3157
+ EDefaultTerrain.CesiumWorldTerrain,
3158
+ EDefaultTerrain.Linz,
3159
+ EDefaultTerrain.FlatTerrain
3142
3160
  ];
3143
3161
  function isDefaultTerrain(name) {
3144
3162
  name = prepLegacyName(name);
@@ -3168,20 +3186,36 @@ function createImageryBId(source) {
3168
3186
  }
3169
3187
  return "";
3170
3188
  }
3189
+ var EDefaultImagery;
3190
+ (function (EDefaultImagery) {
3191
+ EDefaultImagery["BingMapsAerial"] = "bingmapsaerial";
3192
+ EDefaultImagery["BingMapsAerialWithLabels"] = "bingmapsaerialwithlabels";
3193
+ EDefaultImagery["BingMapsRoads"] = "bingmapsroads";
3194
+ EDefaultImagery["MapboxSatellite"] = "mapboxsatellite";
3195
+ EDefaultImagery["MapBoxStreets"] = "mapboxstreets";
3196
+ EDefaultImagery["MapBoxStreetsClassic"] = "mapboxstreetsclassic";
3197
+ EDefaultImagery["EsriWorldImagery"] = "esriworldimagery";
3198
+ EDefaultImagery["EsriWorldStreetMap"] = "esriworldstreetmap";
3199
+ EDefaultImagery["EsriNationalGeographic"] = "esrinationalgeographic";
3200
+ EDefaultImagery["OpenStreetMap"] = "openstreetmap";
3201
+ EDefaultImagery["StamenWaterColor"] = "stamenwatercolor";
3202
+ EDefaultImagery["StamenToner"] = "stamentoner";
3203
+ EDefaultImagery["Grid"] = "grid";
3204
+ })(EDefaultImagery || (EDefaultImagery = {}));
3171
3205
  var DEFAULT_IMAGERY_NAMES = [
3172
- "bingmapsaerial",
3173
- "bingmapsaerialwithlabels",
3174
- "bingmapsroads",
3175
- "mapboxsatellite",
3176
- "mapboxstreets",
3177
- "mapboxstreetsclassic",
3178
- "esriworldimagery",
3179
- "esriworldstreetmap",
3180
- "esrinationalgeographic",
3181
- "openstreetmap",
3182
- "stamenwatercolor",
3183
- "stamentoner",
3184
- "grid"
3206
+ EDefaultImagery.BingMapsAerial,
3207
+ EDefaultImagery.BingMapsAerialWithLabels,
3208
+ EDefaultImagery.BingMapsRoads,
3209
+ EDefaultImagery.MapboxSatellite,
3210
+ EDefaultImagery.MapBoxStreets,
3211
+ EDefaultImagery.MapBoxStreetsClassic,
3212
+ EDefaultImagery.EsriWorldImagery,
3213
+ EDefaultImagery.EsriWorldStreetMap,
3214
+ EDefaultImagery.EsriNationalGeographic,
3215
+ EDefaultImagery.OpenStreetMap,
3216
+ EDefaultImagery.StamenWaterColor,
3217
+ EDefaultImagery.StamenToner,
3218
+ EDefaultImagery.Grid
3185
3219
  ];
3186
3220
  function isDefaultImagery(name) {
3187
3221
  name = prepLegacyName(name);
@@ -3233,7 +3267,7 @@ var TileRenderEngine;
3233
3267
  // TODO: Rest of defaults.
3234
3268
  // TODO: Should be enum.
3235
3269
  switch (prepLegacyName(tile.Name)) {
3236
- case "bingmapsaerial":
3270
+ case EDefaultImagery.BingMapsAerial:
3237
3271
  // TODO: Read account key if available.
3238
3272
  provider = new BingMapsImageryProvider({
3239
3273
  url: "https://dev.virtualearth.net",
@@ -3241,18 +3275,89 @@ var TileRenderEngine;
3241
3275
  key: DEFAULT_BING_KEY
3242
3276
  });
3243
3277
  break;
3244
- case "mapboxsatellite":
3278
+ case EDefaultImagery.BingMapsAerialWithLabels:
3279
+ // TODO: Read account key if available.
3280
+ provider = new BingMapsImageryProvider({
3281
+ url: "https://dev.virtualearth.net",
3282
+ mapStyle: BingMapsStyle.AERIAL_WITH_LABELS,
3283
+ key: DEFAULT_BING_KEY
3284
+ });
3285
+ break;
3286
+ case EDefaultImagery.BingMapsRoads:
3287
+ // TODO: Read account key if available.
3288
+ provider = new BingMapsImageryProvider({
3289
+ url: "https://dev.virtualearth.net",
3290
+ mapStyle: BingMapsStyle.ROAD_ON_DEMAND,
3291
+ key: DEFAULT_BING_KEY
3292
+ });
3293
+ break;
3294
+ case EDefaultImagery.MapboxSatellite:
3245
3295
  // TODO: Read account key if available.
3246
3296
  provider = new MapboxImageryProvider({
3247
3297
  mapId: "mapbox.satellite",
3248
3298
  accessToken: DEFAULT_MAPBOX_KEY
3249
3299
  });
3250
3300
  break;
3251
- case "openstreetmap":
3301
+ case EDefaultImagery.MapBoxStreets:
3302
+ // TODO: Read account key if available.
3303
+ provider = new MapboxImageryProvider({
3304
+ mapId: "satellite-streets-v11",
3305
+ accessToken: DEFAULT_MAPBOX_KEY
3306
+ });
3307
+ break;
3308
+ case EDefaultImagery.MapBoxStreetsClassic:
3309
+ // TODO: Read account key if available.
3310
+ provider = new MapboxImageryProvider({
3311
+ mapId: "streets-v11",
3312
+ accessToken: DEFAULT_MAPBOX_KEY
3313
+ });
3314
+ break;
3315
+ case EDefaultImagery.EsriWorldImagery:
3316
+ provider = new ArcGisMapServerImageryProvider({
3317
+ url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",
3318
+ enablePickFeatures: false
3319
+ });
3320
+ break;
3321
+ case EDefaultImagery.EsriWorldStreetMap:
3322
+ provider = new ArcGisMapServerImageryProvider({
3323
+ url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer",
3324
+ enablePickFeatures: false
3325
+ });
3326
+ break;
3327
+ case EDefaultImagery.EsriNationalGeographic:
3328
+ provider = new ArcGisMapServerImageryProvider({
3329
+ url: "https://services.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer/",
3330
+ enablePickFeatures: false
3331
+ });
3332
+ break;
3333
+ case EDefaultImagery.OpenStreetMap:
3252
3334
  provider = new OpenStreetMapImageryProvider({
3253
3335
  url: "https://a.tile.openstreetmap.org/"
3254
3336
  });
3255
3337
  break;
3338
+ case EDefaultImagery.StamenWaterColor:
3339
+ provider = new OpenStreetMapImageryProvider({
3340
+ url: "https://stamen-tiles.a.ssl.fastly.net/watercolor/"
3341
+ });
3342
+ break;
3343
+ case EDefaultImagery.StamenToner:
3344
+ provider = new OpenStreetMapImageryProvider({
3345
+ url: "https://stamen-tiles.a.ssl.fastly.net/toner/"
3346
+ });
3347
+ break;
3348
+ case EDefaultImagery.Grid:
3349
+ provider = new GridImageryProvider({
3350
+ tilingScheme: new GeographicTilingScheme(),
3351
+ cells: 0,
3352
+ color: Color.fromCssColorString("rgb(97, 151, 237)"),
3353
+ glowColor: Color.fromCssColorString("rgb(54, 54, 54)"),
3354
+ glowWidth: 4,
3355
+ backgroundColor: Color.TRANSPARENT,
3356
+ tileWidth: 256,
3357
+ tileHeight: 256,
3358
+ canvasSize: 256
3359
+ });
3360
+ break;
3256
3361
  }
3257
3362
  if (provider) {
3258
3363
  layer = new ImageryLayer(provider);
@@ -3268,7 +3373,6 @@ var TileRenderEngine;
3268
3373
  if (max != undefined && max <= -1) {
3269
3374
  max = undefined;
3270
3375
  }
3271
- // TODO: Should be enum.
3272
3376
  switch (tile.Type) {
3273
3377
  case "BruceImagery":
3274
3378
  provider = new UrlTemplateImageryProvider({
@@ -3324,20 +3428,22 @@ var TileRenderEngine;
3324
3428
  return layer;
3325
3429
  }
3326
3430
  function RenderLegacyView(params) {
3327
- var _a, _b, _c, _d;
3431
+ var _a, _b, _c, _d, _e;
3328
3432
  return __awaiter(this, void 0, void 0, function () {
3329
- var view, bookmark, data, dataNames, i, source, tiles, i, name_1, j, tile, enabled, layers, _loop_1, i, i, tile, layer, i, layer;
3330
- return __generator(this, function (_e) {
3331
- switch (_e.label) {
3332
- case 0: return [4 /*yield*/, ProjectView.Get(params.api, params.viewId)];
3433
+ var api, view, bookmark, data, dataNames, i, source, tiles, i, name_1, j, tile, enabled, layers, _loop_1, i, i, tile, layer, i, layer;
3434
+ return __generator(this, function (_f) {
3435
+ switch (_f.label) {
3436
+ case 0:
3437
+ api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
3438
+ return [4 /*yield*/, ProjectView.Get(api, params.viewId)];
3333
3439
  case 1:
3334
- view = _e.sent();
3440
+ view = _f.sent();
3335
3441
  bookmark = null;
3336
3442
  if (!params.bookmarkId) return [3 /*break*/, 3];
3337
- return [4 /*yield*/, ProjectViewBookmark.Get(params.api, params.viewId, params.bookmarkId)];
3443
+ return [4 /*yield*/, ProjectViewBookmark.Get(api, params.viewId, params.bookmarkId)];
3338
3444
  case 2:
3339
- bookmark = _e.sent();
3340
- _e.label = 3;
3445
+ bookmark = _f.sent();
3446
+ _f.label = 3;
3341
3447
  case 3:
3342
3448
  data = [];
3343
3449
  dataNames = [];
@@ -3351,6 +3457,9 @@ var TileRenderEngine;
3351
3457
  dataNames.push(view.Settings.DefaultMapTiles);
3352
3458
  }
3353
3459
  tiles = (_d = (_c = view.Settings) === null || _c === void 0 ? void 0 : _c.CesiumMapSources) !== null && _d !== void 0 ? _d : [];
3460
+ return [4 /*yield*/, ProjectViewTileSource.MergeMapTemplateData(params.apiGetter, tiles, ((_e = view.Settings) === null || _e === void 0 ? void 0 : _e.CesiumMapSources) == null)];
3461
+ case 4:
3462
+ _f.sent();
3354
3463
  for (i = 0; i < dataNames.length; i++) {
3355
3464
  name_1 = dataNames[i];
3356
3465
  for (j = 0; j < tiles.length; j++) {
@@ -3385,7 +3494,7 @@ var TileRenderEngine;
3385
3494
  for (i = 0; i < tiles.length; i++) {
3386
3495
  tile = tiles[i];
3387
3496
  layer = RenderLegacy({
3388
- api: params.api,
3497
+ apiGetter: params.apiGetter,
3389
3498
  viewer: params.viewer,
3390
3499
  data: tile,
3391
3500
  });
@@ -3444,19 +3553,18 @@ var TileRenderEngine;
3444
3553
  if (isDefaultTerrain(params.data.Name)) {
3445
3554
  var name_2 = prepLegacyName(params.data.Name);
3446
3555
  switch (name_2) {
3447
- // TODO: Should be enum.
3448
- case "cesiumworldterrain":
3556
+ case EDefaultTerrain.CesiumWorldTerrain:
3449
3557
  provider = createWorldTerrain({
3450
3558
  requestVertexNormals: true
3451
3559
  });
3452
3560
  break;
3453
- case "linz":
3561
+ case EDefaultTerrain.Linz:
3454
3562
  provider = new CesiumTerrainProvider({
3455
3563
  url: "https://s3-ap-southeast-2.amazonaws.com/digitalnewzealand/PROD/Tilesets/nz-dem",
3456
3564
  requestVertexNormals: true
3457
3565
  });
3458
3566
  break;
3459
- case "flatterrain":
3567
+ case EDefaultTerrain.FlatTerrain:
3460
3568
  provider = new EllipsoidTerrainProvider();
3461
3569
  break;
3462
3570
  }
@@ -3480,45 +3588,40 @@ var TileRenderEngine;
3480
3588
  var ViewRenderEngine;
3481
3589
  (function (ViewRenderEngine) {
3482
3590
  function Render(params) {
3483
- var _a, _b, _c, _d, _e, _f, _g;
3591
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
3484
3592
  return __awaiter(this, void 0, void 0, function () {
3485
- var view, bookmark, terrainTile, terrainTileName, i, tile, camera, pos, go, enabledItems, newItemIds, _i, enabledItems_1, id;
3486
- return __generator(this, function (_h) {
3487
- switch (_h.label) {
3488
- case 0: return [4 /*yield*/, TileRenderEngine.Map.RenderLegacyView({
3489
- api: params.api,
3490
- bookmarkId: params.bookmarkId,
3491
- viewer: params.manager.Viewer,
3492
- viewId: params.viewId,
3493
- ignoreIds: []
3494
- })];
3593
+ var api, view, bookmark, terrainTiles, terrainTile, terrainTileName, i, tile, frustum, scene, curFrustum, camera, pos, go, enabledItems, newItemIds, _i, enabledItems_1, id;
3594
+ return __generator(this, function (_l) {
3595
+ switch (_l.label) {
3596
+ case 0:
3597
+ api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
3598
+ return [4 /*yield*/, ProjectView.Get(api, params.viewId)];
3495
3599
  case 1:
3496
- _h.sent();
3497
- return [4 /*yield*/, ProjectView.Get(params.api, params.viewId)];
3498
- case 2:
3499
- view = _h.sent();
3600
+ view = _l.sent();
3500
3601
  bookmark = null;
3501
- if (!params.bookmarkId) return [3 /*break*/, 4];
3502
- return [4 /*yield*/, ProjectViewBookmark.Get(params.api, params.viewId, params.bookmarkId)];
3602
+ if (!params.bookmarkId) return [3 /*break*/, 3];
3603
+ return [4 /*yield*/, ProjectViewBookmark.Get(api, params.viewId, params.bookmarkId)];
3604
+ case 2:
3605
+ bookmark = _l.sent();
3606
+ _l.label = 3;
3503
3607
  case 3:
3504
- bookmark = _h.sent();
3505
- _h.label = 4;
3506
- case 4:
3608
+ terrainTiles = (_b = (_a = view.Settings) === null || _a === void 0 ? void 0 : _a.CesiumTerrainSources) !== null && _b !== void 0 ? _b : [];
3507
3609
  terrainTile = null;
3508
3610
  terrainTileName = null;
3509
- if ((_a = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _a === void 0 ? void 0 : _a.terrain) {
3611
+ if ((_c = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _c === void 0 ? void 0 : _c.terrain) {
3510
3612
  terrainTileName = bookmark.Settings.terrain;
3511
3613
  }
3512
3614
  else {
3513
- terrainTileName = (_b = view.Settings) === null || _b === void 0 ? void 0 : _b.DefaultTerrain;
3615
+ terrainTileName = (_d = view.Settings) === null || _d === void 0 ? void 0 : _d.DefaultTerrain;
3514
3616
  }
3515
- if ((_c = view.Settings) === null || _c === void 0 ? void 0 : _c.CesiumTerrainSources) {
3516
- for (i = 0; i < view.Settings.CesiumTerrainSources.length; i++) {
3517
- tile = view.Settings.CesiumTerrainSources[i];
3518
- if (TileRenderEngine.CompareLegacyNames(tile.Name, terrainTileName)) {
3519
- terrainTile = tile;
3520
- break;
3521
- }
3617
+ return [4 /*yield*/, ProjectViewTileSource.MergeTerrainTemplateData(params.apiGetter, terrainTiles, ((_e = view.Settings) === null || _e === void 0 ? void 0 : _e.CesiumTerrainSources) == null)];
3618
+ case 4:
3619
+ _l.sent();
3620
+ for (i = 0; i < terrainTiles.length; i++) {
3621
+ tile = terrainTiles[i];
3622
+ if (TileRenderEngine.CompareLegacyNames(tile.Name, terrainTileName)) {
3623
+ terrainTile = tile;
3624
+ break;
3522
3625
  }
3523
3626
  }
3524
3627
  if (terrainTile) {
@@ -3527,6 +3630,32 @@ var ViewRenderEngine;
3527
3630
  viewer: params.manager.Viewer,
3528
3631
  });
3529
3632
  }
3633
+ return [4 /*yield*/, TileRenderEngine.Map.RenderLegacyView({
3634
+ apiGetter: params.apiGetter,
3635
+ bookmarkId: params.bookmarkId,
3636
+ viewer: params.manager.Viewer,
3637
+ viewId: params.viewId,
3638
+ ignoreIds: []
3639
+ })];
3640
+ case 5:
3641
+ _l.sent();
3642
+ frustum = (_f = bookmark.Settings) === null || _f === void 0 ? void 0 : _f.cameraFrustum;
3643
+ if (frustum == null) {
3644
+ frustum = Camera.EFrustum.Perspective;
3645
+ }
3646
+ scene = params.manager.Viewer.scene;
3647
+ curFrustum = scene.camera.frustum instanceof OrthographicFrustum ? Camera.EFrustum.Orthographic : Camera.EFrustum.Perspective;
3648
+ if (curFrustum != frustum) {
3649
+ if (frustum == Camera.EFrustum.Perspective) {
3650
+ scene.camera.switchToPerspectiveFrustum();
3651
+ scene.screenSpaceCameraController.enableTilt = true;
3652
+ }
3653
+ else {
3654
+ scene.camera.switchToOrthographicFrustum();
3655
+ scene.screenSpaceCameraController.enableTilt = false;
3656
+ }
3657
+ params.skipTransition = true;
3658
+ }
3530
3659
  camera = bookmark.Camera;
3531
3660
  pos = Cartesian3.fromDegrees(+camera.position.longitude, +camera.position.latitude, +camera.position.height);
3532
3661
  params.manager.Viewer.scene.camera.flyTo({
@@ -3538,32 +3667,31 @@ var ViewRenderEngine;
3538
3667
  },
3539
3668
  duration: params.skipTransition ? 0 : 2
3540
3669
  });
3541
- go = (_d = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _d === void 0 ? void 0 : _d.groundOcclusion;
3670
+ go = (_g = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _g === void 0 ? void 0 : _g.groundOcclusion;
3542
3671
  if (go == null) {
3543
- go = (_e = view.Settings) === null || _e === void 0 ? void 0 : _e.GroundOcclusion;
3672
+ go = (_h = view.Settings) === null || _h === void 0 ? void 0 : _h.GroundOcclusion;
3544
3673
  }
3545
3674
  if (go == null) {
3546
3675
  go = false;
3547
3676
  }
3548
3677
  params.manager.Viewer.scene.globe.depthTestAgainstTerrain = go;
3549
3678
  enabledItems = params.manager.GetEnabledItemIds();
3550
- newItemIds = (_g = (_f = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _f === void 0 ? void 0 : _f.selectedItemIds) !== null && _g !== void 0 ? _g : [];
3679
+ newItemIds = (_k = (_j = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _j === void 0 ? void 0 : _j.selectedItemIds) !== null && _k !== void 0 ? _k : [];
3551
3680
  for (_i = 0, enabledItems_1 = enabledItems; _i < enabledItems_1.length; _i++) {
3552
3681
  id = enabledItems_1[_i];
3553
3682
  if (newItemIds.indexOf(id) === -1) {
3554
3683
  params.manager.RemoveItemById(id);
3555
3684
  }
3556
3685
  }
3557
- if (!params.bookmarkId) return [3 /*break*/, 6];
3686
+ if (!params.bookmarkId) return [3 /*break*/, 7];
3558
3687
  return [4 /*yield*/, RenderHelper.RenderBookmarkItems({
3559
- api: params.api,
3560
3688
  apiGetter: params.apiGetter,
3561
3689
  manager: params.manager,
3562
3690
  }, params.viewId, params.bookmarkId)];
3563
- case 5:
3564
- _h.sent();
3565
- _h.label = 6;
3566
- case 6: return [2 /*return*/];
3691
+ case 6:
3692
+ _l.sent();
3693
+ _l.label = 7;
3694
+ case 7: return [2 /*return*/];
3567
3695
  }
3568
3696
  });
3569
3697
  });