bruce-cesium 4.8.8 → 4.9.0

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.
Files changed (34) hide show
  1. package/dist/bruce-cesium.es5.js +96 -23
  2. package/dist/bruce-cesium.es5.js.map +1 -1
  3. package/dist/bruce-cesium.umd.js +95 -22
  4. package/dist/bruce-cesium.umd.js.map +1 -1
  5. package/dist/lib/bruce-cesium.js +1 -1
  6. package/dist/lib/rendering/render-managers/entities/entities-datalab-render-manager.js +5 -1
  7. package/dist/lib/rendering/render-managers/entities/entities-datalab-render-manager.js.map +1 -1
  8. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +6 -2
  9. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js.map +1 -1
  10. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +6 -2
  11. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js.map +1 -1
  12. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +6 -2
  13. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +1 -1
  14. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +5 -1
  15. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js.map +1 -1
  16. package/dist/lib/rendering/render-managers/tilesets/tileset-arb-render-manager.js +5 -1
  17. package/dist/lib/rendering/render-managers/tilesets/tileset-arb-render-manager.js.map +1 -1
  18. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +5 -1
  19. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js.map +1 -1
  20. package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js +5 -1
  21. package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js.map +1 -1
  22. package/dist/lib/rendering/visuals-register.js +51 -10
  23. package/dist/lib/rendering/visuals-register.js.map +1 -1
  24. package/dist/types/bruce-cesium.d.ts +1 -1
  25. package/dist/types/rendering/render-managers/entities/entities-datalab-render-manager.d.ts +1 -0
  26. package/dist/types/rendering/render-managers/entities/entities-ids-render-manager.d.ts +1 -0
  27. package/dist/types/rendering/render-managers/entities/entities-loaded-render-manager.d.ts +1 -0
  28. package/dist/types/rendering/render-managers/entities/entities-render-manager.d.ts +1 -0
  29. package/dist/types/rendering/render-managers/entities/entity-render-manager.d.ts +1 -0
  30. package/dist/types/rendering/render-managers/tilesets/tileset-arb-render-manager.d.ts +1 -0
  31. package/dist/types/rendering/render-managers/tilesets/tileset-cad-render-manager.d.ts +1 -0
  32. package/dist/types/rendering/render-managers/tilesets/tileset-entities-render-manager.d.ts +1 -0
  33. package/dist/types/rendering/visuals-register.d.ts +3 -1
  34. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import { BruceEvent, Cartes, Entity as Entity$1, Carto, Geometry, MathUtils, LRUCache, Api, Calculator, ClientFile, EntityTag, EntityType, ObjectUtils, Style, ProjectViewTile, DelayQueue, EntityLod, Bounds, ZoomControl, EntityRelationType, ENVIRONMENT, EntityHistoricData, Tileset, EntityCoords, DataLab, EntitySource, MenuItem, EntityRelation, ProgramKey, ProjectView, ProjectViewBookmark, Camera, ProjectViewLegacyTile, EntityAttribute, EntityAttachment, EntityAttachmentType, 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, PolygonHierarchy, PolylineGraphics, ColorMaterialProperty, ColorBlendMode, HeadingPitchRoll, Transforms, Model, Primitive, Cesium3DTileFeature, SceneMode, GeoJsonDataSource, Cesium3DTileColorBlendMode, HeadingPitchRange, Cesium3DTileStyle, Ion, KmlDataSource, SceneTransforms, OrthographicFrustum, EasingFunction, NearFarScalar, EllipsoidTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, UrlTemplateImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, TileMapServiceImageryProvider, IonImageryProvider, CesiumTerrainProvider, Cesium3DTileset, Matrix4, Matrix3, IonResource, CesiumInspector, defined, ClockRange, EllipsoidGeodesic, sampleTerrainMostDetailed, PolygonPipeline, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, PolylineDashMaterialProperty, BoundingSphere, GeometryInstance, Quaternion, ScreenSpaceEventHandler, ScreenSpaceEventType, CzmlDataSource, Intersect, Fullscreen } 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, PolygonHierarchy, PolylineGraphics, ColorMaterialProperty, ColorBlendMode, HeadingPitchRoll, Transforms, Model, Primitive, Cesium3DTileFeature, SceneMode, GeoJsonDataSource, Cesium3DTileColorBlendMode, HeadingPitchRange, Cesium3DTileStyle, Ion, KmlDataSource, SceneTransforms, OrthographicFrustum, EasingFunction, NearFarScalar, EllipsoidTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, UrlTemplateImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, TileMapServiceImageryProvider, IonImageryProvider, CesiumTerrainProvider, Cesium3DTileset, Matrix4, Matrix3, IonResource, CesiumInspector, defined, ClockRange, EllipsoidGeodesic, sampleTerrainMostDetailed, PolygonPipeline, BoundingSphere, GeometryInstance, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, PolylineDashMaterialProperty, Quaternion, ScreenSpaceEventHandler, ScreenSpaceEventType, CzmlDataSource, Intersect, Fullscreen } from 'cesium';
