bruce-cesium 4.8.9 → 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 (33) hide show
  1. package/dist/bruce-cesium.es5.js +60 -19
  2. package/dist/bruce-cesium.es5.js.map +1 -1
  3. package/dist/bruce-cesium.umd.js +59 -18
  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 +15 -6
  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/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, ClassificationType, ArcType, CornerType, ShadowMode, ConstantProperty, ConstantPositionProperty, ColorBlendMode, HeadingPitchRoll, Transforms, Model, HorizontalOrigin, VerticalOrigin, PolygonHierarchy, PolylineGraphics, ColorMaterialProperty, SceneMode, GeoJsonDataSource, Primitive, Cesium3DTileFeature, 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, PolygonPipeline, EllipsoidGeodesic, sampleTerrainMostDetailed, BoundingSphere, GeometryInstance, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, PolylineDashMaterialProperty, ScreenSpaceEventHandler, ScreenSpaceEventType, Quaternion, 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) {
@@ -12664,6 +12673,10 @@ var EntitiesRenderManager;
12664
12673
  }
12665
12674
  ];
12666
12675
  }
12676
+ this.renderPriority = this.item.renderPriority;
12677
+ if (this.renderPriority == null) {
12678
+ this.renderPriority = 1;
12679
+ }
12667
12680
  if (this.useGeojson && this.zoomControl.length > 1) {
12668
12681
  console.warn("Geojson rendering does not support multiple zoom controls. Only the first one will be used.");
12669
12682
  this.zoomControl = [this.zoomControl[0]];
@@ -13312,7 +13325,7 @@ var EntitiesRenderManager;
13312
13325
  menuItemId: _this.item.id,
13313
13326
  menuItemType: _this.item.Type,
13314
13327
  visual: thing,
13315
- priority: 0,
13328
+ priority: _this.renderPriority,
13316
13329
  entityTypeId: group.entityTypeId,
13317
13330
  accountId: _this.apiGetter.accountId,
13318
13331
  tagIds: group.tagIds ? [].concat(group.tagIds) : [],
@@ -13467,7 +13480,7 @@ var EntitiesRenderManager;
13467
13480
  menuItemId: this.item.id,
13468
13481
  menuItemType: this.item.Type,
13469
13482
  visual: cEntity,
13470
- priority: 0,
13483
+ priority: this.renderPriority,
13471
13484
  entityTypeId: entity.Bruce["EntityType.ID"],
13472
13485
  accountId: this.apiGetter.accountId,
13473
13486
  tagIds: tagIds ? [].concat(tagIds) : [],
@@ -13763,6 +13776,10 @@ var EntitiesLoadedRenderManager;
13763
13776
  }
13764
13777
  ];
13765
13778
  }
13779
+ this.renderPriority = this.item.renderPriority;
13780
+ if (this.renderPriority == null) {
13781
+ this.renderPriority = 2;
13782
+ }
13766
13783
  if (this.renderAsGeojson && this.item.CameraZoomSettings.length > 1) {
13767
13784
  console.warn("Geojson rendering does not support multiple zoom controls. Only the first one will be used.");
13768
13785
  this.item.CameraZoomSettings = [this.item.CameraZoomSettings[0]];
@@ -14240,7 +14257,7 @@ var EntitiesLoadedRenderManager;
14240
14257
  menuItemId: _this.item.id,
14241
14258
  menuItemType: _this.item.Type,
14242
14259
  visual: thing,
14243
- priority: 0,
14260
+ priority: _this.renderPriority,
14244
14261
  entityTypeId: group.entityTypeId,
14245
14262
  accountId: _this.apiGetter.accountId,
14246
14263
  tagIds: group.tagIds ? [].concat(group.tagIds) : [],
@@ -14345,7 +14362,7 @@ var EntitiesLoadedRenderManager;
14345
14362
  menuItemId: this.item.id,
14346
14363
  menuItemType: this.item.Type,
14347
14364
  visual: cEntity,
14348
- priority: 0,
14365
+ priority: this.renderPriority,
14349
14366
  entityTypeId: entity.Bruce["EntityType.ID"],
14350
14367
  accountId: this.apiGetter.accountId,
14351
14368
  name: cEntity.name
@@ -14451,6 +14468,10 @@ var EntitiesIdsRenderManager;
14451
14468
  }
