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.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 = {}));
|
|
@@ -14361,17 +14533,21 @@ var TilesetCadRenderManager;
|
|
|
14361
14533
|
}
|
|
14362
14534
|
}
|
|
14363
14535
|
// Two items resolving to the same key are eligible to hand off, regardless of styling.
|
|
14536
|
+
// Model-space vs. geospatial, and historic vs. live, position the tileset via entirely
|
|
14537
|
+
// different code paths (baked in once at Init() time), so either changing must never
|
|
14538
|
+
// match an existing key and must instead force a real reload.
|
|
14364
14539
|
get HandoffKey() {
|
|
14365
|
-
return Manager.GetHandoffKey(this.item);
|
|
14540
|
+
return Manager.GetHandoffKey(this.item, this.modelSpace);
|
|
14366
14541
|
}
|
|
14367
|
-
static GetHandoffKey(item) {
|
|
14368
|
-
var _a, _b;
|
|
14542
|
+
static GetHandoffKey(item, modelSpace) {
|
|
14543
|
+
var _a, _b, _c;
|
|
14369
14544
|
const tilesetId = (_a = item === null || item === void 0 ? void 0 : item.tileset) === null || _a === void 0 ? void 0 : _a.TilesetID;
|
|
14370
14545
|
if (!tilesetId) {
|
|
14371
14546
|
return null;
|
|
14372
14547
|
}
|
|
14373
14548
|
const accountId = ((_b = item.tileset) === null || _b === void 0 ? void 0 : _b.ClientAccountID) || "";
|
|
14374
|
-
|
|
14549
|
+
const historic = Boolean((_c = item.BruceEntity) === null || _c === void 0 ? void 0 : _c.historic);
|
|
14550
|
+
return `${accountId}:${tilesetId}:${Boolean(modelSpace)}:${historic}`;
|
|
14375
14551
|
}
|
|
14376
14552
|
// Returns null (fall back to a normal Dispose()) if the tileset hasn't finished loading yet.
|
|
14377
14553
|
PrepareHandoff() {
|
|
@@ -14427,14 +14603,6 @@ var TilesetCadRenderManager;
|
|
|
14427
14603
|
if (this.renderPriority == null) {
|
|
14428
14604
|
this.renderPriority = 0;
|
|
14429
14605
|
}
|
|
14430
|
-
// Same visuals, same registrations - just re-keyed onto this menu item.
|
|
14431
|
-
this.visualsManager.ReassignMenuItem({
|
|
14432
|
-
fromMenuItemId: payload.sourceMenuItemId,
|
|
14433
|
-
toMenuItemId: this.item.id,
|
|
14434
|
-
toMenuItemType: this.item.Type,
|
|
14435
|
-
toPriority: this.renderPriority,
|
|
14436
|
-
requestRender: false
|
|
14437
|
-
});
|
|
14438
14606
|
this.tileLoadRemoval = this.cTileset.tileLoad.addEventListener((tile) => {
|
|
14439
14607
|
try {
|
|
14440
14608
|
this.queueTile(tile, true);
|
|
@@ -14451,6 +14619,14 @@ var TilesetCadRenderManager;
|
|
|
14451
14619
|
console.error(e);
|
|
14452
14620
|
}
|
|
14453
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
|
+
});
|
|
14454
14630
|
this.onCTilesetLoad();
|
|
14455
14631
|
this.styler.Init({
|
|
14456
14632
|
viewer: this.viewer,
|
|
@@ -15058,7 +15234,8 @@ var TilesetCadRenderManager;
|
|
|
15058
15234
|
this.visualsManager.RemoveRegos({
|
|
15059
15235
|
menuItemId: this.item.id,
|
|
15060
15236
|
doRemove: false,
|
|
15061
|
-
source: VisualsRegister.EUpdateSource.TILESET_DISPOSE
|
|
15237
|
+
source: VisualsRegister.EUpdateSource.TILESET_DISPOSE,
|
|
15238
|
+
lazy: true
|
|
15062
15239
|
});
|
|
15063
15240
|
this.viewerDateTimeDispose();
|
|
15064
15241
|
}
|
|
@@ -16553,7 +16730,7 @@ var DataLabRenderManager;
|
|
|
16553
16730
|
}
|
|
16554
16731
|
setGetter(queryItems) {
|
|
16555
16732
|
this.unsetGetter();
|
|
16556
|
-
|
|
16733
|
+
const getter = new EntityFilterGetter.Getter({
|
|
16557
16734
|
api: this.apiGetter.getApi(),
|
|
16558
16735
|
attrFilter: {},
|
|
16559
16736
|
batchSize: BATCH_SIZE$3,
|
|
@@ -16564,6 +16741,10 @@ var DataLabRenderManager;
|
|
|
16564
16741
|
queryItems: queryItems !== null && queryItems !== void 0 ? queryItems : []
|
|
16565
16742
|
}
|
|
16566
16743
|
});
|
|
16744
|
+
this.attachGetter(getter);
|
|
16745
|
+
}
|
|
16746
|
+
attachGetter(getter) {
|
|
16747
|
+
this.getter = getter;
|
|
16567
16748
|
const minMax = RenderManager.GetZoomMinMax({
|
|
16568
16749
|
zoomControl: this.zoomControl
|
|
16569
16750
|
});
|
|
@@ -16904,6 +17085,61 @@ var DataLabRenderManager;
|
|
|
16904
17085
|
console.error("Failed to render DataLab entities:", e);
|
|
16905
17086
|
}
|
|
16906
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
|
+
}
|
|
16907
17143
|
}
|
|
16908
17144
|
DataLabRenderManager.Manager = Manager;
|
|
16909
17145
|
})(DataLabRenderManager || (DataLabRenderManager = {}));
|
|
@@ -17326,6 +17562,7 @@ var TilesetOsmRenderManager;
|
|
|
17326
17562
|
this.queueCheckInterval = null;
|
|
17327
17563
|
this.processingQueue = 0;
|
|
17328
17564
|
this._osmIdToBruceId = {};
|
|
17565
|
+
this.tileLoadRemoval = null;
|
|
17329
17566
|
const { viewer, register: visualsManager, getters: apiGetter, monitor, item } = params;
|
|
17330
17567
|
this.viewer = viewer;
|
|
17331
17568
|
this.getters = apiGetter;
|
|
@@ -17334,11 +17571,14 @@ var TilesetOsmRenderManager;
|
|
|
17334
17571
|
this.monitor = monitor;
|
|
17335
17572
|
}
|
|
17336
17573
|
Dispose() {
|
|
17574
|
+
var _a;
|
|
17337
17575
|
if (this.disposed) {
|
|
17338
17576
|
return;
|
|
17339
17577
|
}
|
|
17340
17578
|
this.disposed = true;
|
|
17341
17579
|
clearInterval(this.queueCheckInterval);
|
|
17580
|
+
(_a = this.tileLoadRemoval) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
17581
|
+
this.tileLoadRemoval = null;
|
|
17342
17582
|
if (this.cTileset) {
|
|
17343
17583
|
const viewer = this.viewer;
|
|
17344
17584
|
if (!(viewer === null || viewer === void 0 ? void 0 : viewer.isDestroyed()) && this.viewer.scene.primitives.contains(this.cTileset)) {
|
|
@@ -17352,7 +17592,8 @@ var TilesetOsmRenderManager;
|
|
|
17352
17592
|
this.cTileset = null;
|
|
17353
17593
|
}
|
|
17354
17594
|
this.visualsManager.RemoveRegos({
|
|
17355
|
-
menuItemId: this.item.id
|
|
17595
|
+
menuItemId: this.item.id,
|
|
17596
|
+
lazy: true
|
|
17356
17597
|
});
|
|
17357
17598
|
this.featureQueue = [];
|
|
17358
17599
|
}
|
|
@@ -17365,84 +17606,89 @@ var TilesetOsmRenderManager;
|
|
|
17365
17606
|
this.sourceId = EnsureNumber((_a = menuItem.BruceEntity) === null || _a === void 0 ? void 0 : _a.SourceId, 0);
|
|
17366
17607
|
this.entityTypeId = (_b = menuItem.BruceEntity) === null || _b === void 0 ? void 0 : _b["EntityType.ID"];
|
|
17367
17608
|
(async () => {
|
|
17368
|
-
|
|
17369
|
-
|
|
17370
|
-
|
|
17371
|
-
else if (this.cTileset) {
|
|
17372
|
-
// Already exists, no need to re-initialize.
|
|
17373
|
-
return;
|
|
17374
|
-
}
|
|
17375
|
-
let validToken;
|
|
17376
|
-
if (Ion.defaultServer) {
|
|
17377
|
-
// Proxy server was set after verifying Ion availability upstream
|
|
17378
|
-
// (including template account fallback) — trust that check.
|
|
17379
|
-
validToken = true;
|
|
17380
|
-
}
|
|
17381
|
-
else {
|
|
17382
|
-
// No proxy; validate the legacy access token directly.
|
|
17383
|
-
validToken = await ViewerUtils.AssertIonToken(Ion.defaultAccessToken);
|
|
17384
|
-
}
|
|
17385
|
-
if (!validToken) {
|
|
17386
|
-
console.warn("'tileset-osm-render-manager.ts' could not locate a valid Cesium Ion token.");
|
|
17387
|
-
return;
|
|
17388
|
-
}
|
|
17389
|
-
const CESIUM = Cesium;
|
|
17390
|
-
let cTileset;
|
|
17391
|
-
// Newer versions of Cesium have this function be async.
|
|
17392
|
-
if (CESIUM["createOsmBuildingsAsync"]) {
|
|
17393
|
-
cTileset = await CESIUM.createOsmBuildingsAsync({});
|
|
17394
|
-
}
|
|
17395
|
-
// Older versions of Cesium have this function be sync.
|
|
17396
|
-
else if (CESIUM["createOsmBuildings"]) {
|
|
17397
|
-
cTileset = CESIUM.createOsmBuildings();
|
|
17398
|
-
}
|
|
17399
|
-
else {
|
|
17400
|
-
console.warn("'tileset-osm-render-manager.ts' could not locate a create function for OSM buildings.");
|
|
17401
|
-
return;
|
|
17402
|
-
}
|
|
17403
|
-
// See if we already have a cTileset set.
|
|
17404
|
-
// Happens if we re-initialized in quick succession.
|
|
17405
|
-
if (this.cTileset) {
|
|
17406
|
-
cTileset.destroy();
|
|
17407
|
-
return;
|
|
17408
|
-
}
|
|
17409
|
-
this.cTileset = cTileset;
|
|
17410
|
-
if (this.disposed) {
|
|
17411
|
-
if (this.cTileset && !this.cTileset.isDestroyed()) {
|
|
17412
|
-
this.cTileset.destroy();
|
|
17413
|
-
this.cTileset = null;
|
|
17609
|
+
try {
|
|
17610
|
+
if (this.disposed) {
|
|
17611
|
+
return;
|
|
17414
17612
|
}
|
|
17415
|
-
|
|
17416
|
-
|
|
17417
|
-
|
|
17418
|
-
if (menuItem.ghostLoading == true) {
|
|
17419
|
-
this.cTileset.style = new Cesium3DTileStyle({
|
|
17420
|
-
color: "rgba(255, 255, 250, 0.98)"
|
|
17421
|
-
});
|
|
17613
|
+
else if (this.cTileset) {
|
|
17614
|
+
// Already exists, no need to re-initialize.
|
|
17615
|
+
return;
|
|
17422
17616
|
}
|
|
17423
|
-
|
|
17424
|
-
|
|
17425
|
-
|
|
17426
|
-
|
|
17427
|
-
|
|
17428
|
-
|
|
17429
|
-
|
|
17430
|
-
|
|
17431
|
-
|
|
17432
|
-
|
|
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;
|
|
17433
17656
|
}
|
|
17434
|
-
|
|
17435
|
-
|
|
17436
|
-
|
|
17437
|
-
|
|
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
|
+
});
|
|
17438
17664
|
}
|
|
17439
|
-
|
|
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();
|
|
17440
17688
|
}
|
|
17441
|
-
|
|
17442
|
-
|
|
17689
|
+
catch (e) {
|
|
17690
|
+
console.error("Failed to load OSM Buildings tileset:", e);
|
|
17443
17691
|
}
|
|
17444
|
-
this.cTileset.show = true;
|
|
17445
|
-
this.viewer.scene.requestRender();
|
|
17446
17692
|
})();
|
|
17447
17693
|
}
|
|
17448
17694
|
async mapCTile(tile) {
|
|
@@ -17677,6 +17923,72 @@ var TilesetOsmRenderManager;
|
|
|
17677
17923
|
}
|
|
17678
17924
|
async ReRender(params) {
|
|
17679
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
|
+
}
|
|
17680
17992
|
}
|
|
17681
17993
|
TilesetOsmRenderManager.Manager = Manager;
|
|
17682
17994
|
})(TilesetOsmRenderManager || (TilesetOsmRenderManager = {}));
|
|
@@ -18025,7 +18337,8 @@ var TilesetEntitiesRenderManager;
|
|
|
18025
18337
|
}
|
|
18026
18338
|
(_b = this.styler) === null || _b === void 0 ? void 0 : _b.Dispose();
|
|
18027
18339
|
this.visualsManager.RemoveRegos({
|
|
18028
|
-
menuItemId: this.item.id
|
|
18340
|
+
menuItemId: this.item.id,
|
|
18341
|
+
lazy: true
|
|
18029
18342
|
});
|
|
18030
18343
|
}
|
|
18031
18344
|
onCTilesetLoad() {
|
|
@@ -18092,13 +18405,6 @@ var TilesetEntitiesRenderManager;
|
|
|
18092
18405
|
if (this.renderPriority == null) {
|
|
18093
18406
|
this.renderPriority = 0;
|
|
18094
18407
|
}
|
|
18095
|
-
this.visualsManager.ReassignMenuItem({
|
|
18096
|
-
fromMenuItemId: payload.sourceMenuItemId,
|
|
18097
|
-
toMenuItemId: this.item.id,
|
|
18098
|
-
toMenuItemType: this.item.Type,
|
|
18099
|
-
toPriority: this.renderPriority,
|
|
18100
|
-
requestRender: false
|
|
18101
|
-
});
|
|
18102
18408
|
this.tileLoadRemoval = this.cTileset.tileLoad.addEventListener((tile) => {
|
|
18103
18409
|
try {
|
|
18104
18410
|
this.queueTile(tile, true);
|
|
@@ -18115,6 +18421,13 @@ var TilesetEntitiesRenderManager;
|
|
|
18115
18421
|
console.error(e);
|
|
18116
18422
|
}
|
|
18117
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
|
+
});
|
|
18118
18431
|
if (this.item.ApplyStyles) {
|
|
18119
18432
|
this.styler.Init({
|
|
18120
18433
|
viewer: this.viewer,
|
|
@@ -18400,6 +18713,36 @@ var TilesetPointcloudRenderManager;
|
|
|
18400
18713
|
}
|
|
18401
18714
|
async ReRender(params) {
|
|
18402
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
|
+
}
|
|
18403
18746
|
}
|
|
18404
18747
|
TilesetPointcloudRenderManager.Manager = Manager;
|
|
18405
18748
|
})(TilesetPointcloudRenderManager || (TilesetPointcloudRenderManager = {}));
|
|
@@ -19702,19 +20045,7 @@ var TilesetGooglePhotosRenderManager;
|
|
|
19702
20045
|
var _a, _b, _c;
|
|
19703
20046
|
// If the tileset already exists then we just need to update the style.
|
|
19704
20047
|
if (this.cTileset) {
|
|
19705
|
-
|
|
19706
|
-
if (colorCss) {
|
|
19707
|
-
this.cTileset.style = new Cesium3DTileStyle({
|
|
19708
|
-
color: {
|
|
19709
|
-
conditions: [
|
|
19710
|
-
["true", `color("${colorCss}")`]
|
|
19711
|
-
]
|
|
19712
|
-
}
|
|
19713
|
-
});
|
|
19714
|
-
}
|
|
19715
|
-
else {
|
|
19716
|
-
this.cTileset.style = undefined;
|
|
19717
|
-
}
|
|
20048
|
+
this.applyColorMask();
|
|
19718
20049
|
this.viewer.scene.requestRender();
|
|
19719
20050
|
return;
|
|
19720
20051
|
}
|
|
@@ -19803,21 +20134,49 @@ var TilesetGooglePhotosRenderManager;
|
|
|
19803
20134
|
return;
|
|
19804
20135
|
}
|
|
19805
20136
|
this.viewer.scene.primitives.add(this.cTileset);
|
|
19806
|
-
|
|
19807
|
-
if (colorCss) {
|
|
19808
|
-
this.cTileset.style = new Cesium3DTileStyle({
|
|
19809
|
-
color: {
|
|
19810
|
-
conditions: [
|
|
19811
|
-
["true", `color("${colorCss}")`]
|
|
19812
|
-
]
|
|
19813
|
-
}
|
|
19814
|
-
});
|
|
19815
|
-
}
|
|
20137
|
+
this.applyColorMask();
|
|
19816
20138
|
this.viewer.scene.requestRender();
|
|
19817
20139
|
})();
|
|
19818
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
|
+
}
|
|
19819
20156
|
async ReRender(params) {
|
|
19820
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
|
+
}
|
|
19821
20180
|
}
|
|
19822
20181
|
TilesetGooglePhotosRenderManager$$1.Manager = Manager;
|
|
19823
20182
|
})(TilesetGooglePhotosRenderManager || (TilesetGooglePhotosRenderManager = {}));
|
|
@@ -22124,7 +22483,7 @@ var MenuItemManager;
|
|
|
22124
22483
|
console.error("Menu item type is not implemented.", params.item.Type);
|
|
22125
22484
|
}
|
|
22126
22485
|
if (rItem.renderManager && !rItem.renderManager.Disposed) {
|
|
22127
|
-
const handoffPayload = this.tryClaimHandoffPayload(params.item, rItem.renderManager);
|
|
22486
|
+
const handoffPayload = this.tryClaimHandoffPayload(params.item, rItem.renderManager, params.modelSpace);
|
|
22128
22487
|
try {
|
|
22129
22488
|
if (handoffPayload) {
|
|
22130
22489
|
rItem.renderManager.AdoptHandoff(handoffPayload);
|
|
@@ -22201,22 +22560,37 @@ var MenuItemManager;
|
|
|
22201
22560
|
return Boolean(renderManager) && typeof renderManager.PrepareHandoff === "function";
|
|
22202
22561
|
}
|
|
22203
22562
|
// Resolves the hand-off key a menu item's data would have.
|
|
22204
|
-
computeHandoffKey(item) {
|
|
22563
|
+
computeHandoffKey(item, modelSpace) {
|
|
22205
22564
|
if (item.Type === MenuItem.EType.CadTileset) {
|
|
22206
|
-
return TilesetCadRenderManager.Manager.GetHandoffKey(item);
|
|
22565
|
+
return TilesetCadRenderManager.Manager.GetHandoffKey(item, modelSpace);
|
|
22207
22566
|
}
|
|
22208
22567
|
if (item.Type === MenuItem.EType.EntityTileset) {
|
|
22209
22568
|
return TilesetEntitiesRenderManager.Manager.GetHandoffKey(item);
|
|
22210
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
|
+
}
|
|
22211
22585
|
return null;
|
|
22212
22586
|
}
|
|
22213
22587
|
// Claims a pooled manager for the same resource, if one exists and both sides opt in.
|
|
22214
22588
|
// Returns null (meaning: construct normally via Init()) otherwise.
|
|
22215
|
-
tryClaimHandoffPayload(item, newManager) {
|
|
22589
|
+
tryClaimHandoffPayload(item, newManager, modelSpace) {
|
|
22216
22590
|
if (typeof newManager.AdoptHandoff !== "function") {
|
|
22217
22591
|
return null;
|
|
22218
22592
|
}
|
|
22219
|
-
const key = this.computeHandoffKey(item);
|
|
22593
|
+
const key = this.computeHandoffKey(item, modelSpace);
|
|
22220
22594
|
if (!key) {
|
|
22221
22595
|
return null;
|
|
22222
22596
|
}
|
|
@@ -37182,7 +37556,7 @@ var StyleUtils;
|
|
|
37182
37556
|
StyleUtils.ApplyTypeStyle = ApplyTypeStyle;
|
|
37183
37557
|
})(StyleUtils || (StyleUtils = {}));
|
|
37184
37558
|
|
|
37185
|
-
const VERSION = "6.8.
|
|
37559
|
+
const VERSION = "6.8.2";
|
|
37186
37560
|
/**
|
|
37187
37561
|
* Updates the environment instance used by bruce-cesium to one specified.
|
|
37188
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.
|