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.
- package/README.md +0 -0
- package/dist/bruce-cesium.es5.js +355 -42
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +353 -40
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/bruce-cesium.js +30 -30
- package/dist/lib/bruce-cesium.js.map +0 -0
- package/dist/lib/rendering/entity-render-engine.js +848 -848
- package/dist/lib/rendering/entity-render-engine.js.map +0 -0
- package/dist/lib/rendering/menu-item-manager.js +249 -247
- package/dist/lib/rendering/menu-item-manager.js.map +1 -1
- package/dist/lib/rendering/render-addons/measure-addon.js +186 -186
- package/dist/lib/rendering/render-addons/measure-addon.js.map +0 -0
- package/dist/lib/rendering/render-addons/render-addon.js +2 -2
- package/dist/lib/rendering/render-addons/render-addon.js.map +0 -0
- package/dist/lib/rendering/render-helper.js +279 -279
- package/dist/lib/rendering/render-helper.js.map +0 -0
- package/dist/lib/rendering/render-managers/common/shared-getters.js +31 -31
- package/dist/lib/rendering/render-managers/common/shared-getters.js.map +0 -0
- package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +144 -144
- package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js.map +0 -0
- package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +141 -141
- package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js.map +0 -0
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +232 -232
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +0 -0
- package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +138 -138
- package/dist/lib/rendering/render-managers/entities/entity-render-manager.js.map +0 -0
- package/dist/lib/rendering/render-managers/render-manager.js +50 -50
- package/dist/lib/rendering/render-managers/render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +230 -230
- package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js.map +0 -0
- package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js +321 -0
- package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js.map +1 -0
- package/dist/lib/rendering/tile-render-engine.js +542 -492
- package/dist/lib/rendering/tile-render-engine.js.map +1 -1
- package/dist/lib/rendering/tileset-render-engine.js +472 -472
- package/dist/lib/rendering/tileset-render-engine.js.map +0 -0
- package/dist/lib/rendering/view-render-engine.js +138 -156
- package/dist/lib/rendering/view-render-engine.js.map +1 -1
- package/dist/lib/rendering/visuals-register.js +394 -394
- package/dist/lib/rendering/visuals-register.js.map +1 -1
- package/dist/lib/utils/drawing-utils.js +42 -42
- package/dist/lib/utils/drawing-utils.js.map +0 -0
- package/dist/lib/utils/entity-utils.js +99 -99
- package/dist/lib/utils/entity-utils.js.map +0 -0
- package/dist/lib/utils/measure-utils.js +34 -34
- package/dist/lib/utils/measure-utils.js.map +0 -0
- package/dist/lib/utils/view-utils.js +34 -34
- package/dist/lib/utils/view-utils.js.map +0 -0
- package/dist/lib/viewer/cesium-view-monitor.js +227 -227
- package/dist/lib/viewer/cesium-view-monitor.js.map +0 -0
- package/dist/lib/viewer/viewer-utils.js +85 -85
- package/dist/lib/viewer/viewer-utils.js.map +0 -0
- package/dist/types/bruce-cesium.d.ts +0 -0
- package/dist/types/rendering/entity-render-engine.d.ts +0 -0
- package/dist/types/rendering/menu-item-manager.d.ts +0 -0
- package/dist/types/rendering/render-addons/measure-addon.d.ts +0 -0
- package/dist/types/rendering/render-addons/render-addon.d.ts +0 -0
- package/dist/types/rendering/render-helper.d.ts +0 -0
- package/dist/types/rendering/render-managers/common/shared-getters.d.ts +0 -0
- package/dist/types/rendering/render-managers/entities/entities-ids-render-manager.d.ts +0 -0
- package/dist/types/rendering/render-managers/entities/entities-loaded-render-manager.d.ts +0 -0
- package/dist/types/rendering/render-managers/entities/entities-render-manager.d.ts +0 -0
- package/dist/types/rendering/render-managers/entities/entity-render-manager.d.ts +0 -0
- package/dist/types/rendering/render-managers/render-manager.d.ts +2 -1
- package/dist/types/rendering/render-managers/tilesets/tileset-cad-render-manager.d.ts +0 -0
- package/dist/types/rendering/render-managers/tilesets/tileset-osm-render-manager.d.ts +35 -0
- package/dist/types/rendering/tile-render-engine.d.ts +8 -0
- package/dist/types/rendering/tileset-render-engine.d.ts +0 -0
- package/dist/types/rendering/view-render-engine.d.ts +0 -0
- package/dist/types/rendering/visuals-register.d.ts +1 -0
- package/dist/types/utils/drawing-utils.d.ts +0 -0
- package/dist/types/utils/entity-utils.d.ts +0 -0
- package/dist/types/utils/measure-utils.d.ts +0 -0
- package/dist/types/utils/view-utils.d.ts +0 -0
- package/dist/types/viewer/cesium-view-monitor.d.ts +0 -0
- package/dist/types/viewer/viewer-utils.d.ts +0 -0
- package/package.json +73 -73
package/dist/bruce-cesium.umd.js
CHANGED
|
@@ -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
|
|
4072
|
+
var _a, _b, _c, _d, _e;
|
|
3742
4073
|
return __awaiter(this, void 0, void 0, function () {
|
|
3743
|
-
var api, view, bookmark,
|
|
3744
|
-
return __generator(this, function (
|
|
3745
|
-
switch (
|
|
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 =
|
|
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 =
|
|
3756
|
-
|
|
3757
|
-
case 3:
|
|
3758
|
-
|
|
3759
|
-
|
|
3760
|
-
|
|
3761
|
-
|
|
3762
|
-
|
|
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
|
-
|
|
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
|
-
|
|
3792
|
-
frustum = (
|
|
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 = (
|
|
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 = (
|
|
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 = (
|
|
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
|
-
|
|
3843
|
-
|
|
4155
|
+
_f.sent();
|
|
4156
|
+
_f.label = 7;
|
|
3844
4157
|
case 7: return [2 /*return*/];
|
|
3845
4158
|
}
|
|
3846
4159
|
});
|