4
4
 
5
5
  /*! *****************************************************************************
6
6
  Copyright (c) Microsoft Corporation. All rights reserved.
@@ -10135,6 +10135,7 @@ function updateEntityShow(viewer, rego, show) {
10135
10135
  }
10136
10136
  }
10137
10137
  function updateEntity(viewer, entityId, register, refresh, cache) {
10138
+ var _a;
10138
10139
  if (cache === void 0) { cache = {}; }
10139
10140
  // Unavailable for unoptimized single-Entity updates.
10140
10141
  if (!cache) {
@@ -10143,7 +10144,14 @@ function updateEntity(viewer, entityId, register, refresh, cache) {
10143
10144
  var regos = register.GetRegos({
10144
10145
  entityId: entityId
10145
10146
  });
10146
- function getShowState(state) {
10147
+ regos.sort(function (a, b) {
10148
+ return b.priority - a.priority;
10149
+ });
10150
+ var highestPriority = (_a = regos[0]) === null || _a === void 0 ? void 0 : _a.priority;
10151
+ if (!highestPriority) {
10152
+ highestPriority = 0;
10153
+ }
10154
+ function getShowState(rego, state) {
10147
10155
  if (state.hidden) {
10148
10156
  return false;
10149
10157
  }
@@ -10155,10 +10163,11 @@ function updateEntity(viewer, entityId, register, refresh, cache) {
10155
10163
  return false;
10156
10164
  }
10157
10165
  }
10158
- // TODO: Should show only unique graphics.
10159
- // Eg: two if the same looking points in the same place should not be shown!
10160
- // return rego === highestPriority;
10161
- return true;
10166
+ // We show all regos in the same highest priority level.
10167
+ // So if a new visual is added that's higher priority, all lower ones get hidden.
10168
+ // By default, everything has 0 priority unless explicitly set.
10169
+ var priority = rego.priority ? rego.priority : 0;
10170
+ return priority == highestPriority;
10162
10171
  }
10163
10172
  for (var i = 0; i < regos.length; i++) {
10164
10173
  var rego = regos[i];
@@ -10168,7 +10177,7 @@ function updateEntity(viewer, entityId, register, refresh, cache) {
10168
10177
  });
10169
10178
  var visible = rego.overrideShow;
10170
10179
  if (visible == null || visible === undefined) {
10171
- visible = getShowState(state);
10180
+ visible = getShowState(rego, state);
10172
10181
  }
10173
10182
  updateEntityShow(viewer, rego, visible);
10174
10183
  if (visible) {
@@ -10685,8 +10694,41 @@ var VisualsRegister;
10685
10694
  * Returns all visual state settings.
10686
10695
  * This is typically used for saving.
10687
10696
  */
