bruce-cesium 4.4.9 → 4.5.1

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.
@@ -1,6 +1,6 @@
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, EntitySource, MenuItem, EntityRelation, ProgramKey, ProjectView, ProjectViewBookmark, Camera, ProjectViewLegacyTile, AbstractApi, Session, EntityAttribute, EntityAttachment, EntityAttachmentType } from 'bruce-models';
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, 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, ConstantPositionProperty, ClassificationType, PolygonHierarchy, ShadowMode, PolylineGraphics, ArcType, CornerType, 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, CesiumInspector, defined, ClockRange, Cesium3DTileset, Matrix4, Matrix3, IonResource, EllipsoidGeodesic, sampleTerrainMostDetailed, PolygonPipeline, BoundingSphere, GeometryInstance, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, PolylineDashMaterialProperty, Quaternion, ScreenSpaceEventHandler, ScreenSpaceEventType, CzmlDataSource, Intersect } from 'cesium';
3
+ import { Cartographic, Cartesian2, Math as Math$1, Cartesian3, CallbackProperty, Color, HeightReference, Rectangle, JulianDate, Entity, HorizontalOrigin, VerticalOrigin, ConstantProperty, ConstantPositionProperty, ClassificationType, DistanceDisplayCondition, PolygonHierarchy, ShadowMode, PolylineGraphics, ArcType, CornerType, ColorMaterialProperty, ColorBlendMode, HeadingPitchRoll, Transforms, Model, Primitive, Cesium3DTileFeature, SceneMode, GeoJsonDataSource, Cesium3DTileColorBlendMode, HeadingPitchRange, Cesium3DTileStyle, Ion, KmlDataSource, SceneTransforms, OrthographicFrustum, EasingFunction, NearFarScalar, PolygonPipeline, EllipsoidTerrainProvider, CesiumInspector, defined, ClockRange, Cesium3DTileset, Matrix4, Matrix3, IonResource, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, UrlTemplateImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, TileMapServiceImageryProvider, IonImageryProvider, CesiumTerrainProvider, EllipsoidGeodesic, sampleTerrainMostDetailed, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, PolylineDashMaterialProperty, Quaternion, ScreenSpaceEventHandler, ScreenSpaceEventType, BoundingSphere, GeometryInstance, CzmlDataSource, Intersect } from 'cesium';
4
4
 
