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.es5.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as Cesium from 'cesium';
|
|
2
|
-
import { Cartographic, ColorMaterialProperty, Entity, Color, ConstantProperty, CallbackProperty, Primitive, Cesium3DTileFeature, DistanceDisplayCondition,
|
|
3
|
-
import { Cartes, Entity as Entity$1, ENVIRONMENT,
|
|
2
|
+
import { Cartographic, ColorMaterialProperty, Entity, Color, ConstantProperty, CallbackProperty, Primitive, Cesium3DTileFeature, DistanceDisplayCondition, Math as Math$1, Cartesian3, JulianDate, Quaternion, Transforms, HeadingPitchRoll, Matrix4, HeightReference, ColorBlendMode, ShadowMode, ClassificationType, Model, ArcType, CornerType, ConstantPositionProperty, ImageMaterialProperty, PolygonHierarchy, PolylineGraphics, HorizontalOrigin, VerticalOrigin, Cartesian2, SceneTransforms, NearFarScalar, Matrix3, Rectangle, KmlDataSource, GeoJsonDataSource, SceneMode, Cesium3DTileStyle, HeadingPitchRange, Ion, IonResource, Cesium3DTileColorBlendMode, Cesium3DTileset, EllipsoidTerrainProvider, IonImageryProvider, createWorldImagery, createWorldImageryAsync, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, UrlTemplateImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, TileMapServiceImageryProvider, CesiumTerrainProvider, OrthographicFrustum, EasingFunction, EllipsoidGeodesic, sampleTerrainMostDetailed, defined, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, PolylineDashMaterialProperty, PolygonPipeline, CesiumInspector, ClockRange, BoundingSphere, GeometryInstance, ScreenSpaceEventHandler, ScreenSpaceEventType, Fullscreen, Intersect, CzmlDataSource } from 'cesium';
|
|
3
|
+
import { Cartes, Entity as Entity$1, ENVIRONMENT, Calculator, ClientFile, EntityLod, EntityTag, EntityType, LRUCache, ObjectUtils, Style, Carto, Geometry, Bounds, Color as Color$1, MenuItem, ProjectView, ProjectViewBookmark, Tileset, ZoomControl, Api, BruceEvent, EntityCoords, DataLab, DelayQueue, EntityHistoricData, BruceApi, EntityRelation, ProgramKey, EntitySource, AccountConcept, RecordChangeFeed, ProjectViewLegacyTile, ProjectViewTile, Camera, Session, EntityAttachment, EntityAttachmentType, EntityAttribute, MathUtils, EntityRelationType } from 'bruce-models';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Ensures a number is returned from a given value.
|
|
@@ -9686,6 +9686,14 @@ var EntitiesRenderManager;
|
|
|
9686
9686
|
// Type IDs that we'll allow to be rendered when receiving Entities.
|
|
9687
9687
|
// This might be exactly the Menu Item Type ID because of local data sources.
|
|
9688
9688
|
this.allowedTypeIDs = [];
|
|
9689
|
+
/**
|
|
9690
|
+
* Our default path.
|
|
9691
|
+
* We render each entity individually.
|
|
9692
|
+
* @param entities
|
|
9693
|
+
* @param force
|
|
9694
|
+
* @returns
|
|
9695
|
+
*/
|
|
9696
|
+
this.renderAsIndividualsChain = Promise.resolve();
|
|
9689
9697
|
const { viewer, apiGetter, monitor, item, register: visualsManager, sharedGetters, onSeriesDiscovered } = params;
|
|
9690
9698
|
this.viewer = viewer;
|
|
9691
9699
|
this.sharedGetters = sharedGetters;
|
|
@@ -10618,14 +10626,18 @@ var EntitiesRenderManager;
|
|
|
10618
10626
|
}
|
|
10619
10627
|
this.viewer.scene.requestRender();
|
|
10620
10628
|
}
|
|
10621
|
-
|
|
10622
|
-
|
|
10623
|
-
|
|
10624
|
-
|
|
10625
|
-
|
|
10626
|
-
|
|
10627
|
-
|
|
10628
|
-
|
|
10629
|
+
renderAsIndividuals(entities, force = false) {
|
|
10630
|
+
// Waiting for prior call to finish resolving.
|
|
10631
|
+
// This avoids race conditions against two sets of overlapping Entities.
|
|
10632
|
+
const next = this.renderAsIndividualsChain
|
|
10633
|
+
.then(() => this.doRenderAsIndividuals(entities, force))
|
|
10634
|
+
.catch((e) => {
|
|
10635
|
+
console.error("EntitiesRenderManager.renderAsIndividuals failed:", e);
|
|
10636
|
+
});
|
|
10637
|
+
this.renderAsIndividualsChain = next;
|
|
10638
|
+
return next;
|
|
10639
|
+
}
|
|
10640
|
+
async doRenderAsIndividuals(entities, force = false) {
|
|
10629
10641
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
10630
10642
|
// When live we just want to show the latest pos.
|
|
10631
10643
|
// When not live, the user might scroll the timeline and want to see it a fluid animation between points in time.
|
|
@@ -10985,6 +10997,14 @@ var EntitiesLoadedRenderManager;
|
|
|
10985
10997
|
// Many things are not supported when this is enabled.
|
|
10986
10998
|
this.useGeojson = false;
|
|
10987
10999
|
this.reRenderState = new EntityReRenderMaintainState();
|
|
11000
|
+
/**
|
|
11001
|
+
* Our default path.
|
|
11002
|
+
* We render each entity individually.
|
|
11003
|
+
* @param entities
|
|
11004
|
+
* @param force
|
|
11005
|
+
* @returns
|
|
11006
|
+
*/
|
|
11007
|
+
this.renderAsIndividualsChain = Promise.resolve();
|
|
10988
11008
|
const { viewer, apiGetter, monitor, item, register: visualsManager } = params;
|
|
10989
11009
|
this.viewer = viewer;
|
|
10990
11010
|
this.apiGetter = apiGetter;
|
|
@@ -11608,14 +11628,18 @@ var EntitiesLoadedRenderManager;
|
|
|
11608
11628
|
}
|
|
11609
11629
|
this.viewer.scene.requestRender();
|
|
11610
11630
|
}
|
|
11611
|
-
|
|
11612
|
-
|
|
11613
|
-
|
|
11614
|
-
|
|
11615
|
-
|
|
11616
|
-
|
|
11617
|
-
|
|
11618
|
-
|
|
11631
|
+
renderAsIndividuals(entities, force = false) {
|
|
11632
|
+
// Waiting for prior call to finish resolving.
|
|
11633
|
+
// This avoids race conditions against two sets of overlapping Entities.
|
|
11634
|
+
const next = this.renderAsIndividualsChain
|
|
11635
|
+
.then(() => this.doRenderAsIndividuals(entities, force))
|
|
11636
|
+
.catch((e) => {
|
|
11637
|
+
console.error("EntitiesLoadedRenderManager.renderAsIndividuals failed:", e);
|
|
11638
|
+
});
|
|
11639
|
+
this.renderAsIndividualsChain = next;
|
|
11640
|
+
return next;
|
|
11641
|
+
}
|
|
11642
|
+
async doRenderAsIndividuals(entities, force = false) {
|
|
11619
11643
|
const { updated, entities: cEntities } = await EntityRenderEngine.Render({
|
|
11620
11644
|
viewer: this.viewer,
|
|
11621
11645
|
apiGetter: this.apiGetter,
|
|
@@ -12260,6 +12284,7 @@ var EntityRenderManager;
|
|
|
12260
12284
|
this.getterSub = null;
|
|
12261
12285
|
this.disposed = false;
|
|
12262
12286
|
this.reRenderState = new EntityReRenderMaintainState();
|
|
12287
|
+
this.renderEntityChain = Promise.resolve();
|
|
12263
12288
|
const { viewer, apiGetter, monitor, item, register: visualsManager } = params;
|
|
12264
12289
|
this.viewer = viewer;
|
|
12265
12290
|
this.apiGetter = apiGetter;
|
|
@@ -12382,7 +12407,18 @@ var EntityRenderManager;
|
|
|
12382
12407
|
this.onGetterUpdate(entityId, true);
|
|
12383
12408
|
}
|
|
12384
12409
|
}
|
|
12385
|
-
|
|
12410
|
+
renderEntity(entity, force = false) {
|
|
12411
|
+
// Waiting for prior call to finish resolving.
|
|
12412
|
+
// This avoids race conditions against two sets of overlapping Entities.
|
|
12413
|
+
const next = this.renderEntityChain
|
|
12414
|
+
.then(() => this.doRenderEntity(entity, force))
|
|
12415
|
+
.catch((e) => {
|
|
12416
|
+
console.error("EntityRenderManager.renderEntity failed:", e);
|
|
12417
|
+
});
|
|
12418
|
+
this.renderEntityChain = next;
|
|
12419
|
+
return next;
|
|
12420
|
+
}
|
|
12421
|
+
async doRenderEntity(entity, force = false) {
|
|
12386
12422
|
try {
|
|
12387
12423
|
if (this.disposed || this.viewer.isDestroyed()) {
|
|
12388
12424
|
return;
|
|
@@ -16826,6 +16862,7 @@ var DataLabRenderManager;
|
|
|
16826
16862
|
this.reRenderState = new EntityReRenderMaintainState();
|
|
16827
16863
|
this.zoomControl = [];
|
|
16828
16864
|
this.queryLoadId = 0;
|
|
16865
|
+
this.renderDataLabEntitiesChain = Promise.resolve();
|
|
16829
16866
|
const { viewer, item, apiGetter, monitor, visualsRegister } = params;
|
|
16830
16867
|
this.viewer = viewer;
|
|
16831
16868
|
this.item = item;
|
|
@@ -17164,7 +17201,18 @@ var DataLabRenderManager;
|
|
|
17164
17201
|
}
|
|
17165
17202
|
return Array.from(entityMap.values());
|
|
17166
17203
|
}
|
|
17167
|
-
|
|
17204
|
+
renderDataLabEntities(entities, force = false) {
|
|
17205
|
+
// Waiting for prior call to finish resolving.
|
|
17206
|
+
// This avoids race conditions against two sets of overlapping Entities.
|
|
17207
|
+
const next = this.renderDataLabEntitiesChain
|
|
17208
|
+
.then(() => this.doRenderDataLabEntities(entities, force))
|
|
17209
|
+
.catch((e) => {
|
|
17210
|
+
console.error("EntitiesDatalabRenderManager.renderDataLabEntities failed:", e);
|
|
17211
|
+
});
|
|
17212
|
+
this.renderDataLabEntitiesChain = next;
|
|
17213
|
+
return next;
|
|
17214
|
+
}
|
|
17215
|
+
async doRenderDataLabEntities(entities, force = false) {
|
|
17168
17216
|
var _a, _b, _c;
|
|
17169
17217
|
if (this.disposed || this.viewer.isDestroyed() || !(entities === null || entities === void 0 ? void 0 : entities.length)) {
|
|
17170
17218
|
return;
|
|
@@ -37081,8 +37129,9 @@ const TEXTURE_FRAME_SERIES_ANIMATOR_KEY = "TextureFrameSeriesAnimator.Animator";
|
|
|
37081
37129
|
var EntityRenderEnginePolygon;
|
|
37082
37130
|
(function (EntityRenderEnginePolygon) {
|
|
37083
37131
|
async function Render(params) {
|
|
37084
|
-
var _a, _b;
|
|
37132
|
+
var _a, _b, _c;
|
|
37085
37133
|
const entity = params.entity;
|
|
37134
|
+
const style = params.style;
|
|
37086
37135
|
const pRings = Entity$1.GetValue({
|
|
37087
37136
|
entity: entity,
|
|
37088
37137
|
path: ["Bruce", "VectorGeometry", "Polygon"]
|
|
@@ -37090,7 +37139,6 @@ var EntityRenderEnginePolygon;
|
|
|
37090
37139
|
if (pRings == null || !Array.isArray(pRings) || pRings.length <= 0) {
|
|
37091
37140
|
return null;
|
|
37092
37141
|
}
|
|
37093
|
-
const style = params.style;
|
|
37094
37142
|
const fillType = style.fillType || Style.EPolygonFillType.Color;
|
|
37095
37143
|
const fillColorTrace = style.fillColor ? Calculator.TraceGetColor(style.fillColor, entity, params.tags) : { value: null, effective: null };
|
|
37096
37144
|
const bFillColor = fillColorTrace.value;
|
|
@@ -37099,15 +37147,20 @@ var EntityRenderEnginePolygon;
|
|
|
37099
37147
|
let textureTraceEffective = null;
|
|
37100
37148
|
let frameArchive = null;
|
|
37101
37149
|
if (fillType === Style.EPolygonFillType.Texture) {
|
|
37102
|
-
|
|
37103
|
-
|
|
37104
|
-
|
|
37105
|
-
|
|
37106
|
-
|
|
37107
|
-
|
|
37108
|
-
|
|
37109
|
-
|
|
37110
|
-
|
|
37150
|
+
try {
|
|
37151
|
+
const resolved = await resolveTexturedFill({
|
|
37152
|
+
api: params.api,
|
|
37153
|
+
style,
|
|
37154
|
+
entity,
|
|
37155
|
+
tags: params.tags
|
|
37156
|
+
});
|
|
37157
|
+
textureDataUri = resolved.dataUri;
|
|
37158
|
+
textureTraceEffective = resolved.effective;
|
|
37159
|
+
frameArchive = resolved.frameArchive || null;
|
|
37160
|
+
}
|
|
37161
|
+
catch (e) {
|
|
37162
|
+
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);
|
|
37163
|
+
}
|
|
37111
37164
|
}
|
|
37112
37165
|
const hasFill = fillType === Style.EPolygonFillType.Texture
|
|
37113
37166
|
? Boolean(textureDataUri || frameArchive || cFillColor.alpha > 0)
|
|
@@ -37305,7 +37358,7 @@ var EntityRenderEnginePolygon;
|
|
|
37305
37358
|
}
|
|
37306
37359
|
}
|
|
37307
37360
|
let borderPosses = posses.map(x => x.clone ? x.clone() : { ...x });
|
|
37308
|
-
let cEntityBorder = (
|
|
37361
|
+
let cEntityBorder = (_c = (_b = params.rendered) === null || _b === void 0 ? void 0 : _b._siblingGraphics) === null || _c === void 0 ? void 0 : _c[0];
|
|
37309
37362
|
cEntity._siblingGraphics = [];
|
|
37310
37363
|
if (!cEntityBorder || ((!cEntityBorder.polyline && units == "px") ||
|
|
37311
37364
|
(!cEntityBorder.corridor && units == "m"))) {
|
|
@@ -37446,7 +37499,7 @@ var EntityRenderEnginePolygon;
|
|
|
37446
37499
|
}
|
|
37447
37500
|
EntityRenderEnginePolygon.Render = Render;
|
|
37448
37501
|
async function RenderGroup(params) {
|
|
37449
|
-
var _a, _b, _c;
|
|
37502
|
+
var _a, _b, _c, _d;
|
|
37450
37503
|
const api = params.apiGetter.getApi();
|
|
37451
37504
|
const cEntities = new Map();
|
|
37452
37505
|
// Gathering tags in case styling needs it.
|
|
@@ -37490,21 +37543,27 @@ var EntityRenderEnginePolygon;
|
|
|
37490
37543
|
}
|
|
37491
37544
|
}
|
|
37492
37545
|
const pStyle = (_b = style === null || style === void 0 ? void 0 : style.polygonStyle) !== null && _b !== void 0 ? _b : {};
|
|
37493
|
-
|
|
37494
|
-
|
|
37495
|
-
|
|
37496
|
-
|
|
37497
|
-
|
|
37498
|
-
|
|
37499
|
-
|
|
37500
|
-
|
|
37501
|
-
|
|
37502
|
-
|
|
37503
|
-
|
|
37504
|
-
|
|
37505
|
-
|
|
37506
|
-
|
|
37507
|
-
|
|
37546
|
+
let cEntity = null;
|
|
37547
|
+
try {
|
|
37548
|
+
cEntity = await Render({
|
|
37549
|
+
entity: entity,
|
|
37550
|
+
style: pStyle,
|
|
37551
|
+
tags: tags,
|
|
37552
|
+
viewer: params.viewer,
|
|
37553
|
+
api,
|
|
37554
|
+
maxDistance: zoomItem.MaxZoom,
|
|
37555
|
+
minDistance: zoomItem.MinZoom,
|
|
37556
|
+
// Temporarily disabling re-using graphics for polygons as they have some bugs, and
|
|
37557
|
+
// they don't support any animation yet.
|
|
37558
|
+
// rendered: null
|
|
37559
|
+
rendered: (_c = params.rendered) === null || _c === void 0 ? void 0 : _c.get(entity.Bruce.ID),
|
|
37560
|
+
menuItemId: params.menuItemId,
|
|
37561
|
+
onSeriesDiscovered: params.onSeriesDiscovered
|
|
37562
|
+
});
|
|
37563
|
+
}
|
|
37564
|
+
catch (e) {
|
|
37565
|
+
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);
|
|
37566
|
+
}
|
|
37508
37567
|
if (cEntity) {
|
|
37509
37568
|
const name = await getName$3(api, entity);
|
|
37510
37569
|
cEntity.name = name;
|
|
@@ -39125,7 +39184,7 @@ var StyleUtils;
|
|
|
39125
39184
|
StyleUtils.ApplyTypeStyle = ApplyTypeStyle;
|
|
39126
39185
|
})(StyleUtils || (StyleUtils = {}));
|
|
39127
39186
|
|
|
39128
|
-
const VERSION = "7.0.
|
|
39187
|
+
const VERSION = "7.0.2";
|
|
39129
39188
|
/**
|
|
39130
39189
|
* Updates the environment instance used by bruce-cesium to one specified.
|
|
39131
39190
|
* This can be used to ensure that the instance a parent is referencing is shared between bruce-cesium, bruce-models, and the parent app.
|