bruce-cesium 3.8.5 → 3.8.7

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
1
  import { BruceEvent, Cartes, Carto, Entity as Entity$1, Geometry, Tileset, MathUtils, LRUCache, ProjectViewTile, DelayQueue, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, ObjectUtils, Bounds, Api, EntityRelationType, ENVIRONMENT, EntityHistoricData, EntityCoords, EntitySource, MenuItem, EntityRelation, ProgramKey, AbstractApi, ProjectViewBookmark, EntityAttachment, EntityAttachmentType, EntityAttribute, ProjectView, ProjectViewLegacyTile, Camera } from 'bruce-models';
2
2
  import * as Cesium from 'cesium';
3
- import { Cartographic, Cartesian2, Math as Math$1, Cartesian3, CallbackProperty, Color, HeightReference, Rectangle, JulianDate, DistanceDisplayCondition, NearFarScalar, Model, Entity, HorizontalOrigin, VerticalOrigin, ConstantProperty, ConstantPositionProperty, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, PolylineGraphics, ColorMaterialProperty, ColorBlendMode, HeadingPitchRoll, Transforms, Primitive, Cesium3DTileFeature, SceneMode, GeoJsonDataSource, Cesium3DTileColorBlendMode, HeadingPitchRange, Ion, Cesium3DTileStyle, KmlDataSource, SceneTransforms, OrthographicFrustum, EasingFunction, EllipsoidTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, CesiumTerrainProvider, Cesium3DTileset, Matrix4, Matrix3, IonResource, CesiumInspector, defined, ClockRange, EllipsoidGeodesic, sampleTerrainMostDetailed, PolygonPipeline, BoundingSphere, GeometryInstance, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, ScreenSpaceEventHandler, ScreenSpaceEventType, CzmlDataSource, Quaternion, Intersect } from 'cesium';
3
+ import { Cartographic, Cartesian2, Math as Math$1, Cartesian3, CallbackProperty, Color, HeightReference, Rectangle, JulianDate, DistanceDisplayCondition, NearFarScalar, Model, Entity, HorizontalOrigin, VerticalOrigin, ConstantProperty, ConstantPositionProperty, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, PolylineGraphics, ColorMaterialProperty, ColorBlendMode, HeadingPitchRoll, Transforms, Primitive, Cesium3DTileFeature, SceneMode, GeoJsonDataSource, HeadingPitchRange, Cesium3DTileColorBlendMode, Ion, Cesium3DTileStyle, KmlDataSource, SceneTransforms, OrthographicFrustum, EasingFunction, EllipsoidTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, CesiumTerrainProvider, Cesium3DTileset, Matrix4, Matrix3, IonResource, PolygonPipeline, EllipsoidGeodesic, sampleTerrainMostDetailed, defined, CesiumInspector, ClockRange, BoundingSphere, GeometryInstance, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, ScreenSpaceEventHandler, ScreenSpaceEventType, CzmlDataSource, Quaternion, Intersect } from 'cesium';
4
4
 