14452
14469
  ];
14453
14470
  }
14471
+ this.renderPriority = this.item.renderPriority;
14472
+ if (this.renderPriority == null) {
14473
+ this.renderPriority = 2;
14474
+ }
14454
14475
  if (this.renderAsGeojson && this.item.CameraZoomSettings.length > 1) {
14455
14476
  console.warn("Geojson rendering does not support multiple zoom controls. Only the first one will be used.");
14456
14477
  this.item.CameraZoomSettings = [this.item.CameraZoomSettings[0]];
@@ -14880,7 +14901,7 @@ var EntitiesIdsRenderManager;
14880
14901
  menuItemId: _this.item.id,
14881
14902
  menuItemType: _this.item.Type,
14882
14903
  visual: thing,
14883
- priority: 0,
14904
+ priority: _this.renderPriority,
14884
14905
  entityTypeId: group.entityTypeId,
14885
14906
  accountId: _this.apiGetter.accountId,
14886
14907
  tagIds: group.tagIds ? [].concat(group.tagIds) : [],
@@ -14976,7 +14997,7 @@ var EntitiesIdsRenderManager;
14976
14997
  menuItemId: this.item.id,
14977
14998
  menuItemType: this.item.Type,
14978
14999
  visual: cEntity,
14979
- priority: 0,
15000
+ priority: this.renderPriority,
14980
15001
  entityTypeId: entity.Bruce["EntityType.ID"],
14981
15002
  accountId: this.apiGetter.accountId,
14982
15003
  overrideShow: clustered ? false : null,
@@ -15062,6 +15083,10 @@ var EntityRenderManager;
15062
15083
  }
15063
15084
  ];
15064
15085
  }
15086
+ this.renderPriority = this.item.renderPriority;
15087
+ if (this.renderPriority == null) {
15088
+ this.renderPriority = 4;
15089
+ }
15065
15090
  this.getter = new BatchedDataGetter.Getter([this.item.BruceEntity.EntityId], this.monitor, 1);