10688
- Register.prototype.GetStates = function () {
10689
- return this.states;
10697
+ Register.prototype.GetStates = function (params) {
10698
+ if (!(params === null || params === void 0 ? void 0 : params.optimized)) {
10699
+ return this.states;
10700
+ }
10701
+ var newStates = {};
10702
+ var keys = Object.keys(this.states);
10703
+ for (var i = 0; i < keys.length; i++) {
10704
+ var key = keys[i];
10705
+ var state = this.states[key];
10706
+ // Dereference.
10707
+ state = __assign({}, state);
10708
+ if (state.opacity === 1) {
10709
+ delete state.opacity;
10710
+ }
10711
+ if (state.hidden === false) {
10712
+ delete state.hidden;
10713
+ }
10714
+ if (state.highlighted === false) {
10715
+ delete state.highlighted;
10716
+ }
10717
+ if (state.selected === false) {
10718
+ delete state.selected;
10719
+ }
10720
+ if (state.labelled === false) {
10721
+ delete state.labelled;
10722
+ }
10723
+ if (state.isolated === false) {
10724
+ delete state.isolated;
10725
+ }
10726
+ if (isBlankState(state)) {
10727
+ continue;
10728
+ }
10729
+ newStates[key] = state;
10730
+ }
10731
+ return newStates;
10690
10732
  };
10691
10733
  /**
10692
10734
  * Applies a set of new states to override the existing ones.
@@ -11582,8 +11624,7 @@ var VisualsRegister;
11582
11624
  this.setStateValues({
11583
11625
  entityId: entityId,
11584
11626
  menuItemId: menuItemId,
11585
- // Null means it will be deleted from the object.
11586
- opacity: opacity == 1 ? null : opacity
11627
+ opacity: opacity
11587
11628
  });
11588
11629
  (_a = this.onUpdate) === null || _a === void 0 ? void 0 : _a.Trigger({
11589
11630
  type: EVisualUpdateType.Update,
@@ -12632,6 +12673,10 @@ var EntitiesRenderManager;
12632
12673
  }
12633
12674
  ];
12634
12675
  }
12676
+ this.renderPriority = this.item.renderPriority;
12677
+ if (this.renderPriority == null) {
12678
+ this.renderPriority = 1;
12679
+ }
12635
12680
  if (this.useGeojson && this.zoomControl.length > 1) {
12636
12681
  console.warn("Geojson rendering does not support multiple zoom controls. Only the first one will be used.");
12637
12682
  this.zoomControl = [this.zoomControl[0]];
@@ -13280,7 +13325,7 @@ var EntitiesRenderManager;
13280
13325
  menuItemId: _this.item.id,
13281
13326
  menuItemType: _this.item.Type,
13282
13327
  visual: thing,
13283
- priority: 0,
13328
+ priority: _this.renderPriority,
13284
13329
  entityTypeId: group.entityTypeId,
13285
13330
  accountId: _this.apiGetter.accountId,
13286
13331
  tagIds: group.tagIds ? [].concat(group.tagIds) : [],
@@ -13435,7 +13480,7 @@ var EntitiesRenderManager;
13435
13480
  menuItemId: this.item.id,
13436
13481
  menuItemType: this.item.Type,
13437
13482
  visual: cEntity,
13438
- priority: 0,
13483
+ priority: this.renderPriority,
13439
13484
  entityTypeId: entity.Bruce["EntityType.ID"],
13440
13485
  accountId: this.apiGetter.accountId,
13441
13486
  tagIds: tagIds ? [].concat(tagIds) : [],
@@ -13731,6 +13776,10 @@ var EntitiesLoadedRenderManager;
13731
13776
  }
13732
13777
  ];
13733
13778
  }
13779
+ this.renderPriority = this.item.renderPriority;
13780
+ if (this.renderPriority == null) {
13781
+ this.renderPriority = 2;
13782
+ }
13734
13783
  if (this.renderAsGeojson && this.item.CameraZoomSettings.length > 1) {
13735
13784
  console.warn("Geojson rendering does not support multiple zoom controls. Only the first one will be used.");
13736
13785
  this.item.CameraZoomSettings = [this.item.CameraZoomSettings[0]];
@@ -14208,7 +14257,7 @@ var EntitiesLoadedRenderManager;
14208
14257
  menuItemId: _this.item.id,
14209
14258
  menuItemType: _this.item.Type,
14210
14259
  visual: thing,
14211
- priority: 0,
14260
+ priority: _this.renderPriority,
14212
14261
  entityTypeId: group.entityTypeId,
14213
14262
  accountId: _this.apiGetter.accountId,
14214
14263
  tagIds: group.tagIds ? [].concat(group.tagIds) : [],
@@ -14313,7 +14362,7 @@ var EntitiesLoadedRenderManager;
14313
14362
  menuItemId: this.item.id,
14314
14363
  menuItemType: this.item.Type,
14315
14364
  visual: cEntity,
14316
- priority: 0,
14365
+ priority: this.renderPriority,
14317
14366
  entityTypeId: entity.Bruce["EntityType.ID"],
14318
14367
  accountId: this.apiGetter.accountId,
14319
14368
  name: cEntity.name
@@ -14419,6 +14468,10 @@ var EntitiesIdsRenderManager;
14419
14468
  }
14420
14469
  ];
14421
14470
  }
14471
+ this.renderPriority = this.item.renderPriority;
14472
+ if (this.renderPriority == null) {
14473
+ this.renderPriority = 2;
14474
+ }
14422
14475
  if (this.renderAsGeojson && this.item.CameraZoomSettings.length > 1) {
14423
14476
  console.warn("Geojson rendering does not support multiple zoom controls. Only the first one will be used.");
14424
14477
  this.item.CameraZoomSettings = [this.item.CameraZoomSettings[0]];
@@ -14848,7 +14901,7 @@ var EntitiesIdsRenderManager;
14848
14901
  menuItemId: _this.item.id,
14849
14902
  menuItemType: _this.item.Type,
14850
14903
  visual: thing,
14851
- priority: 0,
14904
+ priority: _this.renderPriority,
14852
14905
  entityTypeId: group.entityTypeId,
14853
14906
  accountId: _this.apiGetter.accountId,
14854
14907
  tagIds: group.tagIds ? [].concat(group.tagIds) : [],
@@ -14944,7 +14997,7 @@ var EntitiesIdsRenderManager;
14944
14997
  menuItemId: this.item.id,
14945
14998
  menuItemType: this.item.Type,
14946
14999
  visual: cEntity,
14947
- priority: 0,
15000
+ priority: this.renderPriority,
14948
15001
  entityTypeId: entity.Bruce["EntityType.ID"],
14949
15002
  accountId: this.apiGetter.accountId,
14950
15003
  overrideShow: clustered ? false : null,
@@ -15030,6 +15083,10 @@ var EntityRenderManager;
15030
15083
  }
15031
15084
  ];
15032
15085
  }
15086
+ this.renderPriority = this.item.renderPriority;
15087
+ if (this.renderPriority == null) {
15088
+ this.renderPriority = 4;
15089
+ }
15033
15090
  this.getter = new BatchedDataGetter.Getter([this.item.BruceEntity.EntityId], this.monitor, 1);
15034
15091
  this.getterSub = this.getter.OnUpdate.Subscribe(function (ids) {
15035
15092
  _this.onGetterUpdate(ids[0]);
@@ -15164,7 +15221,7 @@ var EntityRenderManager;
15164
15221
  menuItemId: this.item.id,
15165
15222
  menuItemType: this.item.Type,
15166
15223
  visual: cEntity,
15167
- priority: 0,
15224
+ priority: this.renderPriority,
15168
15225
  entityTypeId: entity.Bruce["EntityType.ID"],
15169
15226
  accountId: this.apiGetter.accountId,
15170
15227
  name: cEntity.name
@@ -16531,6 +16588,10 @@ var TilesetCadRenderManager;
16531
16588
  if (!tilesetId) {
16532
16589
  return;
16533
16590
  }
16591
+ this.renderPriority = this.item.renderPriority;
16592
+ if (this.renderPriority == null) {
16593
+ this.renderPriority = 0;
16594
+ }
16534
16595
  (function () { return __awaiter(_this, void 0, void 0, function () {
16535
16596
  var api, tileset, settings, rootId, coords, cTileset, _a;
16536
16597
  var _this = this;
@@ -16664,7 +16725,7 @@ var TilesetCadRenderManager;
16664
16725
  entityTypeId: null,
16665
16726
  menuItemId: this.item.id,
16666
16727
  menuItemType: this.item.Type,
16667
- priority: 0,
16728
+ priority: this.renderPriority,
16668
16729
  visual: feature,
16669
16730
  accountId: (_b = (_a = this.item.tileset) === null || _a === void 0 ? void 0 : _a.ClientAccountID) !== null && _b !== void 0 ? _b : this.getters.GetAccountId(),
16670
16731
  tilesetId: (_c = this.item.tileset) === null || _c === void 0 ? void 0 : _c.TilesetID,
@@ -16896,6 +16957,10 @@ var DataLabRenderManager;
16896
16957
  }
16897
16958
  ];
16898
16959
  }
16960
+ this.renderPriority = this.item.renderPriority;
16961
+ if (this.renderPriority == null) {
16962
+ this.renderPriority = 3;
16963
+ }
16899
16964
  // Perform the initial query and subscribe to updates
16900
16965
  this.getter = new BatchedDataGetter.Getter([this.item.DataLabQueryID], this.monitor, 1);
16901
16966
  this.getter.OnUpdate.Subscribe(function (queryIds) {
@@ -16989,7 +17054,7 @@ var DataLabRenderManager;
16989
17054
  menuItemId: this.item.id,
16990
17055
  menuItemType: this.item.Type,
16991
17056
  visual: cEntity,
16992
- priority: 0,
17057
+ priority: this.renderPriority,
16993
17058
  entityTypeId: entity.Bruce["EntityType.ID"],
16994
17059
  accountId: this.apiGetter.accountId,
16995
17060
  name: cEntity.name
@@ -18553,6 +18618,10 @@ var TilesetEntitiesRenderManager;
18553
18618
  if (params === null || params === void 0 ? void 0 : params.item) {
18554
18619
  this.item = params.item;
18555
18620
  }
18621
+ this.renderPriority = this.item.renderPriority;
18622
+ if (this.renderPriority == null) {
18623
+ this.renderPriority = 0;
18624
+ }
18556
18625
  var tilesetId = (_a = this.item.tileset) === null || _a === void 0 ? void 0 : _a.TilesetID;
18557
18626
  if (!tilesetId) {
18558
18627
  return;
@@ -18751,7 +18820,7 @@ var TilesetEntitiesRenderManager;
18751
18820
  entityTypeId: this.typeId,
18752
18821
  menuItemId: this.item.id,
18753
18822
  menuItemType: this.item.Type,
18754
- priority: 0,
18823
+ priority: this.renderPriority,
18755
18824
  visual: feature,
18756
18825
  tilesetId: (_a = this.item.tileset) === null || _a === void 0 ? void 0 : _a.TilesetID,
18757
18826
  tilesetType: Tileset.EType.EntitiesSet,
@@ -19153,6 +19222,10 @@ var TilesetArbRenderManager;
19153
19222
  Manager.prototype.Init = function () {
19154
19223
  var _this = this;
19155
19224
  var _a, _b, _c;
19225
+ this.renderPriority = this.item.renderPriority;
19226
+ if (this.renderPriority == null) {
19227
+ this.renderPriority = 0;
19228
+ }
19156
19229
  // Horrid backwards compatibility.
19157
19230
  var loadUrlOverride = null;
19158
19231
  if (this.item.tileset) {
@@ -19428,7 +19501,7 @@ var TilesetArbRenderManager;
19428
19501
  entityTypeId: null,
19429
19502
  menuItemId: this.item.id,
19430
19503
  menuItemType: this.item.Type,
19431
- priority: 0,
19504
+ priority: this.renderPriority,
19432
19505
  visual: feature,
19433
19506
  accountId: (_b = (_a = this.item.tileset) === null || _a === void 0 ? void 0 : _a.ClientAccountID) !== null && _b !== void 0 ? _b : this.getters.GetAccountId(),
19434
19507
  tilesetId: (_c = this.item.tileset) === null || _c === void 0 ? void 0 : _c.TilesetID,
@@ -29309,7 +29382,7 @@ var WidgetViewBar = /** @class */ (function (_super) {
29309
29382
  return WidgetViewBar;
29310
29383
  }(Widget.AWidget));
29311
29384
 
29312
- var VERSION = "4.8.8";
29385
+ var VERSION = "4.9.0";
29313
29386
 
29314
29387
  export { VERSION, CesiumViewMonitor, ViewerUtils, ViewerEventTracker, MenuItemManager, EntityRenderEngine, EntityRenderEnginePoint, EntityRenderEnginePolyline, EntityRenderEnginePolygon, EntityRenderEngineModel3d, MenuItemCreator, VisualsRegister, RenderManager, EntitiesIdsRenderManager, DataLabRenderManager, EntitiesLoadedRenderManager, EntitiesRenderManager, EntityRenderManager, TilesetCadRenderManager, TilesetArbRenderManager, TilesetEntitiesRenderManager, TilesetOsmRenderManager, TilesetPointcloudRenderManager, TilesetGooglePhotosRenderManager, DataSourceStaticKmlManager, GoogleSearchRenderManager, RelationsRenderManager, SharedGetters, CesiumParabola, EntityLabel, ViewRenderEngine, TileRenderEngine, TilesetRenderEngine, CESIUM_INSPECTOR_KEY, CESIUM_TIMELINE_KEY, ViewUtils, DrawingUtils, MeasureUtils, EntityUtils, CesiumEntityStyler, CesiumAnimatedProperty, CesiumAnimatedInOut, Draw3dPolygon, Draw3dPolyline, MeasureCreator, 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 };
29315
29388
  //# sourceMappingURL=bruce-cesium.es5.js.map