5
5
  /*! *****************************************************************************
6
6
  Copyright (c) Microsoft Corporation. All rights reserved.
@@ -3604,6 +3604,13 @@ var RenderManager;
3604
3604
  RenderManager.GetZoomMinMax = GetZoomMinMax;
3605
3605
  })(RenderManager || (RenderManager = {}));
3606
3606
 
3607
+ function OnNextRender(viewer, callback) {
3608
+ var removal = viewer.scene.postRender.addEventListener(function () {
3609
+ removal();
3610
+ callback();
3611
+ });
3612
+ }
3613
+
3607
3614
  var CESIUM_INSPECTOR_KEY = "_nextspace_inspector";
3608
3615
  var CESIUM_TIMELINE_KEY = "_nextspace_timeline";
3609
3616
  var ViewUtils;
@@ -3728,13 +3735,17 @@ var ViewUtils;
3728
3735
  var viewer = params.viewer, is2d = params.status, moveCamera = params.moveCamera;
3729
3736
  var curLens2d = viewer.camera.frustum instanceof OrthographicFrustum;
3730
3737
  if (curLens2d && !is2d) {
3731
- viewer.camera.switchToPerspectiveFrustum();
3732
- viewer.scene.screenSpaceCameraController.enableTilt = true;
3738
+ OnNextRender(viewer, function () {
3739
+ viewer.camera.switchToPerspectiveFrustum();
3740
+ viewer.scene.screenSpaceCameraController.enableTilt = true;
3741
+ });
3733
3742
  viewer.scene.requestRender();
3734
3743
  }
3735
3744
  else if (!curLens2d && is2d) {
3736
- viewer.camera.switchToOrthographicFrustum();
3737
- viewer.scene.screenSpaceCameraController.enableTilt = false;
3745
+ OnNextRender(viewer, function () {
3746
+ viewer.camera.switchToOrthographicFrustum();
3747
+ viewer.scene.screenSpaceCameraController.enableTilt = false;
3748
+ });
3738
3749
  if (moveCamera != false) {
3739
3750
  try {
3740
3751
  // Face camera downwards to make it look 2d.
@@ -10301,7 +10312,7 @@ var EntitiesRenderManager;
10301
10312
  };
10302
10313
  Manager.prototype.setGetter = function () {
10303
10314
  var _this = this;
10304
- var _a;
10315
+ var _a, _b;
10305
10316
  this.unsetGetter();
10306
10317
  var isTagItem = Boolean(this.item.BruceEntity.ExpandLayers);
10307
10318
  var tagsToRender = isTagItem ? this.item.BruceEntity.SelectedExpandLayers : null;
@@ -10321,7 +10332,8 @@ var EntitiesRenderManager;
10321
10332
  tagIds: (tagsToRender === null || tagsToRender === void 0 ? void 0 : tagsToRender.length) ? tagsToRender : [],
10322
10333
  debugShowBounds: Boolean(window === null || window === void 0 ? void 0 : window.ENTITIES_RENDER_MANAGER_SHOW_BOUNDS),
10323
10334
  cdn: this.item.cdnEnabled,
10324
- historicAttrKey: this.item.BruceEntity.historicAttrKey
10335
+ historicAttrKey: this.item.BruceEntity.historicAttrKey,
10336
+ schemaId: (_b = this.item.BruceEntity) === null || _b === void 0 ? void 0 : _b.schemaId
10325
10337
  });
10326
10338
  var minMax = RenderManager.GetZoomMinMax({
10327
10339
  zoomControl: this.item.CameraZoomSettings
@@ -10377,11 +10389,11 @@ var EntitiesRenderManager;
10377
10389
  this.sources = [];
10378
10390
  };
10379
10391
  Manager.prototype.ReRender = function (params) {
10380
- var _a;
10392
+ var _a, _b;
10381
10393
  return __awaiter(this, void 0, void 0, function () {
10382
10394
  var entityIds, force, entities, data, e_1;
10383
- return __generator(this, function (_b) {
10384
- switch (_b.label) {
10395
+ return __generator(this, function (_c) {
10396
+ switch (_c.label) {
10385
10397
  case 0:
10386
10398
  entityIds = params.entityIds, force = params.force, entities = params.entities;
10387
10399
  if (entities && !entityIds) {
@@ -10402,19 +10414,20 @@ var EntitiesRenderManager;
10402
10414
  this.renderEntities(entities, true);
10403
10415
  return [3 /*break*/, 4];
10404
10416
  case 1:
10405
- _b.trys.push([1, 3, , 4]);
10417
+ _c.trys.push([1, 3, , 4]);
10406
10418
  return [4 /*yield*/, Entity$1.GetListByIds({
10407
10419
  api: this.apiGetter.getApi(),
10408
10420
  entityIds: entityIds,
10409
10421
  historicKey: (_a = this.item.BruceEntity) === null || _a === void 0 ? void 0 : _a.historicAttrKey,
10410
- historicPoint: this.viewer.clock.currentTime.toString()
10422
+ historicPoint: this.viewer.clock.currentTime.toString(),
10423
+ schemaId: (_b = this.item.BruceEntity) === null || _b === void 0 ? void 0 : _b.schemaId
10411
10424
  })];
10412
10425
  case 2:
10413
- data = _b.sent();
10426
+ data = _c.sent();
10414
10427
  this.renderEntities(data.entities, true);
