bruce-cesium 6.8.1 → 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 +618 -248
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +616 -246
- 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 +15 -0
- 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 +10 -9
- 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-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.es5.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as Cesium from 'cesium';
|
|
2
|
-
import { Cartographic, ColorMaterialProperty, Entity, Color, ConstantProperty, CallbackProperty, Primitive, Cesium3DTileFeature, Math as Math$1,
|
|
3
|
-
import { Cartes, Entity as Entity$1, ENVIRONMENT, Calculator, ClientFile,
|
|
2
|
+
import { Cartographic, ColorMaterialProperty, Entity, Color, ConstantProperty, CallbackProperty, Primitive, Cesium3DTileFeature, DistanceDisplayCondition, HeightReference, HorizontalOrigin, VerticalOrigin, Cartesian3, ClassificationType, ConstantPositionProperty, Math as Math$1, JulianDate, Quaternion, Transforms, HeadingPitchRoll, Matrix4, ArcType, CornerType, ShadowMode, ColorBlendMode, Model, PolygonHierarchy, PolylineGraphics, Cartesian2, SceneTransforms, NearFarScalar, Matrix3, Rectangle, KmlDataSource, GeoJsonDataSource, SceneMode, Ion, IonResource, Cesium3DTileStyle, HeadingPitchRange, Cesium3DTileColorBlendMode, OrthographicFrustum, EasingFunction, EllipsoidTerrainProvider, IonImageryProvider, createWorldImagery, createWorldImageryAsync, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, UrlTemplateImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, TileMapServiceImageryProvider, CesiumTerrainProvider, Cesium3DTileset, EllipsoidGeodesic, sampleTerrainMostDetailed, defined, PolygonPipeline, CesiumInspector, ClockRange, BoundingSphere, GeometryInstance, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, PolylineDashMaterialProperty, ScreenSpaceEventHandler, ScreenSpaceEventType, Intersect, CzmlDataSource, Fullscreen } from 'cesium';
|
|
3
|
+
import { Cartes, Entity as Entity$1, ENVIRONMENT, Api, Calculator, ClientFile, EntityTag, EntityType, LRUCache, ObjectUtils, Style, Carto, Geometry, EntityLod, MenuItem, ProjectView, ProjectViewBookmark, Tileset, ZoomControl, Bounds, BruceEvent, EntityCoords, DataLab, DelayQueue, EntityHistoricData, BruceApi, EntityRelation, AccountConcept, RecordChangeFeed, ProgramKey, EntitySource, Camera, ProjectViewTile, ProjectViewLegacyTile, Session, EntityAttachment, EntityAttachmentType, EntityAttribute, MathUtils, EntityRelationType } from 'bruce-models';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Ensures a number is returned from a given value.
|
|
@@ -6148,7 +6148,7 @@ var VisualRegisterCuller;
|
|
|
6148
6148
|
terrChangeRemoval = null;
|
|
6149
6149
|
clearTimeout(terrChangeTimeout);
|
|
6150
6150
|
terrChangeTimeout = null;
|
|
6151
|
-
checkInterval
|
|
6151
|
+
clearInterval(checkInterval);
|
|
6152
6152
|
checkInterval = null;
|
|
6153
6153
|
checkWaiting = false;
|
|
6154
6154
|
checkQueue === null || checkQueue === void 0 ? void 0 : checkQueue.Dispose();
|
|
@@ -6548,6 +6548,7 @@ var VisualsRegister;
|
|
|
6548
6548
|
// skipped by the applier so a live user action always wins.
|
|
6549
6549
|
this.lazyOverrideExclusions = new Set();
|
|
6550
6550
|
this.lazyOverrideInterval = null;
|
|
6551
|
+
this.activeChunkedIntervals = new Set();
|
|
6551
6552
|
this.onUpdate = null;
|
|
6552
6553
|
// Entity ID -> Menu Item ID -> State.
|
|
6553
6554
|
// When no Menu Item ID is set, then the second key is a blank string.
|
|
@@ -7144,6 +7145,31 @@ var VisualsRegister;
|
|
|
7144
7145
|
}
|
|
7145
7146
|
this.viewer.scene.requestRender();
|
|
7146
7147
|
}
|
|
7148
|
+
runChunked(items, perItem, onComplete) {
|
|
7149
|
+
const BATCH_SIZE = 5000;
|
|
7150
|
+
let index = 0;
|
|
7151
|
+
const interval = setInterval(() => {
|
|
7152
|
+
if (this.Disposed) {
|
|
7153
|
+
clearInterval(interval);
|
|
7154
|
+
this.activeChunkedIntervals.delete(interval);
|
|
7155
|
+
return;
|
|
7156
|
+
}
|
|
7157
|
+
const end = Math.min(index + BATCH_SIZE, items.length);
|
|
7158
|
+
for (; index < end; index++) {
|
|
7159
|
+
perItem(items[index]);
|
|
7160
|
+
}
|
|
7161
|
+
this.viewer.scene.requestRender();
|
|
7162
|
+
if (index >= items.length) {
|
|
7163
|
+
clearInterval(interval);
|
|
7164
|
+
this.activeChunkedIntervals.delete(interval);
|
|
7165
|
+
onComplete === null || onComplete === void 0 ? void 0 : onComplete();
|
|
7166
|
+
}
|
|
7167
|
+
}, 10);
|
|
7168
|
+
this.activeChunkedIntervals.add(interval);
|
|
7169
|
+
}
|
|
7170
|
+
startLazyRemoval(entityIds, removeOne, onComplete) {
|
|
7171
|
+
this.runChunked(entityIds, removeOne, onComplete);
|
|
7172
|
+
}
|
|
7147
7173
|
/**
|
|
7148
7174
|
* Cancels any in-flight lazy OverrideStates() apply.
|
|
7149
7175
|
*/
|
|
@@ -7216,9 +7242,7 @@ var VisualsRegister;
|
|
|
7216
7242
|
}, 10);
|
|
7217
7243
|
}
|
|
7218
7244
|
/**
|
|
7219
|
-
* Returns all states
|
|
7220
|
-
* This is a utility function for returning settings for apps that don't support the newer state settings.
|
|
7221
|
-
* @deprecated Use GetStates() or GetState().
|
|
7245
|
+
* Returns all states keyed by entity id, without regard to menu item id.
|
|
7222
7246
|
* @returns
|
|
7223
7247
|
*/
|
|
7224
7248
|
GetStatesLegacy() {
|
|
@@ -7244,7 +7268,7 @@ var VisualsRegister;
|
|
|
7244
7268
|
const entityId = entityIds[i];
|
|
7245
7269
|
const state = this.GetState({
|
|
7246
7270
|
entityId: entityId,
|
|
7247
|
-
//
|
|
7271
|
+
// Most-recently-set Menu Item for this entity, if any.
|
|
7248
7272
|
menuItemId: entityIdsMenuItem[entityId]
|
|
7249
7273
|
});
|
|
7250
7274
|
states[entityId] = state;
|
|
@@ -7300,6 +7324,10 @@ var VisualsRegister;
|
|
|
7300
7324
|
clearInterval(this.lazyOverrideInterval);
|
|
7301
7325
|
this.lazyOverrideInterval = null;
|
|
7302
7326
|
this.lazyOverrideActive = false;
|
|
7327
|
+
for (const interval of this.activeChunkedIntervals) {
|
|
7328
|
+
clearInterval(interval);
|
|
7329
|
+
}
|
|
7330
|
+
this.activeChunkedIntervals.clear();
|
|
7303
7331
|
this.disposed = true;
|
|
7304
7332
|
}
|
|
7305
7333
|
ForceUpdate(params) {
|
|
@@ -7390,8 +7418,7 @@ var VisualsRegister;
|
|
|
7390
7418
|
}
|
|
7391
7419
|
}
|
|
7392
7420
|
/**
|
|
7393
|
-
* Returns all labelled entity ids.
|
|
7394
|
-
* @deprecated Use GetStates() or GetState().
|
|
7421
|
+
* Returns all labelled entity ids, without regard to menu item id.
|
|
7395
7422
|
*/
|
|
7396
7423
|
GetLabelled() {
|
|
7397
7424
|
const labelledIds = [];
|
|
@@ -7542,7 +7569,7 @@ var VisualsRegister;
|
|
|
7542
7569
|
}
|
|
7543
7570
|
}
|
|
7544
7571
|
/**
|
|
7545
|
-
*
|
|
7572
|
+
* Returns all selected entity ids, without regard to menu item id.
|
|
7546
7573
|
* @returns
|
|
7547
7574
|
*/
|
|
7548
7575
|
GetSelected() {
|
|
@@ -7677,7 +7704,7 @@ var VisualsRegister;
|
|
|
7677
7704
|
}
|
|
7678
7705
|
}
|
|
7679
7706
|
/**
|
|
7680
|
-
*
|
|
7707
|
+
* Returns all highlighted entity ids, without regard to menu item id.
|
|
7681
7708
|
* @returns
|
|
7682
7709
|
*/
|
|
7683
7710
|
GetHighlighted() {
|
|
@@ -7738,7 +7765,7 @@ var VisualsRegister;
|
|
|
7738
7765
|
return this.isolatedAnyCache;
|
|
7739
7766
|
}
|
|
7740
7767
|
/**
|
|
7741
|
-
*
|
|
7768
|
+
* Returns all isolated entity ids, without regard to menu item id.
|
|
7742
7769
|
* @returns
|
|
7743
7770
|
*/
|
|
7744
7771
|
GetIsolated() {
|
|
@@ -7796,7 +7823,7 @@ var VisualsRegister;
|
|
|
7796
7823
|
return state.hidden === true;
|
|
7797
7824
|
}
|
|
7798
7825
|
/**
|
|
7799
|
-
*
|
|
7826
|
+
* Returns all hidden entity ids, without regard to menu item id.
|
|
7800
7827
|
* @returns
|
|
7801
7828
|
*/
|
|
7802
7829
|
GetHidden() {
|
|
@@ -7883,8 +7910,8 @@ var VisualsRegister;
|
|
|
7883
7910
|
* Re-parents every rego registered under one menu item id to a different menu item id.
|
|
7884
7911
|
*/
|
|
7885
7912
|
ReassignMenuItem(params) {
|
|
7886
|
-
var _a
|
|
7887
|
-
const { fromMenuItemId, toMenuItemId, toMenuItemType, toPriority, requestRender, source } = params;
|
|
7913
|
+
var _a;
|
|
7914
|
+
const { fromMenuItemId, toMenuItemId, toMenuItemType, toPriority, requestRender, source, lazy, onBatch, onComplete } = params;
|
|
7888
7915
|
if (!fromMenuItemId || !toMenuItemId || fromMenuItemId === toMenuItemId) {
|
|
7889
7916
|
return;
|
|
7890
7917
|
}
|
|
@@ -7892,37 +7919,44 @@ var VisualsRegister;
|
|
|
7892
7919
|
if (!entityIds) {
|
|
7893
7920
|
return;
|
|
7894
7921
|
}
|
|
7895
|
-
|
|
7896
|
-
|
|
7922
|
+
const idsSnapshot = Array.from(entityIds);
|
|
7923
|
+
const regoSnapshot = new Map();
|
|
7924
|
+
for (const entityId of idsSnapshot) {
|
|
7925
|
+
const snapRego = (_a = this.rego[entityId]) === null || _a === void 0 ? void 0 : _a.find(r => r.menuItemId === fromMenuItemId);
|
|
7926
|
+
if (snapRego) {
|
|
7927
|
+
regoSnapshot.set(entityId, snapRego);
|
|
7928
|
+
}
|
|
7929
|
+
}
|
|
7930
|
+
const reassignOne = (entityId) => {
|
|
7931
|
+
var _a, _b;
|
|
7897
7932
|
const regos = this.rego[entityId];
|
|
7898
7933
|
if (!regos) {
|
|
7899
|
-
|
|
7934
|
+
return null;
|
|
7900
7935
|
}
|
|
7901
|
-
|
|
7902
|
-
|
|
7903
|
-
|
|
7904
|
-
|
|
7905
|
-
|
|
7906
|
-
|
|
7907
|
-
|
|
7908
|
-
|
|
7909
|
-
|
|
7910
|
-
|
|
7911
|
-
|
|
7912
|
-
|
|
7913
|
-
|
|
7914
|
-
|
|
7915
|
-
|
|
7916
|
-
|
|
7917
|
-
|
|
7918
|
-
|
|
7919
|
-
|
|
7920
|
-
|
|
7921
|
-
|
|
7922
|
-
|
|
7923
|
-
|
|
7924
|
-
|
|
7925
|
-
}
|
|
7936
|
+
const rego = regos.find(r => r.menuItemId === fromMenuItemId);
|
|
7937
|
+
if (!rego || rego !== regoSnapshot.get(entityId)) {
|
|
7938
|
+
return null;
|
|
7939
|
+
}
|
|
7940
|
+
if (source !== EUpdateSource.TREE_CASCADE) {
|
|
7941
|
+
(_a = this.onUpdate) === null || _a === void 0 ? void 0 : _a.Trigger({
|
|
7942
|
+
type: EVisualUpdateType.Remove,
|
|
7943
|
+
entityId,
|
|
7944
|
+
rego: { ...rego, menuItemId: fromMenuItemId },
|
|
7945
|
+
source
|
|
7946
|
+
});
|
|
7947
|
+
}
|
|
7948
|
+
rego.menuItemId = toMenuItemId;
|
|
7949
|
+
rego.menuItemType = toMenuItemType;
|
|
7950
|
+
if (toPriority != null) {
|
|
7951
|
+
rego.priority = toPriority;
|
|
7952
|
+
}
|
|
7953
|
+
if (source !== EUpdateSource.TREE_CASCADE) {
|
|
7954
|
+
(_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({
|
|
7955
|
+
type: EVisualUpdateType.Add,
|
|
7956
|
+
entityId,
|
|
7957
|
+
rego,
|
|
7958
|
+
source
|
|
7959
|
+
});
|
|
7926
7960
|
}
|
|
7927
7961
|
const eStates = this.states[entityId];
|
|
7928
7962
|
const movingState = eStates === null || eStates === void 0 ? void 0 : eStates[fromMenuItemId];
|
|
@@ -7942,11 +7976,50 @@ var VisualsRegister;
|
|
|
7942
7976
|
entityId,
|
|
7943
7977
|
refresh: true
|
|
7944
7978
|
});
|
|
7979
|
+
return rego;
|
|
7980
|
+
};
|
|
7981
|
+
if (lazy) {
|
|
7982
|
+
this.startLazyReassign(idsSnapshot, reassignOne, requestRender, onBatch, onComplete);
|
|
7983
|
+
return;
|
|
7984
|
+
}
|
|
7985
|
+
for (const entityId of idsSnapshot) {
|
|
7986
|
+
reassignOne(entityId);
|
|
7945
7987
|
}
|
|
7946
7988
|
if (requestRender != false) {
|
|
7947
7989
|
this.viewer.scene.requestRender();
|
|
7948
7990
|
}
|
|
7949
7991
|
}
|
|
7992
|
+
startLazyReassign(entityIds, reassignOne, requestRender, onBatch, onComplete) {
|
|
7993
|
+
const BATCH_SIZE = 5000;
|
|
7994
|
+
let index = 0;
|
|
7995
|
+
const interval = setInterval(() => {
|
|
7996
|
+
if (this.Disposed) {
|
|
7997
|
+
clearInterval(interval);
|
|
7998
|
+
this.activeChunkedIntervals.delete(interval);
|
|
7999
|
+
return;
|
|
8000
|
+
}
|
|
8001
|
+
const end = Math.min(index + BATCH_SIZE, entityIds.length);
|
|
8002
|
+
const batch = [];
|
|
8003
|
+
for (; index < end; index++) {
|
|
8004
|
+
const rego = reassignOne(entityIds[index]);
|
|
8005
|
+
if (rego) {
|
|
8006
|
+
batch.push(rego);
|
|
8007
|
+
}
|
|
8008
|
+
}
|
|
8009
|
+
if (batch.length) {
|
|
8010
|
+
onBatch === null || onBatch === void 0 ? void 0 : onBatch(batch);
|
|
8011
|
+
}
|
|
8012
|
+
if (requestRender != false) {
|
|
8013
|
+
this.viewer.scene.requestRender();
|
|
8014
|
+
}
|
|
8015
|
+
if (index >= entityIds.length) {
|
|
8016
|
+
clearInterval(interval);
|
|
8017
|
+
this.activeChunkedIntervals.delete(interval);
|
|
8018
|
+
onComplete === null || onComplete === void 0 ? void 0 : onComplete();
|
|
8019
|
+
}
|
|
8020
|
+
}, 10);
|
|
8021
|
+
this.activeChunkedIntervals.add(interval);
|
|
8022
|
+
}
|
|
7950
8023
|
/**
|
|
7951
8024
|
* Locates a visual corresponding to a given entity id.
|
|
7952
8025
|
* If no menu item id is provided, then it will pick the "best" one.
|
|
@@ -7989,6 +8062,7 @@ var VisualsRegister;
|
|
|
7989
8062
|
GetRegos(params) {
|
|
7990
8063
|
// TODO: refactor.
|
|
7991
8064
|
// Currently this was made by merging two functions.
|
|
8065
|
+
var _a;
|
|
7992
8066
|
const { entityId, menuItemId, styleId, styleEffectiveFilter } = params;
|
|
7993
8067
|
const matchesStyleFilters = (rego) => {
|
|
7994
8068
|
if (styleId != null && rego.styleId !== styleId) {
|
|
@@ -8012,10 +8086,10 @@ var VisualsRegister;
|
|
|
8012
8086
|
}
|
|
8013
8087
|
else if (menuItemId) {
|
|
8014
8088
|
const visuals = [];
|
|
8015
|
-
|
|
8016
|
-
|
|
8017
|
-
|
|
8018
|
-
const rego =
|
|
8089
|
+
const eIds = this.entityIdsByMenuItem[menuItemId];
|
|
8090
|
+
if (eIds) {
|
|
8091
|
+
for (const eId of eIds) {
|
|
8092
|
+
const rego = (_a = this.rego[eId]) === null || _a === void 0 ? void 0 : _a.find(r => r.menuItemId === menuItemId);
|
|
8019
8093
|
if (rego && matchesStyleFilters(rego)) {
|
|
8020
8094
|
visuals.push(rego);
|
|
8021
8095
|
}
|
|
@@ -8047,7 +8121,7 @@ var VisualsRegister;
|
|
|
8047
8121
|
*/
|
|
8048
8122
|
RemoveRegos(params) {
|
|
8049
8123
|
var _a, _b, _c;
|
|
8050
|
-
let { entityId, menuItemId, doUpdate, relation, retainTagIds, requestRender, doRemove, source } = params;
|
|
8124
|
+
let { entityId, menuItemId, doUpdate, relation, retainTagIds, requestRender, doRemove, source, lazy, onComplete } = params;
|
|
8051
8125
|
if (doUpdate == null || doUpdate === undefined) {
|
|
8052
8126
|
doUpdate = true;
|
|
8053
8127
|
}
|
|
@@ -8058,50 +8132,65 @@ var VisualsRegister;
|
|
|
8058
8132
|
// Currently this was made by merging two functions.
|
|
8059
8133
|
if (menuItemId && !entityId) {
|
|
8060
8134
|
// Entities registered under this menu item, keyed via entityIdsByMenuItem.
|
|
8061
|
-
// Snapshot to an array since removals below mutate the backing set.
|
|
8062
8135
|
const entityIds = this.entityIdsByMenuItem[menuItemId] ? Array.from(this.entityIdsByMenuItem[menuItemId]) : [];
|
|
8063
|
-
|
|
8136
|
+
const regoSnapshot = new Map();
|
|
8137
|
+
for (const snapEntityId of entityIds) {
|
|
8138
|
+
const snapRego = (_a = this.rego[snapEntityId]) === null || _a === void 0 ? void 0 : _a.find(r => r.menuItemId === menuItemId);
|
|
8139
|
+
if (snapRego) {
|
|
8140
|
+
regoSnapshot.set(snapEntityId, snapRego);
|
|
8141
|
+
}
|
|
8142
|
+
}
|
|
8143
|
+
const removeOne = (entityId) => {
|
|
8144
|
+
var _a;
|
|
8064
8145
|
const entityRegos = this.rego[entityId];
|
|
8065
|
-
if (entityRegos) {
|
|
8066
|
-
|
|
8067
|
-
|
|
8068
|
-
|
|
8069
|
-
|
|
8070
|
-
|
|
8071
|
-
|
|
8072
|
-
|
|
8073
|
-
|
|
8074
|
-
|
|
8075
|
-
|
|
8076
|
-
|
|
8146
|
+
if (!entityRegos) {
|
|
8147
|
+
return;
|
|
8148
|
+
}
|
|
8149
|
+
const rego = entityRegos.find(r => r.menuItemId === menuItemId);
|
|
8150
|
+
if (!rego || rego !== regoSnapshot.get(entityId)) {
|
|
8151
|
+
return;
|
|
8152
|
+
}
|
|
8153
|
+
const regoTagIds = rego.tagIds ? rego.tagIds : [];
|
|
8154
|
+
const shouldRetain = regoTagIds.some(tagId => retainTagIds.includes(tagId));
|
|
8155
|
+
if (shouldRetain) {
|
|
8156
|
+
return;
|
|
8157
|
+
}
|
|
8158
|
+
EntityLabel.Detatch({
|
|
8159
|
+
rego
|
|
8160
|
+
});
|
|
8161
|
+
if (doRemove != false) {
|
|
8162
|
+
removeEntity(this.viewer, rego.visual);
|
|
8163
|
+
}
|
|
8164
|
+
rego.visual = null;
|
|
8165
|
+
const doesInclude = this.rego[entityId].find(r => r.menuItemId === menuItemId);
|
|
8166
|
+
if (doesInclude) {
|
|
8167
|
+
this.rego[entityId] = entityRegos.filter(r => r.menuItemId !== menuItemId);
|
|
8168
|
+
this.unindexMenuItemEntityIfAbsent(menuItemId, entityId);
|
|
8169
|
+
}
|
|
8170
|
+
const update = {
|
|
8171
|
+
type: EVisualUpdateType.Remove,
|
|
8172
|
+
entityId: rego.entityId,
|
|
8173
|
+
rego: rego
|
|
8174
|
+
};
|
|
8175
|
+
if (source) {
|
|
8176
|
+
update.source = source;
|
|
8177
|
+
}
|
|
8178
|
+
if (source !== EUpdateSource.TREE_CASCADE) {
|
|
8179
|
+
(_a = this.onUpdate) === null || _a === void 0 ? void 0 : _a.Trigger(update);
|
|
8180
|
+
}
|
|
8181
|
+
if (doesInclude) {
|
|
8182
|
+
this.queueUpdate({
|
|
8183
|
+
entityId: entityId,
|
|
8184
|
+
refresh: false
|
|
8077
8185
|
});
|
|
8078
|
-
if (doRemove != false) {
|
|
8079
|
-
removeEntity(this.viewer, rego.visual);
|
|
8080
|
-
}
|
|
8081
|
-
rego.visual = null;
|
|
8082
|
-
const doesInclude = this.rego[entityId].find(r => r.menuItemId === menuItemId);
|
|
8083
|
-
if (doesInclude) {
|
|
8084
|
-
this.rego[entityId] = entityRegos.filter(r => r.menuItemId !== menuItemId);
|
|
8085
|
-
this.unindexMenuItemEntityIfAbsent(menuItemId, entityId);
|
|
8086
|
-
}
|
|
8087
|
-
const update = {
|
|
8088
|
-
type: EVisualUpdateType.Remove,
|
|
8089
|
-
entityId: rego.entityId,
|
|
8090
|
-
rego: rego
|
|
8091
|
-
};
|
|
8092
|
-
if (source) {
|
|
8093
|
-
update.source = source;
|
|
8094
|
-
}
|
|
8095
|
-
if (source !== EUpdateSource.TREE_CASCADE) {
|
|
8096
|
-
(_a = this.onUpdate) === null || _a === void 0 ? void 0 : _a.Trigger(update);
|
|
8097
|
-
}
|
|
8098
|
-
if (doesInclude) {
|
|
8099
|
-
this.queueUpdate({
|
|
8100
|
-
entityId: entityId,
|
|
8101
|
-
refresh: false
|
|
8102
|
-
});
|
|
8103
|
-
}
|
|
8104
8186
|
}
|
|
8187
|
+
};
|
|
8188
|
+
if (lazy) {
|
|
8189
|
+
this.startLazyRemoval(entityIds, removeOne, onComplete);
|
|
8190
|
+
return;
|
|
8191
|
+
}
|
|
8192
|
+
for (const entityId of entityIds) {
|
|
8193
|
+
removeOne(entityId);
|
|
8105
8194
|
}
|
|
8106
8195
|
}
|
|
8107
8196
|
else if (entityId) {
|
|
@@ -8424,10 +8513,9 @@ var VisualsRegister;
|
|
|
8424
8513
|
});
|
|
8425
8514
|
}
|
|
8426
8515
|
/**
|
|
8427
|
-
* Returns a dictionary containing entityId -> opacity values
|
|
8428
|
-
* Opacity 1 = 100%.
|
|
8516
|
+
* Returns a dictionary containing entityId -> opacity values, without regard to
|
|
8517
|
+
* menu item id. Opacity 1 = 100%.
|
|
8429
8518
|
* @returns
|
|
8430
|
-
* @deprecated Use GetStates() or GetState().
|
|
8431
8519
|
*/
|
|
8432
8520
|
GetOpacityMap() {
|
|
8433
8521
|
const map = {};
|
|
@@ -9389,7 +9477,7 @@ function colorToCColor$1(color) {
|
|
|
9389
9477
|
return new Color(color.red ? color.red / 255 : 0, color.green ? color.green / 255 : 0, color.blue ? color.blue / 255 : 0, color.alpha);
|
|
9390
9478
|
}
|
|
9391
9479
|
function getShowDebugBounds() {
|
|
9392
|
-
if (
|
|
9480
|
+
if (typeof window === "undefined") {
|
|
9393
9481
|
return false;
|
|
9394
9482
|
}
|
|
9395
9483
|
let showBounds = window === null || window === void 0 ? void 0 : window.ENTITIES_RENDER_MANAGER_SHOW_BOUNDS;
|
|
@@ -9466,52 +9554,17 @@ var EntitiesRenderManager;
|
|
|
9466
9554
|
this.item = params.item;
|
|
9467
9555
|
}
|
|
9468
9556
|
(async () => {
|
|
9469
|
-
var _a, _b, _c, _d
|
|
9557
|
+
var _a, _b, _c, _d;
|
|
9470
9558
|
if (this.disposed) {
|
|
9471
9559
|
return;
|
|
9472
9560
|
}
|
|
9473
9561
|
try {
|
|
9474
|
-
|
|
9475
|
-
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"])) {
|
|
9476
|
-
this.allowedTypeIDs = [];
|
|
9477
|
-
if ((_c = this.item.BruceEntity) === null || _c === void 0 ? void 0 : _c["EntityType.ID"]) {
|
|
9478
|
-
this.allowedTypeIDs.push((_d = this.item.BruceEntity) === null || _d === void 0 ? void 0 : _d["EntityType.ID"]);
|
|
9479
|
-
}
|
|
9480
|
-
}
|
|
9562
|
+
const { tagsToRender, shouldRender } = this.applyItemSettings();
|
|
9481
9563
|
if (this.disposed) {
|
|
9482
9564
|
return;
|
|
9483
9565
|
}
|
|
9484
|
-
this.zoomControl = this.item.CameraZoomSettings;
|
|
9485
|
-
if (!((_e = this.zoomControl) === null || _e === void 0 ? void 0 : _e.length)) {
|
|
9486
|
-
this.zoomControl = [
|
|
9487
|
-
{
|
|
9488
|
-
MinZoom: 0,
|
|
9489
|
-
MaxZoom: 200000,
|
|
9490
|
-
DisplayType: ZoomControl.EDisplayType.Model3D,
|
|
9491
|
-
LODCategoryID: "glb",
|
|
9492
|
-
LODLevel: 0,
|
|
9493
|
-
StyleID: 0
|
|
9494
|
-
}
|
|
9495
|
-
];
|
|
9496
|
-
}
|
|
9497
|
-
this.renderPriority = this.item.renderPriority;
|
|
9498
|
-
if (this.renderPriority == null) {
|
|
9499
|
-
this.renderPriority = 1;
|
|
9500
|
-
}
|
|
9501
|
-
if (this.useGeojson && this.zoomControl.length > 1) {
|
|
9502
|
-
console.warn("Geojson rendering does not support multiple zoom controls. Only the first one will be used.");
|
|
9503
|
-
this.zoomControl = [this.zoomControl[0]];
|
|
9504
|
-
}
|
|
9505
|
-
this.scenario = (_f = this.item.BruceEntity) === null || _f === void 0 ? void 0 : _f.Scenario;
|
|
9506
|
-
const isTagItem = Boolean(this.item.BruceEntity.ExpandLayers);
|
|
9507
|
-
let tagsToRender = isTagItem ? this.item.BruceEntity.SelectedExpandLayers : null;
|
|
9508
|
-
if (!tagsToRender) {
|
|
9509
|
-
tagsToRender = [];
|
|
9510
|
-
}
|
|
9511
|
-
tagsToRender = [].concat(tagsToRender);
|
|
9512
|
-
const shouldRender = !isTagItem || tagsToRender.length > 0;
|
|
9513
9566
|
this.unsetGetter();
|
|
9514
|
-
(
|
|
9567
|
+
(_a = this.viewMonitorRemoval) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
9515
9568
|
this.viewMonitorRemoval = null;
|
|
9516
9569
|
clearInterval(this.renderQueueInterval);
|
|
9517
9570
|
this.renderQueueInterval = null;
|
|
@@ -9523,17 +9576,17 @@ var EntitiesRenderManager;
|
|
|
9523
9576
|
menuItemId: this.item.id,
|
|
9524
9577
|
retainTagIds: tagsToRender
|
|
9525
9578
|
});
|
|
9526
|
-
(
|
|
9579
|
+
(_b = this.clustering) === null || _b === void 0 ? void 0 : _b.Dispose();
|
|
9527
9580
|
}
|
|
9528
9581
|
else {
|
|
9529
9582
|
this.visualsManager.RemoveRegos({
|
|
9530
9583
|
menuItemId: this.item.id
|
|
9531
9584
|
});
|
|
9532
|
-
(
|
|
9585
|
+
(_c = this.clustering) === null || _c === void 0 ? void 0 : _c.Dispose();
|
|
9533
9586
|
return;
|
|
9534
9587
|
}
|
|
9535
9588
|
if (this.item.enableClustering) {
|
|
9536
|
-
this.clustering = new PointClustering(this.visualsManager, this.item.id, (
|
|
9589
|
+
this.clustering = new PointClustering(this.visualsManager, this.item.id, (_d = this.item) === null || _d === void 0 ? void 0 : _d.clustering);
|
|
9537
9590
|
}
|
|
9538
9591
|
this.setGetter();
|
|
9539
9592
|
this.viewMonitorRemoval = this.monitor.Updated().Subscribe(() => {
|
|
@@ -9546,6 +9599,46 @@ var EntitiesRenderManager;
|
|
|
9546
9599
|
}
|
|
9547
9600
|
})();
|
|
9548
9601
|
}
|
|
9602
|
+
applyItemSettings() {
|
|
9603
|
+
var _a, _b, _c, _d, _e, _f;
|
|
9604
|
+
// Reset allowed list if there's change.
|
|
9605
|
+
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"])) {
|
|
9606
|
+
this.allowedTypeIDs = [];
|
|
9607
|
+
if ((_c = this.item.BruceEntity) === null || _c === void 0 ? void 0 : _c["EntityType.ID"]) {
|
|
9608
|
+
this.allowedTypeIDs.push((_d = this.item.BruceEntity) === null || _d === void 0 ? void 0 : _d["EntityType.ID"]);
|
|
9609
|
+
}
|
|
9610
|
+
}
|
|
9611
|
+
this.zoomControl = this.item.CameraZoomSettings;
|
|
9612
|
+
if (!((_e = this.zoomControl) === null || _e === void 0 ? void 0 : _e.length)) {
|
|
9613
|
+
this.zoomControl = [
|
|
9614
|
+
{
|
|
9615
|
+
MinZoom: 0,
|
|
9616
|
+
MaxZoom: 200000,
|
|
9617
|
+
DisplayType: ZoomControl.EDisplayType.Model3D,
|
|
9618
|
+
LODCategoryID: "glb",
|
|
9619
|
+
LODLevel: 0,
|
|
9620
|
+
StyleID: 0
|
|
9621
|
+
}
|
|
9622
|
+
];
|
|
9623
|
+
}
|
|
9624
|
+
this.renderPriority = this.item.renderPriority;
|
|
9625
|
+
if (this.renderPriority == null) {
|
|
9626
|
+
this.renderPriority = 1;
|
|
9627
|
+
}
|
|
9628
|
+
if (this.useGeojson && this.zoomControl.length > 1) {
|
|
9629
|
+
console.warn("Geojson rendering does not support multiple zoom controls. Only the first one will be used.");
|
|
9630
|
+
this.zoomControl = [this.zoomControl[0]];
|
|
9631
|
+
}
|
|
9632
|
+
this.scenario = (_f = this.item.BruceEntity) === null || _f === void 0 ? void 0 : _f.Scenario;
|
|
9633
|
+
const isTagItem = Boolean(this.item.BruceEntity.ExpandLayers);
|
|
9634
|
+
let tagsToRender = isTagItem ? this.item.BruceEntity.SelectedExpandLayers : null;
|
|
9635
|
+
if (!tagsToRender) {
|
|
9636
|
+
tagsToRender = [];
|
|
9637
|
+
}
|
|
9638
|
+
tagsToRender = [].concat(tagsToRender);
|
|
9639
|
+
const shouldRender = !isTagItem || tagsToRender.length > 0;
|
|
9640
|
+
return { isTagItem, tagsToRender, shouldRender };
|
|
9641
|
+
}
|
|
9549
9642
|
/**
|
|
9550
9643
|
* Updates allowedTypeIDs values based in incoming data.
|
|
9551
9644
|
* We might request 'x' Entity Type, but get 'y' Entities due to local Data Sources.
|
|
@@ -10530,6 +10623,85 @@ var EntitiesRenderManager;
|
|
|
10530
10623
|
this.clustering.Update();
|
|
10531
10624
|
}
|
|
10532
10625
|
}
|
|
10626
|
+
get HandoffKey() {
|
|
10627
|
+
return Manager.GetHandoffKey(this.item);
|
|
10628
|
+
}
|
|
10629
|
+
static GetHandoffKey(item) {
|
|
10630
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
10631
|
+
if (item.renderAsGeojson || item.enableClustering) {
|
|
10632
|
+
return null;
|
|
10633
|
+
}
|
|
10634
|
+
const isTagItem = Boolean((_a = item.BruceEntity) === null || _a === void 0 ? void 0 : _a.ExpandLayers);
|
|
10635
|
+
const tags = isTagItem ? [].concat((_c = (_b = item.BruceEntity) === null || _b === void 0 ? void 0 : _b.SelectedExpandLayers) !== null && _c !== void 0 ? _c : []).sort() : [];
|
|
10636
|
+
return JSON.stringify({
|
|
10637
|
+
typeId: ((_d = item.BruceEntity) === null || _d === void 0 ? void 0 : _d["EntityType.ID"]) || "",
|
|
10638
|
+
filter: (_f = (_e = item.BruceEntity) === null || _e === void 0 ? void 0 : _e.Filter) !== null && _f !== void 0 ? _f : {},
|
|
10639
|
+
isTagItem,
|
|
10640
|
+
tags,
|
|
10641
|
+
scenario: (_h = (_g = item.BruceEntity) === null || _g === void 0 ? void 0 : _g.Scenario) !== null && _h !== void 0 ? _h : "",
|
|
10642
|
+
historic: Boolean((_j = item.BruceEntity) === null || _j === void 0 ? void 0 : _j.historic),
|
|
10643
|
+
historicAttrKey: ((_k = item.BruceEntity) === null || _k === void 0 ? void 0 : _k.historicAttrKey) || "",
|
|
10644
|
+
historicInterpolation: Boolean(item.historicInterpolation),
|
|
10645
|
+
schemaId: ((_l = item.BruceEntity) === null || _l === void 0 ? void 0 : _l.schemaId) || "",
|
|
10646
|
+
cdnEnabled: Boolean(item.cdnEnabled),
|
|
10647
|
+
optimizeGeometry: Boolean(item.optimizeGeometry),
|
|
10648
|
+
optimizeMinPoints: (_m = item.optimizeMinPoints) !== null && _m !== void 0 ? _m : "",
|
|
10649
|
+
optimizeTolerance: (_o = item.optimizeTolerance) !== null && _o !== void 0 ? _o : ""
|
|
10650
|
+
});
|
|
10651
|
+
}
|
|
10652
|
+
PrepareHandoff() {
|
|
10653
|
+
var _a;
|
|
10654
|
+
if (this.disposed || this.useGeojson || this.item.enableClustering) {
|
|
10655
|
+
return null;
|
|
10656
|
+
}
|
|
10657
|
+
const payload = {
|
|
10658
|
+
renderedEntities: this.renderedEntities,
|
|
10659
|
+
renderedByInternalId: new Map(this.renderedByInternalId),
|
|
10660
|
+
internalByEntityId: new Map(this.internalByEntityId),
|
|
10661
|
+
allowedTypeIDs: [...this.allowedTypeIDs],
|
|
10662
|
+
renderQueue: [...this.renderQueue],
|
|
10663
|
+
sourceMenuItemId: this.item.id
|
|
10664
|
+
};
|
|
10665
|
+
this.unsetGetter();
|
|
10666
|
+
(_a = this.viewMonitorRemoval) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
10667
|
+
this.viewMonitorRemoval = null;
|
|
10668
|
+
clearInterval(this.renderQueueInterval);
|
|
10669
|
+
this.renderQueueInterval = null;
|
|
10670
|
+
this.renderQueue = [];
|
|
10671
|
+
this.disposed = true;
|
|
10672
|
+
return payload;
|
|
10673
|
+
}
|
|
10674
|
+
AdoptHandoff(payload) {
|
|
10675
|
+
var _a;
|
|
10676
|
+
const { shouldRender } = this.applyItemSettings();
|
|
10677
|
+
this.visualsManager.ReassignMenuItem({
|
|
10678
|
+
fromMenuItemId: payload.sourceMenuItemId,
|
|
10679
|
+
toMenuItemId: this.item.id,
|
|
10680
|
+
toMenuItemType: this.item.Type,
|
|
10681
|
+
toPriority: this.renderPriority,
|
|
10682
|
+
requestRender: false
|
|
10683
|
+
});
|
|
10684
|
+
if (!shouldRender) {
|
|
10685
|
+
this.renderedEntities = payload.renderedEntities;
|
|
10686
|
+
this.renderedByInternalId = payload.renderedByInternalId;
|
|
10687
|
+
this.internalByEntityId = payload.internalByEntityId;
|
|
10688
|
+
this.allowedTypeIDs = payload.allowedTypeIDs;
|
|
10689
|
+
return;
|
|
10690
|
+
}
|
|
10691
|
+
this.setGetter();
|
|
10692
|
+
this.viewMonitorRemoval = this.monitor.Updated().Subscribe(() => {
|
|
10693
|
+
var _a;
|
|
10694
|
+
(_a = this.entityCheckQueue) === null || _a === void 0 ? void 0 : _a.Call();
|
|
10695
|
+
});
|
|
10696
|
+
this.renderedEntities = payload.renderedEntities;
|
|
10697
|
+
this.renderedByInternalId = payload.renderedByInternalId;
|
|
10698
|
+
this.internalByEntityId = payload.internalByEntityId;
|
|
10699
|
+
this.allowedTypeIDs = payload.allowedTypeIDs;
|
|
10700
|
+
if ((_a = payload.renderQueue) === null || _a === void 0 ? void 0 : _a.length) {
|
|
10701
|
+
this.distributeForRender(payload.renderQueue);
|
|
10702
|
+
}
|
|
10703
|
+
this.viewer.scene.requestRender();
|
|
10704
|
+
}
|
|
10533
10705
|
}
|
|
10534
10706
|
EntitiesRenderManager.Manager = Manager;
|
|
10535
10707
|
})(EntitiesRenderManager || (EntitiesRenderManager = {}));
|
|
@@ -14431,14 +14603,6 @@ var TilesetCadRenderManager;
|
|
|
14431
14603
|
if (this.renderPriority == null) {
|
|
14432
14604
|
this.renderPriority = 0;
|
|
14433
14605
|
}
|
|
14434
|
-
// Same visuals, same registrations - just re-keyed onto this menu item.
|
|
14435
|
-
this.visualsManager.ReassignMenuItem({
|
|
14436
|
-
fromMenuItemId: payload.sourceMenuItemId,
|
|
14437
|
-
toMenuItemId: this.item.id,
|
|
14438
|
-
toMenuItemType: this.item.Type,
|
|
14439
|
-
toPriority: this.renderPriority,
|
|
14440
|
-
requestRender: false
|
|
14441
|
-
});
|
|
14442
14606
|
this.tileLoadRemoval = this.cTileset.tileLoad.addEventListener((tile) => {
|
|
14443
14607
|
try {
|
|
14444
14608
|
this.queueTile(tile, true);
|
|
@@ -14455,6 +14619,14 @@ var TilesetCadRenderManager;
|
|
|
14455
14619
|
console.error(e);
|
|
14456
14620
|
}
|
|
14457
14621
|
});
|
|
14622
|
+
// Same visuals, same registrations so just re-keyed onto this menu item.
|
|
14623
|
+
this.visualsManager.ReassignMenuItem({
|
|
14624
|
+
fromMenuItemId: payload.sourceMenuItemId,
|
|
14625
|
+
toMenuItemId: this.item.id,
|
|
14626
|
+
toMenuItemType: this.item.Type,
|
|
14627
|
+
toPriority: this.renderPriority,
|
|
14628
|
+
requestRender: false
|
|
14629
|
+
});
|
|
14458
14630
|
this.onCTilesetLoad();
|
|
14459
14631
|
this.styler.Init({
|
|
14460
14632
|
viewer: this.viewer,
|
|
@@ -15062,7 +15234,8 @@ var TilesetCadRenderManager;
|
|
|
15062
15234
|
this.visualsManager.RemoveRegos({
|
|
15063
15235
|
menuItemId: this.item.id,
|
|
15064
15236
|
doRemove: false,
|
|
15065
|
-
source: VisualsRegister.EUpdateSource.TILESET_DISPOSE
|
|
15237
|
+
source: VisualsRegister.EUpdateSource.TILESET_DISPOSE,
|
|
15238
|
+
lazy: true
|
|
15066
15239
|
});
|
|
15067
15240
|
this.viewerDateTimeDispose();
|
|
15068
15241
|
}
|
|
@@ -16557,7 +16730,7 @@ var DataLabRenderManager;
|
|
|
16557
16730
|
}
|
|
16558
16731
|
setGetter(queryItems) {
|
|
16559
16732
|
this.unsetGetter();
|
|
16560
|
-
|
|
16733
|
+
const getter = new EntityFilterGetter.Getter({
|
|
16561
16734
|
api: this.apiGetter.getApi(),
|
|
16562
16735
|
attrFilter: {},
|
|
16563
16736
|
batchSize: BATCH_SIZE$3,
|
|
@@ -16568,6 +16741,10 @@ var DataLabRenderManager;
|
|
|
16568
16741
|
queryItems: queryItems !== null && queryItems !== void 0 ? queryItems : []
|
|
16569
16742
|
}
|
|
16570
16743
|
});
|
|
16744
|
+
this.attachGetter(getter);
|
|
16745
|
+
}
|
|
16746
|
+
attachGetter(getter) {
|
|
16747
|
+
this.getter = getter;
|
|
16571
16748
|
const minMax = RenderManager.GetZoomMinMax({
|
|
16572
16749
|
zoomControl: this.zoomControl
|
|
16573
16750
|
});
|
|
@@ -16908,6 +17085,61 @@ var DataLabRenderManager;
|
|
|
16908
17085
|
console.error("Failed to render DataLab entities:", e);
|
|
16909
17086
|
}
|
|
16910
17087
|
}
|
|
17088
|
+
get HandoffKey() {
|
|
17089
|
+
return Manager.GetHandoffKey(this.item);
|
|
17090
|
+
}
|
|
17091
|
+
static GetHandoffKey(item) {
|
|
17092
|
+
const queryId = item === null || item === void 0 ? void 0 : item.DataLabQueryID;
|
|
17093
|
+
if (!queryId) {
|
|
17094
|
+
return null;
|
|
17095
|
+
}
|
|
17096
|
+
return `datalab:${queryId}`;
|
|
17097
|
+
}
|
|
17098
|
+
PrepareHandoff() {
|
|
17099
|
+
var _a, _b, _c;
|
|
17100
|
+
if (this.disposed || !this.getter) {
|
|
17101
|
+
return null;
|
|
17102
|
+
}
|
|
17103
|
+
this.getter.ExcludeMenuItem(this.item.id);
|
|
17104
|
+
(_a = this.getterSub) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
17105
|
+
this.getterSub = null;
|
|
17106
|
+
const getter = this.getter;
|
|
17107
|
+
this.getter = null;
|
|
17108
|
+
(_b = this.viewMonitorRemoval) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
17109
|
+
this.viewMonitorRemoval = null;
|
|
17110
|
+
(_c = this.entityCheckQueue) === null || _c === void 0 ? void 0 : _c.Dispose();
|
|
17111
|
+
this.entityCheckQueue = null;
|
|
17112
|
+
clearInterval(this.renderQueueInterval);
|
|
17113
|
+
this.renderQueueInterval = null;
|
|
17114
|
+
const payload = {
|
|
17115
|
+
getter,
|
|
17116
|
+
renderedEntities: this.renderedEntities,
|
|
17117
|
+
renderQueue: [...this.renderQueue],
|
|
17118
|
+
sourceMenuItemId: this.item.id
|
|
17119
|
+
};
|
|
17120
|
+
this.renderQueue = [];
|
|
17121
|
+
this.queryLoadId += 1;
|
|
17122
|
+
this.disposed = true;
|
|
17123
|
+
return payload;
|
|
17124
|
+
}
|
|
17125
|
+
AdoptHandoff(payload) {
|
|
17126
|
+
var _a;
|
|
17127
|
+
this.ensureSettings();
|
|
17128
|
+
this.renderedEntities = payload.renderedEntities;
|
|
17129
|
+
this.visualsManager.ReassignMenuItem({
|
|
17130
|
+
fromMenuItemId: payload.sourceMenuItemId,
|
|
17131
|
+
toMenuItemId: this.item.id,
|
|
17132
|
+
toMenuItemType: this.item.Type,
|
|
17133
|
+
toPriority: this.renderPriority,
|
|
17134
|
+
requestRender: false
|
|
17135
|
+
});
|
|
17136
|
+
this.attachGetter(payload.getter);
|
|
17137
|
+
this.setEntityCheckQueue();
|
|
17138
|
+
if ((_a = payload.renderQueue) === null || _a === void 0 ? void 0 : _a.length) {
|
|
17139
|
+
this.distributeForRender(payload.renderQueue);
|
|
17140
|
+
}
|
|
17141
|
+
this.viewer.scene.requestRender();
|
|
17142
|
+
}
|
|
16911
17143
|
}
|
|
16912
17144
|
DataLabRenderManager.Manager = Manager;
|
|
16913
17145
|
})(DataLabRenderManager || (DataLabRenderManager = {}));
|
|
@@ -17330,6 +17562,7 @@ var TilesetOsmRenderManager;
|
|
|
17330
17562
|
this.queueCheckInterval = null;
|
|
17331
17563
|
this.processingQueue = 0;
|
|
17332
17564
|
this._osmIdToBruceId = {};
|
|
17565
|
+
this.tileLoadRemoval = null;
|
|
17333
17566
|
const { viewer, register: visualsManager, getters: apiGetter, monitor, item } = params;
|
|
17334
17567
|
this.viewer = viewer;
|
|
17335
17568
|
this.getters = apiGetter;
|
|
@@ -17338,11 +17571,14 @@ var TilesetOsmRenderManager;
|
|
|
17338
17571
|
this.monitor = monitor;
|
|
17339
17572
|
}
|
|
17340
17573
|
Dispose() {
|
|
17574
|
+
var _a;
|
|
17341
17575
|
if (this.disposed) {
|
|
17342
17576
|
return;
|
|
17343
17577
|
}
|
|
17344
17578
|
this.disposed = true;
|
|
17345
17579
|
clearInterval(this.queueCheckInterval);
|
|
17580
|
+
(_a = this.tileLoadRemoval) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
17581
|
+
this.tileLoadRemoval = null;
|
|
17346
17582
|
if (this.cTileset) {
|
|
17347
17583
|
const viewer = this.viewer;
|
|
17348
17584
|
if (!(viewer === null || viewer === void 0 ? void 0 : viewer.isDestroyed()) && this.viewer.scene.primitives.contains(this.cTileset)) {
|
|
@@ -17356,7 +17592,8 @@ var TilesetOsmRenderManager;
|
|
|
17356
17592
|
this.cTileset = null;
|
|
17357
17593
|
}
|
|
17358
17594
|
this.visualsManager.RemoveRegos({
|
|
17359
|
-
menuItemId: this.item.id
|
|
17595
|
+
menuItemId: this.item.id,
|
|
17596
|
+
lazy: true
|
|
17360
17597
|
});
|
|
17361
17598
|
this.featureQueue = [];
|
|
17362
17599
|
}
|
|
@@ -17369,84 +17606,89 @@ var TilesetOsmRenderManager;
|
|
|
17369
17606
|
this.sourceId = EnsureNumber((_a = menuItem.BruceEntity) === null || _a === void 0 ? void 0 : _a.SourceId, 0);
|
|
17370
17607
|
this.entityTypeId = (_b = menuItem.BruceEntity) === null || _b === void 0 ? void 0 : _b["EntityType.ID"];
|
|
17371
17608
|
(async () => {
|
|
17372
|
-
|
|
17373
|
-
|
|
17374
|
-
|
|
17375
|
-
else if (this.cTileset) {
|
|
17376
|
-
// Already exists, no need to re-initialize.
|
|
17377
|
-
return;
|
|
17378
|
-
}
|
|
17379
|
-
let validToken;
|
|
17380
|
-
if (Ion.defaultServer) {
|
|
17381
|
-
// Proxy server was set after verifying Ion availability upstream
|
|
17382
|
-
// (including template account fallback) — trust that check.
|
|
17383
|
-
validToken = true;
|
|
17384
|
-
}
|
|
17385
|
-
else {
|
|
17386
|
-
// No proxy; validate the legacy access token directly.
|
|
17387
|
-
validToken = await ViewerUtils.AssertIonToken(Ion.defaultAccessToken);
|
|
17388
|
-
}
|
|
17389
|
-
if (!validToken) {
|
|
17390
|
-
console.warn("'tileset-osm-render-manager.ts' could not locate a valid Cesium Ion token.");
|
|
17391
|
-
return;
|
|
17392
|
-
}
|
|
17393
|
-
const CESIUM = Cesium;
|
|
17394
|
-
let cTileset;
|
|
17395
|
-
// Newer versions of Cesium have this function be async.
|
|
17396
|
-
if (CESIUM["createOsmBuildingsAsync"]) {
|
|
17397
|
-
cTileset = await CESIUM.createOsmBuildingsAsync({});
|
|
17398
|
-
}
|
|
17399
|
-
// Older versions of Cesium have this function be sync.
|
|
17400
|
-
else if (CESIUM["createOsmBuildings"]) {
|
|
17401
|
-
cTileset = CESIUM.createOsmBuildings();
|
|
17402
|
-
}
|
|
17403
|
-
else {
|
|
17404
|
-
console.warn("'tileset-osm-render-manager.ts' could not locate a create function for OSM buildings.");
|
|
17405
|
-
return;
|
|
17406
|
-
}
|
|
17407
|
-
// See if we already have a cTileset set.
|
|
17408
|
-
// Happens if we re-initialized in quick succession.
|
|
17409
|
-
if (this.cTileset) {
|
|
17410
|
-
cTileset.destroy();
|
|
17411
|
-
return;
|
|
17412
|
-
}
|
|
17413
|
-
this.cTileset = cTileset;
|
|
17414
|
-
if (this.disposed) {
|
|
17415
|
-
if (this.cTileset && !this.cTileset.isDestroyed()) {
|
|
17416
|
-
this.cTileset.destroy();
|
|
17417
|
-
this.cTileset = null;
|
|
17609
|
+
try {
|
|
17610
|
+
if (this.disposed) {
|
|
17611
|
+
return;
|
|
17418
17612
|
}
|
|
17419
|
-
|
|
17420
|
-
|
|
17421
|
-
|
|
17422
|
-
if (menuItem.ghostLoading == true) {
|
|
17423
|
-
this.cTileset.style = new Cesium3DTileStyle({
|
|
17424
|
-
color: "rgba(255, 255, 250, 0.98)"
|
|
17425
|
-
});
|
|
17613
|
+
else if (this.cTileset) {
|
|
17614
|
+
// Already exists, no need to re-initialize.
|
|
17615
|
+
return;
|
|
17426
17616
|
}
|
|
17427
|
-
|
|
17428
|
-
|
|
17429
|
-
|
|
17430
|
-
|
|
17431
|
-
|
|
17432
|
-
|
|
17433
|
-
|
|
17434
|
-
|
|
17435
|
-
|
|
17436
|
-
|
|
17617
|
+
let validToken;
|
|
17618
|
+
if (Ion.defaultServer) {
|
|
17619
|
+
// Proxy server was set after verifying Ion availability upstream
|
|
17620
|
+
// (including template account fallback) — trust that check.
|
|
17621
|
+
validToken = true;
|
|
17622
|
+
}
|
|
17623
|
+
else {
|
|
17624
|
+
// No proxy; validate the legacy access token directly.
|
|
17625
|
+
validToken = await ViewerUtils.AssertIonToken(Ion.defaultAccessToken);
|
|
17626
|
+
}
|
|
17627
|
+
if (!validToken) {
|
|
17628
|
+
console.warn("'tileset-osm-render-manager.ts' could not locate a valid Cesium Ion token.");
|
|
17629
|
+
return;
|
|
17630
|
+
}
|
|
17631
|
+
const CESIUM = Cesium;
|
|
17632
|
+
let cTileset;
|
|
17633
|
+
// Newer versions of Cesium have this function be async.
|
|
17634
|
+
if (CESIUM["createOsmBuildingsAsync"]) {
|
|
17635
|
+
cTileset = await CESIUM.createOsmBuildingsAsync({});
|
|
17636
|
+
}
|
|
17637
|
+
// Older versions of Cesium have this function be sync.
|
|
17638
|
+
else if (CESIUM["createOsmBuildings"]) {
|
|
17639
|
+
cTileset = CESIUM.createOsmBuildings();
|
|
17640
|
+
}
|
|
17641
|
+
else {
|
|
17642
|
+
console.warn("'tileset-osm-render-manager.ts' could not locate a create function for OSM buildings.");
|
|
17643
|
+
return;
|
|
17644
|
+
}
|
|
17645
|
+
// See if we already have a cTileset set.
|
|
17646
|
+
// Happens if we re-initialized in quick succession.
|
|
17647
|
+
if (this.cTileset) {
|
|
17648
|
+
cTileset.destroy();
|
|
17649
|
+
return;
|
|
17650
|
+
}
|
|
17651
|
+
this.cTileset = cTileset;
|
|
17652
|
+
if (this.disposed) {
|
|
17653
|
+
if (this.cTileset && !this.cTileset.isDestroyed()) {
|
|
17654
|
+
this.cTileset.destroy();
|
|
17655
|
+
this.cTileset = null;
|
|
17437
17656
|
}
|
|
17438
|
-
|
|
17439
|
-
|
|
17440
|
-
|
|
17441
|
-
|
|
17657
|
+
return;
|
|
17658
|
+
}
|
|
17659
|
+
if (this.sourceId) {
|
|
17660
|
+
if (menuItem.ghostLoading == true) {
|
|
17661
|
+
this.cTileset.style = new Cesium3DTileStyle({
|
|
17662
|
+
color: "rgba(255, 255, 250, 0.98)"
|
|
17663
|
+
});
|
|
17442
17664
|
}
|
|
17443
|
-
|
|
17665
|
+
this.viewer.scene.primitives.add(this.cTileset);
|
|
17666
|
+
this.tileLoadRemoval = this.cTileset.tileLoad.addEventListener((tile) => {
|
|
17667
|
+
if (this.disposed) {
|
|
17668
|
+
return;
|
|
17669
|
+
}
|
|
17670
|
+
try {
|
|
17671
|
+
this.mapCTile(tile);
|
|
17672
|
+
}
|
|
17673
|
+
catch (e) {
|
|
17674
|
+
console.error(e);
|
|
17675
|
+
}
|
|
17676
|
+
});
|
|
17677
|
+
this.queueCheckInterval = setInterval(() => {
|
|
17678
|
+
if (this.featureQueue.length > 0) {
|
|
17679
|
+
this.processQueue();
|
|
17680
|
+
}
|
|
17681
|
+
}, 5000);
|
|
17682
|
+
}
|
|
17683
|
+
else {
|
|
17684
|
+
this.viewer.scene.primitives.add(this.cTileset);
|
|
17685
|
+
}
|
|
17686
|
+
this.cTileset.show = true;
|
|
17687
|
+
this.viewer.scene.requestRender();
|
|
17444
17688
|
}
|
|
17445
|
-
|
|
17446
|
-
|
|
17689
|
+
catch (e) {
|
|
17690
|
+
console.error("Failed to load OSM Buildings tileset:", e);
|
|
17447
17691
|
}
|
|
17448
|
-
this.cTileset.show = true;
|
|
17449
|
-
this.viewer.scene.requestRender();
|
|
17450
17692
|
})();
|
|
17451
17693
|
}
|
|
17452
17694
|
async mapCTile(tile) {
|
|
@@ -17681,6 +17923,72 @@ var TilesetOsmRenderManager;
|
|
|
17681
17923
|
}
|
|
17682
17924
|
async ReRender(params) {
|
|
17683
17925
|
}
|
|
17926
|
+
get HandoffKey() {
|
|
17927
|
+
return Manager.GetHandoffKey(this.item);
|
|
17928
|
+
}
|
|
17929
|
+
static GetHandoffKey(item) {
|
|
17930
|
+
var _a, _b;
|
|
17931
|
+
const sourceId = EnsureNumber((_a = item.BruceEntity) === null || _a === void 0 ? void 0 : _a.SourceId, 0);
|
|
17932
|
+
const entityTypeId = ((_b = item.BruceEntity) === null || _b === void 0 ? void 0 : _b["EntityType.ID"]) || "";
|
|
17933
|
+
return `osm:${sourceId}:${entityTypeId}`;
|
|
17934
|
+
}
|
|
17935
|
+
PrepareHandoff() {
|
|
17936
|
+
var _a;
|
|
17937
|
+
if (this.disposed || !this.cTileset || this.cTileset.isDestroyed()) {
|
|
17938
|
+
return null;
|
|
17939
|
+
}
|
|
17940
|
+
clearInterval(this.queueCheckInterval);
|
|
17941
|
+
this.queueCheckInterval = null;
|
|
17942
|
+
(_a = this.tileLoadRemoval) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
17943
|
+
this.tileLoadRemoval = null;
|
|
17944
|
+
const payload = {
|
|
17945
|
+
cTileset: this.cTileset,
|
|
17946
|
+
loadedCesiumEntities: this._loadedCesiumEntities,
|
|
17947
|
+
featureQueue: this.featureQueue,
|
|
17948
|
+
osmIdToBruceId: this._osmIdToBruceId,
|
|
17949
|
+
totalLoaded: this.totalLoaded,
|
|
17950
|
+
sourceMenuItemId: this.item.id
|
|
17951
|
+
};
|
|
17952
|
+
this.cTileset = null;
|
|
17953
|
+
this.disposed = true;
|
|
17954
|
+
return payload;
|
|
17955
|
+
}
|
|
17956
|
+
AdoptHandoff(payload) {
|
|
17957
|
+
var _a, _b;
|
|
17958
|
+
this.sourceId = EnsureNumber((_a = this.item.BruceEntity) === null || _a === void 0 ? void 0 : _a.SourceId, 0);
|
|
17959
|
+
this.entityTypeId = (_b = this.item.BruceEntity) === null || _b === void 0 ? void 0 : _b["EntityType.ID"];
|
|
17960
|
+
this.cTileset = payload.cTileset;
|
|
17961
|
+
this._loadedCesiumEntities = payload.loadedCesiumEntities;
|
|
17962
|
+
this.featureQueue = payload.featureQueue;
|
|
17963
|
+
this._osmIdToBruceId = payload.osmIdToBruceId;
|
|
17964
|
+
this.totalLoaded = payload.totalLoaded;
|
|
17965
|
+
if (this.sourceId) {
|
|
17966
|
+
this.visualsManager.ReassignMenuItem({
|
|
17967
|
+
fromMenuItemId: payload.sourceMenuItemId,
|
|
17968
|
+
toMenuItemId: this.item.id,
|
|
17969
|
+
toMenuItemType: this.item.Type,
|
|
17970
|
+
requestRender: false
|
|
17971
|
+
});
|
|
17972
|
+
this.tileLoadRemoval = this.cTileset.tileLoad.addEventListener((tile) => {
|
|
17973
|
+
if (this.disposed) {
|
|
17974
|
+
return;
|
|
17975
|
+
}
|
|
17976
|
+
try {
|
|
17977
|
+
this.mapCTile(tile);
|
|
17978
|
+
}
|
|
17979
|
+
catch (e) {
|
|
17980
|
+
console.error(e);
|
|
17981
|
+
}
|
|
17982
|
+
});
|
|
17983
|
+
this.queueCheckInterval = setInterval(() => {
|
|
17984
|
+
if (this.featureQueue.length > 0) {
|
|
17985
|
+
this.processQueue();
|
|
17986
|
+
}
|
|
17987
|
+
}, 5000);
|
|
17988
|
+
}
|
|
17989
|
+
this.cTileset.show = true;
|
|
17990
|
+
this.viewer.scene.requestRender();
|
|
17991
|
+
}
|
|
17684
17992
|
}
|
|
17685
17993
|
TilesetOsmRenderManager.Manager = Manager;
|
|
17686
17994
|
})(TilesetOsmRenderManager || (TilesetOsmRenderManager = {}));
|
|
@@ -18029,7 +18337,8 @@ var TilesetEntitiesRenderManager;
|
|
|
18029
18337
|
}
|
|
18030
18338
|
(_b = this.styler) === null || _b === void 0 ? void 0 : _b.Dispose();
|
|
18031
18339
|
this.visualsManager.RemoveRegos({
|
|
18032
|
-
menuItemId: this.item.id
|
|
18340
|
+
menuItemId: this.item.id,
|
|
18341
|
+
lazy: true
|
|
18033
18342
|
});
|
|
18034
18343
|
}
|
|
18035
18344
|
onCTilesetLoad() {
|
|
@@ -18096,13 +18405,6 @@ var TilesetEntitiesRenderManager;
|
|
|
18096
18405
|
if (this.renderPriority == null) {
|
|
18097
18406
|
this.renderPriority = 0;
|
|
18098
18407
|
}
|
|
18099
|
-
this.visualsManager.ReassignMenuItem({
|
|
18100
|
-
fromMenuItemId: payload.sourceMenuItemId,
|
|
18101
|
-
toMenuItemId: this.item.id,
|
|
18102
|
-
toMenuItemType: this.item.Type,
|
|
18103
|
-
toPriority: this.renderPriority,
|
|
18104
|
-
requestRender: false
|
|
18105
|
-
});
|
|
18106
18408
|
this.tileLoadRemoval = this.cTileset.tileLoad.addEventListener((tile) => {
|
|
18107
18409
|
try {
|
|
18108
18410
|
this.queueTile(tile, true);
|
|
@@ -18119,6 +18421,13 @@ var TilesetEntitiesRenderManager;
|
|
|
18119
18421
|
console.error(e);
|
|
18120
18422
|
}
|
|
18121
18423
|
});
|
|
18424
|
+
this.visualsManager.ReassignMenuItem({
|
|
18425
|
+
fromMenuItemId: payload.sourceMenuItemId,
|
|
18426
|
+
toMenuItemId: this.item.id,
|
|
18427
|
+
toMenuItemType: this.item.Type,
|
|
18428
|
+
toPriority: this.renderPriority,
|
|
18429
|
+
requestRender: false
|
|
18430
|
+
});
|
|
18122
18431
|
if (this.item.ApplyStyles) {
|
|
18123
18432
|
this.styler.Init({
|
|
18124
18433
|
viewer: this.viewer,
|
|
@@ -18404,6 +18713,36 @@ var TilesetPointcloudRenderManager;
|
|
|
18404
18713
|
}
|
|
18405
18714
|
async ReRender(params) {
|
|
18406
18715
|
}
|
|
18716
|
+
get HandoffKey() {
|
|
18717
|
+
return Manager.GetHandoffKey(this.item);
|
|
18718
|
+
}
|
|
18719
|
+
static GetHandoffKey(item) {
|
|
18720
|
+
var _a, _b;
|
|
18721
|
+
const tilesetId = (_a = item === null || item === void 0 ? void 0 : item.tileset) === null || _a === void 0 ? void 0 : _a.TilesetID;
|
|
18722
|
+
if (!tilesetId) {
|
|
18723
|
+
return null;
|
|
18724
|
+
}
|
|
18725
|
+
const accountId = ((_b = item.tileset) === null || _b === void 0 ? void 0 : _b.ClientAccountID) || "";
|
|
18726
|
+
return `${accountId}:${tilesetId}`;
|
|
18727
|
+
}
|
|
18728
|
+
PrepareHandoff() {
|
|
18729
|
+
var _a;
|
|
18730
|
+
if (this.disposed || !this.cTileset || this.cTileset.isDestroyed()) {
|
|
18731
|
+
return null;
|
|
18732
|
+
}
|
|
18733
|
+
const payload = {
|
|
18734
|
+
cTileset: this.cTileset
|
|
18735
|
+
};
|
|
18736
|
+
(_a = this.initQueue) === null || _a === void 0 ? void 0 : _a.Remove(this);
|
|
18737
|
+
this.cTileset = null;
|
|
18738
|
+
this.disposed = true;
|
|
18739
|
+
return payload;
|
|
18740
|
+
}
|
|
18741
|
+
AdoptHandoff(payload) {
|
|
18742
|
+
this.cTileset = payload.cTileset;
|
|
18743
|
+
this.onCTilesetLoad();
|
|
18744
|
+
this.viewer.scene.requestRender();
|
|
18745
|
+
}
|
|
18407
18746
|
}
|
|
18408
18747
|
TilesetPointcloudRenderManager.Manager = Manager;
|
|
18409
18748
|
})(TilesetPointcloudRenderManager || (TilesetPointcloudRenderManager = {}));
|
|
@@ -19706,19 +20045,7 @@ var TilesetGooglePhotosRenderManager;
|
|
|
19706
20045
|
var _a, _b, _c;
|
|
19707
20046
|
// If the tileset already exists then we just need to update the style.
|
|
19708
20047
|
if (this.cTileset) {
|
|
19709
|
-
|
|
19710
|
-
if (colorCss) {
|
|
19711
|
-
this.cTileset.style = new Cesium3DTileStyle({
|
|
19712
|
-
color: {
|
|
19713
|
-
conditions: [
|
|
19714
|
-
["true", `color("${colorCss}")`]
|
|
19715
|
-
]
|
|
19716
|
-
}
|
|
19717
|
-
});
|
|
19718
|
-
}
|
|
19719
|
-
else {
|
|
19720
|
-
this.cTileset.style = undefined;
|
|
19721
|
-
}
|
|
20048
|
+
this.applyColorMask();
|
|
19722
20049
|
this.viewer.scene.requestRender();
|
|
19723
20050
|
return;
|
|
19724
20051
|
}
|
|
@@ -19807,21 +20134,49 @@ var TilesetGooglePhotosRenderManager;
|
|
|
19807
20134
|
return;
|
|
19808
20135
|
}
|
|
19809
20136
|
this.viewer.scene.primitives.add(this.cTileset);
|
|
19810
|
-
|
|
19811
|
-
if (colorCss) {
|
|
19812
|
-
this.cTileset.style = new Cesium3DTileStyle({
|
|
19813
|
-
color: {
|
|
19814
|
-
conditions: [
|
|
19815
|
-
["true", `color("${colorCss}")`]
|
|
19816
|
-
]
|
|
19817
|
-
}
|
|
19818
|
-
});
|
|
19819
|
-
}
|
|
20137
|
+
this.applyColorMask();
|
|
19820
20138
|
this.viewer.scene.requestRender();
|
|
19821
20139
|
})();
|
|
19822
20140
|
}
|
|
20141
|
+
applyColorMask() {
|
|
20142
|
+
const colorCss = this.item.colorMask;
|
|
20143
|
+
if (colorCss) {
|
|
20144
|
+
this.cTileset.style = new Cesium3DTileStyle({
|
|
20145
|
+
color: {
|
|
20146
|
+
conditions: [
|
|
20147
|
+
["true", `color("${colorCss}")`]
|
|
20148
|
+
]
|
|
20149
|
+
}
|
|
20150
|
+
});
|
|
20151
|
+
}
|
|
20152
|
+
else {
|
|
20153
|
+
this.cTileset.style = undefined;
|
|
20154
|
+
}
|
|
20155
|
+
}
|
|
19823
20156
|
async ReRender(params) {
|
|
19824
20157
|
}
|
|
20158
|
+
get HandoffKey() {
|
|
20159
|
+
return Manager.GetHandoffKey();
|
|
20160
|
+
}
|
|
20161
|
+
static GetHandoffKey() {
|
|
20162
|
+
return "google-photorealistic-3d";
|
|
20163
|
+
}
|
|
20164
|
+
PrepareHandoff() {
|
|
20165
|
+
if (this.disposed || !this.cTileset || this.cTileset.isDestroyed()) {
|
|
20166
|
+
return null;
|
|
20167
|
+
}
|
|
20168
|
+
const payload = {
|
|
20169
|
+
cTileset: this.cTileset
|
|
20170
|
+
};
|
|
20171
|
+
this.cTileset = null;
|
|
20172
|
+
this.disposed = true;
|
|
20173
|
+
return payload;
|
|
20174
|
+
}
|
|
20175
|
+
AdoptHandoff(payload) {
|
|
20176
|
+
this.cTileset = payload.cTileset;
|
|
20177
|
+
this.applyColorMask();
|
|
20178
|
+
this.viewer.scene.requestRender();
|
|
20179
|
+
}
|
|
19825
20180
|
}
|
|
19826
20181
|
TilesetGooglePhotosRenderManager$$1.Manager = Manager;
|
|
19827
20182
|
})(TilesetGooglePhotosRenderManager || (TilesetGooglePhotosRenderManager = {}));
|
|
@@ -22212,6 +22567,21 @@ var MenuItemManager;
|
|
|
22212
22567
|
if (item.Type === MenuItem.EType.EntityTileset) {
|
|
22213
22568
|
return TilesetEntitiesRenderManager.Manager.GetHandoffKey(item);
|
|
22214
22569
|
}
|
|
22570
|
+
if (item.Type === MenuItem.EType.PointCloud) {
|
|
22571
|
+
return TilesetPointcloudRenderManager.Manager.GetHandoffKey(item);
|
|
22572
|
+
}
|
|
22573
|
+
if (item.Type === MenuItem.EType.GooglePhotoTileset) {
|
|
22574
|
+
return TilesetGooglePhotosRenderManager.Manager.GetHandoffKey();
|
|
22575
|
+
}
|
|
22576
|
+
if (item.Type === MenuItem.EType.Osm) {
|
|
22577
|
+
return TilesetOsmRenderManager.Manager.GetHandoffKey(item);
|
|
22578
|
+
}
|
|
22579
|
+
if (item.Type === MenuItem.EType.Entities) {
|
|
22580
|
+
return EntitiesRenderManager.Manager.GetHandoffKey(item);
|
|
22581
|
+
}
|
|
22582
|
+
if (item.Type === MenuItem.EType.DataLab) {
|
|
22583
|
+
return DataLabRenderManager.Manager.GetHandoffKey(item);
|
|
22584
|
+
}
|
|
22215
22585
|
return null;
|
|
22216
22586
|
}
|
|
22217
22587
|
// Claims a pooled manager for the same resource, if one exists and both sides opt in.
|
|
@@ -37186,7 +37556,7 @@ var StyleUtils;
|
|
|
37186
37556
|
StyleUtils.ApplyTypeStyle = ApplyTypeStyle;
|
|
37187
37557
|
})(StyleUtils || (StyleUtils = {}));
|
|
37188
37558
|
|
|
37189
|
-
const VERSION = "6.8.
|
|
37559
|
+
const VERSION = "6.8.2";
|
|
37190
37560
|
/**
|
|
37191
37561
|
* Updates the environment instance used by bruce-cesium to one specified.
|
|
37192
37562
|
* This can be used to ensure that the instance a parent is referencing is shared between bruce-cesium, bruce-models, and the parent app.
|