bruce-cesium 0.2.9 → 0.3.1

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 (78) hide show
  1. package/README.md +0 -0
  2. package/dist/bruce-cesium.es5.js +355 -42
  3. package/dist/bruce-cesium.es5.js.map +1 -1
  4. package/dist/bruce-cesium.umd.js +353 -40
  5. package/dist/bruce-cesium.umd.js.map +1 -1
  6. package/dist/lib/bruce-cesium.js +30 -30
  7. package/dist/lib/bruce-cesium.js.map +0 -0
  8. package/dist/lib/rendering/entity-render-engine.js +848 -848
  9. package/dist/lib/rendering/entity-render-engine.js.map +0 -0
  10. package/dist/lib/rendering/menu-item-manager.js +249 -247
  11. package/dist/lib/rendering/menu-item-manager.js.map +1 -1
  12. package/dist/lib/rendering/render-addons/measure-addon.js +186 -186
  13. package/dist/lib/rendering/render-addons/measure-addon.js.map +0 -0
  14. package/dist/lib/rendering/render-addons/render-addon.js +2 -2
  15. package/dist/lib/rendering/render-addons/render-addon.js.map +0 -0
  16. package/dist/lib/rendering/render-helper.js +279 -279
  17. package/dist/lib/rendering/render-helper.js.map +0 -0
  18. package/dist/lib/rendering/render-managers/common/shared-getters.js +31 -31
  19. package/dist/lib/rendering/render-managers/common/shared-getters.js.map +0 -0
  20. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +144 -144
  21. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js.map +0 -0
  22. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +141 -141
  23. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js.map +0 -0
  24. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +232 -232
  25. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +0 -0
  26. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +138 -138
  27. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js.map +0 -0
  28. package/dist/lib/rendering/render-managers/render-manager.js +50 -50
  29. package/dist/lib/rendering/render-managers/render-manager.js.map +1 -1
  30. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +230 -230
  31. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js.map +0 -0
  32. package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js +321 -0
  33. package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js.map +1 -0
  34. package/dist/lib/rendering/tile-render-engine.js +542 -492
  35. package/dist/lib/rendering/tile-render-engine.js.map +1 -1
  36. package/dist/lib/rendering/tileset-render-engine.js +472 -472
  37. package/dist/lib/rendering/tileset-render-engine.js.map +0 -0
  38. package/dist/lib/rendering/view-render-engine.js +138 -156
  39. package/dist/lib/rendering/view-render-engine.js.map +1 -1
  40. package/dist/lib/rendering/visuals-register.js +394 -394
  41. package/dist/lib/rendering/visuals-register.js.map +1 -1
  42. package/dist/lib/utils/drawing-utils.js +42 -42
  43. package/dist/lib/utils/drawing-utils.js.map +0 -0
  44. package/dist/lib/utils/entity-utils.js +99 -99
  45. package/dist/lib/utils/entity-utils.js.map +0 -0
  46. package/dist/lib/utils/measure-utils.js +34 -34
  47. package/dist/lib/utils/measure-utils.js.map +0 -0
  48. package/dist/lib/utils/view-utils.js +34 -34
  49. package/dist/lib/utils/view-utils.js.map +0 -0
  50. package/dist/lib/viewer/cesium-view-monitor.js +227 -227
  51. package/dist/lib/viewer/cesium-view-monitor.js.map +0 -0
  52. package/dist/lib/viewer/viewer-utils.js +85 -85
  53. package/dist/lib/viewer/viewer-utils.js.map +0 -0
  54. package/dist/types/bruce-cesium.d.ts +0 -0
  55. package/dist/types/rendering/entity-render-engine.d.ts +0 -0
  56. package/dist/types/rendering/menu-item-manager.d.ts +0 -0
  57. package/dist/types/rendering/render-addons/measure-addon.d.ts +0 -0
  58. package/dist/types/rendering/render-addons/render-addon.d.ts +0 -0
  59. package/dist/types/rendering/render-helper.d.ts +0 -0
  60. package/dist/types/rendering/render-managers/common/shared-getters.d.ts +0 -0
  61. package/dist/types/rendering/render-managers/entities/entities-ids-render-manager.d.ts +0 -0
  62. package/dist/types/rendering/render-managers/entities/entities-loaded-render-manager.d.ts +0 -0
  63. package/dist/types/rendering/render-managers/entities/entities-render-manager.d.ts +0 -0
  64. package/dist/types/rendering/render-managers/entities/entity-render-manager.d.ts +0 -0
  65. package/dist/types/rendering/render-managers/render-manager.d.ts +2 -1
  66. package/dist/types/rendering/render-managers/tilesets/tileset-cad-render-manager.d.ts +0 -0
  67. package/dist/types/rendering/render-managers/tilesets/tileset-osm-render-manager.d.ts +35 -0
  68. package/dist/types/rendering/tile-render-engine.d.ts +8 -0
  69. package/dist/types/rendering/tileset-render-engine.d.ts +0 -0
  70. package/dist/types/rendering/view-render-engine.d.ts +0 -0
  71. package/dist/types/rendering/visuals-register.d.ts +1 -0
  72. package/dist/types/utils/drawing-utils.d.ts +0 -0
  73. package/dist/types/utils/entity-utils.d.ts +0 -0
  74. package/dist/types/utils/measure-utils.d.ts +0 -0
  75. package/dist/types/utils/view-utils.d.ts +0 -0
  76. package/dist/types/viewer/cesium-view-monitor.d.ts +0 -0
  77. package/dist/types/viewer/viewer-utils.d.ts +0 -0
  78. package/package.json +73 -73