10415
10428
  return [3 /*break*/, 4];
10416
10429
  case 3:
10417
- e_1 = _b.sent();
10430
+ e_1 = _c.sent();
10418
10431
  console.error(e_1);
10419
10432
  return [3 /*break*/, 4];
10420
10433
  case 4: return [3 /*break*/, 8];
@@ -10424,8 +10437,8 @@ var EntitiesRenderManager;
10424
10437
  return [3 /*break*/, 8];
10425
10438
  case 6: return [4 /*yield*/, this.doEntityCheck(entityIds)];
10426
10439
  case 7:
10427
- _b.sent();
10428
- _b.label = 8;
10440
+ _c.sent();
10441
+ _c.label = 8;
10429
10442
  case 8: return [2 /*return*/];
10430
10443
  }
10431
10444
  });
@@ -10481,19 +10494,20 @@ var EntitiesRenderManager;
10481
10494
  if (!(ids.length > 0)) return [3 /*break*/, 4];
10482
10495
  checkBatch = function () { return __awaiter(_this, void 0, void 0, function () {
10483
10496
  var entityIds, entities;
10484
- var _a;
10485
- return __generator(this, function (_b) {
10486
- switch (_b.label) {
10497
+ var _a, _b;
10498
+ return __generator(this, function (_c) {
10499
+ switch (_c.label) {
10487
10500
  case 0:
10488
10501
  entityIds = ids.splice(0, CHECK_BATCH_SIZE);
10489
10502
  return [4 /*yield*/, Entity$1.GetListByIds({
10490
10503
  api: api,
10491
10504
  entityIds: entityIds,
10492
10505
  historicKey: (_a = this.item.BruceEntity) === null || _a === void 0 ? void 0 : _a.historicAttrKey,
10493
- historicPoint: this.viewer.clock.currentTime.toString()
10506
+ historicPoint: this.viewer.clock.currentTime.toString(),
10507
+ schemaId: (_b = this.item.BruceEntity) === null || _b === void 0 ? void 0 : _b.schemaId
10494
10508
  })];
10495
10509
  case 1:
10496
- entities = (_b.sent()).entities;
10510
+ entities = (_c.sent()).entities;
10497
10511
  if (this.disposed) {
10498
10512
  return [2 /*return*/];
10499
10513
  }
@@ -10889,12 +10903,12 @@ var EntitiesRenderManager;
10889
10903
  * @returns
10890
10904
  */
10891
10905
  Manager.prototype.renderAsIndividuals = function (entities, force) {
10892
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
10906
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
10893
10907
  if (force === void 0) { force = false; }
10894
10908
  return __awaiter(this, void 0, void 0, function () {
10895
- var entitiesHistoric, toRemove, i, entity, startTmp, stopTmp, startStr, stopStr, historicData, _k, updated, cEntities, i, entity, id, cEntity, rego, visual, wasClustered, tagIds, rego_1;
10896
- return __generator(this, function (_l) {
10897
- switch (_l.label) {
10909
+ var entitiesHistoric, toRemove, i, entity, startTmp, stopTmp, startStr, stopStr, historicData, _m, updated, cEntities, i, entity, id, cEntity, rego, visual, wasClustered, tagIds, rego_1;
10910
+ return __generator(this, function (_o) {
10911
+ switch (_o.label) {
10898
10912
  case 0:
10899
10913
  entitiesHistoric = {};
10900
10914
  if (!((_a = this.item.BruceEntity) === null || _a === void 0 ? void 0 : _a.historicAttrKey)) return [3 /*break*/, 2];
@@ -10923,13 +10937,13 @@ var EntitiesRenderManager;
10923
10937
  api: this.apiGetter.getApi()
10924
10938
  })];
10925
10939
  case 1:
10926
- historicData = _l.sent();
10940
+ historicData = _o.sent();
10927
10941
  if (this.disposed) {
10928
10942
  this.doDispose();
10929
10943
  return [2 /*return*/];
10930
10944
  }
10931
10945
  entitiesHistoric = historicData.recordsByIds;
10932
- _l.label = 2;
10946
+ _o.label = 2;
10933
10947
  case 2: return [4 /*yield*/, EntityRenderEngine.Render({
10934
10948
  viewer: this.viewer,
10935
10949
  apiGetter: this.apiGetter,
@@ -10941,7 +10955,7 @@ var EntitiesRenderManager;
10941
10955
  force: force
10942
10956
  })];
10943
10957
  case 3:
10944
- _k = _l.sent(), updated = _k.updated, cEntities = _k.entities;
10958
+ _m = _o.sent(), updated = _m.updated, cEntities = _m.entities;
10945
10959
  if (this.disposed) {
10946
10960
  this.doDispose();
10947
10961
  return [2 /*return*/];
@@ -10962,6 +10976,7 @@ var EntitiesRenderManager;
10962
10976
  tagIds = (_c = entity.Bruce) === null || _c === void 0 ? void 0 : _c["Layer.ID"];
10963
10977
  rego_1 = {
10964
10978
  entityId: id,
10979
+ schemaId: (_d = entity.Bruce) === null || _d === void 0 ? void 0 : _d.schemaId,
10965
10980
  menuItemId: this.item.id,
10966
10981
  visual: cEntity,
10967
10982
  priority: 0,
@@ -10971,8 +10986,8 @@ var EntitiesRenderManager;
10971
10986
  overrideShow: wasClustered ? false : null,
10972
10987
  name: cEntity.name,
10973
10988
  cdn: this.item.cdnEnabled,
10974
- historicDateTime: (_d = entity.Bruce) === null || _d === void 0 ? void 0 : _d.historicDateTime,
10975
- historicAttrKey: (_e = entity.Bruce) === null || _e === void 0 ? void 0 : _e.historicAttrKey
10989
+ historicDateTime: (_e = entity.Bruce) === null || _e === void 0 ? void 0 : _e.historicDateTime,
10990
+ historicAttrKey: (_f = entity.Bruce) === null || _f === void 0 ? void 0 : _f.historicAttrKey
10976
10991
  };
10977
10992
  this.visualsManager.AddRego({
10978
10993
  rego: rego_1,
@@ -10983,10 +10998,11 @@ var EntitiesRenderManager;
10983
10998
  rego.name = cEntity.name;
10984
10999
  rego.visual = cEntity;
10985
11000
  rego.entityTypeId = entity.Bruce["EntityType.ID"];
10986
- rego.tagIds = ((_f = entity.Bruce) === null || _f === void 0 ? void 0 : _f["Layer.ID"]) ? [].concat(entity.Bruce["Layer.ID"]) : [];
10987
- rego.historicDateTime = (_g = entity.Bruce) === null || _g === void 0 ? void 0 : _g.historicDateTime;
10988
- rego.historicAttrKey = (_h = entity.Bruce) === null || _h === void 0 ? void 0 : _h.historicAttrKey;
11001
+ rego.tagIds = ((_g = entity.Bruce) === null || _g === void 0 ? void 0 : _g["Layer.ID"]) ? [].concat(entity.Bruce["Layer.ID"]) : [];
11002
+ rego.historicDateTime = (_h = entity.Bruce) === null || _h === void 0 ? void 0 : _h.historicDateTime;
11003
+ rego.historicAttrKey = (_j = entity.Bruce) === null || _j === void 0 ? void 0 : _j.historicAttrKey;
10989
11004
  rego.cdn = this.item.cdnEnabled;
11005
+ rego.schemaId = (_k = entity.Bruce) === null || _k === void 0 ? void 0 : _k.schemaId;
10990
11006
  // We manually trigger an update event since the graphic was updated but not recreated.
10991
11007
  this.visualsManager.OnUpdate.Trigger({
10992
11008
  type: VisualsRegister.EVisualUpdateType.Update,
@@ -11001,7 +11017,7 @@ var EntitiesRenderManager;
11001
11017
  menuItemId: this.item.id,
11002
11018
  requestRender: false
11003
11019
  });
11004
- (_j = this.clustering) === null || _j === void 0 ? void 0 : _j.RemoveEntity(id, false);
11020
+ (_l = this.clustering) === null || _l === void 0 ? void 0 : _l.RemoveEntity(id, false);
11005
11021
  }
11006
11022
  }
11007
11023
  this.viewer.scene.requestRender();
@@ -14257,7 +14273,7 @@ var EntityFilterGetter;
14257
14273
  EStatus["Loading"] = "LOADING";
14258
14274
  })(EStatus = EntityFilterGetter.EStatus || (EntityFilterGetter.EStatus = {}));
14259
14275
  var Getter = /** @class */ (function () {
14260
- function Getter(api, viewer, viewPort, typeId, batchSize, attrFilter, historicAttrKey, viaCdn) {
14276
+ function Getter(params) {
14261
14277
  this.onUpdate = null;
14262
14278
  this.LastStateUpdates = {};
14263
14279
  this.onStateUpdate = null;
@@ -14272,6 +14288,7 @@ var EntityFilterGetter;
14272
14288
  this.maxHeight = 100000;
14273
14289
  this.viewRect = null;
14274
14290
  this.viewCenter = null;
14291
+ var api = params.api, viewer = params.viewer, viewPort = params.viewPort, typeId = params.typeId, batchSize = params.batchSize, attrFilter = params.attrFilter, historicAttrKey = params.historicAttrKey, viaCdn = params.viaCdn;
14275
14292
  this.api = api;
14276
14293
  this.typeId = typeId;
14277
14294
  this.historicAttrKey = historicAttrKey;
@@ -14663,6 +14680,7 @@ function createFilterGetterCacheKey(params) {
14663
14680
  cacheKey += params.typeId;
14664
14681
  cacheKey += params.batchSize;
14665
14682
  cacheKey += String(params.cdn);
14683
+ cacheKey += params.schemaId ? params.schemaId : "";
14666
14684
  cacheKey += JSON.stringify(params.tagIds ? params.tagIds : []);
14667
14685
  cacheKey += params.historicAttrKey ? params.historicAttrKey : "";
14668
14686
  // This could potentially crash, but if it crashes here then it would crash during API request anyways.
@@ -14680,7 +14698,16 @@ var SharedGetters;
14680
14698
  var cacheKey = createFilterGetterCacheKey(params);
14681
14699
  var getter = this.data[cacheKey];
14682
14700
  if (!getter) {
14683
- getter = new EntityFilterGetter.Getter(params.api, params.viewer, params.monitor, params.typeId, params.batchSize, params.attrFilter, params.historicAttrKey, params.cdn);
14701
+ getter = new EntityFilterGetter.Getter({
14702
+ api: params.api,
14703
+ viewer: params.viewer,
14704
+ viewPort: params.monitor,
14705
+ typeId: params.typeId,
14706
+ batchSize: params.batchSize,
14707
+ attrFilter: params.attrFilter,
14708
+ historicAttrKey: params.historicAttrKey,
14709
+ viaCdn: params.cdn
14710
+ });
14684
14711
  this.data[cacheKey] = getter;
14685
14712
  /**
14686
14713
  * Debug option.
@@ -24090,7 +24117,7 @@ var ViewRenderEngine;
24090
24117
  ViewRenderEngine.Render = Render;
24091
24118
  })(ViewRenderEngine || (ViewRenderEngine = {}));
24092
24119
 
24093
- var VERSION = "3.8.5";
24120
+ var VERSION = "3.8.7";
24094
24121
 
24095
24122
  export { VERSION, CesiumViewMonitor, ViewerUtils, MenuItemManager, EntityRenderEngine, MenuItemCreator, VisualsRegister, RenderManager, EntitiesIdsRenderManager, EntitiesLoadedRenderManager, EntitiesRenderManager, EntityRenderManager, TilesetCadRenderManager, TilesetArbRenderManager, TilesetEntitiesRenderManager, TilesetOsmRenderManager, TilesetPointcloudRenderManager, TilesetGooglePhotosRenderManager, DataSourceStaticKmlManager, RelationsRenderManager, SharedGetters, CesiumParabola, EntityLabel, ViewRenderEngine, TileRenderEngine, TilesetRenderEngine, CESIUM_INSPECTOR_KEY, CESIUM_TIMELINE_KEY, ViewUtils, DrawingUtils, MeasureUtils, EntityUtils, CesiumEntityStyler, Draw3dPolygon, Draw3dPolyline };
24096
24123
  //# sourceMappingURL=bruce-cesium.es5.js.map