5
5
  /*! *****************************************************************************
6
6
  Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6883,7 +6883,7 @@ var EntityRenderEnginePolyline;
6883
6883
  if (style.smoothen && style.smoothen > 2) {
6884
6884
  // Keeping reference to original points for editing tools.
6885
6885
  orgPosses = posses.map(function (x) { return x.clone ? x.clone() : new Cartesian3(x.x, x.y, x.z); });
6886
- var smoothed = smoothenPoints(posses, style.smoothen, false);
6886
+ var smoothed = DrawingUtils.SmoothPoints(posses, style.smoothen, false);
6887
6887
  if (smoothed.find(function (x) { return !Cartes.ValidateCartes3(x); })) {
6888
6888
  console.error("Polyline.Render: Smoothening failed. Invalid Cartesian3 found. Defaulting to original points.");
6889
6889
  orgPosses = null;
@@ -7048,9 +7048,11 @@ var EntityRenderEnginePolyline;
7048
7048
  // Used when we run a smooth.
7049
7049
  if (cEntity === null || cEntity === void 0 ? void 0 : cEntity.polyline) {
7050
7050
  cEntity.polyline._orgPosses = orgPosses;
7051
+ cEntity.polyline._smoothen = style.smoothen;
7051
7052
  }
7052
7053
  else if (cEntity === null || cEntity === void 0 ? void 0 : cEntity.corridor) {
7053
7054
  cEntity.corridor._orgPosses = orgPosses;
7055
+ cEntity.corridor._smoothen = style.smoothen;
7054
7056
  }
7055
7057
  return cEntity;
7056
7058
  }
@@ -7257,52 +7259,6 @@ function getHeightRef$2(style, defaultStyle) {
7257
7259
  }
7258
7260
  return heightRef;
7259
7261
  }
7260
- function smoothenPoints(points, multiplier, closed) {
7261
- if (points.length < 4 || multiplier < 2) {
7262
- return points;
7263
- }
7264
- if (!closed) {
7265
- points.unshift(Cartesian3.subtract(points[0], points[1], new Cartesian3()));
7266
- points.push(Cartesian3.subtract(points[points.length - 1], points[points.length - 2], new Cartesian3()));
7267
- }
7268
- else {
7269
- points.unshift(points[points.length - 1]);
7270
- points.unshift(points[points.length - 2]);
7271
- points.push(points[2]);
7272
- }
7273
- var splinePoints = [];
7274
- var _loop_1 = function (i) {
7275
- var _a = [0, 1, 2, 3].map(function (n) { return points[i + n]; }), P0 = _a[0], P1 = _a[1], P2 = _a[2], P3 = _a[3];
7276
- for (var j = 0; j <= multiplier; j++) {
7277
- splinePoints.push(catmullRom$1(P0, P1, P2, P3, j / multiplier));
7278
- }
7279
- };
7280
- for (var i = 0; i < points.length - 3; i++) {
7281
- _loop_1(i);
7282
- }
7283
- return splinePoints;
7284
- }
7285
- function catmullRom$1(p0, p1, p2, p3, t) {
7286
- var t0 = 0;
7287
- var t1 = getT$1(t0, 0.5, p0, p1);
7288
- var t2 = getT$1(t1, 0.5, p1, p2);
7289
- var t3 = getT$1(t2, 0.5, p2, p3);
7290
- t = Math$1.lerp(t1, t2, t);
7291
- var _a = [function (l, r) { return Cartesian3.add(l, r, new Cartesian3()); }, function (l, r) { return Cartesian3.multiplyByScalar(l, r, new Cartesian3()); }], add = _a[0], mul = _a[1];
7292
- var A1 = add(mul(p0, (t1 - t) / (t1 - t0)), mul(p1, (t - t0) / (t1 - t0)));
7293
- var A2 = add(mul(p1, (t2 - t) / (t2 - t1)), mul(p2, (t - t1) / (t2 - t1)));
7294
- var A3 = add(mul(p2, (t3 - t) / (t3 - t2)), mul(p3, (t - t2) / (t3 - t2)));
7295
- var B1 = add(mul(A1, (t2 - t) / (t2 - t0)), mul(A2, (t - t0) / (t2 - t0)));
7296
- var B2 = add(mul(A2, (t3 - t) / (t3 - t1)), mul(A3, (t - t1) / (t3 - t1)));
7297
- var C = add(mul(B1, (t2 - t) / (t2 - t1)), mul(B2, (t - t1) / (t2 - t1)));
7298
- return C;
7299
- }
7300
- function getT$1(t, alpha, p0, p1) {
7301
- var d = Cartesian3.subtract(p1, p0, new Cartesian3());
7302
- var a = Cartesian3.dot(d, d);
7303
- var b = Math.pow(a, alpha * 0.5);
7304
- return b + t;
7305
- }
7306
7262
 
7307
7263
  var EntityRenderEnginePolygon;
7308
7264
  (function (EntityRenderEnginePolygon) {
@@ -21409,6 +21365,74 @@ var MenuItemCreator;
21409
21365
  MenuItemCreator.RenderBookmarkItems = RenderBookmarkItems;
21410
21366
  })(MenuItemCreator || (MenuItemCreator = {}));
21411
21367
 
21368
+ /**
21369
+ * We had the need to emit info about viewer events while we load entities/tilesets/etc.
21370
+ * This is to communicate to Navigator on anything the user needs to review.
21371
+ */
21372
+ var ViewerEventTracker;
21373
+ (function (ViewerEventTracker) {
21374
+ var EDomain;
21375
+ (function (EDomain) {
21376
+ // Terrain/Imagery.
21377
+ EDomain["TileTerrain"] = "TileTerrain";
21378
+ EDomain["TileImagery"] = "TileImagery";
21379
+ })(EDomain = ViewerEventTracker.EDomain || (ViewerEventTracker.EDomain = {}));
21380
+ // Type event.
21381
+ var EType;
21382
+ (function (EType) {
21383
+ EType["Info"] = "info";
21384
+ EType["Error"] = "error";
21385
+ EType["Warn"] = "warn";
21386
+ })(EType = ViewerEventTracker.EType || (ViewerEventTracker.EType = {}));
21387
+ var Tracker = /** @class */ (function () {
21388
+ function Tracker(logEnabled) {
21389
+ if (logEnabled === void 0) { logEnabled = false; }
21390
+ this.MAX_CACHE_ITEMS = 30;
21391
+ this.cache = [];
21392
+ this.OnEvent = new BruceEvent();
21393
+ this.logEnabled = logEnabled;
21394
+ }
21395
+ Tracker.prototype.SetLogEnabled = function (enabled) {
21396
+ this.logEnabled = enabled;
21397
+ };
21398
+ Tracker.prototype.Info = function (domain, message, data) {
21399
+ if (this.logEnabled == true || (typeof this.logEnabled === "string" && this.logEnabled.includes("info"))) {
21400
+ console.info("[ViewerEventTracker] ".concat(domain, ": ").concat(message), data);
21401
+ }
21402
+ var event = { type: EType.Info, domain: domain, message: message, data: data };
21403
+ this.addToCache(event);
21404
+ this.OnEvent.Trigger(event);
21405
+ };
21406
+ Tracker.prototype.Error = function (domain, message, data) {
21407
+ if (this.logEnabled == true || (typeof this.logEnabled === "string" && this.logEnabled.includes("error"))) {
21408
+ console.error("[ViewerEventTracker] ".concat(domain, ": ").concat(message), data);
21409
+ }
21410
+ var event = { type: EType.Error, domain: domain, message: message, data: data };
21411
+ this.addToCache(event);
21412
+ this.OnEvent.Trigger(event);
21413
+ };
21414
+ Tracker.prototype.Warn = function (domain, message, data) {
21415
+ if (this.logEnabled == true || (typeof this.logEnabled === "string" && this.logEnabled.includes("warn"))) {
21416
+ console.warn("[ViewerEventTracker] ".concat(domain, ": ").concat(message), data);
21417
+ }
21418
+ var event = { type: EType.Warn, domain: domain, message: message, data: data };
21419
+ this.addToCache(event);
21420
+ this.OnEvent.Trigger(event);
21421
+ };
21422
+ Tracker.prototype.addToCache = function (event) {
21423
+ if (this.cache.length >= this.MAX_CACHE_ITEMS) {
21424
+ this.cache.shift();
21425
+ }
21426
+ this.cache.push(event);
21427
+ };
21428
+ Tracker.prototype.GetCache = function () {
21429
+ return this.cache;
21430
+ };
21431
+ return Tracker;
21432
+ }());
21433
+ ViewerEventTracker.Tracker = Tracker;
21434
+ })(ViewerEventTracker || (ViewerEventTracker = {}));
21435
+
21412
21436
  // Used to track if a current in-progress render is the latest.
