bruce-cesium 5.9.1 → 5.9.3
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 +160 -146
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +159 -145
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/bruce-cesium.js +1 -1
- package/dist/lib/rendering/render-managers/other/assembly-render-manager.js +22 -6
- package/dist/lib/rendering/render-managers/other/assembly-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +88 -99
- package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js.map +1 -1
- package/dist/lib/rendering/tileset-render-engine.js +47 -40
- package/dist/lib/rendering/tileset-render-engine.js.map +1 -1
- package/dist/lib/widgets/widget-info-view.js +1 -0
- package/dist/lib/widgets/widget-info-view.js.map +1 -1
- package/dist/types/bruce-cesium.d.ts +1 -1
- package/dist/types/rendering/render-managers/tilesets/tileset-cad-render-manager.d.ts +4 -1
- package/dist/types/rendering/tileset-render-engine.d.ts +1 -0
- package/package.json +2 -2
package/dist/bruce-cesium.es5.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BruceEvent, Cartes, Entity as Entity$1, ProjectViewTile, Carto, Geometry, MathUtils, LRUCache, Api, Calculator, ClientFile, EntityTag, EntityType, ObjectUtils, Style, DelayQueue, EntityLod, Bounds, ZoomControl, EntityRelationType, ENVIRONMENT, EntityHistoricData, Tileset, EntityCoords, DataLab, EntitySource, MenuItem, EntityRelation, ProgramKey, ProjectView, ProjectViewBookmark, Camera, ProjectViewLegacyTile, EntityAttachment, EntityAttachmentType, EntityAttribute, AbstractApi, Session } from 'bruce-models';
|
|
2
2
|
import * as Cesium from 'cesium';
|
|
3
|
-
import { Cartographic, Cartesian2, Math as Math$1, Cartesian3, CallbackProperty, Color, HeightReference, Rectangle, JulianDate, Entity, DistanceDisplayCondition, HorizontalOrigin, VerticalOrigin, ConstantProperty, ClassificationType, ConstantPositionProperty, ArcType, CornerType, ShadowMode,
|
|
3
|
+
import { Cartographic, Cartesian2, Math as Math$1, Cartesian3, CallbackProperty, Color, HeightReference, Rectangle, JulianDate, Entity, DistanceDisplayCondition, HorizontalOrigin, VerticalOrigin, ConstantProperty, ClassificationType, ConstantPositionProperty, ArcType, CornerType, ShadowMode, PolygonHierarchy, PolylineGraphics, ColorMaterialProperty, ColorBlendMode, HeadingPitchRoll, Transforms, Model, Primitive, Cesium3DTileFeature, SceneMode, GeoJsonDataSource, Cesium3DTileStyle, Cesium3DTileColorBlendMode, HeadingPitchRange, Ion, KmlDataSource, Quaternion, Matrix3, Matrix4, SceneTransforms, OrthographicFrustum, EasingFunction, NearFarScalar, EllipsoidTerrainProvider, IonImageryProvider, createWorldImagery, createWorldImageryAsync, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, UrlTemplateImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, TileMapServiceImageryProvider, CesiumTerrainProvider, IonResource, Cesium3DTileset, CesiumInspector, defined, ClockRange, EllipsoidGeodesic, sampleTerrainMostDetailed, PolygonPipeline, BoundingSphere, GeometryInstance, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, PolylineDashMaterialProperty, ScreenSpaceEventHandler, ScreenSpaceEventType, CzmlDataSource, Intersect, Fullscreen } from 'cesium';
|
|
4
4
|
|
|
5
5
|
const TIME_LAG = 300;
|
|
6
6
|
const POSITION_CHECK_TIMER = 950;
|
|
@@ -16749,32 +16749,33 @@ var TilesetRenderEngine;
|
|
|
16749
16749
|
const api = params.apiGetter.getApi(params.accountId);
|
|
16750
16750
|
// Ensure regional url is loaded.
|
|
16751
16751
|
await api.Loading;
|
|
16752
|
-
let loadUrl = params.
|
|
16753
|
-
|
|
16754
|
-
|
|
16755
|
-
|
|
16756
|
-
|
|
16757
|
-
|
|
16758
|
-
|
|
16759
|
-
|
|
16760
|
-
|
|
16761
|
-
|
|
16762
|
-
|
|
16763
|
-
|
|
16764
|
-
|
|
16765
|
-
|
|
16766
|
-
api: api
|
|
16767
|
-
});
|
|
16752
|
+
let loadUrl = params.loadUrl;
|
|
16753
|
+
if (!loadUrl) {
|
|
16754
|
+
loadUrl = params.tileset.loadUrl;
|
|
16755
|
+
// CDN enabled and tileset url template is available.
|
|
16756
|
+
if (params.viaCdn && api.GetCdnBaseUrl()) {
|
|
16757
|
+
loadUrl = Tileset.GetFileUrl({
|
|
16758
|
+
file: "tileset.json",
|
|
16759
|
+
tilesetId: params.tileset.id,
|
|
16760
|
+
viaCdn: true,
|
|
16761
|
+
legacy: false,
|
|
16762
|
+
cacheToken: params.tileset.generateVersion,
|
|
16763
|
+
api: api
|
|
16764
|
+
});
|
|
16765
|
+
}
|
|
16768
16766
|
}
|
|
16769
16767
|
if (params.tileset.type == Tileset.EType.Cad) {
|
|
16770
|
-
|
|
16771
|
-
|
|
16772
|
-
|
|
16773
|
-
|
|
16774
|
-
|
|
16775
|
-
|
|
16776
|
-
|
|
16777
|
-
|
|
16768
|
+
if (!loadUrl) {
|
|
16769
|
+
Tileset.GetFileUrl({
|
|
16770
|
+
api,
|
|
16771
|
+
tilesetId: params.tileset.id,
|
|
16772
|
+
file: "tileset.json",
|
|
16773
|
+
cacheToken: params.tileset.generateVersion,
|
|
16774
|
+
legacy: false,
|
|
16775
|
+
viaCdn: false
|
|
16776
|
+
}) + "?generation=" + params.tileset.generateVersion;
|
|
16777
|
+
}
|
|
16778
|
+
const cTileset = await createTileset(loadUrl, null, params.noMemoryLimit);
|
|
16778
16779
|
params.viewer.scene.primitives.add(cTileset);
|
|
16779
16780
|
OnTilesetReady(cTileset).then(() => {
|
|
16780
16781
|
var _a, _b, _c, _d;
|
|
@@ -16810,26 +16811,32 @@ var TilesetRenderEngine;
|
|
|
16810
16811
|
return cTileset;
|
|
16811
16812
|
}
|
|
16812
16813
|
else if (params.tileset.type === Tileset.EType.EntitiesSet) {
|
|
16813
|
-
|
|
16814
|
-
|
|
16815
|
-
|
|
16816
|
-
|
|
16817
|
-
|
|
16818
|
-
|
|
16819
|
-
|
|
16820
|
-
|
|
16814
|
+
if (!loadUrl) {
|
|
16815
|
+
loadUrl = Tileset.GetFileUrl({
|
|
16816
|
+
api,
|
|
16817
|
+
tilesetId: params.tileset.id,
|
|
16818
|
+
file: "tileset.json",
|
|
16819
|
+
cacheToken: params.tileset.generateVersion,
|
|
16820
|
+
legacy: false,
|
|
16821
|
+
viaCdn: false
|
|
16822
|
+
}) + "?generation=" + params.tileset.generateVersion;
|
|
16823
|
+
}
|
|
16824
|
+
const cTileset = await createTileset(loadUrl, null, params.noMemoryLimit);
|
|
16821
16825
|
params.viewer.scene.primitives.add(cTileset);
|
|
16822
16826
|
return cTileset;
|
|
16823
16827
|
}
|
|
16824
16828
|
else if (params.tileset.type == Tileset.EType.PointCloud) {
|
|
16825
|
-
|
|
16826
|
-
|
|
16827
|
-
|
|
16828
|
-
|
|
16829
|
-
|
|
16830
|
-
|
|
16831
|
-
|
|
16832
|
-
|
|
16829
|
+
if (!loadUrl) {
|
|
16830
|
+
loadUrl = Tileset.GetFileUrl({
|
|
16831
|
+
api,
|
|
16832
|
+
tilesetId: params.tileset.id,
|
|
16833
|
+
file: "tileset.json",
|
|
16834
|
+
cacheToken: params.tileset.generateVersion,
|
|
16835
|
+
legacy: false,
|
|
16836
|
+
viaCdn: false
|
|
16837
|
+
}) + "?generation=" + params.tileset.generateVersion;
|
|
16838
|
+
}
|
|
16839
|
+
const cTileset = await createTileset(loadUrl, null, params.noMemoryLimit);
|
|
16833
16840
|
params.viewer.scene.primitives.add(cTileset);
|
|
16834
16841
|
OnTilesetReady(cTileset).then(() => {
|
|
16835
16842
|
var _a;
|
|
@@ -18126,11 +18133,18 @@ var TilesetCadRenderManager;
|
|
|
18126
18133
|
get Styler() {
|
|
18127
18134
|
return this.styler;
|
|
18128
18135
|
}
|
|
18136
|
+
get ModelTree() {
|
|
18137
|
+
return this.modelTree;
|
|
18138
|
+
}
|
|
18139
|
+
get ModelTreeUpdate() {
|
|
18140
|
+
return this.modelTreeUpdate;
|
|
18141
|
+
}
|
|
18129
18142
|
constructor(params) {
|
|
18130
18143
|
this.disposed = false;
|
|
18131
18144
|
this.modelSpace = false;
|
|
18132
18145
|
this.cTileset = null;
|
|
18133
18146
|
this.styler = new TilesetRenderEngine.Styler();
|
|
18147
|
+
this.modelTreeUpdate = new BruceEvent();
|
|
18134
18148
|
// Quick look-up of the model tree nodes by entity/geomId.
|
|
18135
18149
|
// Saves us from recursing the model tree for every feature.
|
|
18136
18150
|
this.treeNodeByGeomId = null;
|
|
@@ -18170,8 +18184,11 @@ var TilesetCadRenderManager;
|
|
|
18170
18184
|
if (this.renderPriority == null) {
|
|
18171
18185
|
this.renderPriority = 0;
|
|
18172
18186
|
}
|
|
18187
|
+
const viaCdn = Boolean(this.item.cdnEnabled == null ? true : this.item.cdnEnabled);
|
|
18188
|
+
// URL to load for loading the Tileset.
|
|
18189
|
+
// We calculate it here instead of relying on the render engine as we need to extract the model-tree from it.
|
|
18190
|
+
let loadUrl = null;
|
|
18173
18191
|
(async () => {
|
|
18174
|
-
var _a;
|
|
18175
18192
|
const api = this.getters.GetBruceApi({
|
|
18176
18193
|
accountId: accountId
|
|
18177
18194
|
});
|
|
@@ -18180,7 +18197,7 @@ var TilesetCadRenderManager;
|
|
|
18180
18197
|
// Single shared getter to avoid multiple assemblies fighting to render.
|
|
18181
18198
|
// This lets one complete, then the next start.
|
|
18182
18199
|
await SharedGetters.Queue.Run("Rendering assembly.", async () => {
|
|
18183
|
-
var _a;
|
|
18200
|
+
var _a, _b, _c;
|
|
18184
18201
|
if (this.disposed) {
|
|
18185
18202
|
return;
|
|
18186
18203
|
}
|
|
@@ -18215,11 +18232,62 @@ var TilesetCadRenderManager;
|
|
|
18215
18232
|
if (!tileset || this.disposed) {
|
|
18216
18233
|
return;
|
|
18217
18234
|
}
|
|
18235
|
+
loadUrl = tileset.loadUrl;
|
|
18236
|
+
// CDN enabled and available.
|
|
18237
|
+
if (viaCdn && api.GetCdnBaseUrl()) {
|
|
18238
|
+
loadUrl = Tileset.GetFileUrl({
|
|
18239
|
+
file: "tileset.json",
|
|
18240
|
+
tilesetId: tileset.id,
|
|
18241
|
+
viaCdn: true,
|
|
18242
|
+
legacy: false,
|
|
18243
|
+
cacheToken: tileset.generateVersion,
|
|
18244
|
+
api: api
|
|
18245
|
+
});
|
|
18246
|
+
}
|
|
18247
|
+
// Backup. Should not be needed.
|
|
18248
|
+
if (!loadUrl) {
|
|
18249
|
+
loadUrl = Tileset.GetFileUrl({
|
|
18250
|
+
api,
|
|
18251
|
+
tilesetId: tileset.id,
|
|
18252
|
+
file: "tileset.json",
|
|
18253
|
+
cacheToken: tileset.generateVersion,
|
|
18254
|
+
legacy: false,
|
|
18255
|
+
viaCdn: false
|
|
18256
|
+
});
|
|
18257
|
+
}
|
|
18258
|
+
// ModelTree is needed to map incoming graphics to Entities.
|
|
18259
|
+
// So we load it first, then start rendering.
|
|
18260
|
+
try {
|
|
18261
|
+
// In >v1 the model-tree sits in its own file.
|
|
18262
|
+
if (((_a = tileset.settings) === null || _a === void 0 ? void 0 : _a["tilesetVersion"]) > 1) {
|
|
18263
|
+
const modelTreeUrl = Tileset.GetFileUrl({
|
|
18264
|
+
api: api,
|
|
18265
|
+
file: "model_tree.json",
|
|
18266
|
+
tilesetId: tileset.id,
|
|
18267
|
+
cacheToken: tileset.generateVersion,
|
|
18268
|
+
viaCdn: Boolean(this.item.cdnEnabled == null ? true : this.item.cdnEnabled)
|
|
18269
|
+
});
|
|
18270
|
+
this.modelTree = await api.get(modelTreeUrl);
|
|
18271
|
+
this.modelTreeUpdate.Trigger(this.modelTree);
|
|
18272
|
+
}
|
|
18273
|
+
// In v1 the model-tree is inside the tileset.json.
|
|
18274
|
+
else {
|
|
18275
|
+
const tilesetJson = await api.get(tileset.loadUrl);
|
|
18276
|
+
this.modelTree = ((_b = tilesetJson === null || tilesetJson === void 0 ? void 0 : tilesetJson.extensions) === null || _b === void 0 ? void 0 : _b.modelTree) || null;
|
|
18277
|
+
this.modelTreeUpdate.Trigger(this.modelTree);
|
|
18278
|
+
}
|
|
18279
|
+
}
|
|
18280
|
+
catch (e) {
|
|
18281
|
+
console.error(e);
|
|
18282
|
+
}
|
|
18283
|
+
if (this.disposed) {
|
|
18284
|
+
return;
|
|
18285
|
+
}
|
|
18218
18286
|
const settings = tileset.settings;
|
|
18219
18287
|
const rootId = settings.rootEntityId;
|
|
18220
18288
|
this.rootId = rootId;
|
|
18221
18289
|
// If historic, we'll see if the root Entity has a historic position to use.
|
|
18222
|
-
if (((
|
|
18290
|
+
if (((_c = this.item.BruceEntity) === null || _c === void 0 ? void 0 : _c.historic) && rootId) {
|
|
18223
18291
|
try {
|
|
18224
18292
|
const { entity: root } = await Entity$1.Get({
|
|
18225
18293
|
entityId: rootId,
|
|
@@ -18249,34 +18317,15 @@ var TilesetCadRenderManager;
|
|
|
18249
18317
|
if (!tileset || this.disposed) {
|
|
18250
18318
|
return;
|
|
18251
18319
|
}
|
|
18252
|
-
// Get the model tree if it's in a separate file.
|
|
18253
|
-
// There is a setting that is more explicit but it's lying on the file name so can't trust it yet.
|
|
18254
|
-
if (((_a = tileset.settings) === null || _a === void 0 ? void 0 : _a["tilesetVersion"]) > 1) {
|
|
18255
|
-
try {
|
|
18256
|
-
const modelTreeUrl = Tileset.GetFileUrl({
|
|
18257
|
-
api: api,
|
|
18258
|
-
file: "model_tree.json",
|
|
18259
|
-
tilesetId: tileset.id,
|
|
18260
|
-
cacheToken: tileset.generateVersion,
|
|
18261
|
-
viaCdn: Boolean(this.item.cdnEnabled == null ? true : this.item.cdnEnabled)
|
|
18262
|
-
});
|
|
18263
|
-
this.modelTree = await api.get(modelTreeUrl);
|
|
18264
|
-
}
|
|
18265
|
-
catch (e) {
|
|
18266
|
-
console.error(e);
|
|
18267
|
-
}
|
|
18268
|
-
}
|
|
18269
|
-
if (this.disposed) {
|
|
18270
|
-
return;
|
|
18271
|
-
}
|
|
18272
18320
|
// Render outside the shared process because we can't control file requests from Cesium.
|
|
18273
18321
|
const cTileset = this.cTileset = await TilesetRenderEngine.Render({
|
|
18322
|
+
loadUrl: loadUrl,
|
|
18274
18323
|
apiGetter: this.getters.GetBruceGetter(),
|
|
18275
18324
|
tileset: tileset,
|
|
18276
18325
|
viewer: this.viewer,
|
|
18277
18326
|
coords: coords,
|
|
18278
18327
|
accountId: accountId,
|
|
18279
|
-
viaCdn:
|
|
18328
|
+
viaCdn: viaCdn,
|
|
18280
18329
|
noMemoryLimit: this.item["noMaximumMemory"],
|
|
18281
18330
|
modelSpace: this.modelSpace
|
|
18282
18331
|
});
|
|
@@ -18386,7 +18435,7 @@ var TilesetCadRenderManager;
|
|
|
18386
18435
|
mapTilesetFeature(feature, add) {
|
|
18387
18436
|
var _a, _b, _c, _d, _e, _f;
|
|
18388
18437
|
const accountId = (_b = ((_a = this.item.tileset) === null || _a === void 0 ? void 0 : _a.ClientAccountID)) !== null && _b !== void 0 ? _b : this.getters.GetAccountId();
|
|
18389
|
-
const canEdit = accountId === this.getters.GetAccountId() && !
|
|
18438
|
+
const canEdit = accountId === this.getters.GetAccountId() && !((_c = this.item.BruceEntity) === null || _c === void 0 ? void 0 : _c.historic);
|
|
18390
18439
|
let rego = {
|
|
18391
18440
|
canEdit: canEdit,
|
|
18392
18441
|
entityId: null,
|
|
@@ -18526,17 +18575,11 @@ var TilesetCadRenderManager;
|
|
|
18526
18575
|
}
|
|
18527
18576
|
}
|
|
18528
18577
|
getMetaByGeomId(geomId, tileset) {
|
|
18529
|
-
var _a;
|
|
18530
18578
|
if (this.treeNodeByGeomId == null) {
|
|
18531
|
-
|
|
18532
|
-
// Wasn't inside tileset.json and instead in a separate file.
|
|
18533
|
-
if (!modelTree) {
|
|
18534
|
-
modelTree = this.modelTree;
|
|
18535
|
-
}
|
|
18536
|
-
if (!modelTree) {
|
|
18579
|
+
if (!this.modelTree) {
|
|
18537
18580
|
return null;
|
|
18538
18581
|
}
|
|
18539
|
-
this.buildModelTreeNodes(modelTree);
|
|
18582
|
+
this.buildModelTreeNodes(this.modelTree);
|
|
18540
18583
|
}
|
|
18541
18584
|
return this.treeNodeByGeomId[geomId] || null;
|
|
18542
18585
|
}
|
|
@@ -18570,7 +18613,7 @@ var TilesetCadRenderManager;
|
|
|
18570
18613
|
if (!firstFoundCollapsedBranch && node.collapsed) {
|
|
18571
18614
|
newFirstFoundCollapsedBranch = cache;
|
|
18572
18615
|
}
|
|
18573
|
-
// Push children to stack in reverse order to maintain correct traversal
|
|
18616
|
+
// Push children to stack in reverse order to maintain correct traversal.
|
|
18574
18617
|
if (node.children) {
|
|
18575
18618
|
for (let i = node.children.length - 1; i >= 0; i--) {
|
|
18576
18619
|
stack.push({
|
|
@@ -18584,18 +18627,12 @@ var TilesetCadRenderManager;
|
|
|
18584
18627
|
}
|
|
18585
18628
|
}
|
|
18586
18629
|
getEntityTypeByPath(path) {
|
|
18587
|
-
var _a, _b;
|
|
18588
18630
|
const entityId = path[path.length - 1];
|
|
18589
18631
|
if (this.treeNodeByEntityId == null) {
|
|
18590
|
-
|
|
18591
|
-
// Wasn't inside tileset.json and instead in a separate file.
|
|
18592
|
-
if (!modelTree) {
|
|
18593
|
-
modelTree = this.modelTree;
|
|
18594
|
-
}
|
|
18595
|
-
if (!modelTree) {
|
|
18632
|
+
if (!this.modelTree) {
|
|
18596
18633
|
return null;
|
|
18597
18634
|
}
|
|
18598
|
-
this.buildModelTreeNodes(modelTree);
|
|
18635
|
+
this.buildModelTreeNodes(this.modelTree);
|
|
18599
18636
|
}
|
|
18600
18637
|
const node = this.treeNodeByEntityId[entityId] || null;
|
|
18601
18638
|
return node ? node.typeId : null;
|
|
@@ -18606,16 +18643,11 @@ var TilesetCadRenderManager;
|
|
|
18606
18643
|
* @returns The parent node or null if no parent exists
|
|
18607
18644
|
*/
|
|
18608
18645
|
getParentNode(entityId) {
|
|
18609
|
-
var _a, _b;
|
|
18610
18646
|
if (this.treeNodeByEntityId == null) {
|
|
18611
|
-
|
|
18612
|
-
if (!modelTree) {
|
|
18613
|
-
modelTree = this.modelTree;
|
|
18614
|
-
}
|
|
18615
|
-
if (!modelTree) {
|
|
18647
|
+
if (!this.modelTree) {
|
|
18616
18648
|
return null;
|
|
18617
18649
|
}
|
|
18618
|
-
this.buildModelTreeNodes(modelTree);
|
|
18650
|
+
this.buildModelTreeNodes(this.modelTree);
|
|
18619
18651
|
}
|
|
18620
18652
|
const node = this.treeNodeByEntityId[entityId];
|
|
18621
18653
|
if (node === null || node === void 0 ? void 0 : node.parentId) {
|
|
@@ -18629,16 +18661,11 @@ var TilesetCadRenderManager;
|
|
|
18629
18661
|
* @returns Array of child nodes
|
|
18630
18662
|
*/
|
|
18631
18663
|
getChildNodes(entityId) {
|
|
18632
|
-
var _a, _b;
|
|
18633
18664
|
if (this.treeNodeByEntityId == null) {
|
|
18634
|
-
|
|
18635
|
-
if (!modelTree) {
|
|
18636
|
-
modelTree = this.modelTree;
|
|
18637
|
-
}
|
|
18638
|
-
if (!modelTree) {
|
|
18665
|
+
if (!this.modelTree) {
|
|
18639
18666
|
return [];
|
|
18640
18667
|
}
|
|
18641
|
-
this.buildModelTreeNodes(modelTree);
|
|
18668
|
+
this.buildModelTreeNodes(this.modelTree);
|
|
18642
18669
|
}
|
|
18643
18670
|
const children = [];
|
|
18644
18671
|
for (const nodeId in this.treeNodeByEntityId) {
|
|
@@ -18655,16 +18682,11 @@ var TilesetCadRenderManager;
|
|
|
18655
18682
|
* @returns Array of descendant nodes
|
|
18656
18683
|
*/
|
|
18657
18684
|
getDescendantNodes(entityId) {
|
|
18658
|
-
var _a, _b;
|
|
18659
18685
|
if (this.treeNodeByEntityId == null) {
|
|
18660
|
-
|
|
18661
|
-
if (!modelTree) {
|
|
18662
|
-
modelTree = this.modelTree;
|
|
18663
|
-
}
|
|
18664
|
-
if (!modelTree) {
|
|
18686
|
+
if (!this.modelTree) {
|
|
18665
18687
|
return [];
|
|
18666
18688
|
}
|
|
18667
|
-
this.buildModelTreeNodes(modelTree);
|
|
18689
|
+
this.buildModelTreeNodes(this.modelTree);
|
|
18668
18690
|
}
|
|
18669
18691
|
const descendants = [];
|
|
18670
18692
|
const stack = [entityId];
|
|
@@ -18688,16 +18710,11 @@ var TilesetCadRenderManager;
|
|
|
18688
18710
|
* @returns The root node or null if no tree exists
|
|
18689
18711
|
*/
|
|
18690
18712
|
getRootNode() {
|
|
18691
|
-
var _a, _b;
|
|
18692
18713
|
if (this.treeNodeByEntityId == null) {
|
|
18693
|
-
|
|
18694
|
-
if (!modelTree) {
|
|
18695
|
-
modelTree = this.modelTree;
|
|
18696
|
-
}
|
|
18697
|
-
if (!modelTree) {
|
|
18714
|
+
if (!this.modelTree) {
|
|
18698
18715
|
return null;
|
|
18699
18716
|
}
|
|
18700
|
-
this.buildModelTreeNodes(modelTree);
|
|
18717
|
+
this.buildModelTreeNodes(this.modelTree);
|
|
18701
18718
|
}
|
|
18702
18719
|
// Find the node with no parent (root node)
|
|
18703
18720
|
for (const nodeId in this.treeNodeByEntityId) {
|
|
@@ -18714,16 +18731,11 @@ var TilesetCadRenderManager;
|
|
|
18714
18731
|
* @returns Array of node IDs representing the path from root to the entity
|
|
18715
18732
|
*/
|
|
18716
18733
|
getNodePath(entityId) {
|
|
18717
|
-
var _a, _b;
|
|
18718
18734
|
if (this.treeNodeByEntityId == null) {
|
|
18719
|
-
|
|
18720
|
-
if (!modelTree) {
|
|
18721
|
-
modelTree = this.modelTree;
|
|
18722
|
-
}
|
|
18723
|
-
if (!modelTree) {
|
|
18735
|
+
if (!this.modelTree) {
|
|
18724
18736
|
return [];
|
|
18725
18737
|
}
|
|
18726
|
-
this.buildModelTreeNodes(modelTree);
|
|
18738
|
+
this.buildModelTreeNodes(this.modelTree);
|
|
18727
18739
|
}
|
|
18728
18740
|
const path = [];
|
|
18729
18741
|
let currentId = entityId;
|
|
@@ -18743,16 +18755,11 @@ var TilesetCadRenderManager;
|
|
|
18743
18755
|
* @returns Map of entityId to path array
|
|
18744
18756
|
*/
|
|
18745
18757
|
getNodePathsBatch(entityIds) {
|
|
18746
|
-
var _a, _b;
|
|
18747
18758
|
if (this.treeNodeByEntityId == null) {
|
|
18748
|
-
|
|
18749
|
-
if (!modelTree) {
|
|
18750
|
-
modelTree = this.modelTree;
|
|
18751
|
-
}
|
|
18752
|
-
if (!modelTree) {
|
|
18759
|
+
if (!this.modelTree) {
|
|
18753
18760
|
return new Map();
|
|
18754
18761
|
}
|
|
18755
|
-
this.buildModelTreeNodes(modelTree);
|
|
18762
|
+
this.buildModelTreeNodes(this.modelTree);
|
|
18756
18763
|
}
|
|
18757
18764
|
const paths = new Map();
|
|
18758
18765
|
for (const entityId of entityIds) {
|
|
@@ -18776,16 +18783,11 @@ var TilesetCadRenderManager;
|
|
|
18776
18783
|
* @returns Map of entityId to parent node
|
|
18777
18784
|
*/
|
|
18778
18785
|
getParentNodesBatch(entityIds) {
|
|
18779
|
-
var _a, _b;
|
|
18780
18786
|
if (this.treeNodeByEntityId == null) {
|
|
18781
|
-
|
|
18782
|
-
if (!modelTree) {
|
|
18783
|
-
modelTree = this.modelTree;
|
|
18784
|
-
}
|
|
18785
|
-
if (!modelTree) {
|
|
18787
|
+
if (!this.modelTree) {
|
|
18786
18788
|
return new Map();
|
|
18787
18789
|
}
|
|
18788
|
-
this.buildModelTreeNodes(modelTree);
|
|
18790
|
+
this.buildModelTreeNodes(this.modelTree);
|
|
18789
18791
|
}
|
|
18790
18792
|
const parents = new Map();
|
|
18791
18793
|
for (const entityId of entityIds) {
|
|
@@ -18805,16 +18807,11 @@ var TilesetCadRenderManager;
|
|
|
18805
18807
|
* @returns Map of entityId to array of child nodes
|
|
18806
18808
|
*/
|
|
18807
18809
|
getChildNodesBatch(entityIds) {
|
|
18808
|
-
var _a, _b;
|
|
18809
18810
|
if (this.treeNodeByEntityId == null) {
|
|
18810
|
-
|
|
18811
|
-
if (!modelTree) {
|
|
18812
|
-
modelTree = this.modelTree;
|
|
18813
|
-
}
|
|
18814
|
-
if (!modelTree) {
|
|
18811
|
+
if (!this.modelTree) {
|
|
18815
18812
|
return new Map();
|
|
18816
18813
|
}
|
|
18817
|
-
this.buildModelTreeNodes(modelTree);
|
|
18814
|
+
this.buildModelTreeNodes(this.modelTree);
|
|
18818
18815
|
}
|
|
18819
18816
|
const children = new Map();
|
|
18820
18817
|
// Initialize all entityIds with empty arrays
|
|
@@ -22453,7 +22450,7 @@ var AssemblyRenderManager;
|
|
|
22453
22450
|
}
|
|
22454
22451
|
};
|
|
22455
22452
|
if (hierarchy === null || hierarchy === void 0 ? void 0 : hierarchy.Root) {
|
|
22456
|
-
traverseHierarchy(hierarchy.Root,
|
|
22453
|
+
traverseHierarchy(hierarchy.Root, false);
|
|
22457
22454
|
rootId = hierarchy.Root.ID;
|
|
22458
22455
|
}
|
|
22459
22456
|
}
|
|
@@ -22477,14 +22474,14 @@ var AssemblyRenderManager;
|
|
|
22477
22474
|
* @returns
|
|
22478
22475
|
*/
|
|
22479
22476
|
async processEntityIds(entityIds) {
|
|
22480
|
-
var _a, _b
|
|
22477
|
+
var _a, _b;
|
|
22481
22478
|
if (!entityIds || !entityIds.length) {
|
|
22482
22479
|
return;
|
|
22483
22480
|
}
|
|
22484
22481
|
else if (this.disposed) {
|
|
22485
22482
|
return;
|
|
22486
22483
|
}
|
|
22487
|
-
const BATCH_SIZE =
|
|
22484
|
+
const BATCH_SIZE = 50;
|
|
22488
22485
|
let batches = Math.ceil(entityIds.length / BATCH_SIZE);
|
|
22489
22486
|
for (let i = 0; i < batches; i++) {
|
|
22490
22487
|
const batch = entityIds.slice(i * BATCH_SIZE, (i + 1) * BATCH_SIZE);
|
|
@@ -22501,8 +22498,24 @@ var AssemblyRenderManager;
|
|
|
22501
22498
|
return;
|
|
22502
22499
|
}
|
|
22503
22500
|
for (const entity of fetched) {
|
|
22504
|
-
|
|
22505
|
-
|
|
22501
|
+
// Filter for valid LODs then take the highest quality one (lowest level).
|
|
22502
|
+
let lods = entity.Bruce.LOD || [];
|
|
22503
|
+
lods = lods.filter(lod => { var _a; return ((_a = lod["ClientFile"]) === null || _a === void 0 ? void 0 : _a.URL) && lod["LODCategory.Key"] && lod["LODCategory.Key"].toLowerCase() == "glb"; });
|
|
22504
|
+
let lod = lods.sort((a, b) => {
|
|
22505
|
+
const aLevel = a.Level;
|
|
22506
|
+
const bLevel = b.Level;
|
|
22507
|
+
if (aLevel == null && bLevel == null) {
|
|
22508
|
+
return 0;
|
|
22509
|
+
}
|
|
22510
|
+
else if (aLevel == null) {
|
|
22511
|
+
return 1;
|
|
22512
|
+
}
|
|
22513
|
+
else if (bLevel == null) {
|
|
22514
|
+
return -1;
|
|
22515
|
+
}
|
|
22516
|
+
return aLevel - bLevel;
|
|
22517
|
+
})[0];
|
|
22518
|
+
if (!lod) {
|
|
22506
22519
|
// Won't bother with vector data for this experiment.
|
|
22507
22520
|
continue;
|
|
22508
22521
|
}
|
|
@@ -22543,7 +22556,7 @@ var AssemblyRenderManager;
|
|
|
22543
22556
|
entityTypeId: entity.Bruce["EntityType.ID"],
|
|
22544
22557
|
name: entity.Bruce.Name,
|
|
22545
22558
|
rootId: this.rootId,
|
|
22546
|
-
parentId: (
|
|
22559
|
+
parentId: (_b = (_a = this.hierarchyNodeByEntityId) === null || _a === void 0 ? void 0 : _a[entity.Bruce.ID]) === null || _b === void 0 ? void 0 : _b.parentId
|
|
22547
22560
|
},
|
|
22548
22561
|
requestRender: false
|
|
22549
22562
|
});
|
|
@@ -31557,6 +31570,7 @@ class WidgetInfoView extends Widget.AWidget {
|
|
|
31557
31570
|
width: 100%;
|
|
31558
31571
|
background-color: rgba(33, 39, 42, 0.8);
|
|
31559
31572
|
margin-bottom: 20px;
|
|
31573
|
+
margin-top: 20px;
|
|
31560
31574
|
|
|
31561
31575
|
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'><path fill='%23343a3f' d='M0 0h5v5H0zm5 5h5v5H5z'/></svg>");
|
|
31562
31576
|
background-size: 20px 20px;
|
|
@@ -33111,7 +33125,7 @@ class WidgetViewBar extends Widget.AWidget {
|
|
|
33111
33125
|
}
|
|
33112
33126
|
}
|
|
33113
33127
|
|
|
33114
|
-
const VERSION = "5.9.
|
|
33128
|
+
const VERSION = "5.9.3";
|
|
33115
33129
|
|
|
33116
33130
|
export { VERSION, CesiumViewMonitor, ViewerUtils, ViewerEventTracker, MenuItemManager, isOutlineChanged, EntityRenderEngine, EntityRenderEnginePoint, EntityRenderEnginePolyline, EntityRenderEnginePolygon, EntityRenderEngineModel3d, MenuItemCreator, VisualsRegister, RenderManager, EntitiesIdsRenderManager, DataLabRenderManager, EntitiesLoadedRenderManager, EntitiesRenderManager, EntityRenderManager, TilesetCadRenderManager, TilesetArbRenderManager, TilesetEntitiesRenderManager, TilesetOsmRenderManager, TilesetPointcloudRenderManager, TilesetGooglePhotosRenderManager, DataSourceStaticKmlManager, GoogleSearchRenderManager, AssemblyRenderManager, RelationsRenderManager, SharedGetters, CesiumParabola, EntityLabel, ViewRenderEngine, TileRenderEngine, TilesetRenderEngine, CESIUM_INSPECTOR_KEY, CESIUM_TIMELINE_KEY, CESIUM_TIMELINE_LIVE_KEY, CESIUM_TIMELINE_LIVE_PADDING_KEY, CESIUM_TIMELINE_INTERVAL_KEY, DEFAULT_LIVE_PADDING_SECONDS, ViewUtils, DrawingUtils, MeasureUtils, EntityUtils, CesiumEntityStyler, CesiumAnimatedProperty, CesiumAnimatedInOut, Draw3dPolygon, Draw3dPolyline, MeasureCreator, Walkthrough, Widget, VIEWER_BOOKMARKS_WIDGET_KEY, WidgetBookmarks, WidgetBranding, WidgetCursorBar, WidgetEmbeddedInfoView, WidgetInfoView, WidgetNavCompass$$1 as WidgetNavCompass, VIEWER_VIEW_BAR_WIDGET_KEY, WidgetViewBar, WidgetControlViewBar, WidgetControlViewBarSearch, VIEWER_LEFT_PANEL_WIDGET_KEY, VIEWER_LEFT_PANEL_CSS_VAR_LEFT, WidgetLeftPanel, WidgetLeftPanelTab, WidgetLeftPanelTabBookmarks };
|
|
33117
33131
|
//# sourceMappingURL=bruce-cesium.es5.js.map
|