bruce-cesium 7.0.0 → 7.0.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 +108 -49
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +106 -47
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/bruce-cesium.js +1 -1
- package/dist/lib/rendering/entity-render-engine-polygon.js +39 -28
- package/dist/lib/rendering/entity-render-engine-polygon.js.map +1 -1
- package/dist/lib/rendering/render-managers/entities/entities-datalab-render-manager.js +13 -1
- package/dist/lib/rendering/render-managers/entities/entities-datalab-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +20 -8
- package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +20 -8
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +13 -1
- package/dist/lib/rendering/render-managers/entities/entity-render-manager.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 +2 -0
- package/dist/types/rendering/render-managers/entities/entities-loaded-render-manager.d.ts +2 -0
- package/dist/types/rendering/render-managers/entities/entities-render-manager.d.ts +2 -0
- package/dist/types/rendering/render-managers/entities/entity-render-manager.d.ts +2 -0
- package/package.json +2 -2
package/dist/bruce-cesium.umd.js
CHANGED
|
@@ -9661,6 +9661,14 @@
|
|
|
9661
9661
|
// Type IDs that we'll allow to be rendered when receiving Entities.
|
|
9662
9662
|
// This might be exactly the Menu Item Type ID because of local data sources.
|
|
9663
9663
|
this.allowedTypeIDs = [];
|
|
9664
|
+
/**
|
|
9665
|
+
* Our default path.
|
|
9666
|
+
* We render each entity individually.
|
|
9667
|
+
* @param entities
|
|
9668
|
+
* @param force
|
|
9669
|
+
* @returns
|
|
9670
|
+
*/
|
|
9671
|
+
this.renderAsIndividualsChain = Promise.resolve();
|
|
9664
9672
|
const { viewer, apiGetter, monitor, item, register: visualsManager, sharedGetters, onSeriesDiscovered } = params;
|
|
9665
9673
|
this.viewer = viewer;
|
|
9666
9674
|
this.sharedGetters = sharedGetters;
|
|
@@ -10593,14 +10601,18 @@
|
|
|
10593
10601
|
}
|
|
10594
10602
|
this.viewer.scene.requestRender();
|
|
10595
10603
|
}
|
|
10596
|
-
|
|
10597
|
-
|
|
10598
|
-
|
|
10599
|
-
|
|
10600
|
-
|
|
10601
|
-
|
|
10602
|
-
|
|
10603
|
-
|
|
10604
|
+
renderAsIndividuals(entities, force = false) {
|
|
10605
|
+
// Waiting for prior call to finish resolving.
|
|
10606
|
+
// This avoids race conditions against two sets of overlapping Entities.
|
|
10607
|
+
const next = this.renderAsIndividualsChain
|
|
10608
|
+
.then(() => this.doRenderAsIndividuals(entities, force))
|
|
10609
|
+
.catch((e) => {
|
|
10610
|
+
console.error("EntitiesRenderManager.renderAsIndividuals failed:", e);
|
|
10611
|
+
});
|
|
10612
|
+
this.renderAsIndividualsChain = next;
|
|
10613
|
+
return next;
|
|
10614
|
+
}
|
|
10615
|
+
async doRenderAsIndividuals(entities, force = false) {
|
|
10604
10616
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
10605
10617
|
// When live we just want to show the latest pos.
|
|
10606
10618
|
// When not live, the user might scroll the timeline and want to see it a fluid animation between points in time.
|
|
@@ -10954,6 +10966,14 @@
|
|
|
10954
10966
|
// Many things are not supported when this is enabled.
|
|
10955
10967
|
this.useGeojson = false;
|
|
10956
10968
|
this.reRenderState = new EntityReRenderMaintainState();
|
|
10969
|
+
/**
|
|
10970
|
+
* Our default path.
|
|
10971
|
+
* We render each entity individually.
|
|
10972
|
+
* @param entities
|
|
10973
|
+
* @param force
|
|
10974
|
+
* @returns
|
|
10975
|
+
*/
|
|
10976
|
+
this.renderAsIndividualsChain = Promise.resolve();
|
|
10957
10977
|
const { viewer, apiGetter, monitor, item, register: visualsManager } = params;
|
|
10958
10978
|
this.viewer = viewer;
|
|
10959
10979
|
this.apiGetter = apiGetter;
|
|
@@ -11577,14 +11597,18 @@
|
|
|
11577
11597
|
}
|
|
11578
11598
|
this.viewer.scene.requestRender();
|
|
11579
11599
|
}
|
|
11580
|
-
|
|
11581
|
-
|
|
11582
|
-
|
|
11583
|
-
|
|
11584
|
-
|
|
11585
|
-
|
|
11586
|
-
|
|
11587
|
-
|
|
11600
|
+
renderAsIndividuals(entities, force = false) {
|
|
11601
|
+
// Waiting for prior call to finish resolving.
|
|
11602
|
+
// This avoids race conditions against two sets of overlapping Entities.
|
|
11603
|
+
const next = this.renderAsIndividualsChain
|
|
11604
|
+
.then(() => this.doRenderAsIndividuals(entities, force))
|
|
11605
|
+
.catch((e) => {
|
|
11606
|
+
console.error("EntitiesLoadedRenderManager.renderAsIndividuals failed:", e);
|
|
11607
|
+
});
|
|
11608
|
+
this.renderAsIndividualsChain = next;
|
|
11609
|
+
return next;
|
|
11610
|
+
}
|
|
11611
|
+
async doRenderAsIndividuals(entities, force = false) {
|
|
11588
11612
|
const { updated, entities: cEntities } = await exports.EntityRenderEngine.Render({
|
|
11589
11613
|
viewer: this.viewer,
|
|
11590
11614
|
apiGetter: this.apiGetter,
|
|
@@ -12220,6 +12244,7 @@
|
|
|
12220
12244
|
this.getterSub = null;
|
|
12221
12245
|
this.disposed = false;
|
|
12222
12246
|
this.reRenderState = new EntityReRenderMaintainState();
|
|
12247
|
+
this.renderEntityChain = Promise.resolve();
|
|
12223
12248
|
const { viewer, apiGetter, monitor, item, register: visualsManager } = params;
|
|
12224
12249
|
this.viewer = viewer;
|
|
12225
12250
|
this.apiGetter = apiGetter;
|
|
@@ -12342,7 +12367,18 @@
|
|
|
12342
12367
|
this.onGetterUpdate(entityId, true);
|
|
12343
12368
|
}
|
|
12344
12369
|
}
|
|
12345
|
-
|
|
12370
|
+
renderEntity(entity, force = false) {
|
|
12371
|
+
// Waiting for prior call to finish resolving.
|
|
12372
|
+
// This avoids race conditions against two sets of overlapping Entities.
|
|
12373
|
+
const next = this.renderEntityChain
|
|
12374
|
+
.then(() => this.doRenderEntity(entity, force))
|
|
12375
|
+
.catch((e) => {
|
|
12376
|
+
console.error("EntityRenderManager.renderEntity failed:", e);
|
|
12377
|
+
});
|
|
12378
|
+
this.renderEntityChain = next;
|
|
12379
|
+
return next;
|
|
12380
|
+
}
|
|
12381
|
+
async doRenderEntity(entity, force = false) {
|
|
12346
12382
|
try {
|
|
12347
12383
|
if (this.disposed || this.viewer.isDestroyed()) {
|
|
12348
12384
|
return;
|
|
@@ -16778,6 +16814,7 @@
|
|
|
16778
16814
|
this.reRenderState = new EntityReRenderMaintainState();
|
|
16779
16815
|
this.zoomControl = [];
|
|
16780
16816
|
this.queryLoadId = 0;
|
|
16817
|
+
this.renderDataLabEntitiesChain = Promise.resolve();
|
|
16781
16818
|
const { viewer, item, apiGetter, monitor, visualsRegister } = params;
|
|
16782
16819
|
this.viewer = viewer;
|
|
16783
16820
|
this.item = item;
|
|
@@ -17116,7 +17153,18 @@
|
|
|
17116
17153
|
}
|
|
17117
17154
|
return Array.from(entityMap.values());
|
|
17118
17155
|
}
|
|
17119
|
-
|
|
17156
|
+
renderDataLabEntities(entities, force = false) {
|
|
17157
|
+
// Waiting for prior call to finish resolving.
|
|
17158
|
+
// This avoids race conditions against two sets of overlapping Entities.
|
|
17159
|
+
const next = this.renderDataLabEntitiesChain
|
|
17160
|
+
.then(() => this.doRenderDataLabEntities(entities, force))
|
|
17161
|
+
.catch((e) => {
|
|
17162
|
+
console.error("EntitiesDatalabRenderManager.renderDataLabEntities failed:", e);
|
|
17163
|
+
});
|
|
17164
|
+
this.renderDataLabEntitiesChain = next;
|
|
17165
|
+
return next;
|
|
17166
|
+
}
|
|
17167
|
+
async doRenderDataLabEntities(entities, force = false) {
|
|
17120
17168
|
var _a, _b, _c;
|
|
17121
17169
|
if (this.disposed || this.viewer.isDestroyed() || !(entities === null || entities === void 0 ? void 0 : entities.length)) {
|
|
17122
17170
|
return;
|
|
@@ -36974,8 +37022,9 @@
|
|
|
36974
37022
|
const TEXTURE_FRAME_SERIES_ANIMATOR_KEY = "TextureFrameSeriesAnimator.Animator";
|
|
36975
37023
|
(function (EntityRenderEnginePolygon) {
|
|
36976
37024
|
async function Render(params) {
|
|
36977
|
-
var _a, _b;
|
|
37025
|
+
var _a, _b, _c;
|
|
36978
37026
|
const entity = params.entity;
|
|
37027
|
+
const style = params.style;
|
|
36979
37028
|
const pRings = BModels.Entity.GetValue({
|
|
36980
37029
|
entity: entity,
|
|
36981
37030
|
path: ["Bruce", "VectorGeometry", "Polygon"]
|
|
@@ -36983,7 +37032,6 @@
|
|
|
36983
37032
|
if (pRings == null || !Array.isArray(pRings) || pRings.length <= 0) {
|
|
36984
37033
|
return null;
|
|
36985
37034
|
}
|
|
36986
|
-
const style = params.style;
|
|
36987
37035
|
const fillType = style.fillType || BModels.Style.EPolygonFillType.Color;
|
|
36988
37036
|
const fillColorTrace = style.fillColor ? BModels.Calculator.TraceGetColor(style.fillColor, entity, params.tags) : { value: null, effective: null };
|
|
36989
37037
|
const bFillColor = fillColorTrace.value;
|
|
@@ -36992,15 +37040,20 @@
|
|
|
36992
37040
|
let textureTraceEffective = null;
|
|
36993
37041
|
let frameArchive = null;
|
|
36994
37042
|
if (fillType === BModels.Style.EPolygonFillType.Texture) {
|
|
36995
|
-
|
|
36996
|
-
|
|
36997
|
-
|
|
36998
|
-
|
|
36999
|
-
|
|
37000
|
-
|
|
37001
|
-
|
|
37002
|
-
|
|
37003
|
-
|
|
37043
|
+
try {
|
|
37044
|
+
const resolved = await resolveTexturedFill({
|
|
37045
|
+
api: params.api,
|
|
37046
|
+
style,
|
|
37047
|
+
entity,
|
|
37048
|
+
tags: params.tags
|
|
37049
|
+
});
|
|
37050
|
+
textureDataUri = resolved.dataUri;
|
|
37051
|
+
textureTraceEffective = resolved.effective;
|
|
37052
|
+
frameArchive = resolved.frameArchive || null;
|
|
37053
|
+
}
|
|
37054
|
+
catch (e) {
|
|
37055
|
+
console.error(`Polygon.Render: failed to resolve textured fill for entity ${((_a = entity === null || entity === void 0 ? void 0 : entity.Bruce) === null || _a === void 0 ? void 0 : _a.ID) || "<NONE>"}:`, e);
|
|
37056
|
+
}
|
|
37004
37057
|
}
|
|
37005
37058
|
const hasFill = fillType === BModels.Style.EPolygonFillType.Texture
|
|
37006
37059
|
? Boolean(textureDataUri || frameArchive || cFillColor.alpha > 0)
|
|
@@ -37198,7 +37251,7 @@
|
|
|
37198
37251
|
}
|
|
37199
37252
|
}
|
|
37200
37253
|
let borderPosses = posses.map(x => x.clone ? x.clone() : { ...x });
|
|
37201
|
-
let cEntityBorder = (
|
|
37254
|
+
let cEntityBorder = (_c = (_b = params.rendered) === null || _b === void 0 ? void 0 : _b._siblingGraphics) === null || _c === void 0 ? void 0 : _c[0];
|
|
37202
37255
|
cEntity._siblingGraphics = [];
|
|
37203
37256
|
if (!cEntityBorder || ((!cEntityBorder.polyline && units == "px") ||
|
|
37204
37257
|
(!cEntityBorder.corridor && units == "m"))) {
|
|
@@ -37339,7 +37392,7 @@
|
|
|
37339
37392
|
}
|
|
37340
37393
|
EntityRenderEnginePolygon.Render = Render;
|
|
37341
37394
|
async function RenderGroup(params) {
|
|
37342
|
-
var _a, _b, _c;
|
|
37395
|
+
var _a, _b, _c, _d;
|
|
37343
37396
|
const api = params.apiGetter.getApi();
|
|
37344
37397
|
const cEntities = new Map();
|
|
37345
37398
|
// Gathering tags in case styling needs it.
|
|
@@ -37383,21 +37436,27 @@
|
|
|
37383
37436
|
}
|
|
37384
37437
|
}
|
|
37385
37438
|
const pStyle = (_b = style === null || style === void 0 ? void 0 : style.polygonStyle) !== null && _b !== void 0 ? _b : {};
|
|
37386
|
-
|
|
37387
|
-
|
|
37388
|
-
|
|
37389
|
-
|
|
37390
|
-
|
|
37391
|
-
|
|
37392
|
-
|
|
37393
|
-
|
|
37394
|
-
|
|
37395
|
-
|
|
37396
|
-
|
|
37397
|
-
|
|
37398
|
-
|
|
37399
|
-
|
|
37400
|
-
|
|
37439
|
+
let cEntity = null;
|
|
37440
|
+
try {
|
|
37441
|
+
cEntity = await Render({
|
|
37442
|
+
entity: entity,
|
|
37443
|
+
style: pStyle,
|
|
37444
|
+
tags: tags,
|
|
37445
|
+
viewer: params.viewer,
|
|
37446
|
+
api,
|
|
37447
|
+
maxDistance: zoomItem.MaxZoom,
|
|
37448
|
+
minDistance: zoomItem.MinZoom,
|
|
37449
|
+
// Temporarily disabling re-using graphics for polygons as they have some bugs, and
|
|
37450
|
+
// they don't support any animation yet.
|
|
37451
|
+
// rendered: null
|
|
37452
|
+
rendered: (_c = params.rendered) === null || _c === void 0 ? void 0 : _c.get(entity.Bruce.ID),
|
|
37453
|
+
menuItemId: params.menuItemId,
|
|
37454
|
+
onSeriesDiscovered: params.onSeriesDiscovered
|
|
37455
|
+
});
|
|
37456
|
+
}
|
|
37457
|
+
catch (e) {
|
|
37458
|
+
console.error(`Polygon.RenderGroup: failed to render entity ${((_d = entity === null || entity === void 0 ? void 0 : entity.Bruce) === null || _d === void 0 ? void 0 : _d.ID) || "<NONE>"}:`, e);
|
|
37459
|
+
}
|
|
37401
37460
|
if (cEntity) {
|
|
37402
37461
|
const name = await getName$3(api, entity);
|
|
37403
37462
|
cEntity.name = name;
|
|
@@ -39003,7 +39062,7 @@
|
|
|
39003
39062
|
StyleUtils.ApplyTypeStyle = ApplyTypeStyle;
|
|
39004
39063
|
})(exports.StyleUtils || (exports.StyleUtils = {}));
|
|
39005
39064
|
|
|
39006
|
-
const VERSION = "7.0.
|
|
39065
|
+
const VERSION = "7.0.2";
|
|
39007
39066
|
/**
|
|
39008
39067
|
* Updates the environment instance used by bruce-cesium to one specified.
|
|
39009
39068
|
* This can be used to ensure that the instance a parent is referencing is shared between bruce-cesium, bruce-models, and the parent app.
|