21413
21437
  // If we're midway through an async function that is rendering 10 imageries and this changes, then we stop the function.
21414
21438
  var ITERATION_KEY = "nextspace-tile-render-engine-iteration";
@@ -22313,21 +22337,30 @@ var TileRenderEngine;
22313
22337
  return [4 /*yield*/, renderDefaultMapTile(apiGetter, ProjectViewTile.EDefaultImagery.MapboxSatellite)];
22314
22338
  case 6:
22315
22339
  provider = _d.sent();
22316
- console.warn("Bing Maps Aerial failed to load. Falling back to Mapbox Satellite.");
22340
+ ViewerUtils.GetEventTracker(params.viewer).Warn(ViewerEventTracker.EDomain.TileImagery, "Bing Maps Aerial failed to load. Falling back to Mapbox Satellite.", {
22341
+ tilesetId: ProjectViewTile.EDefaultImagery.BingMapsAerial,
22342
+ exception: e_2
22343
+ });
22317
22344
  return [3 /*break*/, 12];
22318
22345
  case 7:
22319
22346
  if (!(defaultImg.id === ProjectViewTile.EDefaultImagery.BingMapsAerialWithLabels)) return [3 /*break*/, 9];
22320
22347
  return [4 /*yield*/, renderDefaultMapTile(apiGetter, ProjectViewTile.EDefaultImagery.MapBoxStreets)];
22321
22348
  case 8:
22322
22349
  provider = _d.sent();
22323
- console.warn("Bing Maps Aerial with Labels failed to load. Falling back to Mapbox Streets.");
22350
+ ViewerUtils.GetEventTracker(params.viewer).Warn(ViewerEventTracker.EDomain.TileImagery, "Bing Maps Aerial with Labels failed to load. Falling back to Mapbox Streets.", {
22351
+ tilesetId: ProjectViewTile.EDefaultImagery.BingMapsAerialWithLabels,
22352
+ exception: e_2
22353
+ });
22324
22354
  return [3 /*break*/, 12];
22325
22355
  case 9:
22326
22356
  if (!(defaultImg.id === ProjectViewTile.EDefaultImagery.BingMapsRoads)) return [3 /*break*/, 11];
22327
22357
  return [4 /*yield*/, renderDefaultMapTile(apiGetter, ProjectViewTile.EDefaultImagery.OpenStreetMap)];
22328
22358
  case 10:
22329
22359
  provider = _d.sent();
22330
- console.warn("Bing Maps Roads failed to load. Falling back to OpenStreetMap.");
22360
+ ViewerUtils.GetEventTracker(params.viewer).Warn(ViewerEventTracker.EDomain.TileImagery, "Bing Maps Roads failed to load. Falling back to OpenStreetMap.", {
22361
+ tilesetId: ProjectViewTile.EDefaultImagery.BingMapsRoads,
22362
+ exception: e_2
22363
+ });
22331
22364
  return [3 /*break*/, 12];
22332
22365
  case 11: throw e_2;
22333
22366
  case 12: return [3 /*break*/, 13];
@@ -22773,7 +22806,7 @@ var TileRenderEngine;
22773
22806
  function Render(params) {
22774
22807
  var _a;
22775
22808
  return __awaiter(this, void 0, void 0, function () {
22776
- var iteration, CESIUM, enabledMeta, provider_1, leave, defaultTerr, provider, shouldCreate, api, tileset, url, vertexes, settings;
22809
+ var iteration, CESIUM, enabledMeta, provider_1, leave, defaultTerr, provider, shouldCreate, api, tileset, e_4, url, vertexes, settings;
22777
22810
  return __generator(this, function (_b) {
22778
22811
  switch (_b.label) {
22779
22812
  case 0:
@@ -22807,7 +22840,7 @@ var TileRenderEngine;
22807
22840
  }
22808
22841
  defaultTerr = params.tile.accountId ? null : ProjectViewTile.DefaultTerrains.find(function (x) { return x.id === params.tile.tilesetId; });
22809
22842
  provider = null;
22810
- if (!defaultTerr) return [3 /*break*/, 5];
22843
+ if (!defaultTerr) return [3 /*break*/, 6];
22811
22844
  shouldCreate = true;
22812
22845
  if (!(defaultTerr.id == ProjectViewTile.EDefaultTerrain.CesiumWorldTerrain)) return [3 /*break*/, 2];
22813
22846
  return [4 /*yield*/, ViewerUtils.AssertIonToken(Ion.defaultAccessToken)];
@@ -22819,15 +22852,20 @@ var TileRenderEngine;
22819
22852
  return [4 /*yield*/, renderDefaultTerrTile(defaultTerr.id)];
22820
22853
  case 3:
22821
22854
  provider = (_b.sent());
22822
- _b.label = 4;
22823
- case 4: return [3 /*break*/, 10];
22824
- case 5:
22855
+ return [3 /*break*/, 5];
22856
+ case 4:
22857
+ ViewerUtils.GetEventTracker(params.viewer).Warn(ViewerEventTracker.EDomain.TileTerrain, "Cesium Ion token not set, Cesium World Terrain will not be enabled.", {
22858
+ tilesetId: ProjectViewTile.EDefaultTerrain.CesiumWorldTerrain
22859
+ });
22860
+ _b.label = 5;
22861
+ case 5: return [3 /*break*/, 14];
22862
+ case 6:
22825
22863
  api = params.apiGetter.getApi(params.tile.accountId);
22826
22864
  // Ensure regional url is loaded.
22827
22865
  // When loading stuff in the same account as the default it's likely already loaded,
22828
22866
  // but if we just made an API instance for some external account then it won't be loaded yet.
22829
22867
  return [4 /*yield*/, api.Loading];
22830
- case 6:
22868
+ case 7:
22831
22869
  // Ensure regional url is loaded.
22832
22870
  // When loading stuff in the same account as the default it's likely already loaded,
22833
22871
  // but if we just made an API instance for some external account then it won't be loaded yet.
@@ -22835,15 +22873,32 @@ var TileRenderEngine;
22835
22873
  if (!assertIteration(params.viewer, iteration)) {
22836
22874
  return [2 /*return*/];
22837
22875
  }
22876
+ tileset = void 0;
22877
+ _b.label = 8;
22878
+ case 8:
22879
+ _b.trys.push([8, 10, , 11]);
22838
22880
  return [4 /*yield*/, Tileset.Get({
22839
22881
  api: api,
22840
22882
  tilesetId: params.tile.tilesetId
22841
22883
  })];
22842
- case 7:
22884
+ case 9:
22843
22885
  tileset = (_b.sent()).tileset;
22844
22886
  if (!assertIteration(params.viewer, iteration)) {
22845
22887
  return [2 /*return*/];
22846
22888
  }
22889
+ if (tileset == null) {
22890
+ throw new Error("Tileset not found.");
22891
+ }
22892
+ return [3 /*break*/, 11];
22893
+ case 10:
22894
+ e_4 = _b.sent();
22895
+ ViewerUtils.GetEventTracker(params.viewer).Error(ViewerEventTracker.EDomain.TileTerrain, "Failed to retreieve terrain Tileset record.", {
22896
+ tilesetId: params.tile.tilesetId,
22897
+ accountId: params.tile.accountId,
22898
+ exception: e_4
22899
+ });
22900
+ return [3 /*break*/, 11];
22901
+ case 11:
22847
22902
  url = void 0;
22848
22903
  vertexes = true;
22849
22904
  if (tileset.type === Tileset.EType.Terrain) {
@@ -22863,21 +22918,21 @@ var TileRenderEngine;
22863
22918
  else {
22864
22919
  console.error("Invalid tileset type.", tileset);
22865
22920
  }
22866
- if (!url) return [3 /*break*/, 10];
22867
- if (!CESIUM.CesiumTerrainProvider.hasOwnProperty("fromUrl")) return [3 /*break*/, 9];
22921
+ if (!url) return [3 /*break*/, 14];
22922
+ if (!CESIUM.CesiumTerrainProvider.hasOwnProperty("fromUrl")) return [3 /*break*/, 13];
22868
22923
  return [4 /*yield*/, CESIUM.CesiumTerrainProvider.fromUrl(url, {
22869
22924
  requestVertexNormals: vertexes
22870
22925
  })];
22871
- case 8:
22926
+ case 12:
22872
22927
  provider = (_b.sent());
22873
- return [3 /*break*/, 10];
22874
- case 9:
22928
+ return [3 /*break*/, 14];
22929
+ case 13:
22875
22930
  provider = new CESIUM.CesiumTerrainProvider({
22876
22931
  url: url,
22877
22932
  requestVertexNormals: vertexes
22878
22933
  });
22879
- _b.label = 10;
22880
- case 10:
22934
+ _b.label = 14;
22935
+ case 14:
22881
22936
  if (provider) {
22882
22937
  provider._bMeta = {
22883
22938
  accountId: params.tile.accountId,
@@ -23504,7 +23559,9 @@ function renderNavigator(iteration, params, bookmark, view, getters) {
23504
23559
  terrain = {
23505
23560
  tilesetId: ProjectViewTile.EDefaultTerrain.FlatTerrain
23506
23561
  };
23507
- console.warn("Cesium Ion token not set, using flat terrain instead of cesium world terrain.");
23562
+ ViewerUtils.GetEventTracker(params.viewer).Warn(ViewerEventTracker.EDomain.TileTerrain, "Cesium Ion token not set, using flat terrain instead of Cesium World Terrain.", {
23563
+ tilesetId: ProjectViewTile.EDefaultTerrain.CesiumWorldTerrain
23564
+ });
23508
23565
  }
23509
23566
  return [4 /*yield*/, TileRenderEngine.Terrain.Navigator.Render({
23510
23567
  apiGetter: params.apiGetter,
@@ -23761,15 +23818,21 @@ function renderNavigator(iteration, params, bookmark, view, getters) {
23761
23818
  layer = imagery[i];
23762
23819
  if (layer.tilesetId == ProjectViewTile.EDefaultImagery.BingMapsAerial) {
23763
23820
  layer.tilesetId = ProjectViewTile.EDefaultImagery.MapboxSatellite;
23764
- console.warn("Cesium Ion token not set, using mapbox satellite instead of bing maps aerial.");
23821
+ ViewerUtils.GetEventTracker(params.viewer).Warn(ViewerEventTracker.EDomain.TileImagery, "Cesium Ion token not set, using Mapbox Satellite instead of Bing Maps Aerial.", {
23822
+ tilesetId: ProjectViewTile.EDefaultImagery.BingMapsAerial
23823
+ });
23765
23824
  }
23766
23825
  else if (layer.tilesetId == ProjectViewTile.EDefaultImagery.BingMapsAerialWithLabels) {
23767
23826
  layer.tilesetId = ProjectViewTile.EDefaultImagery.MapboxSatellite;
23768
- console.warn("Cesium Ion token not set, using mapbox satellite instead of bing maps aerial with labels.");
23827
+ ViewerUtils.GetEventTracker(params.viewer).Warn(ViewerEventTracker.EDomain.TileImagery, "Cesium Ion token not set, using Mapbox Satellite instead of Bing Maps Aerial with labels.", {
23828
+ tilesetId: ProjectViewTile.EDefaultImagery.BingMapsAerialWithLabels
23829
+ });
23769
23830
  }
23770
23831
  else if (layer.tilesetId == ProjectViewTile.EDefaultImagery.BingMapsRoads) {
23771
23832
  layer.tilesetId = ProjectViewTile.EDefaultImagery.MapBoxStreets;
23772
- console.warn("Cesium Ion token not set, using mapbox streets instead of bing maps roads.");
23833
+ ViewerUtils.GetEventTracker(params.viewer).Warn(ViewerEventTracker.EDomain.TileImagery, "Cesium Ion token not set, using Mapbox Satellite instead of Bing Maps Roads.", {
23834
+ tilesetId: ProjectViewTile.EDefaultImagery.BingMapsRoads
23835
+ });
23773
23836
  }
23774
23837
  }
23775
23838
  }
@@ -27011,6 +27074,7 @@ var WidgetEmbeddedInfoView = /** @class */ (function (_super) {
27011
27074
  }(Widget.AWidget));
27012
27075
 
27013
27076
  var CESIUM_VIEWER_MANAGER_KEY = "_cesiumViewerManager";
27077
+ var CESIUM_VIEWER_EVENT_TRACKER_KEY = "_cesiumViewerEventTracker";
27014
27078
  /**
27015
27079
  * Bug related to entities not being visible after they were added then a render was requested.
27016
27080
  * It was 4 point entities in York. They would not appear until a request render was recalled.
@@ -27282,9 +27346,24 @@ var ViewerUtils;
27282
27346
  });
27283
27347
  }
27284
27348
  ViewerUtils.AssertIonToken = AssertIonToken;
27349
+ /**
27350
+ * Gets or creates a viewer event tracker.
27351
+ * This will log and emit events that are tracked.
27352
+ * @param viewer
27353
+ * @returns
27354
+ */
27355
+ function GetEventTracker(viewer) {
27356
+ var tracker = viewer[CESIUM_VIEWER_EVENT_TRACKER_KEY];
27357
+ if (!tracker) {
27358
+ tracker = new ViewerEventTracker.Tracker("warn,error");
27359
+ }
27360
+ viewer[CESIUM_VIEWER_EVENT_TRACKER_KEY] = tracker;
27361
+ return tracker;
27362
+ }
27363
+ ViewerUtils.GetEventTracker = GetEventTracker;
27285
27364
  })(ViewerUtils || (ViewerUtils = {}));
27286
27365
 
27287
- var VERSION = "4.4.9";
27366
+ var VERSION = "4.5.1";
27288
27367
 
27289
- export { VERSION, CesiumViewMonitor, ViewerUtils, MenuItemManager, EntityRenderEngine, EntityRenderEnginePoint, EntityRenderEnginePolyline, smoothenPoints, EntityRenderEnginePolygon, EntityRenderEngineModel3d, MenuItemCreator, VisualsRegister, RenderManager, EntitiesIdsRenderManager, 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, WidgetSearchBar, VIEWER_LEFT_PANEL_WIDGET_KEY, VIEWER_LEFT_PANEL_CSS_VAR_LEFT, WidgetLeftPanel, WidgetLeftPanelTab, WidgetLeftPanelTabBookmarks };
27368
+ export { VERSION, CesiumViewMonitor, ViewerUtils, ViewerEventTracker, MenuItemManager, EntityRenderEngine, EntityRenderEnginePoint, EntityRenderEnginePolyline, EntityRenderEnginePolygon, EntityRenderEngineModel3d, MenuItemCreator, VisualsRegister, RenderManager, EntitiesIdsRenderManager, 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, WidgetSearchBar, VIEWER_LEFT_PANEL_WIDGET_KEY, VIEWER_LEFT_PANEL_CSS_VAR_LEFT, WidgetLeftPanel, WidgetLeftPanelTab, WidgetLeftPanelTabBookmarks };
27290
27369
  //# sourceMappingURL=bruce-cesium.es5.js.map