@@ -2866,6 +2866,286 @@
2866
2866
  SharedGetters.Cache = Cache;
2867
2867
  })(exports.SharedGetters || (exports.SharedGetters = {}));
2868
2868
 
2869
+ var MAX_BATCHES = 2;
2870
+ var BATCH_SIZE = 30;
2871
+ var BATCH_DELAY = 200;
2872
+ var MAX_RANGE = 3000;
2873
+ var TilesetOsmRenderManager;
2874
+ (function (TilesetOsmRenderManager) {
2875
+ var Manager = /** @class */ (function () {
2876
+ function Manager(viewer, visualsManager, apiGetter, monitor, item) {
2877
+ this.disposed = false;
2878
+ this.cTileset = null;
2879
+ this.counter = 0;
2880
+ this._loadedCesiumEntities = {};
2881
+ this.totalLoaded = 0;
2882
+ this.featureQueue = [];
2883
+ this.sourceId = null;
2884
+ this.entityTypeId = null;
2885
+ this.queueCheckInterval = null;
2886
+ this.processingQueue = 0;
2887
+ this.viewer = viewer;
2888
+ this.apiGetter = apiGetter;
2889
+ this.item = item;
2890
+ this.visualsManager = visualsManager;
2891
+ this.monitor = monitor;
2892
+ }
2893
+ Object.defineProperty(Manager.prototype, "Disposed", {
2894
+ get: function () {
2895
+ return this.disposed;
2896
+ },
2897
+ enumerable: false,
2898
+ configurable: true
2899
+ });
2900
+ Object.defineProperty(Manager.prototype, "count", {
2901
+ get: function () {
2902
+ return ++this.counter;
2903
+ },
2904
+ enumerable: false,
2905
+ configurable: true
2906
+ });
2907
+ Manager.prototype.Dispose = function () {
2908
+ if (this.disposed) {
2909
+ return;
2910
+ }
2911
+ clearInterval(this.queueCheckInterval);
2912
+ if (this.cTileset) {
2913
+ this.cTileset.show = false;
2914
+ }
2915
+ this.visualsManager.RemoveByMenuItemId(this.item.id);
2916
+ this.featureQueue = [];
2917
+ };
2918
+ Manager.prototype.Init = function () {
2919
+ var _a, _b;
2920
+ return __awaiter(this, void 0, void 0, function () {
2921
+ var menuItem;
2922
+ var _this = this;
2923
+ return __generator(this, function (_c) {
2924
+ menuItem = this.item;
2925
+ this.sourceId = (_a = menuItem.BruceEntity) === null || _a === void 0 ? void 0 : _a.SourceId;
2926
+ this.entityTypeId = (_b = menuItem.BruceEntity) === null || _b === void 0 ? void 0 : _b["EntityType.ID"];
2927
+ this.cTileset = Cesium.createOsmBuildings();
2928
+ this.cTileset.show = true;
2929
+ if (this.sourceId) {
2930
+ if (menuItem.ghostLoading == true) {
2931
+ this.cTileset.style = new Cesium.Cesium3DTileStyle({
2932
+ color: "rgba(255, 255, 250, 0.98)"
2933
+ });
2934
+ }
2935
+ this.viewer.scene.primitives.add(this.cTileset);
2936
+ this.cTileset.tileLoad.addEventListener(function (tile) {
2937
+ _this.mapCTile(tile);
2938
+ });
2939
+ this.queueCheckInterval = setInterval(function () {
2940
+ if (_this.featureQueue.length > 0) {
2941
+ _this.processQueue();
2942
+ }
2943
+ }, 5000);
2944
+ }
2945
+ else {
2946
+ this.viewer.scene.primitives.add(this.cTileset);
2947
+ }
2948
+ return [2 /*return*/];
2949
+ });
2950
+ });
2951
+ };
2952
+ Manager.prototype.mapCTile = function (tile) {
2953
+ return __awaiter(this, void 0, void 0, function () {
2954
+ var content, i, feature;
2955
+ return __generator(this, function (_a) {
2956
+ if (this.sourceId) {
2957
+ content = tile.content;
2958
+ for (i = 0; i < content.featuresLength; i++) {
2959
+ feature = content.getFeature(i);
2960
+ if (feature._counter == null) {
2961
+ feature._counter = this.count;
2962
+ }
2963
+ if (feature._orgColor == null) {
2964
+ feature._orgColor = feature.color;
2965
+ }
2966
+ this.featureQueue.push(feature);
2967
+ }
2968
+ this.processQueue();
2969
+ }
2970
+ return [2 /*return*/];
2971
+ });
2972
+ });
2973
+ };
2974
+ Manager.prototype.processQueue = function () {
2975
+ return __awaiter(this, void 0, void 0, function () {
2976
+ var batch, rerun, e_1;
2977
+ var _this = this;
2978
+ return __generator(this, function (_a) {
2979
+ switch (_a.label) {
2980
+ case 0:
2981
+ if (this.processingQueue >= MAX_BATCHES) {
2982
+ return [2 /*return*/];
2983
+ }
2984
+ else if (this.Disposed) {
2985
+ return [2 /*return*/];
2986
+ }
2987
+ this.processingQueue += 1;
2988
+ batch = [];
2989
+ rerun = false;
2990
+ _a.label = 1;
2991
+ case 1:
2992
+ _a.trys.push([1, 4, 5, 6]);
2993
+ batch = this.getVisualsForBatch();
2994
+ if (!(batch.length > 0)) return [3 /*break*/, 3];
2995
+ return [4 /*yield*/, this.mapTileBatch(batch)];
2996
+ case 2:
2997
+ _a.sent();
2998
+ _a.label = 3;
2999
+ case 3:
3000
+ if (this.totalLoaded > 8000) {
3001
+ rerun = this.removeFarAwayBatch();
3002
+ }
3003
+ else {
3004
+ rerun = this.featureQueue.length > 0 && batch.length > 0;
3005
+ }
3006
+ return [3 /*break*/, 6];
3007
+ case 4:
3008
+ e_1 = _a.sent();
3009
+ console.error(e_1);
3010
+ return [3 /*break*/, 6];
3011
+ case 5:
3012
+ setTimeout(function () {
3013
+ _this.processingQueue -= 1;
3014
+ if (rerun) {
3015
+ _this.processQueue();
3016
+ }
3017
+ }, BATCH_DELAY);
3018
+ return [7 /*endfinally*/];
3019
+ case 6: return [2 /*return*/];
3020
+ }
3021
+ });
3022
+ });
3023
+ };
3024
+ Manager.prototype.getVisualsForBatch = function () {
3025
+ var batch = [];
3026
+ var features = this.featureQueue;
3027
+ var bounds = this.monitor.GetBounds();
3028
+ var rect = (bounds === null || bounds === void 0 ? void 0 : bounds.east) ? new Cesium.Rectangle(Cesium.Math.toRadians(bounds.west), Cesium.Math.toRadians(bounds.south), Cesium.Math.toRadians(bounds.east), Cesium.Math.toRadians(bounds.north)) : null;
3029
+ if (rect) {
3030
+ for (var i = 0; i < features.length; i++) {
3031
+ var feature = features[i];
3032
+ if (feature) {
3033
+ var featureLon = feature.getProperty("cesium#longitude");
3034
+ var featureLat = feature.getProperty("cesium#latitude");
3035
+ if (featureLon && featureLat) {
3036
+ var carto = Cesium.Cartographic.fromDegrees(featureLon, featureLat, 0);
3037
+ var isIn = Cesium.Rectangle.contains(rect, carto);
3038
+ if (isIn) {
3039
+ var isClose = this.getIsVisualWithinRange(feature, MAX_RANGE);
3040
+ if (isClose) {
3041
+ batch.push(feature);
3042
+ if (batch.length >= BATCH_SIZE) {
3043
+ return batch;
3044
+ }
3045
+ }
3046
+ }
3047
+ }
3048
+ }
3049
+ }
3050
+ }
3051
+ return batch;
3052
+ };
3053
+ Manager.prototype.getIsVisualWithinRange = function (visual, range) {
3054
+ var featureLon = visual.getProperty("cesium#longitude");
3055
+ var featureLat = visual.getProperty("cesium#latitude");
3056
+ if (featureLon && featureLat) {
3057
+ var pos = Cesium.Cartesian3.fromDegrees(featureLon, featureLat, 0);
3058
+ var camPoint = this.monitor.GetTarget();
3059
+ var camPos = (camPoint === null || camPoint === void 0 ? void 0 : camPoint.latitude) ? Cesium.Cartesian3.fromDegrees(camPoint.longitude, camPoint.latitude, camPoint.altitude) : null;
3060
+ if (camPos && bruceModels.Cartes.ValidateCartes3(camPos) && bruceModels.Cartes.ValidateCartes3(pos)) {
3061
+ var distance = Cesium.Cartesian3.distance(pos, camPos);
3062
+ if (distance != null && distance <= range) {
3063
+ return true;
3064
+ }
3065
+ }
3066
+ }
3067
+ return false;
3068
+ };
3069
+ Manager.prototype.mapTileBatch = function (features) {
3070
+ return __awaiter(this, void 0, void 0, function () {
3071
+ var featureIds, featureMap, _loop_1, this_1, i, api, bIds, i, id, bId, feature, rego;
3072
+ return __generator(this, function (_a) {
3073
+ switch (_a.label) {
3074
+ case 0:
3075
+ featureIds = [];
3076
+ featureMap = [];
3077
+ _loop_1 = function (i) {
3078
+ var feature = features[i];
3079
+ var featureId = feature.getProperty("elementId");
3080
+ if (featureId) {
3081
+ featureMap.push(feature);
3082
+ featureIds.push(featureId + "");
3083
+ }
3084
+ var index = this_1.featureQueue.findIndex(function (x) { return x._counter == feature._counter; });
3085
+ if (index > -1) {
3086
+ this_1.featureQueue.splice(index, 1);
3087
+ }
3088
+ };
3089
+ this_1 = this;
3090
+ for (i = 0; i < features.length; i++) {
3091
+ _loop_1(i);
3092
+ }
3093
+ api = this.apiGetter.getApi(this.apiGetter.accountId, this.apiGetter.env);
3094
+ return [4 /*yield*/, bruceModels.EntitySource.GetEntityIdsBySourceKeys(api, this.sourceId, featureIds)];
3095
+ case 1:
3096
+ bIds = _a.sent();
3097
+ for (i = 0; i < featureIds.length; i++) {
3098
+ id = featureIds[i];
3099
+ bId = bIds[id];
3100
+ if (!bId) {
3101
+ bId = bruceModels.ObjectUtils.UId();
3102
+ }
3103
+ feature = featureMap[i];
3104
+ if (this.item.ghostLoading == true) {
3105
+ feature.color = feature._orgColor;
3106
+ }
3107
+ rego = {
3108
+ entityId: bId,
3109
+ menuItemId: this.item.id,
3110
+ priority: 0,
3111
+ visual: feature,
3112
+ entityTypeId: this.entityTypeId,
3113
+ sourceId: this.sourceId
3114
+ };
3115
+ this.visualsManager.Add(rego);
3116
+ this._loadedCesiumEntities[bId] = rego;
3117
+ }
3118
+ return [2 /*return*/];
3119
+ }
3120
+ });
3121
+ });
3122
+ };
3123
+ Manager.prototype.removeFarAwayBatch = function () {
3124
+ var removed = 0;
3125
+ var keys = Object.keys(this._loadedCesiumEntities);
3126
+ for (var i = 0; i < keys.length; i++) {
3127
+ var key = keys[i];
3128
+ var rego = this._loadedCesiumEntities[key];
3129
+ if (rego) {
3130
+ if (!this.getIsVisualWithinRange(rego.visual, MAX_RANGE)) {
3131
+ this.visualsManager.Remove(rego.entityId, this.item.id);
3132
+ this._loadedCesiumEntities[key] = null;
3133
+ delete this._loadedCesiumEntities[key];
3134
+ this.totalLoaded -= 1;
3135
+ removed += 1;
3136
+ if (removed >= BATCH_SIZE) {
3137
+ return true;
3138
+ }
3139
+ }
3140
+ }
3141
+ }
3142
+ return removed > 0;
3143
+ };
3144
+ return Manager;
3145
+ }());
3146
+ TilesetOsmRenderManager.Manager = Manager;
3147
+ })(TilesetOsmRenderManager || (TilesetOsmRenderManager = {}));
3148
+
2869
3149
  (function (MenuItemManager) {
2870
3150
  var Manager = /** @class */ (function () {
2871
3151
  function Manager(viewer, visualsRegister) {
@@ -2943,6 +3223,7 @@
2943
3223
  rItem.renderManager = new exports.TilesetCadRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
2944
3224
  break;
2945
3225
  case bruceModels.MenuItem.EType.Osm:
3226
+ rItem.renderManager = new TilesetOsmRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
2946
3227
  // TODO;
2947
3228
  break;
2948
3229
  case bruceModels.MenuItem.EType.PointCloud:
@@ -3576,6 +3857,7 @@
3576
3857
  }
3577
3858
  return layer;
3578
3859
  }
3860
+ Map.RenderLegacy = RenderLegacy;
3579
3861
  function RenderLegacyView(params) {
3580
3862
  var _a, _b, _c, _d, _e;
3581
3863
  return __awaiter(this, void 0, void 0, function () {
@@ -3596,7 +3878,7 @@
3596
3878
  case 3:
3597
3879
  data = [];
3598
3880
  dataNames = [];
3599
- if ((_a = bookmark.Settings) === null || _a === void 0 ? void 0 : _a.imagery) {
3881
+ if ((_a = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _a === void 0 ? void 0 : _a.imagery) {
3600
3882
  for (i = 0; i < bookmark.Settings.imagery.length; i++) {
3601
3883
  source = bookmark.Settings.imagery[i];
3602
3884
  dataNames.push(source.title);
@@ -3733,53 +4015,84 @@
3733
4015
  }
3734
4016
  }
3735
4017
  Terrain.RenderLegacy = RenderLegacy;
4018
+ function RenderLegacyView(params) {
4019
+ var _a, _b, _c, _d, _e;
4020
+ return __awaiter(this, void 0, void 0, function () {
4021
+ var api, view, bookmark, terrainTiles, terrainTile, terrainTileName, i, tile;
4022
+ return __generator(this, function (_f) {
4023
+ switch (_f.label) {
4024
+ case 0:
4025
+ api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
4026
+ return [4 /*yield*/, bruceModels.ProjectView.Get(api, params.viewId)];
4027
+ case 1:
4028
+ view = _f.sent();
4029
+ bookmark = null;
4030
+ if (!params.bookmarkId) return [3 /*break*/, 3];
4031
+ return [4 /*yield*/, bruceModels.ProjectViewBookmark.Get(api, params.viewId, params.bookmarkId)];
4032
+ case 2:
4033
+ bookmark = _f.sent();
4034
+ _f.label = 3;
4035
+ case 3:
4036
+ terrainTiles = (_b = (_a = view.Settings) === null || _a === void 0 ? void 0 : _a.CesiumTerrainSources) !== null && _b !== void 0 ? _b : [];
4037
+ terrainTile = null;
4038
+ terrainTileName = null;
4039
+ if ((_c = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _c === void 0 ? void 0 : _c.terrain) {
4040
+ terrainTileName = bookmark.Settings.terrain;
4041
+ }
4042
+ else {
4043
+ terrainTileName = (_d = view.Settings) === null || _d === void 0 ? void 0 : _d.DefaultTerrain;
4044
+ }
4045
+ return [4 /*yield*/, bruceModels.ProjectViewTileSource.MergeTerrainTemplateData(params.apiGetter, terrainTiles, ((_e = view.Settings) === null || _e === void 0 ? void 0 : _e.CesiumTerrainSources) == null)];
4046
+ case 4:
4047
+ _f.sent();
4048
+ for (i = 0; i < terrainTiles.length; i++) {
4049
+ tile = terrainTiles[i];
4050
+ if (TileRenderEngine.CompareLegacyNames(tile.Name, terrainTileName)) {
4051
+ terrainTile = tile;
4052
+ break;
4053
+ }
4054
+ }
4055
+ if (terrainTile) {
4056
+ TileRenderEngine.Terrain.RenderLegacy({
4057
+ data: terrainTile,
4058
+ viewer: params.viewer,
4059
+ });
4060
+ }
4061
+ return [2 /*return*/];
4062
+ }
4063
+ });
4064
+ });
4065
+ }
4066
+ Terrain.RenderLegacyView = RenderLegacyView;
3736
4067
  })(Terrain = TileRenderEngine.Terrain || (TileRenderEngine.Terrain = {}));
3737
4068
  })(exports.TileRenderEngine || (exports.TileRenderEngine = {}));
3738
4069
 
3739
4070
  (function (ViewRenderEngine) {
3740
4071
  function Render(params) {
3741
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
4072
+ var _a, _b, _c, _d, _e;
3742
4073
  return __awaiter(this, void 0, void 0, function () {
3743
- var api, view, bookmark, terrainTiles, terrainTile, terrainTileName, i, tile, frustum, scene, curFrustum, camera, pos, go, enabledItems, newItemIds, _i, enabledItems_1, id;
3744
- return __generator(this, function (_l) {
3745
- switch (_l.label) {
4074
+ var api, view, bookmark, frustum, scene, curFrustum, camera, pos, go, enabledItems, newItemIds, _i, enabledItems_1, id;
4075
+ return __generator(this, function (_f) {
4076
+ switch (_f.label) {
3746
4077
  case 0:
3747
4078
  api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
3748
4079
  return [4 /*yield*/, bruceModels.ProjectView.Get(api, params.viewId)];
3749
4080
  case 1:
3750
- view = _l.sent();
4081
+ view = _f.sent();
3751
4082
  bookmark = null;
3752
4083
  if (!params.bookmarkId) return [3 /*break*/, 3];
3753
4084
  return [4 /*yield*/, bruceModels.ProjectViewBookmark.Get(api, params.viewId, params.bookmarkId)];
3754
4085
  case 2:
3755
- bookmark = _l.sent();
3756
- _l.label = 3;
3757
- case 3:
3758
- terrainTiles = (_b = (_a = view.Settings) === null || _a === void 0 ? void 0 : _a.CesiumTerrainSources) !== null && _b !== void 0 ? _b : [];
3759
- terrainTile = null;
3760
- terrainTileName = null;
3761
- if ((_c = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _c === void 0 ? void 0 : _c.terrain) {
3762
- terrainTileName = bookmark.Settings.terrain;
3763
- }
3764
- else {
3765
- terrainTileName = (_d = view.Settings) === null || _d === void 0 ? void 0 : _d.DefaultTerrain;
3766
- }
3767
- return [4 /*yield*/, bruceModels.ProjectViewTileSource.MergeTerrainTemplateData(params.apiGetter, terrainTiles, ((_e = view.Settings) === null || _e === void 0 ? void 0 : _e.CesiumTerrainSources) == null)];
4086
+ bookmark = _f.sent();
4087
+ _f.label = 3;
4088
+ case 3: return [4 /*yield*/, exports.TileRenderEngine.Terrain.RenderLegacyView({
4089
+ apiGetter: params.apiGetter,
4090
+ bookmarkId: params.bookmarkId,
4091
+ viewer: params.manager.Viewer,
4092
+ viewId: params.viewId,
4093
+ })];
3768
4094
  case 4:
3769
- _l.sent();
3770
- for (i = 0; i < terrainTiles.length; i++) {
3771
- tile = terrainTiles[i];
3772
- if (exports.TileRenderEngine.CompareLegacyNames(tile.Name, terrainTileName)) {
3773
- terrainTile = tile;
3774
- break;
3775
- }
3776
- }
3777
- if (terrainTile) {
3778
- exports.TileRenderEngine.Terrain.RenderLegacy({
3779
- data: terrainTile,
3780
- viewer: params.manager.Viewer,
3781
- });
3782
- }
4095
+ _f.sent();
3783
4096
  return [4 /*yield*/, exports.TileRenderEngine.Map.RenderLegacyView({
3784
4097
  apiGetter: params.apiGetter,
3785
4098
  bookmarkId: params.bookmarkId,
@@ -3788,8 +4101,8 @@
3788
4101
  ignoreIds: []
3789
4102
  })];
3790
4103
  case 5:
3791
- _l.sent();
3792
- frustum = (_f = bookmark.Settings) === null || _f === void 0 ? void 0 : _f.cameraFrustum;
4104
+ _f.sent();
4105
+ frustum = (_a = bookmark.Settings) === null || _a === void 0 ? void 0 : _a.cameraFrustum;
3793
4106
  if (frustum == null) {
3794
4107
  frustum = bruceModels.Camera.EFrustum.Perspective;
3795
4108
  }
@@ -3817,16 +4130,16 @@
3817
4130
  },
3818
4131
  duration: params.skipTransition ? 0 : 2
3819
4132
  });
3820
- go = (_g = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _g === void 0 ? void 0 : _g.groundOcclusion;
4133
+ go = (_b = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _b === void 0 ? void 0 : _b.groundOcclusion;
3821
4134
  if (go == null) {
3822
- go = (_h = view.Settings) === null || _h === void 0 ? void 0 : _h.GroundOcclusion;
4135
+ go = (_c = view.Settings) === null || _c === void 0 ? void 0 : _c.GroundOcclusion;
3823
4136
  }
3824
4137
  if (go == null) {
3825
4138
  go = false;
3826
4139
  }
3827
4140
  params.manager.Viewer.scene.globe.depthTestAgainstTerrain = go;
3828
4141
  enabledItems = params.manager.GetEnabledItemIds();
3829
- 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 : [];
4142
+ 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 : [];
3830
4143
  for (_i = 0, enabledItems_1 = enabledItems; _i < enabledItems_1.length; _i++) {
3831
4144
  id = enabledItems_1[_i];
3832
4145
  if (newItemIds.indexOf(id) === -1) {
@@ -3839,8 +4152,8 @@
3839
4152
  manager: params.manager,
3840
4153
  }, params.viewId, params.bookmarkId)];
3841
4154
  case 6:
3842
- _l.sent();
3843
- _l.label = 7;
4155
+ _f.sent();
4156
+ _f.label = 7;
3844
4157
  case 7: return [2 /*return*/];
3845
4158
  }
3846
4159
  });