15066
15091
  this.getterSub = this.getter.OnUpdate.Subscribe(function (ids) {
15067
15092
  _this.onGetterUpdate(ids[0]);
@@ -15196,7 +15221,7 @@ var EntityRenderManager;
15196
15221
  menuItemId: this.item.id,
15197
15222
  menuItemType: this.item.Type,
15198
15223
  visual: cEntity,
15199
- priority: 0,
15224
+ priority: this.renderPriority,
15200
15225
  entityTypeId: entity.Bruce["EntityType.ID"],
15201
15226
  accountId: this.apiGetter.accountId,
15202
15227
  name: cEntity.name
@@ -16563,6 +16588,10 @@ var TilesetCadRenderManager;
16563
16588
  if (!tilesetId) {
16564
16589
  return;
16565
16590
  }
16591
+ this.renderPriority = this.item.renderPriority;
16592
+ if (this.renderPriority == null) {
16593
+ this.renderPriority = 0;
16594
+ }
16566
16595
  (function () { return __awaiter(_this, void 0, void 0, function () {
16567
16596
  var api, tileset, settings, rootId, coords, cTileset, _a;
16568
16597
  var _this = this;
@@ -16696,7 +16725,7 @@ var TilesetCadRenderManager;
16696
16725
  entityTypeId: null,
16697
16726
  menuItemId: this.item.id,
16698
16727
  menuItemType: this.item.Type,
16699
- priority: 0,
16728
+ priority: this.renderPriority,
16700
16729
  visual: feature,
16701
16730
  accountId: (_b = (_a = this.item.tileset) === null || _a === void 0 ? void 0 : _a.ClientAccountID) !== null && _b !== void 0 ? _b : this.getters.GetAccountId(),
16702
16731
  tilesetId: (_c = this.item.tileset) === null || _c === void 0 ? void 0 : _c.TilesetID,
@@ -16928,6 +16957,10 @@ var DataLabRenderManager;
16928
16957
  }
16929
16958
  ];
16930
16959
  }
16960
+ this.renderPriority = this.item.renderPriority;
16961
+ if (this.renderPriority == null) {
16962
+ this.renderPriority = 3;
16963
+ }
16931
16964
  // Perform the initial query and subscribe to updates
16932
16965
  this.getter = new BatchedDataGetter.Getter([this.item.DataLabQueryID], this.monitor, 1);
16933
16966
  this.getter.OnUpdate.Subscribe(function (queryIds) {
@@ -17021,7 +17054,7 @@ var DataLabRenderManager;
17021
17054
  menuItemId: this.item.id,
17022
17055
  menuItemType: this.item.Type,
17023
17056
  visual: cEntity,
17024
- priority: 0,
17057
+ priority: this.renderPriority,
17025
17058
  entityTypeId: entity.Bruce["EntityType.ID"],
17026
17059
  accountId: this.apiGetter.accountId,
17027
17060
  name: cEntity.name
@@ -18585,6 +18618,10 @@ var TilesetEntitiesRenderManager;
18585
18618
  if (params === null || params === void 0 ? void 0 : params.item) {
18586
18619
  this.item = params.item;
18587
18620
  }
18621
+ this.renderPriority = this.item.renderPriority;
18622
+ if (this.renderPriority == null) {
18623
+ this.renderPriority = 0;
18624
+ }
18588
18625
  var tilesetId = (_a = this.item.tileset) === null || _a === void 0 ? void 0 : _a.TilesetID;
18589
18626
  if (!tilesetId) {
18590
18627
  return;
@@ -18783,7 +18820,7 @@ var TilesetEntitiesRenderManager;
18783
18820
  entityTypeId: this.typeId,
18784
18821
  menuItemId: this.item.id,
18785
18822
  menuItemType: this.item.Type,
18786
- priority: 0,
18823
+ priority: this.renderPriority,
18787
18824
  visual: feature,
18788
18825
  tilesetId: (_a = this.item.tileset) === null || _a === void 0 ? void 0 : _a.TilesetID,
18789
18826
  tilesetType: Tileset.EType.EntitiesSet,
@@ -19185,6 +19222,10 @@ var TilesetArbRenderManager;
19185
19222
  Manager.prototype.Init = function () {
19186
19223
  var _this = this;
19187
19224
  var _a, _b, _c;
19225
+ this.renderPriority = this.item.renderPriority;
19226
+ if (this.renderPriority == null) {
19227
+ this.renderPriority = 0;
19228
+ }
19188
19229
  // Horrid backwards compatibility.
19189
19230
  var loadUrlOverride = null;
19190
19231
  if (this.item.tileset) {
@@ -19460,7 +19501,7 @@ var TilesetArbRenderManager;
19460
19501
  entityTypeId: null,
19461
19502
  menuItemId: this.item.id,
19462
19503
  menuItemType: this.item.Type,
19463
- priority: 0,
19504
+ priority: this.renderPriority,
19464
19505
  visual: feature,
19465
19506
  accountId: (_b = (_a = this.item.tileset) === null || _a === void 0 ? void 0 : _a.ClientAccountID) !== null && _b !== void 0 ? _b : this.getters.GetAccountId(),
19466
19507
  tilesetId: (_c = this.item.tileset) === null || _c === void 0 ? void 0 : _c.TilesetID,
@@ -29341,7 +29382,7 @@ var WidgetViewBar = /** @class */ (function (_super) {
29341
29382
  return WidgetViewBar;
29342
29383
  }(Widget.AWidget));
29343
29384
 
29344
- var VERSION = "4.8.9";
29385
+ var VERSION = "4.9.0";
29345
29386
 
29346
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 };
29347
29388
  //# sourceMappingURL=bruce-cesium.es5.js.map