bruce-cesium 2.4.7 → 2.4.9
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/dist/bruce-cesium.es5.js +214 -81
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +213 -80
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/bruce-cesium.js +1 -1
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +2 -1
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +1 -1
- package/dist/lib/rendering/tile-render-engine.js +121 -41
- package/dist/lib/rendering/tile-render-engine.js.map +1 -1
- package/dist/lib/rendering/view-render-engine.js +81 -37
- package/dist/lib/rendering/view-render-engine.js.map +1 -1
- package/dist/lib/rendering/visuals-register.js.map +1 -1
- package/dist/lib/utils/view-utils.js +9 -0
- package/dist/lib/utils/view-utils.js.map +1 -1
- package/dist/types/bruce-cesium.d.ts +1 -1
- package/dist/types/rendering/visuals-register.d.ts +1 -0
- package/package.json +1 -1
package/dist/bruce-cesium.umd.js
CHANGED
|
@@ -4078,7 +4078,8 @@
|
|
|
4078
4078
|
accountId: this.apiGetter.accountId,
|
|
4079
4079
|
tagIds: tagIds ? [].concat(tagIds) : [],
|
|
4080
4080
|
suppressShow: wasClustered,
|
|
4081
|
-
name: cEntity.name
|
|
4081
|
+
name: cEntity.name,
|
|
4082
|
+
cdn: this.item.cdnEnabled
|
|
4082
4083
|
};
|
|
4083
4084
|
this.visualsManager.AddRego({
|
|
4084
4085
|
rego: rego,
|
|
@@ -9610,6 +9611,26 @@
|
|
|
9610
9611
|
MenuItemCreator.RenderBookmarkItems = RenderBookmarkItems;
|
|
9611
9612
|
})(exports.MenuItemCreator || (exports.MenuItemCreator = {}));
|
|
9612
9613
|
|
|
9614
|
+
// Used to track if a current in-progress render is the latest.
|
|
9615
|
+
// If we're midway through an async function that is rendering 10 imageries and this changes, then we stop the function.
|
|
9616
|
+
var ITERATION_KEY = "nextspace-tile-render-engine-iteration";
|
|
9617
|
+
function newIteration(viewer, tile) {
|
|
9618
|
+
// Create key specific to the kind of tile we're rendering.
|
|
9619
|
+
var key = ITERATION_KEY + tile;
|
|
9620
|
+
// Generate a new iteration ID, include the tile type in it so we can identify it easier.
|
|
9621
|
+
var value = bruceModels.ObjectUtils.UId() + tile;
|
|
9622
|
+
viewer[key] = value;
|
|
9623
|
+
return value;
|
|
9624
|
+
}
|
|
9625
|
+
/**
|
|
9626
|
+
* Checks if a given iteration is still the active one for a given viewer.
|
|
9627
|
+
* @param viewer
|
|
9628
|
+
* @param iteration
|
|
9629
|
+
*/
|
|
9630
|
+
function assertIteration(viewer, iteration) {
|
|
9631
|
+
var suffix = iteration.includes("imagery") ? "imagery" : "terrain";
|
|
9632
|
+
return viewer[ITERATION_KEY + suffix] === iteration;
|
|
9633
|
+
}
|
|
9613
9634
|
var DEFAULT_BING_KEY = "AqL0uYT5T84jiJeX55_b9zJeeP3MX2p1WLOHH4ljIEPZ7ZL2M81bYLzyYeSwuzzl";
|
|
9614
9635
|
var DEFAULT_MAPBOX_KEY = "pk.eyJ1IjoiYWxleHRodW5kZXIiLCJhIjoiY2psbHJxbnN5MTBvbzNxczZwMHNpeTI0MCJ9.fdoj2QW_7n8RV4e0NCFgZA";
|
|
9615
9636
|
var re = /[\0-\x1F\x7F-\x9F\xAD\u0378\u0379\u037F-\u0383\u038B\u038D\u03A2\u0528-\u0530\u0557\u0558\u0560\u0588\u058B-\u058E\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u0605\u061C\u061D\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08A1\u08AD-\u08E3\u08FF\u0978\u0980\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0C00\u0C04\u0C0D\u0C11\u0C29\u0C34\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5A-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C80\u0C81\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D01\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D4F-\u0D56\u0D58-\u0D5F\u0D64\u0D65\u0D76-\u0D78\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F5-\u13FF\u169D-\u169F\u16F1-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191D-\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C80-\u1CBF\u1CC8-\u1CCF\u1CF7-\u1CFF\u1DE7-\u1DFB\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20BB-\u20CF\u20F1-\u20FF\u218A-\u218F\u23F4-\u23FF\u2427-\u243F\u244B-\u245F\u2700\u2B4D-\u2B4F\u2B5A-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E3C-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FCD-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA698-\uA69E\uA6F8-\uA6FF\uA78F\uA794-\uA79F\uA7AB-\uA7F7\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C5-\uA8CD\uA8DA-\uA8DF\uA8FC-\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9E0-\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAA7C-\uAA7F\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F-\uABBF\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFE\uFDFF\uFE1A-\uFE1F\uFE27-\uFE2F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD-\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFFB\uFFFE\uFFFF]/g;
|
|
@@ -10148,13 +10169,14 @@
|
|
|
10148
10169
|
function RenderView(params) {
|
|
10149
10170
|
var _a;
|
|
10150
10171
|
return __awaiter(this, void 0, void 0, function () {
|
|
10151
|
-
var api, view, bookmark, vSettings, bSettings, data, dataNames, i, source, tiles, i, name_1, j, tile, enabled, layers, _loop_1, i, i, tile, layer, i, layer;
|
|
10172
|
+
var iteration, api, view, bookmark, vSettings, bSettings, data, dataNames, i, source, tiles, i, name_1, j, tile, enabled, layers, _loop_1, i, i, tile, layer, i, layer;
|
|
10152
10173
|
return __generator(this, function (_b) {
|
|
10153
10174
|
switch (_b.label) {
|
|
10154
10175
|
case 0:
|
|
10155
10176
|
if (!params.apiGetter) {
|
|
10156
10177
|
params.apiGetter = bruceModels.ENVIRONMENT.Api().GetBruceGetter();
|
|
10157
10178
|
}
|
|
10179
|
+
iteration = newIteration(params.viewer, "imagery");
|
|
10158
10180
|
api = params.apiGetter.getApi();
|
|
10159
10181
|
return [4 /*yield*/, bruceModels.ProjectView.Get({
|
|
10160
10182
|
api: api,
|
|
@@ -10162,6 +10184,9 @@
|
|
|
10162
10184
|
})];
|
|
10163
10185
|
case 1:
|
|
10164
10186
|
view = (_b.sent()).view;
|
|
10187
|
+
if (!assertIteration(params.viewer, iteration)) {
|
|
10188
|
+
return [2 /*return*/];
|
|
10189
|
+
}
|
|
10165
10190
|
bookmark = null;
|
|
10166
10191
|
if (!params.bookmarkId) return [3 /*break*/, 3];
|
|
10167
10192
|
return [4 /*yield*/, bruceModels.ProjectViewBookmark.Get({
|
|
@@ -10171,6 +10196,9 @@
|
|
|
10171
10196
|
})];
|
|
10172
10197
|
case 2:
|
|
10173
10198
|
bookmark = (_b.sent()).bookmark;
|
|
10199
|
+
if (!assertIteration(params.viewer, iteration)) {
|
|
10200
|
+
return [2 /*return*/];
|
|
10201
|
+
}
|
|
10174
10202
|
_b.label = 3;
|
|
10175
10203
|
case 3:
|
|
10176
10204
|
vSettings = view.Settings;
|
|
@@ -10194,6 +10222,9 @@
|
|
|
10194
10222
|
})];
|
|
10195
10223
|
case 4:
|
|
10196
10224
|
_b.sent();
|
|
10225
|
+
if (!assertIteration(params.viewer, iteration)) {
|
|
10226
|
+
return [2 /*return*/];
|
|
10227
|
+
}
|
|
10197
10228
|
for (i = 0; i < dataNames.length; i++) {
|
|
10198
10229
|
name_1 = dataNames[i];
|
|
10199
10230
|
for (j = 0; j < tiles.length; j++) {
|
|
@@ -10240,6 +10271,9 @@
|
|
|
10240
10271
|
if (layer) {
|
|
10241
10272
|
layers.push(layer);
|
|
10242
10273
|
}
|
|
10274
|
+
if (!assertIteration(params.viewer, iteration)) {
|
|
10275
|
+
return [2 /*return*/];
|
|
10276
|
+
}
|
|
10243
10277
|
_b.label = 7;
|
|
10244
10278
|
case 7:
|
|
10245
10279
|
i++;
|
|
@@ -10451,13 +10485,66 @@
|
|
|
10451
10485
|
Navigator.GetOrCreateLayer = GetOrCreateLayer;
|
|
10452
10486
|
function Render(params) {
|
|
10453
10487
|
return __awaiter(this, void 0, void 0, function () {
|
|
10454
|
-
var i,
|
|
10488
|
+
var tmpTiles, _loop_2, i, organize, iteration, curEnabled, toDisable, _loop_3, i, i, organized, i, enabled;
|
|
10455
10489
|
return __generator(this, function (_a) {
|
|
10456
10490
|
switch (_a.label) {
|
|
10457
10491
|
case 0:
|
|
10458
10492
|
if (!params.apiGetter) {
|
|
10459
10493
|
params.apiGetter = bruceModels.ENVIRONMENT.Api().GetBruceGetter();
|
|
10460
10494
|
}
|
|
10495
|
+
tmpTiles = [];
|
|
10496
|
+
_loop_2 = function (i) {
|
|
10497
|
+
var tile = params.tiles[i];
|
|
10498
|
+
if (!tmpTiles.find(function (x) { return (x.accountId == tile.accountId) && (x.tilesetId == tile.tilesetId); })) {
|
|
10499
|
+
tmpTiles.push(tile);
|
|
10500
|
+
}
|
|
10501
|
+
};
|
|
10502
|
+
for (i = 0; i < params.tiles.length; i++) {
|
|
10503
|
+
_loop_2(i);
|
|
10504
|
+
}
|
|
10505
|
+
params.tiles = tmpTiles;
|
|
10506
|
+
organize = function () {
|
|
10507
|
+
var curEnabledArr = [];
|
|
10508
|
+
for (var i = 0; i < curEnabled.length; i++) {
|
|
10509
|
+
var layer = curEnabled.get(i);
|
|
10510
|
+
curEnabledArr.push(layer);
|
|
10511
|
+
}
|
|
10512
|
+
var _loop_4 = function (i) {
|
|
10513
|
+
var enabled = params.tiles[i];
|
|
10514
|
+
var layer = curEnabledArr.find(function (x) { var _a, _b; return ((_a = x._bMeta) === null || _a === void 0 ? void 0 : _a.accountId) === enabled.accountId && ((_b = x._bMeta) === null || _b === void 0 ? void 0 : _b.tilesetId) === enabled.tilesetId; });
|
|
10515
|
+
if (layer) {
|
|
10516
|
+
params.viewer.imageryLayers.raiseToTop(layer);
|
|
10517
|
+
layer.alpha = EnsureNumber(enabled.alpha == null ? 1 : enabled.alpha);
|
|
10518
|
+
layer.brightness = EnsureNumber(enabled.brightness == null ? 1 : enabled.brightness);
|
|
10519
|
+
layer.contrast = EnsureNumber(enabled.contrast == null ? 1 : enabled.contrast);
|
|
10520
|
+
layer.hue = EnsureNumber(enabled.hue == null ? 0 : enabled.hue);
|
|
10521
|
+
layer.saturation = EnsureNumber(enabled.saturation == null ? 1 : enabled.saturation);
|
|
10522
|
+
layer.gamma = EnsureNumber(enabled.gamma == null ? 1 : enabled.gamma);
|
|
10523
|
+
}
|
|
10524
|
+
};
|
|
10525
|
+
for (var i = 0; i < params.tiles.length; i++) {
|
|
10526
|
+
_loop_4(i);
|
|
10527
|
+
}
|
|
10528
|
+
params.viewer.scene.requestRender();
|
|
10529
|
+
};
|
|
10530
|
+
iteration = newIteration(params.viewer, "imagery");
|
|
10531
|
+
curEnabled = params.viewer.imageryLayers;
|
|
10532
|
+
toDisable = [];
|
|
10533
|
+
_loop_3 = function (i) {
|
|
10534
|
+
var layer = curEnabled.get(i);
|
|
10535
|
+
var meta = layer === null || layer === void 0 ? void 0 : layer._bMeta;
|
|
10536
|
+
var disable = !params.tiles.find(function (x) { return x.accountId === (meta === null || meta === void 0 ? void 0 : meta.accountId) && x.tilesetId === (meta === null || meta === void 0 ? void 0 : meta.tilesetId); });
|
|
10537
|
+
if (disable) {
|
|
10538
|
+
toDisable.push(layer);
|
|
10539
|
+
}
|
|
10540
|
+
};
|
|
10541
|
+
for (i = 0; i < curEnabled.length; i++) {
|
|
10542
|
+
_loop_3(i);
|
|
10543
|
+
}
|
|
10544
|
+
for (i = 0; i < toDisable.length; i++) {
|
|
10545
|
+
params.viewer.imageryLayers.remove(toDisable[i]);
|
|
10546
|
+
}
|
|
10547
|
+
organized = false;
|
|
10461
10548
|
i = 0;
|
|
10462
10549
|
_a.label = 1;
|
|
10463
10550
|
case 1:
|
|
@@ -10473,48 +10560,21 @@
|
|
|
10473
10560
|
})];
|
|
10474
10561
|
case 2:
|
|
10475
10562
|
_a.sent();
|
|
10563
|
+
if (!assertIteration(params.viewer, iteration)) {
|
|
10564
|
+
return [2 /*return*/];
|
|
10565
|
+
}
|
|
10566
|
+
// Organize as we load in case there are lots of imageries.
|
|
10567
|
+
// We want to ensure what the user sees is as close to correct as we can get.
|
|
10568
|
+
organize();
|
|
10569
|
+
organized = true;
|
|
10476
10570
|
_a.label = 3;
|
|
10477
10571
|
case 3:
|
|
10478
10572
|
i++;
|
|
10479
10573
|
return [3 /*break*/, 1];
|
|
10480
10574
|
case 4:
|
|
10481
|
-
|
|
10482
|
-
|
|
10483
|
-
curEnabledArr = [];
|
|
10484
|
-
_loop_2 = function (i) {
|
|
10485
|
-
var layer = curEnabled.get(i);
|
|
10486
|
-
var meta = layer === null || layer === void 0 ? void 0 : layer._bMeta;
|
|
10487
|
-
var disable = !params.tiles.find(function (x) { return x.accountId === (meta === null || meta === void 0 ? void 0 : meta.accountId) && x.tilesetId === (meta === null || meta === void 0 ? void 0 : meta.tilesetId); });
|
|
10488
|
-
if (disable) {
|
|
10489
|
-
toDisable.push(layer);
|
|
10490
|
-
}
|
|
10491
|
-
else {
|
|
10492
|
-
curEnabledArr.push(layer);
|
|
10493
|
-
}
|
|
10494
|
-
};
|
|
10495
|
-
for (i = 0; i < curEnabled.length; i++) {
|
|
10496
|
-
_loop_2(i);
|
|
10497
|
-
}
|
|
10498
|
-
for (i = 0; i < toDisable.length; i++) {
|
|
10499
|
-
params.viewer.imageryLayers.remove(toDisable[i]);
|
|
10575
|
+
if (!organized) {
|
|
10576
|
+
organize();
|
|
10500
10577
|
}
|
|
10501
|
-
_loop_3 = function (i) {
|
|
10502
|
-
var enabled = params.tiles[i];
|
|
10503
|
-
var layer = curEnabledArr.find(function (x) { var _a, _b; return ((_a = x._bMeta) === null || _a === void 0 ? void 0 : _a.accountId) === enabled.accountId && ((_b = x._bMeta) === null || _b === void 0 ? void 0 : _b.tilesetId) === enabled.tilesetId; });
|
|
10504
|
-
if (layer) {
|
|
10505
|
-
params.viewer.imageryLayers.raiseToTop(layer);
|
|
10506
|
-
layer.alpha = EnsureNumber(enabled.alpha == null ? 1 : enabled.alpha);
|
|
10507
|
-
layer.brightness = EnsureNumber(enabled.brightness == null ? 1 : enabled.brightness);
|
|
10508
|
-
layer.contrast = EnsureNumber(enabled.contrast == null ? 1 : enabled.contrast);
|
|
10509
|
-
layer.hue = EnsureNumber(enabled.hue == null ? 0 : enabled.hue);
|
|
10510
|
-
layer.saturation = EnsureNumber(enabled.saturation == null ? 1 : enabled.saturation);
|
|
10511
|
-
layer.gamma = EnsureNumber(enabled.gamma == null ? 1 : enabled.gamma);
|
|
10512
|
-
}
|
|
10513
|
-
};
|
|
10514
|
-
for (i = 0; i < params.tiles.length; i++) {
|
|
10515
|
-
_loop_3(i);
|
|
10516
|
-
}
|
|
10517
|
-
params.viewer.scene.requestRender();
|
|
10518
10578
|
return [2 /*return*/];
|
|
10519
10579
|
}
|
|
10520
10580
|
});
|
|
@@ -10571,13 +10631,14 @@
|
|
|
10571
10631
|
function RenderView(params) {
|
|
10572
10632
|
var _a, _b;
|
|
10573
10633
|
return __awaiter(this, void 0, void 0, function () {
|
|
10574
|
-
var api, view, bookmark, vSettings, bSettings, terrainTiles, terrainTile, terrainTileName, i, tile;
|
|
10634
|
+
var iteration, api, view, bookmark, vSettings, bSettings, terrainTiles, terrainTile, terrainTileName, i, tile;
|
|
10575
10635
|
return __generator(this, function (_c) {
|
|
10576
10636
|
switch (_c.label) {
|
|
10577
10637
|
case 0:
|
|
10578
10638
|
if (!params.apiGetter) {
|
|
10579
10639
|
params.apiGetter = bruceModels.ENVIRONMENT.Api().GetBruceGetter();
|
|
10580
10640
|
}
|
|
10641
|
+
iteration = newIteration(params.viewer, "terrain");
|
|
10581
10642
|
api = params.apiGetter.getApi();
|
|
10582
10643
|
return [4 /*yield*/, bruceModels.ProjectView.Get({
|
|
10583
10644
|
api: api,
|
|
@@ -10586,6 +10647,9 @@
|
|
|
10586
10647
|
case 1:
|
|
10587
10648
|
view = (_c.sent()).view;
|
|
10588
10649
|
bookmark = null;
|
|
10650
|
+
if (!assertIteration(params.viewer, iteration)) {
|
|
10651
|
+
return [2 /*return*/];
|
|
10652
|
+
}
|
|
10589
10653
|
if (!params.bookmarkId) return [3 /*break*/, 3];
|
|
10590
10654
|
return [4 /*yield*/, bruceModels.ProjectViewBookmark.Get({
|
|
10591
10655
|
api: api,
|
|
@@ -10594,6 +10658,9 @@
|
|
|
10594
10658
|
})];
|
|
10595
10659
|
case 2:
|
|
10596
10660
|
bookmark = (_c.sent()).bookmark;
|
|
10661
|
+
if (!assertIteration(params.viewer, iteration)) {
|
|
10662
|
+
return [2 /*return*/];
|
|
10663
|
+
}
|
|
10597
10664
|
_c.label = 3;
|
|
10598
10665
|
case 3:
|
|
10599
10666
|
vSettings = view.Settings;
|
|
@@ -10614,6 +10681,9 @@
|
|
|
10614
10681
|
})];
|
|
10615
10682
|
case 4:
|
|
10616
10683
|
_c.sent();
|
|
10684
|
+
if (!assertIteration(params.viewer, iteration)) {
|
|
10685
|
+
return [2 /*return*/];
|
|
10686
|
+
}
|
|
10617
10687
|
for (i = 0; i < terrainTiles.length; i++) {
|
|
10618
10688
|
tile = terrainTiles[i];
|
|
10619
10689
|
if (TileRenderEngine.CompareLegacyNames(tile.Name, terrainTileName)) {
|
|
@@ -10628,6 +10698,9 @@
|
|
|
10628
10698
|
})];
|
|
10629
10699
|
case 5:
|
|
10630
10700
|
_c.sent();
|
|
10701
|
+
if (!assertIteration(params.viewer, iteration)) {
|
|
10702
|
+
return [2 /*return*/];
|
|
10703
|
+
}
|
|
10631
10704
|
_c.label = 6;
|
|
10632
10705
|
case 6:
|
|
10633
10706
|
params.viewer.scene.requestRender();
|
|
@@ -10643,13 +10716,14 @@
|
|
|
10643
10716
|
function Render(params) {
|
|
10644
10717
|
var _a;
|
|
10645
10718
|
return __awaiter(this, void 0, void 0, function () {
|
|
10646
|
-
var enabledMeta, provider_1, leave, defaultTerr, provider, api, tileset, url, vertexes, settings;
|
|
10719
|
+
var iteration, enabledMeta, provider_1, leave, defaultTerr, provider, api, tileset, url, vertexes, settings;
|
|
10647
10720
|
return __generator(this, function (_b) {
|
|
10648
10721
|
switch (_b.label) {
|
|
10649
10722
|
case 0:
|
|
10650
10723
|
if (!params.apiGetter) {
|
|
10651
10724
|
params.apiGetter = bruceModels.ENVIRONMENT.Api().GetBruceGetter();
|
|
10652
10725
|
}
|
|
10726
|
+
iteration = newIteration(params.viewer, "terrain");
|
|
10653
10727
|
enabledMeta = (_a = params.viewer.terrainProvider) === null || _a === void 0 ? void 0 : _a._bMeta;
|
|
10654
10728
|
if ((enabledMeta === null || enabledMeta === void 0 ? void 0 : enabledMeta.tilesetId) === params.tile.tilesetId &&
|
|
10655
10729
|
(enabledMeta === null || enabledMeta === void 0 ? void 0 : enabledMeta.accountId) === params.tile.accountId) {
|
|
@@ -10663,8 +10737,9 @@
|
|
|
10663
10737
|
provider_1 instanceof Cesium.EllipsoidTerrainProvider) {
|
|
10664
10738
|
leave = true;
|
|
10665
10739
|
}
|
|
10666
|
-
// TODO:
|
|
10740
|
+
// TODO: Also check for "cesium world terrain" if we can easily determine that it's enabled.
|
|
10667
10741
|
if (leave) {
|
|
10742
|
+
// Mark it so we don't have to do this magic logic again.
|
|
10668
10743
|
provider_1._bMeta = {
|
|
10669
10744
|
tilesetId: params.tile.tilesetId,
|
|
10670
10745
|
accountId: params.tile.accountId
|
|
@@ -10690,12 +10765,18 @@
|
|
|
10690
10765
|
// When loading stuff in the same account as the default it's likely already loaded,
|
|
10691
10766
|
// but if we just made an API instance for some external account then it won't be loaded yet.
|
|
10692
10767
|
_b.sent();
|
|
10768
|
+
if (!assertIteration(params.viewer, iteration)) {
|
|
10769
|
+
return [2 /*return*/];
|
|
10770
|
+
}
|
|
10693
10771
|
return [4 /*yield*/, bruceModels.Tileset.Get({
|
|
10694
10772
|
api: api,
|
|
10695
10773
|
tilesetId: params.tile.tilesetId
|
|
10696
10774
|
})];
|
|
10697
10775
|
case 4:
|
|
10698
10776
|
tileset = (_b.sent()).tileset;
|
|
10777
|
+
if (!assertIteration(params.viewer, iteration)) {
|
|
10778
|
+
return [2 /*return*/];
|
|
10779
|
+
}
|
|
10699
10780
|
url = void 0;
|
|
10700
10781
|
vertexes = true;
|
|
10701
10782
|
if (tileset.type === bruceModels.Tileset.EType.Terrain) {
|
|
@@ -10820,6 +10901,14 @@
|
|
|
10820
10901
|
}
|
|
10821
10902
|
};
|
|
10822
10903
|
}
|
|
10904
|
+
else if (provider instanceof Cesium.EllipsoidTerrainProvider) {
|
|
10905
|
+
return {
|
|
10906
|
+
terrain: {
|
|
10907
|
+
tilesetId: bruceModels.ProjectViewTile.EDefaultTerrain.FlatTerrain,
|
|
10908
|
+
accountId: null
|
|
10909
|
+
}
|
|
10910
|
+
};
|
|
10911
|
+
}
|
|
10823
10912
|
return null;
|
|
10824
10913
|
}
|
|
10825
10914
|
ViewUtils.GatherTerrainTile = GatherTerrainTile;
|
|
@@ -11235,13 +11324,34 @@
|
|
|
11235
11324
|
var MIN_SHADOW_SIZE = 2048;
|
|
11236
11325
|
var MAX_SHADOW_SIZE = 32768;
|
|
11237
11326
|
var RELATION_MENU_ITEM_ID = "BOOKMARK_ENTITY_RELATIONS";
|
|
11327
|
+
// Used to track if a current in-progress render is the latest.
|
|
11328
|
+
// If we're midway through an async function that is rendering a bookmark and this changes, then we stop the function.
|
|
11329
|
+
var ITERATION_KEY$1 = "nextspace-view-render-engine-iteration";
|
|
11330
|
+
/**
|
|
11331
|
+
* Creates a new iteration state.
|
|
11332
|
+
* This will stop any existing renders from processing to their end.
|
|
11333
|
+
* @param viewer
|
|
11334
|
+
* @returns
|
|
11335
|
+
*/
|
|
11336
|
+
function newIteration$1(viewer) {
|
|
11337
|
+
viewer[ITERATION_KEY$1] = bruceModels.ObjectUtils.UId();
|
|
11338
|
+
return viewer[ITERATION_KEY$1];
|
|
11339
|
+
}
|
|
11340
|
+
/**
|
|
11341
|
+
* Checks if a given iteration is still the active one for a given viewer.
|
|
11342
|
+
* @param viewer
|
|
11343
|
+
* @param iteration
|
|
11344
|
+
*/
|
|
11345
|
+
function assertIteration$1(viewer, iteration) {
|
|
11346
|
+
return viewer[ITERATION_KEY$1] == iteration;
|
|
11347
|
+
}
|
|
11238
11348
|
/**
|
|
11239
11349
|
* Renders DATA_VERSION = 1 navigator.
|
|
11240
11350
|
* @param params
|
|
11241
11351
|
* @param bookmark
|
|
11242
11352
|
* @param view
|
|
11243
11353
|
*/
|
|
11244
|
-
function renderLegacyNavigator(params, bookmark, view) {
|
|
11354
|
+
function renderLegacyNavigator(iteration, params, bookmark, view) {
|
|
11245
11355
|
var _a, _b, _c, _d, _e;
|
|
11246
11356
|
return __awaiter(this, void 0, void 0, function () {
|
|
11247
11357
|
var vSettings, bSettings, manager, VR, scene, baseColor, frustum, curFrustum, camera, pos, go, fxaa, pointer, clock, timeStr, enabledItems, newItemIds, _i, enabledItems_1, id, menuItem;
|
|
@@ -11261,15 +11371,17 @@
|
|
|
11261
11371
|
})];
|
|
11262
11372
|
case 1:
|
|
11263
11373
|
_f.sent();
|
|
11264
|
-
|
|
11265
|
-
|
|
11266
|
-
|
|
11267
|
-
|
|
11268
|
-
|
|
11269
|
-
|
|
11270
|
-
|
|
11271
|
-
|
|
11272
|
-
|
|
11374
|
+
if (!assertIteration$1(params.viewer, iteration)) {
|
|
11375
|
+
return [2 /*return*/];
|
|
11376
|
+
}
|
|
11377
|
+
// We don't wait for imageries to load, this does not affect rendering other things.
|
|
11378
|
+
exports.TileRenderEngine.Map.LegacyNavigator.RenderView({
|
|
11379
|
+
apiGetter: params.apiGetter,
|
|
11380
|
+
bookmarkId: params.bookmarkId,
|
|
11381
|
+
viewer: manager.Viewer,
|
|
11382
|
+
viewId: params.viewId,
|
|
11383
|
+
ignoreIds: []
|
|
11384
|
+
});
|
|
11273
11385
|
baseColor = bSettings === null || bSettings === void 0 ? void 0 : bSettings.globeColor;
|
|
11274
11386
|
if (baseColor == null) {
|
|
11275
11387
|
// TODO: Need global default.
|
|
@@ -11343,7 +11455,7 @@
|
|
|
11343
11455
|
});
|
|
11344
11456
|
}
|
|
11345
11457
|
}
|
|
11346
|
-
if (!bookmark) return [3 /*break*/,
|
|
11458
|
+
if (!bookmark) return [3 /*break*/, 3];
|
|
11347
11459
|
return [4 /*yield*/, exports.MenuItemCreator.RenderBookmarkItems({
|
|
11348
11460
|
apiGetter: params.apiGetter,
|
|
11349
11461
|
getters: params.getters,
|
|
@@ -11351,11 +11463,14 @@
|
|
|
11351
11463
|
view: view,
|
|
11352
11464
|
bookmark: bookmark
|
|
11353
11465
|
})];
|
|
11354
|
-
case
|
|
11466
|
+
case 2:
|
|
11355
11467
|
_f.sent();
|
|
11356
|
-
|
|
11357
|
-
|
|
11358
|
-
|
|
11468
|
+
if (!assertIteration$1(params.viewer, iteration)) {
|
|
11469
|
+
return [2 /*return*/];
|
|
11470
|
+
}
|
|
11471
|
+
_f.label = 3;
|
|
11472
|
+
case 3:
|
|
11473
|
+
if (!((_e = bSettings === null || bSettings === void 0 ? void 0 : bSettings.drawnRelationEntityIDs) === null || _e === void 0 ? void 0 : _e.length)) return [3 /*break*/, 5];
|
|
11359
11474
|
menuItem = {
|
|
11360
11475
|
id: RELATION_MENU_ITEM_ID,
|
|
11361
11476
|
Caption: "Entity relations",
|
|
@@ -11369,10 +11484,13 @@
|
|
|
11369
11484
|
getters: params.getters,
|
|
11370
11485
|
item: menuItem
|
|
11371
11486
|
})];
|
|
11372
|
-
case
|
|
11487
|
+
case 4:
|
|
11373
11488
|
_f.sent();
|
|
11374
|
-
|
|
11375
|
-
|
|
11489
|
+
if (!assertIteration$1(params.viewer, iteration)) {
|
|
11490
|
+
return [2 /*return*/];
|
|
11491
|
+
}
|
|
11492
|
+
_f.label = 5;
|
|
11493
|
+
case 5: return [2 /*return*/];
|
|
11376
11494
|
}
|
|
11377
11495
|
});
|
|
11378
11496
|
});
|
|
@@ -11383,7 +11501,7 @@
|
|
|
11383
11501
|
* @param bookmark
|
|
11384
11502
|
* @param view
|
|
11385
11503
|
*/
|
|
11386
|
-
function renderNavigator(params, bookmark, view) {
|
|
11504
|
+
function renderNavigator(iteration, params, bookmark, view) {
|
|
11387
11505
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5;
|
|
11388
11506
|
return __awaiter(this, void 0, void 0, function () {
|
|
11389
11507
|
var viewer, scene, vSettings, bSettings, defaults, camera, newLens, shouldBe2d, curIs2d, transition, pos, terrain, hillShades, baseColor, globeHidden, terrainWireframe, globeAlpha, shadows, size, ambientOcclusion, AO, lighting, light, quality, fxaa, dateTime, clock, selectedIds, hiddenIds, isolatedIds, entityOpacityMap, entityId, opacity, imagery, renderedRelationEntityIds, curEnabled, newItemIds, _i, curEnabled_1, id, menuItem, gOcclusion;
|
|
@@ -11449,6 +11567,9 @@
|
|
|
11449
11567
|
})];
|
|
11450
11568
|
case 1:
|
|
11451
11569
|
_6.sent();
|
|
11570
|
+
if (!assertIteration$1(params.viewer, iteration)) {
|
|
11571
|
+
return [2 /*return*/];
|
|
11572
|
+
}
|
|
11452
11573
|
_6.label = 2;
|
|
11453
11574
|
case 2:
|
|
11454
11575
|
hillShades = (_o = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _o === void 0 ? void 0 : _o.hillShades;
|
|
@@ -11647,13 +11768,12 @@
|
|
|
11647
11768
|
}
|
|
11648
11769
|
];
|
|
11649
11770
|
}
|
|
11650
|
-
|
|
11651
|
-
|
|
11652
|
-
|
|
11653
|
-
|
|
11654
|
-
|
|
11655
|
-
|
|
11656
|
-
_6.sent();
|
|
11771
|
+
// We don't wait for imageries to load, this does not affect rendering other things.
|
|
11772
|
+
exports.TileRenderEngine.Map.Navigator.Render({
|
|
11773
|
+
apiGetter: params.apiGetter,
|
|
11774
|
+
tiles: imagery,
|
|
11775
|
+
viewer: params.manager.Viewer,
|
|
11776
|
+
});
|
|
11657
11777
|
renderedRelationEntityIds = bSettings === null || bSettings === void 0 ? void 0 : bSettings.renderedEntityRelations;
|
|
11658
11778
|
if (!renderedRelationEntityIds) {
|
|
11659
11779
|
renderedRelationEntityIds = [];
|
|
@@ -11669,18 +11789,21 @@
|
|
|
11669
11789
|
});
|
|
11670
11790
|
}
|
|
11671
11791
|
}
|
|
11672
|
-
if (!bookmark) return [3 /*break*/,
|
|
11792
|
+
if (!bookmark) return [3 /*break*/, 4];
|
|
11673
11793
|
return [4 /*yield*/, exports.MenuItemCreator.RenderBookmarkItems({
|
|
11674
11794
|
getters: params.getters,
|
|
11675
11795
|
manager: params.manager,
|
|
11676
11796
|
view: view,
|
|
11677
11797
|
bookmark: bookmark
|
|
11678
11798
|
})];
|
|
11679
|
-
case
|
|
11799
|
+
case 3:
|
|
11680
11800
|
_6.sent();
|
|
11681
|
-
|
|
11682
|
-
|
|
11683
|
-
|
|
11801
|
+
if (!assertIteration$1(params.viewer, iteration)) {
|
|
11802
|
+
return [2 /*return*/];
|
|
11803
|
+
}
|
|
11804
|
+
_6.label = 4;
|
|
11805
|
+
case 4:
|
|
11806
|
+
if (!(renderedRelationEntityIds.length > 0)) return [3 /*break*/, 6];
|
|
11684
11807
|
menuItem = {
|
|
11685
11808
|
id: RELATION_MENU_ITEM_ID,
|
|
11686
11809
|
Caption: "Entity relations",
|
|
@@ -11693,10 +11816,13 @@
|
|
|
11693
11816
|
getters: params.getters,
|
|
11694
11817
|
item: menuItem
|
|
11695
11818
|
})];
|
|
11696
|
-
case
|
|
11819
|
+
case 5:
|
|
11697
11820
|
_6.sent();
|
|
11698
|
-
|
|
11699
|
-
|
|
11821
|
+
if (!assertIteration$1(params.viewer, iteration)) {
|
|
11822
|
+
return [2 /*return*/];
|
|
11823
|
+
}
|
|
11824
|
+
_6.label = 6;
|
|
11825
|
+
case 6:
|
|
11700
11826
|
gOcclusion = bSettings === null || bSettings === void 0 ? void 0 : bSettings.groundOcclusion;
|
|
11701
11827
|
if (gOcclusion == null) {
|
|
11702
11828
|
gOcclusion = (_5 = defaults === null || defaults === void 0 ? void 0 : defaults.settings) === null || _5 === void 0 ? void 0 : _5.groundOcclusion;
|
|
@@ -11715,7 +11841,7 @@
|
|
|
11715
11841
|
function Render(params) {
|
|
11716
11842
|
var _a;
|
|
11717
11843
|
return __awaiter(this, void 0, void 0, function () {
|
|
11718
|
-
var api, view, _b, bookmark, bookmarkId, _c, version, bWidget;
|
|
11844
|
+
var iteration, api, view, _b, bookmark, bookmarkId, _c, version, bWidget;
|
|
11719
11845
|
return __generator(this, function (_d) {
|
|
11720
11846
|
switch (_d.label) {
|
|
11721
11847
|
case 0:
|
|
@@ -11728,6 +11854,7 @@
|
|
|
11728
11854
|
else if (!params.viewer && params.manager) {
|
|
11729
11855
|
params.viewer = params.manager.Viewer;
|
|
11730
11856
|
}
|
|
11857
|
+
iteration = newIteration$1(params.viewer);
|
|
11731
11858
|
if (!params.getters) {
|
|
11732
11859
|
params.getters = bruceModels.ENVIRONMENT.Api();
|
|
11733
11860
|
}
|
|
@@ -11772,17 +11899,23 @@
|
|
|
11772
11899
|
bookmark = _c;
|
|
11773
11900
|
_d.label = 7;
|
|
11774
11901
|
case 7:
|
|
11902
|
+
if (!assertIteration$1(params.viewer, iteration)) {
|
|
11903
|
+
return [2 /*return*/];
|
|
11904
|
+
}
|
|
11775
11905
|
version = view.DataVersion;
|
|
11776
11906
|
if (!(version == 1)) return [3 /*break*/, 9];
|
|
11777
|
-
return [4 /*yield*/, renderLegacyNavigator(params, bookmark, view)];
|
|
11907
|
+
return [4 /*yield*/, renderLegacyNavigator(iteration, params, bookmark, view)];
|
|
11778
11908
|
case 8:
|
|
11779
11909
|
_d.sent();
|
|
11780
11910
|
return [3 /*break*/, 11];
|
|
11781
|
-
case 9: return [4 /*yield*/, renderNavigator(params, bookmark, view)];
|
|
11911
|
+
case 9: return [4 /*yield*/, renderNavigator(iteration, params, bookmark, view)];
|
|
11782
11912
|
case 10:
|
|
11783
11913
|
_d.sent();
|
|
11784
11914
|
_d.label = 11;
|
|
11785
11915
|
case 11:
|
|
11916
|
+
if (!assertIteration$1(params.viewer, iteration)) {
|
|
11917
|
+
return [2 /*return*/];
|
|
11918
|
+
}
|
|
11786
11919
|
bWidget = (_a = params.viewer) === null || _a === void 0 ? void 0 : _a[VIEWER_BOOKMARKS_WIDGET_KEY];
|
|
11787
11920
|
if (bWidget) {
|
|
11788
11921
|
bWidget.ViewId = params.viewId ? params.viewId : view === null || view === void 0 ? void 0 : view.ID;
|
|
@@ -14604,7 +14737,7 @@
|
|
|
14604
14737
|
ViewerUtils.CreateWidgets = CreateWidgets;
|
|
14605
14738
|
})(exports.ViewerUtils || (exports.ViewerUtils = {}));
|
|
14606
14739
|
|
|
14607
|
-
var VERSION$1 = "2.4.
|
|
14740
|
+
var VERSION$1 = "2.4.9";
|
|
14608
14741
|
|
|
14609
14742
|
exports.VERSION = VERSION$1;
|
|
14610
14743
|
exports.CesiumViewMonitor = CesiumViewMonitor;
|