bruce-cesium 6.8.0 → 6.8.2
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 +631 -257
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +629 -255
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/bruce-cesium.js +1 -1
- package/dist/lib/rendering/menu-item-manager.js +20 -5
- package/dist/lib/rendering/menu-item-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/entities/entities-datalab-render-manager.js +60 -1
- package/dist/lib/rendering/render-managers/entities/entities-datalab-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +126 -42
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +18 -13
- package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js +9 -8
- package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-google-photos-render-manager.js +39 -23
- package/dist/lib/rendering/render-managers/tilesets/tileset-google-photos-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js +149 -73
- package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-pointcloud-render-manager.js +30 -0
- package/dist/lib/rendering/render-managers/tilesets/tileset-pointcloud-render-manager.js.map +1 -1
- package/dist/lib/rendering/visual-register-culler.js +1 -1
- package/dist/lib/rendering/visual-register-culler.js.map +1 -1
- package/dist/lib/rendering/visuals-register.js +176 -88
- package/dist/lib/rendering/visuals-register.js.map +1 -1
- package/dist/types/bruce-cesium.d.ts +1 -1
- package/dist/types/rendering/render-managers/entities/entities-datalab-render-manager.d.ts +6 -1
- package/dist/types/rendering/render-managers/entities/entities-render-manager.d.ts +6 -1
- package/dist/types/rendering/render-managers/tilesets/tileset-cad-render-manager.d.ts +1 -1
- package/dist/types/rendering/render-managers/tilesets/tileset-entities-render-manager.d.ts +1 -1
- package/dist/types/rendering/render-managers/tilesets/tileset-google-photos-render-manager.d.ts +6 -1
- package/dist/types/rendering/render-managers/tilesets/tileset-osm-render-manager.d.ts +6 -1
- package/dist/types/rendering/render-managers/tilesets/tileset-pointcloud-render-manager.d.ts +5 -1
- package/dist/types/rendering/visuals-register.d.ts +17 -12
- package/package.json +8 -11
package/dist/bruce-cesium.umd.js
CHANGED
|
@@ -6132,7 +6132,7 @@
|
|
|
6132
6132
|
terrChangeRemoval = null;
|
|
6133
6133
|
clearTimeout(terrChangeTimeout);
|
|
6134
6134
|
terrChangeTimeout = null;
|
|
6135
|
-
checkInterval
|
|
6135
|
+
clearInterval(checkInterval);
|
|
6136
6136
|
checkInterval = null;
|
|
6137
6137
|
checkWaiting = false;
|
|
6138
6138
|
checkQueue === null || checkQueue === void 0 ? void 0 : checkQueue.Dispose();
|
|
@@ -6528,6 +6528,7 @@
|
|
|
6528
6528
|
// skipped by the applier so a live user action always wins.
|
|
6529
6529
|
this.lazyOverrideExclusions = new Set();
|
|
6530
6530
|
this.lazyOverrideInterval = null;
|
|
6531
|
+
this.activeChunkedIntervals = new Set();
|
|
6531
6532
|
this.onUpdate = null;
|
|
6532
6533
|
// Entity ID -> Menu Item ID -> State.
|
|
6533
6534
|
// When no Menu Item ID is set, then the second key is a blank string.
|
|
@@ -7124,6 +7125,31 @@
|
|
|
7124
7125
|
}
|
|
7125
7126
|
this.viewer.scene.requestRender();
|
|
7126
7127
|
}
|
|
7128
|
+
runChunked(items, perItem, onComplete) {
|
|
7129
|
+
const BATCH_SIZE = 5000;
|
|
7130
|
+
let index = 0;
|
|
7131
|
+
const interval = setInterval(() => {
|
|
7132
|
+
if (this.Disposed) {
|
|
7133
|
+
clearInterval(interval);
|
|
7134
|
+
this.activeChunkedIntervals.delete(interval);
|
|
7135
|
+
return;
|
|
7136
|
+
}
|
|
7137
|
+
const end = Math.min(index + BATCH_SIZE, items.length);
|
|
7138
|
+
for (; index < end; index++) {
|
|
7139
|
+
perItem(items[index]);
|
|
7140
|
+
}
|
|
7141
|
+
this.viewer.scene.requestRender();
|
|
7142
|
+
if (index >= items.length) {
|
|
7143
|
+
clearInterval(interval);
|
|
7144
|
+
this.activeChunkedIntervals.delete(interval);
|
|
7145
|
+
onComplete === null || onComplete === void 0 ? void 0 : onComplete();
|
|
7146
|
+
}
|
|
7147
|
+
}, 10);
|
|
7148
|
+
this.activeChunkedIntervals.add(interval);
|
|
7149
|
+
}
|
|
7150
|
+
startLazyRemoval(entityIds, removeOne, onComplete) {
|
|
7151
|
+
this.runChunked(entityIds, removeOne, onComplete);
|
|
7152
|
+
}
|
|
7127
7153
|
/**
|
|
7128
7154
|
* Cancels any in-flight lazy OverrideStates() apply.
|
|
7129
7155
|
*/
|
|
@@ -7196,9 +7222,7 @@
|
|
|
7196
7222
|
}, 10);
|
|
7197
7223
|
}
|
|
7198
7224
|
/**
|
|
7199
|
-
* Returns all states
|
|
7200
|
-
* This is a utility function for returning settings for apps that don't support the newer state settings.
|
|
7201
|
-
* @deprecated Use GetStates() or GetState().
|
|
7225
|
+
* Returns all states keyed by entity id, without regard to menu item id.
|
|
7202
7226
|
* @returns
|
|
7203
7227
|
*/
|
|
7204
7228
|
GetStatesLegacy() {
|
|
@@ -7224,7 +7248,7 @@
|
|
|
7224
7248
|
const entityId = entityIds[i];
|
|
7225
7249
|
const state = this.GetState({
|
|
7226
7250
|
entityId: entityId,
|
|
7227
|
-
//
|
|
7251
|
+
// Most-recently-set Menu Item for this entity, if any.
|
|
7228
7252
|
menuItemId: entityIdsMenuItem[entityId]
|
|
7229
7253
|
});
|
|
7230
7254
|
states[entityId] = state;
|
|
@@ -7280,6 +7304,10 @@
|
|
|
7280
7304
|
clearInterval(this.lazyOverrideInterval);
|
|
7281
7305
|
this.lazyOverrideInterval = null;
|
|
7282
7306
|
this.lazyOverrideActive = false;
|
|
7307
|
+
for (const interval of this.activeChunkedIntervals) {
|
|
7308
|
+
clearInterval(interval);
|
|
7309
|
+
}
|
|
7310
|
+
this.activeChunkedIntervals.clear();
|
|
7283
7311
|
this.disposed = true;
|
|
7284
7312
|
}
|
|
7285
7313
|
ForceUpdate(params) {
|
|
@@ -7370,8 +7398,7 @@
|
|
|
7370
7398
|
}
|
|
7371
7399
|
}
|
|
7372
7400
|
/**
|
|
7373
|
-
* Returns all labelled entity ids.
|
|
7374
|
-
* @deprecated Use GetStates() or GetState().
|
|
7401
|
+
* Returns all labelled entity ids, without regard to menu item id.
|
|
7375
7402
|
*/
|
|
7376
7403
|
GetLabelled() {
|
|
7377
7404
|
const labelledIds = [];
|
|
@@ -7522,7 +7549,7 @@
|
|
|
7522
7549
|
}
|
|
7523
7550
|
}
|
|
7524
7551
|
/**
|
|
7525
|
-
*
|
|
7552
|
+
* Returns all selected entity ids, without regard to menu item id.
|
|
7526
7553
|
* @returns
|
|
7527
7554
|
*/
|
|
7528
7555
|
GetSelected() {
|
|
@@ -7657,7 +7684,7 @@
|
|
|
7657
7684
|
}
|
|
7658
7685
|
}
|
|
7659
7686
|
/**
|
|
7660
|
-
*
|
|
7687
|
+
* Returns all highlighted entity ids, without regard to menu item id.
|
|
7661
7688
|
* @returns
|
|
7662
7689
|
*/
|
|
7663
7690
|
GetHighlighted() {
|
|
@@ -7718,7 +7745,7 @@
|
|
|
7718
7745
|
return this.isolatedAnyCache;
|
|
7719
7746
|
}
|
|
7720
7747
|
/**
|
|
7721
|
-
*
|
|
7748
|
+
* Returns all isolated entity ids, without regard to menu item id.
|
|
7722
7749
|
* @returns
|
|
7723
7750
|
*/
|
|
7724
7751
|
GetIsolated() {
|
|
@@ -7776,7 +7803,7 @@
|
|
|
7776
7803
|
return state.hidden === true;
|
|
7777
7804
|
}
|
|
7778
7805
|
/**
|
|
7779
|
-
*
|
|
7806
|
+
* Returns all hidden entity ids, without regard to menu item id.
|
|
7780
7807
|
* @returns
|
|
7781
7808
|
*/
|
|
7782
7809
|
GetHidden() {
|
|
@@ -7863,8 +7890,8 @@
|
|
|
7863
7890
|
* Re-parents every rego registered under one menu item id to a different menu item id.
|
|
7864
7891
|
*/
|
|
7865
7892
|
ReassignMenuItem(params) {
|
|
7866
|
-
var _a
|
|
7867
|
-
const { fromMenuItemId, toMenuItemId, toMenuItemType, toPriority, requestRender, source } = params;
|
|
7893
|
+
var _a;
|
|
7894
|
+
const { fromMenuItemId, toMenuItemId, toMenuItemType, toPriority, requestRender, source, lazy, onBatch, onComplete } = params;
|
|
7868
7895
|
if (!fromMenuItemId || !toMenuItemId || fromMenuItemId === toMenuItemId) {
|
|
7869
7896
|
return;
|
|
7870
7897
|
}
|
|
@@ -7872,37 +7899,44 @@
|
|
|
7872
7899
|
if (!entityIds) {
|
|
7873
7900
|
return;
|
|
7874
7901
|
}
|
|
7875
|
-
|
|
7876
|
-
|
|
7902
|
+
const idsSnapshot = Array.from(entityIds);
|
|
7903
|
+
const regoSnapshot = new Map();
|
|
7904
|
+
for (const entityId of idsSnapshot) {
|
|
7905
|
+
const snapRego = (_a = this.rego[entityId]) === null || _a === void 0 ? void 0 : _a.find(r => r.menuItemId === fromMenuItemId);
|
|
7906
|
+
if (snapRego) {
|
|
7907
|
+
regoSnapshot.set(entityId, snapRego);
|
|
7908
|
+
}
|
|
7909
|
+
}
|
|
7910
|
+
const reassignOne = (entityId) => {
|
|
7911
|
+
var _a, _b;
|
|
7877
7912
|
const regos = this.rego[entityId];
|
|
7878
7913
|
if (!regos) {
|
|
7879
|
-
|
|
7914
|
+
return null;
|
|
7880
7915
|
}
|
|
7881
|
-
|
|
7882
|
-
|
|
7883
|
-
|
|
7884
|
-
|
|
7885
|
-
|
|
7886
|
-
|
|
7887
|
-
|
|
7888
|
-
|
|
7889
|
-
|
|
7890
|
-
|
|
7891
|
-
|
|
7892
|
-
|
|
7893
|
-
|
|
7894
|
-
|
|
7895
|
-
|
|
7896
|
-
|
|
7897
|
-
|
|
7898
|
-
|
|
7899
|
-
|
|
7900
|
-
|
|
7901
|
-
|
|
7902
|
-
|
|
7903
|
-
|
|
7904
|
-
|
|
7905
|
-
}
|
|
7916
|
+
const rego = regos.find(r => r.menuItemId === fromMenuItemId);
|
|
7917
|
+
if (!rego || rego !== regoSnapshot.get(entityId)) {
|
|
7918
|
+
return null;
|
|
7919
|
+
}
|
|
7920
|
+
if (source !== EUpdateSource.TREE_CASCADE) {
|
|
7921
|
+
(_a = this.onUpdate) === null || _a === void 0 ? void 0 : _a.Trigger({
|
|
7922
|
+
type: EVisualUpdateType.Remove,
|
|
7923
|
+
entityId,
|
|
7924
|
+
rego: { ...rego, menuItemId: fromMenuItemId },
|
|
7925
|
+
source
|
|
7926
|
+
});
|
|
7927
|
+
}
|
|
7928
|
+
rego.menuItemId = toMenuItemId;
|
|
7929
|
+
rego.menuItemType = toMenuItemType;
|
|
7930
|
+
if (toPriority != null) {
|
|
7931
|
+
rego.priority = toPriority;
|
|
7932
|
+
}
|
|
7933
|
+
if (source !== EUpdateSource.TREE_CASCADE) {
|
|
7934
|
+
(_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({
|
|
7935
|
+
type: EVisualUpdateType.Add,
|
|
7936
|
+
entityId,
|
|
7937
|
+
rego,
|
|
7938
|
+
source
|
|
7939
|
+
});
|
|
7906
7940
|
}
|
|
7907
7941
|
const eStates = this.states[entityId];
|
|
7908
7942
|
const movingState = eStates === null || eStates === void 0 ? void 0 : eStates[fromMenuItemId];
|
|
@@ -7922,11 +7956,50 @@
|
|
|
7922
7956
|
entityId,
|
|
7923
7957
|
refresh: true
|
|
7924
7958
|
});
|
|
7959
|
+
return rego;
|
|
7960
|
+
};
|
|
7961
|
+
if (lazy) {
|
|
7962
|
+
this.startLazyReassign(idsSnapshot, reassignOne, requestRender, onBatch, onComplete);
|
|
7963
|
+
return;
|
|
7964
|
+
}
|
|
7965
|
+
for (const entityId of idsSnapshot) {
|
|
7966
|
+
reassignOne(entityId);
|
|
7925
7967
|
}
|
|
7926
7968
|
if (requestRender != false) {
|
|
7927
7969
|
this.viewer.scene.requestRender();
|
|
7928
7970
|
}
|
|
7929
7971
|
}
|
|
7972
|
+
startLazyReassign(entityIds, reassignOne, requestRender, onBatch, onComplete) {
|
|
7973
|
+
const BATCH_SIZE = 5000;
|
|
7974
|
+
let index = 0;
|
|
7975
|
+
const interval = setInterval(() => {
|
|
7976
|
+
if (this.Disposed) {
|
|
7977
|
+
clearInterval(interval);
|
|
7978
|
+
this.activeChunkedIntervals.delete(interval);
|
|
7979
|
+
return;
|
|
7980
|
+
}
|
|
7981
|
+
const end = Math.min(index + BATCH_SIZE, entityIds.length);
|
|
7982
|
+
const batch = [];
|
|
7983
|
+
for (; index < end; index++) {
|
|
7984
|
+
const rego = reassignOne(entityIds[index]);
|
|
7985
|
+
if (rego) {
|
|
7986
|
+
batch.push(rego);
|
|
7987
|
+
}
|
|
7988
|
+
}
|
|
7989
|
+
if (batch.length) {
|
|
7990
|
+
onBatch === null || onBatch === void 0 ? void 0 : onBatch(batch);
|
|
7991
|
+
}
|
|
7992
|
+
if (requestRender != false) {
|
|
7993
|
+
this.viewer.scene.requestRender();
|
|
7994
|
+
}
|
|
7995
|
+
if (index >= entityIds.length) {
|
|
7996
|
+
clearInterval(interval);
|
|
7997
|
+
this.activeChunkedIntervals.delete(interval);
|
|
7998
|
+
onComplete === null || onComplete === void 0 ? void 0 : onComplete();
|
|
7999
|
+
}
|
|
8000
|
+
}, 10);
|
|
8001
|
+
this.activeChunkedIntervals.add(interval);
|
|
8002
|
+
}
|
|
7930
8003
|
/**
|
|
7931
8004
|
* Locates a visual corresponding to a given entity id.
|
|
7932
8005
|
* If no menu item id is provided, then it will pick the "best" one.
|
|
@@ -7969,6 +8042,7 @@
|
|
|
7969
8042
|
GetRegos(params) {
|
|
7970
8043
|
// TODO: refactor.
|
|
7971
8044
|
// Currently this was made by merging two functions.
|
|
8045
|
+
var _a;
|
|
7972
8046
|
const { entityId, menuItemId, styleId, styleEffectiveFilter } = params;
|
|
7973
8047
|
const matchesStyleFilters = (rego) => {
|
|
7974
8048
|
if (styleId != null && rego.styleId !== styleId) {
|
|
@@ -7992,10 +8066,10 @@
|
|
|
7992
8066
|
}
|
|
7993
8067
|
else if (menuItemId) {
|
|
7994
8068
|
const visuals = [];
|
|
7995
|
-
|
|
7996
|
-
|
|
7997
|
-
|
|
7998
|
-
const rego =
|
|
8069
|
+
const eIds = this.entityIdsByMenuItem[menuItemId];
|
|
8070
|
+
if (eIds) {
|
|
8071
|
+
for (const eId of eIds) {
|
|
8072
|
+
const rego = (_a = this.rego[eId]) === null || _a === void 0 ? void 0 : _a.find(r => r.menuItemId === menuItemId);
|
|
7999
8073
|
if (rego && matchesStyleFilters(rego)) {
|
|
8000
8074
|
visuals.push(rego);
|
|
8001
8075
|
}
|
|
@@ -8027,7 +8101,7 @@
|
|
|
8027
8101
|
*/
|
|
8028
8102
|
RemoveRegos(params) {
|
|
8029
8103
|
var _a, _b, _c;
|
|
8030
|
-
let { entityId, menuItemId, doUpdate, relation, retainTagIds, requestRender, doRemove, source } = params;
|
|
8104
|
+
let { entityId, menuItemId, doUpdate, relation, retainTagIds, requestRender, doRemove, source, lazy, onComplete } = params;
|
|
8031
8105
|
if (doUpdate == null || doUpdate === undefined) {
|
|
8032
8106
|
doUpdate = true;
|
|
8033
8107
|
}
|
|
@@ -8038,50 +8112,65 @@
|
|
|
8038
8112
|
// Currently this was made by merging two functions.
|
|
8039
8113
|
if (menuItemId && !entityId) {
|
|
8040
8114
|
// Entities registered under this menu item, keyed via entityIdsByMenuItem.
|
|
8041
|
-
// Snapshot to an array since removals below mutate the backing set.
|
|
8042
8115
|
const entityIds = this.entityIdsByMenuItem[menuItemId] ? Array.from(this.entityIdsByMenuItem[menuItemId]) : [];
|
|
8043
|
-
|
|
8116
|
+
const regoSnapshot = new Map();
|
|
8117
|
+
for (const snapEntityId of entityIds) {
|
|
8118
|
+
const snapRego = (_a = this.rego[snapEntityId]) === null || _a === void 0 ? void 0 : _a.find(r => r.menuItemId === menuItemId);
|
|
8119
|
+
if (snapRego) {
|
|
8120
|
+
regoSnapshot.set(snapEntityId, snapRego);
|
|
8121
|
+
}
|
|
8122
|
+
}
|
|
8123
|
+
const removeOne = (entityId) => {
|
|
8124
|
+
var _a;
|
|
8044
8125
|
const entityRegos = this.rego[entityId];
|
|
8045
|
-
if (entityRegos) {
|
|
8046
|
-
|
|
8047
|
-
|
|
8048
|
-
|
|
8049
|
-
|
|
8050
|
-
|
|
8051
|
-
|
|
8052
|
-
|
|
8053
|
-
|
|
8054
|
-
|
|
8055
|
-
|
|
8056
|
-
|
|
8126
|
+
if (!entityRegos) {
|
|
8127
|
+
return;
|
|
8128
|
+
}
|
|
8129
|
+
const rego = entityRegos.find(r => r.menuItemId === menuItemId);
|
|
8130
|
+
if (!rego || rego !== regoSnapshot.get(entityId)) {
|
|
8131
|
+
return;
|
|
8132
|
+
}
|
|
8133
|
+
const regoTagIds = rego.tagIds ? rego.tagIds : [];
|
|
8134
|
+
const shouldRetain = regoTagIds.some(tagId => retainTagIds.includes(tagId));
|
|
8135
|
+
if (shouldRetain) {
|
|
8136
|
+
return;
|
|
8137
|
+
}
|
|
8138
|
+
exports.EntityLabel.Detatch({
|
|
8139
|
+
rego
|
|
8140
|
+
});
|
|
8141
|
+
if (doRemove != false) {
|
|
8142
|
+
removeEntity(this.viewer, rego.visual);
|
|
8143
|
+
}
|
|
8144
|
+
rego.visual = null;
|
|
8145
|
+
const doesInclude = this.rego[entityId].find(r => r.menuItemId === menuItemId);
|
|
8146
|
+
if (doesInclude) {
|
|
8147
|
+
this.rego[entityId] = entityRegos.filter(r => r.menuItemId !== menuItemId);
|
|
8148
|
+
this.unindexMenuItemEntityIfAbsent(menuItemId, entityId);
|
|
8149
|
+
}
|
|
8150
|
+
const update = {
|
|
8151
|
+
type: EVisualUpdateType.Remove,
|
|
8152
|
+
entityId: rego.entityId,
|
|
8153
|
+
rego: rego
|
|
8154
|
+
};
|
|
8155
|
+
if (source) {
|
|
8156
|
+
update.source = source;
|
|
8157
|
+
}
|
|
8158
|
+
if (source !== EUpdateSource.TREE_CASCADE) {
|
|
8159
|
+
(_a = this.onUpdate) === null || _a === void 0 ? void 0 : _a.Trigger(update);
|
|
8160
|
+
}
|
|
8161
|
+
if (doesInclude) {
|
|
8162
|
+
this.queueUpdate({
|
|
8163
|
+
entityId: entityId,
|
|
8164
|
+
refresh: false
|
|
8057
8165
|
});
|
|
8058
|
-
if (doRemove != false) {
|
|
8059
|
-
removeEntity(this.viewer, rego.visual);
|
|
8060
|
-
}
|
|
8061
|
-
rego.visual = null;
|
|
8062
|
-
const doesInclude = this.rego[entityId].find(r => r.menuItemId === menuItemId);
|
|
8063
|
-
if (doesInclude) {
|
|
8064
|
-
this.rego[entityId] = entityRegos.filter(r => r.menuItemId !== menuItemId);
|
|
8065
|
-
this.unindexMenuItemEntityIfAbsent(menuItemId, entityId);
|
|
8066
|
-
}
|
|
8067
|
-
const update = {
|
|
8068
|
-
type: EVisualUpdateType.Remove,
|
|
8069
|
-
entityId: rego.entityId,
|
|
8070
|
-
rego: rego
|
|
8071
|
-
};
|
|
8072
|
-
if (source) {
|
|
8073
|
-
update.source = source;
|
|
8074
|
-
}
|
|
8075
|
-
if (source !== EUpdateSource.TREE_CASCADE) {
|
|
8076
|
-
(_a = this.onUpdate) === null || _a === void 0 ? void 0 : _a.Trigger(update);
|
|
8077
|
-
}
|
|
8078
|
-
if (doesInclude) {
|
|
8079
|
-
this.queueUpdate({
|
|
8080
|
-
entityId: entityId,
|
|
8081
|
-
refresh: false
|
|
8082
|
-
});
|
|
8083
|
-
}
|
|
8084
8166
|
}
|
|
8167
|
+
};
|
|
8168
|
+
if (lazy) {
|
|
8169
|
+
this.startLazyRemoval(entityIds, removeOne, onComplete);
|
|
8170
|
+
return;
|
|
8171
|
+
}
|
|
8172
|
+
for (const entityId of entityIds) {
|
|
8173
|
+
removeOne(entityId);
|
|
8085
8174
|
}
|
|
8086
8175
|
}
|
|
8087
8176
|
else if (entityId) {
|
|
@@ -8404,10 +8493,9 @@
|
|
|
8404
8493
|
});
|
|
8405
8494
|
}
|
|
8406
8495
|
/**
|
|
8407
|
-
* Returns a dictionary containing entityId -> opacity values
|
|
8408
|
-
* Opacity 1 = 100%.
|
|
8496
|
+
* Returns a dictionary containing entityId -> opacity values, without regard to
|
|
8497
|
+
* menu item id. Opacity 1 = 100%.
|
|
8409
8498
|
* @returns
|
|
8410
|
-
* @deprecated Use GetStates() or GetState().
|
|
8411
8499
|
*/
|
|
8412
8500
|
GetOpacityMap() {
|
|
8413
8501
|
const map = {};
|
|
@@ -9369,7 +9457,7 @@
|
|
|
9369
9457
|
return new Cesium.Color(color.red ? color.red / 255 : 0, color.green ? color.green / 255 : 0, color.blue ? color.blue / 255 : 0, color.alpha);
|
|
9370
9458
|
}
|
|
9371
9459
|
function getShowDebugBounds() {
|
|
9372
|
-
if (
|
|
9460
|
+
if (typeof window === "undefined") {
|
|
9373
9461
|
return false;
|
|
9374
9462
|
}
|
|
9375
9463
|
let showBounds = window === null || window === void 0 ? void 0 : window.ENTITIES_RENDER_MANAGER_SHOW_BOUNDS;
|
|
@@ -9441,52 +9529,17 @@
|
|
|
9441
9529
|
this.item = params.item;
|
|
9442
9530
|
}
|
|
9443
9531
|
(async () => {
|
|
9444
|
-
var _a, _b, _c, _d
|
|
9532
|
+
var _a, _b, _c, _d;
|
|
9445
9533
|
if (this.disposed) {
|
|
9446
9534
|
return;
|
|
9447
9535
|
}
|
|
9448
9536
|
try {
|
|
9449
|
-
|
|
9450
|
-
if (((_a = this.item.BruceEntity) === null || _a === void 0 ? void 0 : _a["EntityType.ID"]) && !this.allowedTypeIDs.includes((_b = this.item.BruceEntity) === null || _b === void 0 ? void 0 : _b["EntityType.ID"])) {
|
|
9451
|
-
this.allowedTypeIDs = [];
|
|
9452
|
-
if ((_c = this.item.BruceEntity) === null || _c === void 0 ? void 0 : _c["EntityType.ID"]) {
|
|
9453
|
-
this.allowedTypeIDs.push((_d = this.item.BruceEntity) === null || _d === void 0 ? void 0 : _d["EntityType.ID"]);
|
|
9454
|
-
}
|
|
9455
|
-
}
|
|
9537
|
+
const { tagsToRender, shouldRender } = this.applyItemSettings();
|
|
9456
9538
|
if (this.disposed) {
|
|
9457
9539
|
return;
|
|
9458
9540
|
}
|
|
9459
|
-
this.zoomControl = this.item.CameraZoomSettings;
|
|
9460
|
-
if (!((_e = this.zoomControl) === null || _e === void 0 ? void 0 : _e.length)) {
|
|
9461
|
-
this.zoomControl = [
|
|
9462
|
-
{
|
|
9463
|
-
MinZoom: 0,
|
|
9464
|
-
MaxZoom: 200000,
|
|
9465
|
-
DisplayType: BModels.ZoomControl.EDisplayType.Model3D,
|
|
9466
|
-
LODCategoryID: "glb",
|
|
9467
|
-
LODLevel: 0,
|
|
9468
|
-
StyleID: 0
|
|
9469
|
-
}
|
|
9470
|
-
];
|
|
9471
|
-
}
|
|
9472
|
-
this.renderPriority = this.item.renderPriority;
|
|
9473
|
-
if (this.renderPriority == null) {
|
|
9474
|
-
this.renderPriority = 1;
|
|
9475
|
-
}
|
|
9476
|
-
if (this.useGeojson && this.zoomControl.length > 1) {
|
|
9477
|
-
console.warn("Geojson rendering does not support multiple zoom controls. Only the first one will be used.");
|
|
9478
|
-
this.zoomControl = [this.zoomControl[0]];
|
|
9479
|
-
}
|
|
9480
|
-
this.scenario = (_f = this.item.BruceEntity) === null || _f === void 0 ? void 0 : _f.Scenario;
|
|
9481
|
-
const isTagItem = Boolean(this.item.BruceEntity.ExpandLayers);
|
|
9482
|
-
let tagsToRender = isTagItem ? this.item.BruceEntity.SelectedExpandLayers : null;
|
|
9483
|
-
if (!tagsToRender) {
|
|
9484
|
-
tagsToRender = [];
|
|
9485
|
-
}
|
|
9486
|
-
tagsToRender = [].concat(tagsToRender);
|
|
9487
|
-
const shouldRender = !isTagItem || tagsToRender.length > 0;
|
|
9488
9541
|
this.unsetGetter();
|
|
9489
|
-
(
|
|
9542
|
+
(_a = this.viewMonitorRemoval) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
9490
9543
|
this.viewMonitorRemoval = null;
|
|
9491
9544
|
clearInterval(this.renderQueueInterval);
|
|
9492
9545
|
this.renderQueueInterval = null;
|
|
@@ -9498,17 +9551,17 @@
|
|
|
9498
9551
|
menuItemId: this.item.id,
|
|
9499
9552
|
retainTagIds: tagsToRender
|
|
9500
9553
|
});
|
|
9501
|
-
(
|
|
9554
|
+
(_b = this.clustering) === null || _b === void 0 ? void 0 : _b.Dispose();
|
|
9502
9555
|
}
|
|
9503
9556
|
else {
|
|
9504
9557
|
this.visualsManager.RemoveRegos({
|
|
9505
9558
|
menuItemId: this.item.id
|
|
9506
9559
|
});
|
|
9507
|
-
(
|
|
9560
|
+
(_c = this.clustering) === null || _c === void 0 ? void 0 : _c.Dispose();
|
|
9508
9561
|
return;
|
|
9509
9562
|
}
|
|
9510
9563
|
if (this.item.enableClustering) {
|
|
9511
|
-
this.clustering = new PointClustering(this.visualsManager, this.item.id, (
|
|
9564
|
+
this.clustering = new PointClustering(this.visualsManager, this.item.id, (_d = this.item) === null || _d === void 0 ? void 0 : _d.clustering);
|
|
9512
9565
|
}
|
|
9513
9566
|
this.setGetter();
|
|
9514
9567
|
this.viewMonitorRemoval = this.monitor.Updated().Subscribe(() => {
|
|
@@ -9521,6 +9574,46 @@
|
|
|
9521
9574
|
}
|
|
9522
9575
|
})();
|
|
9523
9576
|
}
|
|
9577
|
+
applyItemSettings() {
|
|
9578
|
+
var _a, _b, _c, _d, _e, _f;
|
|
9579
|
+
// Reset allowed list if there's change.
|
|
9580
|
+
if (((_a = this.item.BruceEntity) === null || _a === void 0 ? void 0 : _a["EntityType.ID"]) && !this.allowedTypeIDs.includes((_b = this.item.BruceEntity) === null || _b === void 0 ? void 0 : _b["EntityType.ID"])) {
|
|
9581
|
+
this.allowedTypeIDs = [];
|
|
9582
|
+
if ((_c = this.item.BruceEntity) === null || _c === void 0 ? void 0 : _c["EntityType.ID"]) {
|
|
9583
|
+
this.allowedTypeIDs.push((_d = this.item.BruceEntity) === null || _d === void 0 ? void 0 : _d["EntityType.ID"]);
|
|
9584
|
+
}
|
|
9585
|
+
}
|
|
9586
|
+
this.zoomControl = this.item.CameraZoomSettings;
|
|
9587
|
+
if (!((_e = this.zoomControl) === null || _e === void 0 ? void 0 : _e.length)) {
|
|
9588
|
+
this.zoomControl = [
|
|
9589
|
+
{
|
|
9590
|
+
MinZoom: 0,
|
|
9591
|
+
MaxZoom: 200000,
|
|
9592
|
+
DisplayType: BModels.ZoomControl.EDisplayType.Model3D,
|
|
9593
|
+
LODCategoryID: "glb",
|
|
9594
|
+
LODLevel: 0,
|
|
9595
|
+
StyleID: 0
|
|
9596
|
+
}
|
|
9597
|
+
];
|
|
9598
|
+
}
|
|
9599
|
+
this.renderPriority = this.item.renderPriority;
|
|
9600
|
+
if (this.renderPriority == null) {
|
|
9601
|
+
this.renderPriority = 1;
|
|
9602
|
+
}
|
|
9603
|
+
if (this.useGeojson && this.zoomControl.length > 1) {
|
|
9604
|
+
console.warn("Geojson rendering does not support multiple zoom controls. Only the first one will be used.");
|
|
9605
|
+
this.zoomControl = [this.zoomControl[0]];
|
|
9606
|
+
}
|
|
9607
|
+
this.scenario = (_f = this.item.BruceEntity) === null || _f === void 0 ? void 0 : _f.Scenario;
|
|
9608
|
+
const isTagItem = Boolean(this.item.BruceEntity.ExpandLayers);
|
|
9609
|
+
let tagsToRender = isTagItem ? this.item.BruceEntity.SelectedExpandLayers : null;
|
|
9610
|
+
if (!tagsToRender) {
|
|
9611
|
+
tagsToRender = [];
|
|
9612
|
+
}
|
|
9613
|
+
tagsToRender = [].concat(tagsToRender);
|
|
9614
|
+
const shouldRender = !isTagItem || tagsToRender.length > 0;
|
|
9615
|
+
return { isTagItem, tagsToRender, shouldRender };
|
|
9616
|
+
}
|
|
9524
9617
|
/**
|
|
9525
9618
|
* Updates allowedTypeIDs values based in incoming data.
|
|
9526
9619
|
* We might request 'x' Entity Type, but get 'y' Entities due to local Data Sources.
|
|
@@ -10505,6 +10598,85 @@
|
|
|
10505
10598
|
this.clustering.Update();
|
|
10506
10599
|
}
|
|
10507
10600
|
}
|
|
10601
|
+
get HandoffKey() {
|
|
10602
|
+
return Manager.GetHandoffKey(this.item);
|
|
10603
|
+
}
|
|
10604
|
+
static GetHandoffKey(item) {
|
|
10605
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
10606
|
+
if (item.renderAsGeojson || item.enableClustering) {
|
|
10607
|
+
return null;
|
|
10608
|
+
}
|
|
10609
|
+
const isTagItem = Boolean((_a = item.BruceEntity) === null || _a === void 0 ? void 0 : _a.ExpandLayers);
|
|
10610
|
+
const tags = isTagItem ? [].concat((_c = (_b = item.BruceEntity) === null || _b === void 0 ? void 0 : _b.SelectedExpandLayers) !== null && _c !== void 0 ? _c : []).sort() : [];
|
|
10611
|
+
return JSON.stringify({
|
|
10612
|
+
typeId: ((_d = item.BruceEntity) === null || _d === void 0 ? void 0 : _d["EntityType.ID"]) || "",
|
|
10613
|
+
filter: (_f = (_e = item.BruceEntity) === null || _e === void 0 ? void 0 : _e.Filter) !== null && _f !== void 0 ? _f : {},
|
|
10614
|
+
isTagItem,
|
|
10615
|
+
tags,
|
|
10616
|
+
scenario: (_h = (_g = item.BruceEntity) === null || _g === void 0 ? void 0 : _g.Scenario) !== null && _h !== void 0 ? _h : "",
|
|
10617
|
+
historic: Boolean((_j = item.BruceEntity) === null || _j === void 0 ? void 0 : _j.historic),
|
|
10618
|
+
historicAttrKey: ((_k = item.BruceEntity) === null || _k === void 0 ? void 0 : _k.historicAttrKey) || "",
|
|
10619
|
+
historicInterpolation: Boolean(item.historicInterpolation),
|
|
10620
|
+
schemaId: ((_l = item.BruceEntity) === null || _l === void 0 ? void 0 : _l.schemaId) || "",
|
|
10621
|
+
cdnEnabled: Boolean(item.cdnEnabled),
|
|
10622
|
+
optimizeGeometry: Boolean(item.optimizeGeometry),
|
|
10623
|
+
optimizeMinPoints: (_m = item.optimizeMinPoints) !== null && _m !== void 0 ? _m : "",
|
|
10624
|
+
optimizeTolerance: (_o = item.optimizeTolerance) !== null && _o !== void 0 ? _o : ""
|
|
10625
|
+
});
|
|
10626
|
+
}
|
|
10627
|
+
PrepareHandoff() {
|
|
10628
|
+
var _a;
|
|
10629
|
+
if (this.disposed || this.useGeojson || this.item.enableClustering) {
|
|
10630
|
+
return null;
|
|
10631
|
+
}
|
|
10632
|
+
const payload = {
|
|
10633
|
+
renderedEntities: this.renderedEntities,
|
|
10634
|
+
renderedByInternalId: new Map(this.renderedByInternalId),
|
|
10635
|
+
internalByEntityId: new Map(this.internalByEntityId),
|
|
10636
|
+
allowedTypeIDs: [...this.allowedTypeIDs],
|
|
10637
|
+
renderQueue: [...this.renderQueue],
|
|
10638
|
+
sourceMenuItemId: this.item.id
|
|
10639
|
+
};
|
|
10640
|
+
this.unsetGetter();
|
|
10641
|
+
(_a = this.viewMonitorRemoval) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
10642
|
+
this.viewMonitorRemoval = null;
|
|
10643
|
+
clearInterval(this.renderQueueInterval);
|
|
10644
|
+
this.renderQueueInterval = null;
|
|
10645
|
+
this.renderQueue = [];
|
|
10646
|
+
this.disposed = true;
|
|
10647
|
+
return payload;
|
|
10648
|
+
}
|
|
10649
|
+
AdoptHandoff(payload) {
|
|
10650
|
+
var _a;
|
|
10651
|
+
const { shouldRender } = this.applyItemSettings();
|
|
10652
|
+
this.visualsManager.ReassignMenuItem({
|
|
10653
|
+
fromMenuItemId: payload.sourceMenuItemId,
|
|
10654
|
+
toMenuItemId: this.item.id,
|
|
10655
|
+
toMenuItemType: this.item.Type,
|
|
10656
|
+
toPriority: this.renderPriority,
|
|
10657
|
+
requestRender: false
|
|
10658
|
+
});
|
|
10659
|
+
if (!shouldRender) {
|
|
10660
|
+
this.renderedEntities = payload.renderedEntities;
|
|
10661
|
+
this.renderedByInternalId = payload.renderedByInternalId;
|
|
10662
|
+
this.internalByEntityId = payload.internalByEntityId;
|
|
10663
|
+
this.allowedTypeIDs = payload.allowedTypeIDs;
|
|
10664
|
+
return;
|
|
10665
|
+
}
|
|
10666
|
+
this.setGetter();
|
|
10667
|
+
this.viewMonitorRemoval = this.monitor.Updated().Subscribe(() => {
|
|
10668
|
+
var _a;
|
|
10669
|
+
(_a = this.entityCheckQueue) === null || _a === void 0 ? void 0 : _a.Call();
|
|
10670
|
+
});
|
|
10671
|
+
this.renderedEntities = payload.renderedEntities;
|
|
10672
|
+
this.renderedByInternalId = payload.renderedByInternalId;
|
|
10673
|
+
this.internalByEntityId = payload.internalByEntityId;
|
|
10674
|
+
this.allowedTypeIDs = payload.allowedTypeIDs;
|
|
10675
|
+
if ((_a = payload.renderQueue) === null || _a === void 0 ? void 0 : _a.length) {
|
|
10676
|
+
this.distributeForRender(payload.renderQueue);
|
|
10677
|
+
}
|
|
10678
|
+
this.viewer.scene.requestRender();
|
|
10679
|
+
}
|
|
10508
10680
|
}
|
|
10509
10681
|
EntitiesRenderManager.Manager = Manager;
|
|
10510
10682
|
})(exports.EntitiesRenderManager || (exports.EntitiesRenderManager = {}));
|
|
@@ -14315,17 +14487,21 @@
|
|
|
14315
14487
|
}
|
|
14316
14488
|
}
|
|
14317
14489
|
// Two items resolving to the same key are eligible to hand off, regardless of styling.
|
|
14490
|
+
// Model-space vs. geospatial, and historic vs. live, position the tileset via entirely
|
|
14491
|
+
// different code paths (baked in once at Init() time), so either changing must never
|
|
14492
|
+
// match an existing key and must instead force a real reload.
|
|
14318
14493
|
get HandoffKey() {
|
|
14319
|
-
return Manager.GetHandoffKey(this.item);
|
|
14494
|
+
return Manager.GetHandoffKey(this.item, this.modelSpace);
|
|
14320
14495
|
}
|
|
14321
|
-
static GetHandoffKey(item) {
|
|
14322
|
-
var _a, _b;
|
|
14496
|
+
static GetHandoffKey(item, modelSpace) {
|
|
14497
|
+
var _a, _b, _c;
|
|
14323
14498
|
const tilesetId = (_a = item === null || item === void 0 ? void 0 : item.tileset) === null || _a === void 0 ? void 0 : _a.TilesetID;
|
|
14324
14499
|
if (!tilesetId) {
|
|
14325
14500
|
return null;
|
|
14326
14501
|
}
|
|
14327
14502
|
const accountId = ((_b = item.tileset) === null || _b === void 0 ? void 0 : _b.ClientAccountID) || "";
|
|
14328
|
-
|
|
14503
|
+
const historic = Boolean((_c = item.BruceEntity) === null || _c === void 0 ? void 0 : _c.historic);
|
|
14504
|
+
return `${accountId}:${tilesetId}:${Boolean(modelSpace)}:${historic}`;
|
|
14329
14505
|
}
|
|
14330
14506
|
// Returns null (fall back to a normal Dispose()) if the tileset hasn't finished loading yet.
|
|
14331
14507
|
PrepareHandoff() {
|
|
@@ -14381,14 +14557,6 @@
|
|
|
14381
14557
|
if (this.renderPriority == null) {
|
|
14382
14558
|
this.renderPriority = 0;
|
|
14383
14559
|
}
|
|
14384
|
-
// Same visuals, same registrations - just re-keyed onto this menu item.
|
|
14385
|
-
this.visualsManager.ReassignMenuItem({
|
|
14386
|
-
fromMenuItemId: payload.sourceMenuItemId,
|
|
14387
|
-
toMenuItemId: this.item.id,
|
|
14388
|
-
toMenuItemType: this.item.Type,
|
|
14389
|
-
toPriority: this.renderPriority,
|
|
14390
|
-
requestRender: false
|
|
14391
|
-
});
|
|
14392
14560
|
this.tileLoadRemoval = this.cTileset.tileLoad.addEventListener((tile) => {
|
|
14393
14561
|
try {
|
|
14394
14562
|
this.queueTile(tile, true);
|
|
@@ -14405,6 +14573,14 @@
|
|
|
14405
14573
|
console.error(e);
|
|
14406
14574
|
}
|
|
14407
14575
|
});
|
|
14576
|
+
// Same visuals, same registrations so just re-keyed onto this menu item.
|
|
14577
|
+
this.visualsManager.ReassignMenuItem({
|
|
14578
|
+
fromMenuItemId: payload.sourceMenuItemId,
|
|
14579
|
+
toMenuItemId: this.item.id,
|
|
14580
|
+
toMenuItemType: this.item.Type,
|
|
14581
|
+
toPriority: this.renderPriority,
|
|
14582
|
+
requestRender: false
|
|
14583
|
+
});
|
|
14408
14584
|
this.onCTilesetLoad();
|
|
14409
14585
|
this.styler.Init({
|
|
14410
14586
|
viewer: this.viewer,
|
|
@@ -15012,7 +15188,8 @@
|
|
|
15012
15188
|
this.visualsManager.RemoveRegos({
|
|
15013
15189
|
menuItemId: this.item.id,
|
|
15014
15190
|
doRemove: false,
|
|
15015
|
-
source: exports.VisualsRegister.EUpdateSource.TILESET_DISPOSE
|
|
15191
|
+
source: exports.VisualsRegister.EUpdateSource.TILESET_DISPOSE,
|
|
15192
|
+
lazy: true
|
|
15016
15193
|
});
|
|
15017
15194
|
this.viewerDateTimeDispose();
|
|
15018
15195
|
}
|
|
@@ -16505,7 +16682,7 @@
|
|
|
16505
16682
|
}
|
|
16506
16683
|
setGetter(queryItems) {
|
|
16507
16684
|
this.unsetGetter();
|
|
16508
|
-
|
|
16685
|
+
const getter = new EntityFilterGetter.Getter({
|
|
16509
16686
|
api: this.apiGetter.getApi(),
|
|
16510
16687
|
attrFilter: {},
|
|
16511
16688
|
batchSize: BATCH_SIZE$3,
|
|
@@ -16516,6 +16693,10 @@
|
|
|
16516
16693
|
queryItems: queryItems !== null && queryItems !== void 0 ? queryItems : []
|
|
16517
16694
|
}
|
|
16518
16695
|
});
|
|
16696
|
+
this.attachGetter(getter);
|
|
16697
|
+
}
|
|
16698
|
+
attachGetter(getter) {
|
|
16699
|
+
this.getter = getter;
|
|
16519
16700
|
const minMax = exports.RenderManager.GetZoomMinMax({
|
|
16520
16701
|
zoomControl: this.zoomControl
|
|
16521
16702
|
});
|
|
@@ -16856,6 +17037,61 @@
|
|
|
16856
17037
|
console.error("Failed to render DataLab entities:", e);
|
|
16857
17038
|
}
|
|
16858
17039
|
}
|
|
17040
|
+
get HandoffKey() {
|
|
17041
|
+
return Manager.GetHandoffKey(this.item);
|
|
17042
|
+
}
|
|
17043
|
+
static GetHandoffKey(item) {
|
|
17044
|
+
const queryId = item === null || item === void 0 ? void 0 : item.DataLabQueryID;
|
|
17045
|
+
if (!queryId) {
|
|
17046
|
+
return null;
|
|
17047
|
+
}
|
|
17048
|
+
return `datalab:${queryId}`;
|
|
17049
|
+
}
|
|
17050
|
+
PrepareHandoff() {
|
|
17051
|
+
var _a, _b, _c;
|
|
17052
|
+
if (this.disposed || !this.getter) {
|
|
17053
|
+
return null;
|
|
17054
|
+
}
|
|
17055
|
+
this.getter.ExcludeMenuItem(this.item.id);
|
|
17056
|
+
(_a = this.getterSub) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
17057
|
+
this.getterSub = null;
|
|
17058
|
+
const getter = this.getter;
|
|
17059
|
+
this.getter = null;
|
|
17060
|
+
(_b = this.viewMonitorRemoval) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
17061
|
+
this.viewMonitorRemoval = null;
|
|
17062
|
+
(_c = this.entityCheckQueue) === null || _c === void 0 ? void 0 : _c.Dispose();
|
|
17063
|
+
this.entityCheckQueue = null;
|
|
17064
|
+
clearInterval(this.renderQueueInterval);
|
|
17065
|
+
this.renderQueueInterval = null;
|
|
17066
|
+
const payload = {
|
|
17067
|
+
getter,
|
|
17068
|
+
renderedEntities: this.renderedEntities,
|
|
17069
|
+
renderQueue: [...this.renderQueue],
|
|
17070
|
+
sourceMenuItemId: this.item.id
|
|
17071
|
+
};
|
|
17072
|
+
this.renderQueue = [];
|
|
17073
|
+
this.queryLoadId += 1;
|
|
17074
|
+
this.disposed = true;
|
|
17075
|
+
return payload;
|
|
17076
|
+
}
|
|
17077
|
+
AdoptHandoff(payload) {
|
|
17078
|
+
var _a;
|
|
17079
|
+
this.ensureSettings();
|
|
17080
|
+
this.renderedEntities = payload.renderedEntities;
|
|
17081
|
+
this.visualsManager.ReassignMenuItem({
|
|
17082
|
+
fromMenuItemId: payload.sourceMenuItemId,
|
|
17083
|
+
toMenuItemId: this.item.id,
|
|
17084
|
+
toMenuItemType: this.item.Type,
|
|
17085
|
+
toPriority: this.renderPriority,
|
|
17086
|
+
requestRender: false
|
|
17087
|
+
});
|
|
17088
|
+
this.attachGetter(payload.getter);
|
|
17089
|
+
this.setEntityCheckQueue();
|
|
17090
|
+
if ((_a = payload.renderQueue) === null || _a === void 0 ? void 0 : _a.length) {
|
|
17091
|
+
this.distributeForRender(payload.renderQueue);
|
|
17092
|
+
}
|
|
17093
|
+
this.viewer.scene.requestRender();
|
|
17094
|
+
}
|
|
16859
17095
|
}
|
|
16860
17096
|
DataLabRenderManager.Manager = Manager;
|
|
16861
17097
|
})(exports.DataLabRenderManager || (exports.DataLabRenderManager = {}));
|
|
@@ -17275,6 +17511,7 @@
|
|
|
17275
17511
|
this.queueCheckInterval = null;
|
|
17276
17512
|
this.processingQueue = 0;
|
|
17277
17513
|
this._osmIdToBruceId = {};
|
|
17514
|
+
this.tileLoadRemoval = null;
|
|
17278
17515
|
const { viewer, register: visualsManager, getters: apiGetter, monitor, item } = params;
|
|
17279
17516
|
this.viewer = viewer;
|
|
17280
17517
|
this.getters = apiGetter;
|
|
@@ -17283,11 +17520,14 @@
|
|
|
17283
17520
|
this.monitor = monitor;
|
|
17284
17521
|
}
|
|
17285
17522
|
Dispose() {
|
|
17523
|
+
var _a;
|
|
17286
17524
|
if (this.disposed) {
|
|
17287
17525
|
return;
|
|
17288
17526
|
}
|
|
17289
17527
|
this.disposed = true;
|
|
17290
17528
|
clearInterval(this.queueCheckInterval);
|
|
17529
|
+
(_a = this.tileLoadRemoval) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
17530
|
+
this.tileLoadRemoval = null;
|
|
17291
17531
|
if (this.cTileset) {
|
|
17292
17532
|
const viewer = this.viewer;
|
|
17293
17533
|
if (!(viewer === null || viewer === void 0 ? void 0 : viewer.isDestroyed()) && this.viewer.scene.primitives.contains(this.cTileset)) {
|
|
@@ -17301,7 +17541,8 @@
|
|
|
17301
17541
|
this.cTileset = null;
|
|
17302
17542
|
}
|
|
17303
17543
|
this.visualsManager.RemoveRegos({
|
|
17304
|
-
menuItemId: this.item.id
|
|
17544
|
+
menuItemId: this.item.id,
|
|
17545
|
+
lazy: true
|
|
17305
17546
|
});
|
|
17306
17547
|
this.featureQueue = [];
|
|
17307
17548
|
}
|
|
@@ -17314,84 +17555,89 @@
|
|
|
17314
17555
|
this.sourceId = EnsureNumber((_a = menuItem.BruceEntity) === null || _a === void 0 ? void 0 : _a.SourceId, 0);
|
|
17315
17556
|
this.entityTypeId = (_b = menuItem.BruceEntity) === null || _b === void 0 ? void 0 : _b["EntityType.ID"];
|
|
17316
17557
|
(async () => {
|
|
17317
|
-
|
|
17318
|
-
|
|
17319
|
-
|
|
17320
|
-
else if (this.cTileset) {
|
|
17321
|
-
// Already exists, no need to re-initialize.
|
|
17322
|
-
return;
|
|
17323
|
-
}
|
|
17324
|
-
let validToken;
|
|
17325
|
-
if (Cesium.Ion.defaultServer) {
|
|
17326
|
-
// Proxy server was set after verifying Ion availability upstream
|
|
17327
|
-
// (including template account fallback) — trust that check.
|
|
17328
|
-
validToken = true;
|
|
17329
|
-
}
|
|
17330
|
-
else {
|
|
17331
|
-
// No proxy; validate the legacy access token directly.
|
|
17332
|
-
validToken = await exports.ViewerUtils.AssertIonToken(Cesium.Ion.defaultAccessToken);
|
|
17333
|
-
}
|
|
17334
|
-
if (!validToken) {
|
|
17335
|
-
console.warn("'tileset-osm-render-manager.ts' could not locate a valid Cesium Ion token.");
|
|
17336
|
-
return;
|
|
17337
|
-
}
|
|
17338
|
-
const CESIUM = Cesium;
|
|
17339
|
-
let cTileset;
|
|
17340
|
-
// Newer versions of Cesium have this function be async.
|
|
17341
|
-
if (CESIUM["createOsmBuildingsAsync"]) {
|
|
17342
|
-
cTileset = await CESIUM.createOsmBuildingsAsync({});
|
|
17343
|
-
}
|
|
17344
|
-
// Older versions of Cesium have this function be sync.
|
|
17345
|
-
else if (CESIUM["createOsmBuildings"]) {
|
|
17346
|
-
cTileset = CESIUM.createOsmBuildings();
|
|
17347
|
-
}
|
|
17348
|
-
else {
|
|
17349
|
-
console.warn("'tileset-osm-render-manager.ts' could not locate a create function for OSM buildings.");
|
|
17350
|
-
return;
|
|
17351
|
-
}
|
|
17352
|
-
// See if we already have a cTileset set.
|
|
17353
|
-
// Happens if we re-initialized in quick succession.
|
|
17354
|
-
if (this.cTileset) {
|
|
17355
|
-
cTileset.destroy();
|
|
17356
|
-
return;
|
|
17357
|
-
}
|
|
17358
|
-
this.cTileset = cTileset;
|
|
17359
|
-
if (this.disposed) {
|
|
17360
|
-
if (this.cTileset && !this.cTileset.isDestroyed()) {
|
|
17361
|
-
this.cTileset.destroy();
|
|
17362
|
-
this.cTileset = null;
|
|
17558
|
+
try {
|
|
17559
|
+
if (this.disposed) {
|
|
17560
|
+
return;
|
|
17363
17561
|
}
|
|
17364
|
-
|
|
17365
|
-
|
|
17366
|
-
|
|
17367
|
-
if (menuItem.ghostLoading == true) {
|
|
17368
|
-
this.cTileset.style = new Cesium.Cesium3DTileStyle({
|
|
17369
|
-
color: "rgba(255, 255, 250, 0.98)"
|
|
17370
|
-
});
|
|
17562
|
+
else if (this.cTileset) {
|
|
17563
|
+
// Already exists, no need to re-initialize.
|
|
17564
|
+
return;
|
|
17371
17565
|
}
|
|
17372
|
-
|
|
17373
|
-
|
|
17374
|
-
|
|
17375
|
-
|
|
17376
|
-
|
|
17377
|
-
|
|
17378
|
-
|
|
17379
|
-
|
|
17380
|
-
|
|
17381
|
-
|
|
17566
|
+
let validToken;
|
|
17567
|
+
if (Cesium.Ion.defaultServer) {
|
|
17568
|
+
// Proxy server was set after verifying Ion availability upstream
|
|
17569
|
+
// (including template account fallback) — trust that check.
|
|
17570
|
+
validToken = true;
|
|
17571
|
+
}
|
|
17572
|
+
else {
|
|
17573
|
+
// No proxy; validate the legacy access token directly.
|
|
17574
|
+
validToken = await exports.ViewerUtils.AssertIonToken(Cesium.Ion.defaultAccessToken);
|
|
17575
|
+
}
|
|
17576
|
+
if (!validToken) {
|
|
17577
|
+
console.warn("'tileset-osm-render-manager.ts' could not locate a valid Cesium Ion token.");
|
|
17578
|
+
return;
|
|
17579
|
+
}
|
|
17580
|
+
const CESIUM = Cesium;
|
|
17581
|
+
let cTileset;
|
|
17582
|
+
// Newer versions of Cesium have this function be async.
|
|
17583
|
+
if (CESIUM["createOsmBuildingsAsync"]) {
|
|
17584
|
+
cTileset = await CESIUM.createOsmBuildingsAsync({});
|
|
17585
|
+
}
|
|
17586
|
+
// Older versions of Cesium have this function be sync.
|
|
17587
|
+
else if (CESIUM["createOsmBuildings"]) {
|
|
17588
|
+
cTileset = CESIUM.createOsmBuildings();
|
|
17589
|
+
}
|
|
17590
|
+
else {
|
|
17591
|
+
console.warn("'tileset-osm-render-manager.ts' could not locate a create function for OSM buildings.");
|
|
17592
|
+
return;
|
|
17593
|
+
}
|
|
17594
|
+
// See if we already have a cTileset set.
|
|
17595
|
+
// Happens if we re-initialized in quick succession.
|
|
17596
|
+
if (this.cTileset) {
|
|
17597
|
+
cTileset.destroy();
|
|
17598
|
+
return;
|
|
17599
|
+
}
|
|
17600
|
+
this.cTileset = cTileset;
|
|
17601
|
+
if (this.disposed) {
|
|
17602
|
+
if (this.cTileset && !this.cTileset.isDestroyed()) {
|
|
17603
|
+
this.cTileset.destroy();
|
|
17604
|
+
this.cTileset = null;
|
|
17382
17605
|
}
|
|
17383
|
-
|
|
17384
|
-
|
|
17385
|
-
|
|
17386
|
-
|
|
17606
|
+
return;
|
|
17607
|
+
}
|
|
17608
|
+
if (this.sourceId) {
|
|
17609
|
+
if (menuItem.ghostLoading == true) {
|
|
17610
|
+
this.cTileset.style = new Cesium.Cesium3DTileStyle({
|
|
17611
|
+
color: "rgba(255, 255, 250, 0.98)"
|
|
17612
|
+
});
|
|
17387
17613
|
}
|
|
17388
|
-
|
|
17614
|
+
this.viewer.scene.primitives.add(this.cTileset);
|
|
17615
|
+
this.tileLoadRemoval = this.cTileset.tileLoad.addEventListener((tile) => {
|
|
17616
|
+
if (this.disposed) {
|
|
17617
|
+
return;
|
|
17618
|
+
}
|
|
17619
|
+
try {
|
|
17620
|
+
this.mapCTile(tile);
|
|
17621
|
+
}
|
|
17622
|
+
catch (e) {
|
|
17623
|
+
console.error(e);
|
|
17624
|
+
}
|
|
17625
|
+
});
|
|
17626
|
+
this.queueCheckInterval = setInterval(() => {
|
|
17627
|
+
if (this.featureQueue.length > 0) {
|
|
17628
|
+
this.processQueue();
|
|
17629
|
+
}
|
|
17630
|
+
}, 5000);
|
|
17631
|
+
}
|
|
17632
|
+
else {
|
|
17633
|
+
this.viewer.scene.primitives.add(this.cTileset);
|
|
17634
|
+
}
|
|
17635
|
+
this.cTileset.show = true;
|
|
17636
|
+
this.viewer.scene.requestRender();
|
|
17389
17637
|
}
|
|
17390
|
-
|
|
17391
|
-
|
|
17638
|
+
catch (e) {
|
|
17639
|
+
console.error("Failed to load OSM Buildings tileset:", e);
|
|
17392
17640
|
}
|
|
17393
|
-
this.cTileset.show = true;
|
|
17394
|
-
this.viewer.scene.requestRender();
|
|
17395
17641
|
})();
|
|
17396
17642
|
}
|
|
17397
17643
|
async mapCTile(tile) {
|
|
@@ -17626,6 +17872,72 @@
|
|
|
17626
17872
|
}
|
|
17627
17873
|
async ReRender(params) {
|
|
17628
17874
|
}
|
|
17875
|
+
get HandoffKey() {
|
|
17876
|
+
return Manager.GetHandoffKey(this.item);
|
|
17877
|
+
}
|
|
17878
|
+
static GetHandoffKey(item) {
|
|
17879
|
+
var _a, _b;
|
|
17880
|
+
const sourceId = EnsureNumber((_a = item.BruceEntity) === null || _a === void 0 ? void 0 : _a.SourceId, 0);
|
|
17881
|
+
const entityTypeId = ((_b = item.BruceEntity) === null || _b === void 0 ? void 0 : _b["EntityType.ID"]) || "";
|
|
17882
|
+
return `osm:${sourceId}:${entityTypeId}`;
|
|
17883
|
+
}
|
|
17884
|
+
PrepareHandoff() {
|
|
17885
|
+
var _a;
|
|
17886
|
+
if (this.disposed || !this.cTileset || this.cTileset.isDestroyed()) {
|
|
17887
|
+
return null;
|
|
17888
|
+
}
|
|
17889
|
+
clearInterval(this.queueCheckInterval);
|
|
17890
|
+
this.queueCheckInterval = null;
|
|
17891
|
+
(_a = this.tileLoadRemoval) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
17892
|
+
this.tileLoadRemoval = null;
|
|
17893
|
+
const payload = {
|
|
17894
|
+
cTileset: this.cTileset,
|
|
17895
|
+
loadedCesiumEntities: this._loadedCesiumEntities,
|
|
17896
|
+
featureQueue: this.featureQueue,
|
|
17897
|
+
osmIdToBruceId: this._osmIdToBruceId,
|
|
17898
|
+
totalLoaded: this.totalLoaded,
|
|
17899
|
+
sourceMenuItemId: this.item.id
|
|
17900
|
+
};
|
|
17901
|
+
this.cTileset = null;
|
|
17902
|
+
this.disposed = true;
|
|
17903
|
+
return payload;
|
|
17904
|
+
}
|
|
17905
|
+
AdoptHandoff(payload) {
|
|
17906
|
+
var _a, _b;
|
|
17907
|
+
this.sourceId = EnsureNumber((_a = this.item.BruceEntity) === null || _a === void 0 ? void 0 : _a.SourceId, 0);
|
|
17908
|
+
this.entityTypeId = (_b = this.item.BruceEntity) === null || _b === void 0 ? void 0 : _b["EntityType.ID"];
|
|
17909
|
+
this.cTileset = payload.cTileset;
|
|
17910
|
+
this._loadedCesiumEntities = payload.loadedCesiumEntities;
|
|
17911
|
+
this.featureQueue = payload.featureQueue;
|
|
17912
|
+
this._osmIdToBruceId = payload.osmIdToBruceId;
|
|
17913
|
+
this.totalLoaded = payload.totalLoaded;
|
|
17914
|
+
if (this.sourceId) {
|
|
17915
|
+
this.visualsManager.ReassignMenuItem({
|
|
17916
|
+
fromMenuItemId: payload.sourceMenuItemId,
|
|
17917
|
+
toMenuItemId: this.item.id,
|
|
17918
|
+
toMenuItemType: this.item.Type,
|
|
17919
|
+
requestRender: false
|
|
17920
|
+
});
|
|
17921
|
+
this.tileLoadRemoval = this.cTileset.tileLoad.addEventListener((tile) => {
|
|
17922
|
+
if (this.disposed) {
|
|
17923
|
+
return;
|
|
17924
|
+
}
|
|
17925
|
+
try {
|
|
17926
|
+
this.mapCTile(tile);
|
|
17927
|
+
}
|
|
17928
|
+
catch (e) {
|
|
17929
|
+
console.error(e);
|
|
17930
|
+
}
|
|
17931
|
+
});
|
|
17932
|
+
this.queueCheckInterval = setInterval(() => {
|
|
17933
|
+
if (this.featureQueue.length > 0) {
|
|
17934
|
+
this.processQueue();
|
|
17935
|
+
}
|
|
17936
|
+
}, 5000);
|
|
17937
|
+
}
|
|
17938
|
+
this.cTileset.show = true;
|
|
17939
|
+
this.viewer.scene.requestRender();
|
|
17940
|
+
}
|
|
17629
17941
|
}
|
|
17630
17942
|
TilesetOsmRenderManager.Manager = Manager;
|
|
17631
17943
|
})(exports.TilesetOsmRenderManager || (exports.TilesetOsmRenderManager = {}));
|
|
@@ -17973,7 +18285,8 @@
|
|
|
17973
18285
|
}
|
|
17974
18286
|
(_b = this.styler) === null || _b === void 0 ? void 0 : _b.Dispose();
|
|
17975
18287
|
this.visualsManager.RemoveRegos({
|
|
17976
|
-
menuItemId: this.item.id
|
|
18288
|
+
menuItemId: this.item.id,
|
|
18289
|
+
lazy: true
|
|
17977
18290
|
});
|
|
17978
18291
|
}
|
|
17979
18292
|
onCTilesetLoad() {
|
|
@@ -18040,13 +18353,6 @@
|
|
|
18040
18353
|
if (this.renderPriority == null) {
|
|
18041
18354
|
this.renderPriority = 0;
|
|
18042
18355
|
}
|
|
18043
|
-
this.visualsManager.ReassignMenuItem({
|
|
18044
|
-
fromMenuItemId: payload.sourceMenuItemId,
|
|
18045
|
-
toMenuItemId: this.item.id,
|
|
18046
|
-
toMenuItemType: this.item.Type,
|
|
18047
|
-
toPriority: this.renderPriority,
|
|
18048
|
-
requestRender: false
|
|
18049
|
-
});
|
|
18050
18356
|
this.tileLoadRemoval = this.cTileset.tileLoad.addEventListener((tile) => {
|
|
18051
18357
|
try {
|
|
18052
18358
|
this.queueTile(tile, true);
|
|
@@ -18063,6 +18369,13 @@
|
|
|
18063
18369
|
console.error(e);
|
|
18064
18370
|
}
|
|
18065
18371
|
});
|
|
18372
|
+
this.visualsManager.ReassignMenuItem({
|
|
18373
|
+
fromMenuItemId: payload.sourceMenuItemId,
|
|
18374
|
+
toMenuItemId: this.item.id,
|
|
18375
|
+
toMenuItemType: this.item.Type,
|
|
18376
|
+
toPriority: this.renderPriority,
|
|
18377
|
+
requestRender: false
|
|
18378
|
+
});
|
|
18066
18379
|
if (this.item.ApplyStyles) {
|
|
18067
18380
|
this.styler.Init({
|
|
18068
18381
|
viewer: this.viewer,
|
|
@@ -18347,6 +18660,36 @@
|
|
|
18347
18660
|
}
|
|
18348
18661
|
async ReRender(params) {
|
|
18349
18662
|
}
|
|
18663
|
+
get HandoffKey() {
|
|
18664
|
+
return Manager.GetHandoffKey(this.item);
|
|
18665
|
+
}
|
|
18666
|
+
static GetHandoffKey(item) {
|
|
18667
|
+
var _a, _b;
|
|
18668
|
+
const tilesetId = (_a = item === null || item === void 0 ? void 0 : item.tileset) === null || _a === void 0 ? void 0 : _a.TilesetID;
|
|
18669
|
+
if (!tilesetId) {
|
|
18670
|
+
return null;
|
|
18671
|
+
}
|
|
18672
|
+
const accountId = ((_b = item.tileset) === null || _b === void 0 ? void 0 : _b.ClientAccountID) || "";
|
|
18673
|
+
return `${accountId}:${tilesetId}`;
|
|
18674
|
+
}
|
|
18675
|
+
PrepareHandoff() {
|
|
18676
|
+
var _a;
|
|
18677
|
+
if (this.disposed || !this.cTileset || this.cTileset.isDestroyed()) {
|
|
18678
|
+
return null;
|
|
18679
|
+
}
|
|
18680
|
+
const payload = {
|
|
18681
|
+
cTileset: this.cTileset
|
|
18682
|
+
};
|
|
18683
|
+
(_a = this.initQueue) === null || _a === void 0 ? void 0 : _a.Remove(this);
|
|
18684
|
+
this.cTileset = null;
|
|
18685
|
+
this.disposed = true;
|
|
18686
|
+
return payload;
|
|
18687
|
+
}
|
|
18688
|
+
AdoptHandoff(payload) {
|
|
18689
|
+
this.cTileset = payload.cTileset;
|
|
18690
|
+
this.onCTilesetLoad();
|
|
18691
|
+
this.viewer.scene.requestRender();
|
|
18692
|
+
}
|
|
18350
18693
|
}
|
|
18351
18694
|
TilesetPointcloudRenderManager.Manager = Manager;
|
|
18352
18695
|
})(exports.TilesetPointcloudRenderManager || (exports.TilesetPointcloudRenderManager = {}));
|
|
@@ -19641,19 +19984,7 @@
|
|
|
19641
19984
|
var _a, _b, _c;
|
|
19642
19985
|
// If the tileset already exists then we just need to update the style.
|
|
19643
19986
|
if (this.cTileset) {
|
|
19644
|
-
|
|
19645
|
-
if (colorCss) {
|
|
19646
|
-
this.cTileset.style = new Cesium.Cesium3DTileStyle({
|
|
19647
|
-
color: {
|
|
19648
|
-
conditions: [
|
|
19649
|
-
["true", `color("${colorCss}")`]
|
|
19650
|
-
]
|
|
19651
|
-
}
|
|
19652
|
-
});
|
|
19653
|
-
}
|
|
19654
|
-
else {
|
|
19655
|
-
this.cTileset.style = undefined;
|
|
19656
|
-
}
|
|
19987
|
+
this.applyColorMask();
|
|
19657
19988
|
this.viewer.scene.requestRender();
|
|
19658
19989
|
return;
|
|
19659
19990
|
}
|
|
@@ -19742,21 +20073,49 @@
|
|
|
19742
20073
|
return;
|
|
19743
20074
|
}
|
|
19744
20075
|
this.viewer.scene.primitives.add(this.cTileset);
|
|
19745
|
-
|
|
19746
|
-
if (colorCss) {
|
|
19747
|
-
this.cTileset.style = new Cesium.Cesium3DTileStyle({
|
|
19748
|
-
color: {
|
|
19749
|
-
conditions: [
|
|
19750
|
-
["true", `color("${colorCss}")`]
|
|
19751
|
-
]
|
|
19752
|
-
}
|
|
19753
|
-
});
|
|
19754
|
-
}
|
|
20076
|
+
this.applyColorMask();
|
|
19755
20077
|
this.viewer.scene.requestRender();
|
|
19756
20078
|
})();
|
|
19757
20079
|
}
|
|
20080
|
+
applyColorMask() {
|
|
20081
|
+
const colorCss = this.item.colorMask;
|
|
20082
|
+
if (colorCss) {
|
|
20083
|
+
this.cTileset.style = new Cesium.Cesium3DTileStyle({
|
|
20084
|
+
color: {
|
|
20085
|
+
conditions: [
|
|
20086
|
+
["true", `color("${colorCss}")`]
|
|
20087
|
+
]
|
|
20088
|
+
}
|
|
20089
|
+
});
|
|
20090
|
+
}
|
|
20091
|
+
else {
|
|
20092
|
+
this.cTileset.style = undefined;
|
|
20093
|
+
}
|
|
20094
|
+
}
|
|
19758
20095
|
async ReRender(params) {
|
|
19759
20096
|
}
|
|
20097
|
+
get HandoffKey() {
|
|
20098
|
+
return Manager.GetHandoffKey();
|
|
20099
|
+
}
|
|
20100
|
+
static GetHandoffKey() {
|
|
20101
|
+
return "google-photorealistic-3d";
|
|
20102
|
+
}
|
|
20103
|
+
PrepareHandoff() {
|
|
20104
|
+
if (this.disposed || !this.cTileset || this.cTileset.isDestroyed()) {
|
|
20105
|
+
return null;
|
|
20106
|
+
}
|
|
20107
|
+
const payload = {
|
|
20108
|
+
cTileset: this.cTileset
|
|
20109
|
+
};
|
|
20110
|
+
this.cTileset = null;
|
|
20111
|
+
this.disposed = true;
|
|
20112
|
+
return payload;
|
|
20113
|
+
}
|
|
20114
|
+
AdoptHandoff(payload) {
|
|
20115
|
+
this.cTileset = payload.cTileset;
|
|
20116
|
+
this.applyColorMask();
|
|
20117
|
+
this.viewer.scene.requestRender();
|
|
20118
|
+
}
|
|
19760
20119
|
}
|
|
19761
20120
|
TilesetGooglePhotosRenderManager.Manager = Manager;
|
|
19762
20121
|
})(exports.TilesetGooglePhotosRenderManager || (exports.TilesetGooglePhotosRenderManager = {}));
|
|
@@ -22051,7 +22410,7 @@
|
|
|
22051
22410
|
console.error("Menu item type is not implemented.", params.item.Type);
|
|
22052
22411
|
}
|
|
22053
22412
|
if (rItem.renderManager && !rItem.renderManager.Disposed) {
|
|
22054
|
-
const handoffPayload = this.tryClaimHandoffPayload(params.item, rItem.renderManager);
|
|
22413
|
+
const handoffPayload = this.tryClaimHandoffPayload(params.item, rItem.renderManager, params.modelSpace);
|
|
22055
22414
|
try {
|
|
22056
22415
|
if (handoffPayload) {
|
|
22057
22416
|
rItem.renderManager.AdoptHandoff(handoffPayload);
|
|
@@ -22128,22 +22487,37 @@
|
|
|
22128
22487
|
return Boolean(renderManager) && typeof renderManager.PrepareHandoff === "function";
|
|
22129
22488
|
}
|
|
22130
22489
|
// Resolves the hand-off key a menu item's data would have.
|
|
22131
|
-
computeHandoffKey(item) {
|
|
22490
|
+
computeHandoffKey(item, modelSpace) {
|
|
22132
22491
|
if (item.Type === BModels.MenuItem.EType.CadTileset) {
|
|
22133
|
-
return exports.TilesetCadRenderManager.Manager.GetHandoffKey(item);
|
|
22492
|
+
return exports.TilesetCadRenderManager.Manager.GetHandoffKey(item, modelSpace);
|
|
22134
22493
|
}
|
|
22135
22494
|
if (item.Type === BModels.MenuItem.EType.EntityTileset) {
|
|
22136
22495
|
return exports.TilesetEntitiesRenderManager.Manager.GetHandoffKey(item);
|
|
22137
22496
|
}
|
|
22497
|
+
if (item.Type === BModels.MenuItem.EType.PointCloud) {
|
|
22498
|
+
return exports.TilesetPointcloudRenderManager.Manager.GetHandoffKey(item);
|
|
22499
|
+
}
|
|
22500
|
+
if (item.Type === BModels.MenuItem.EType.GooglePhotoTileset) {
|
|
22501
|
+
return exports.TilesetGooglePhotosRenderManager.Manager.GetHandoffKey();
|
|
22502
|
+
}
|
|
22503
|
+
if (item.Type === BModels.MenuItem.EType.Osm) {
|
|
22504
|
+
return exports.TilesetOsmRenderManager.Manager.GetHandoffKey(item);
|
|
22505
|
+
}
|
|
22506
|
+
if (item.Type === BModels.MenuItem.EType.Entities) {
|
|
22507
|
+
return exports.EntitiesRenderManager.Manager.GetHandoffKey(item);
|
|
22508
|
+
}
|
|
22509
|
+
if (item.Type === BModels.MenuItem.EType.DataLab) {
|
|
22510
|
+
return exports.DataLabRenderManager.Manager.GetHandoffKey(item);
|
|
22511
|
+
}
|
|
22138
22512
|
return null;
|
|
22139
22513
|
}
|
|
22140
22514
|
// Claims a pooled manager for the same resource, if one exists and both sides opt in.
|
|
22141
22515
|
// Returns null (meaning: construct normally via Init()) otherwise.
|
|
22142
|
-
tryClaimHandoffPayload(item, newManager) {
|
|
22516
|
+
tryClaimHandoffPayload(item, newManager, modelSpace) {
|
|
22143
22517
|
if (typeof newManager.AdoptHandoff !== "function") {
|
|
22144
22518
|
return null;
|
|
22145
22519
|
}
|
|
22146
|
-
const key = this.computeHandoffKey(item);
|
|
22520
|
+
const key = this.computeHandoffKey(item, modelSpace);
|
|
22147
22521
|
if (!key) {
|
|
22148
22522
|
return null;
|
|
22149
22523
|
}
|
|
@@ -37060,7 +37434,7 @@
|
|
|
37060
37434
|
StyleUtils.ApplyTypeStyle = ApplyTypeStyle;
|
|
37061
37435
|
})(exports.StyleUtils || (exports.StyleUtils = {}));
|
|
37062
37436
|
|
|
37063
|
-
const VERSION = "6.8.
|
|
37437
|
+
const VERSION = "6.8.2";
|
|
37064
37438
|
/**
|
|
37065
37439
|
* Updates the environment instance used by bruce-cesium to one specified.
|
|
37066
37440
|
* This can be used to ensure that the instance a parent is referencing is shared between bruce-cesium, bruce-models, and the parent app.
|