bruce-cesium 4.2.2 → 4.2.4

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, Entity, Primitive, Cesium3DTileFeature, DistanceDisplayCondition, NearFarScalar, Model, ColorMaterialProperty, HorizontalOrigin, VerticalOrigin, ConstantProperty, ConstantPositionProperty, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, PolylineGraphics, ColorBlendMode, HeadingPitchRoll, Transforms, SceneMode, GeoJsonDataSource, Cesium3DTileColorBlendMode, HeadingPitchRange, Ion, Cesium3DTileStyle, KmlDataSource, SceneTransforms, OrthographicFrustum, EasingFunction, EllipsoidTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, UrlTemplateImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, TileMapServiceImageryProvider, IonImageryProvider, CesiumTerrainProvider, CesiumInspector, defined, ClockRange, Cesium3DTileset, Matrix4, Matrix3, IonResource, EllipsoidGeodesic, sampleTerrainMostDetailed, PolygonPipeline, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, BoundingSphere, GeometryInstance, ScreenSpaceEventHandler, ScreenSpaceEventType, Intersect, CzmlDataSource, Quaternion } from 'cesium';
3
+ import { Cartographic, Cartesian2, Math as Math$1, Cartesian3, CallbackProperty, Color, HeightReference, Rectangle, JulianDate, GeoJsonDataSource, ColorMaterialProperty, ConstantProperty, DistanceDisplayCondition, NearFarScalar, Model, Entity, HorizontalOrigin, VerticalOrigin, ConstantPositionProperty, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, PolylineGraphics, ColorBlendMode, HeadingPitchRoll, Transforms, Primitive, Cesium3DTileFeature, Cesium3DTileColorBlendMode, HeadingPitchRange, SceneMode, Ion, Cesium3DTileStyle, KmlDataSource, SceneTransforms, OrthographicFrustum, EasingFunction, EllipsoidTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, UrlTemplateImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, TileMapServiceImageryProvider, IonImageryProvider, CesiumTerrainProvider, CesiumInspector, defined, ClockRange, PolygonPipeline, EllipsoidGeodesic, sampleTerrainMostDetailed, Cesium3DTileset, Matrix4, Matrix3, IonResource, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, BoundingSphere, GeometryInstance, ScreenSpaceEventHandler, ScreenSpaceEventType, CzmlDataSource, Quaternion, Intersect } from 'cesium';
4
4
 
5
5
  /*! *****************************************************************************
6
6
  Copyright (c) Microsoft Corporation. All rights reserved.
@@ -9763,7 +9763,7 @@ var VisualsRegister;
9763
9763
  */
9764
9764
  Register.prototype.RemoveRegos = function (params) {
9765
9765
  var _a, _b, _c;
9766
- var entityId = params.entityId, menuItemId = params.menuItemId, doUpdate = params.doUpdate, relation = params.relation, retainTagIds = params.retainTagIds, requestRender = params.requestRender;
9766
+ var entityId = params.entityId, menuItemId = params.menuItemId, doUpdate = params.doUpdate, relation = params.relation, retainTagIds = params.retainTagIds, requestRender = params.requestRender, doRemove = params.doRemove;
9767
9767
  if (doUpdate == null) {
9768
9768
  doUpdate = true;
9769
9769
  }
@@ -9788,7 +9788,9 @@ var VisualsRegister;
9788
9788
  EntityLabel.Detatch({
9789
9789
  rego: rego
9790
9790
  });
9791
- removeEntity(this.viewer, rego.visual);
9791
+ if (doRemove != false) {
9792
+ removeEntity(this.viewer, rego.visual);
9793
+ }
9792
9794
  rego.visual = null;
9793
9795
  var doesInclude = this.rego[entityId_4].find(function (r) { return r.menuItemId === menuItemId; });
9794
9796
  if (doesInclude) {
@@ -9820,7 +9822,9 @@ var VisualsRegister;
9820
9822
  EntityLabel.Detatch({
9821
9823
  rego: rego
9822
9824
  });
9823
- removeEntity(this_2.viewer, rego.visual);
9825
+ if (doRemove != false) {
9826
+ removeEntity(this_2.viewer, rego.visual);
9827
+ }
9824
9828
  rego.visual = null;
9825
9829
  (_b = this_2.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({
9826
9830
  type: EVisualUpdateType.Remove,
@@ -13573,18 +13577,21 @@ var WATCH_KEY = "bruce-tileset-watch";
13573
13577
  * New versions use fromUrl whereas old versions pass the url as a property.
13574
13578
  * @param url
13575
13579
  * @param props
13580
+ * @param noMemoryLimit
13576
13581
  * @returns
13577
13582
  */
13578
- function createTileset(url, props) {
13583
+ function createTileset(url, props, noMemoryLimit) {
13579
13584
  return __awaiter(this, void 0, void 0, function () {
13580
13585
  var defaultProps, C3DT;
13581
13586
  return __generator(this, function (_a) {
13582
13587
  defaultProps = {
13583
13588
  // "Optimization option. Reduce the screen space error for tiles that are further away from the camera.".
13584
13589
  dynamicScreenSpaceError: true,
13585
- // "The maximum amount of memory in MB that can be used by the tileset.".
13586
- maximumMemoryUsage: 512
13587
13590
  };
13591
+ if (noMemoryLimit != true) {
13592
+ // "The maximum amount of memory in MB that can be used by the tileset.".
13593
+ defaultProps.maximumMemoryUsage = 512;
13594
+ }
13588
13595
  C3DT = Cesium3DTileset;
13589
13596
  if (C3DT.fromUrl) {
13590
13597
  // New cesium is running.
@@ -13777,6 +13784,7 @@ var TilesetRenderEngine;
13777
13784
  return __generator(this, function (_a) {
13778
13785
  switch (_a.label) {
13779
13786
  case 0:
13787
+ console.log(params.noMemoryLimit);
13780
13788
  api = params.apiGetter.getApi(params.accountId);
13781
13789
  // Ensure regional url is loaded.
13782
13790
  return [4 /*yield*/, api.Loading];
@@ -13808,7 +13816,7 @@ var TilesetRenderEngine;
13808
13816
  cacheToken: params.tileset.generateVersion,
13809
13817
  legacy: false,
13810
13818
  viaCdn: false
13811
- }) + "?generation=" + params.tileset.generateVersion, null)];
13819
+ }) + "?generation=" + params.tileset.generateVersion, null, params.noMemoryLimit)];
13812
13820
  case 2:
13813
13821
  cTileset_1 = _a.sent();
13814
13822
  params.viewer.scene.primitives.add(cTileset_1);
@@ -13818,7 +13826,9 @@ var TilesetRenderEngine;
13818
13826
  if (!isAlive$2(params.viewer, cTileset_1)) {
13819
13827
  return;
13820
13828
  }
13821
- (_a = GetMemoryWatcher(params.viewer)) === null || _a === void 0 ? void 0 : _a.Watch(cTileset_1);
13829
+ if (params.noMemoryLimit != true) {
13830
+ (_a = GetMemoryWatcher(params.viewer)) === null || _a === void 0 ? void 0 : _a.Watch(cTileset_1);
13831
+ }
13822
13832
  var settings = params.tileset.settings;
13823
13833
  ApplySettings({
13824
13834
  cTileset: cTileset_1,
@@ -13850,7 +13860,7 @@ var TilesetRenderEngine;
13850
13860
  cacheToken: params.tileset.generateVersion,
13851
13861
  legacy: false,
13852
13862
  viaCdn: false
13853
- }) + "?generation=" + params.tileset.generateVersion, null)];
13863
+ }) + "?generation=" + params.tileset.generateVersion, null, params.noMemoryLimit)];
13854
13864
  case 4:
13855
13865
  cTileset = _a.sent();
13856
13866
  params.viewer.scene.primitives.add(cTileset);
@@ -13864,7 +13874,7 @@ var TilesetRenderEngine;
13864
13874
  cacheToken: params.tileset.generateVersion,
13865
13875
  legacy: false,
13866
13876
  viaCdn: false
13867
- }) + "?generation=" + params.tileset.generateVersion, null)];
13877
+ }) + "?generation=" + params.tileset.generateVersion, null, params.noMemoryLimit)];
13868
13878
  case 6:
13869
13879
  cTileset_2 = _a.sent();
13870
13880
  params.viewer.scene.primitives.add(cTileset_2);
@@ -13906,11 +13916,11 @@ var TilesetRenderEngine;
13906
13916
  TilesetRenderEngine.Render = Render;
13907
13917
  function RenderLegacy(params) {
13908
13918
  return __awaiter(this, void 0, void 0, function () {
13909
- var apiGetter, viewer, tileset, ionId, loadUrl, viaCdn, accountId, settings, visual, etc, api, api, cTileset;
13919
+ var apiGetter, viewer, tileset, ionId, loadUrl, viaCdn, accountId, noMemoryLimit, settings, visual, etc, api, api, cTileset;
13910
13920
  return __generator(this, function (_a) {
13911
13921
  switch (_a.label) {
13912
13922
  case 0:
13913
- apiGetter = params.apiGetter, viewer = params.viewer, tileset = params.tileset, ionId = params.ionId, loadUrl = params.loadUrl, viaCdn = params.viaCdn, accountId = params.accountId;
13923
+ apiGetter = params.apiGetter, viewer = params.viewer, tileset = params.tileset, ionId = params.ionId, loadUrl = params.loadUrl, viaCdn = params.viaCdn, accountId = params.accountId, noMemoryLimit = params.noMemoryLimit;
13914
13924
  settings = tileset === null || tileset === void 0 ? void 0 : tileset.Settings;
13915
13925
  settings = __assign({}, settings);
13916
13926
  visual = settings.visual;
@@ -13968,7 +13978,7 @@ var TilesetRenderEngine;
13968
13978
  });
13969
13979
  }
13970
13980
  _a.label = 7;
13971
- case 7: return [4 /*yield*/, createTileset(loadUrl, null)];
13981
+ case 7: return [4 /*yield*/, createTileset(loadUrl, null, noMemoryLimit)];
13972
13982
  case 8:
13973
13983
  cTileset = _a.sent();
13974
13984
  viewer.scene.primitives.add(cTileset);
@@ -13978,7 +13988,9 @@ var TilesetRenderEngine;
13978
13988
  if (!isAlive$2(viewer, cTileset)) {
13979
13989
  return;
13980
13990
  }
13981
- (_a = GetMemoryWatcher(params.viewer)) === null || _a === void 0 ? void 0 : _a.Watch(cTileset);
13991
+ if (noMemoryLimit != true) {
13992
+ (_a = GetMemoryWatcher(params.viewer)) === null || _a === void 0 ? void 0 : _a.Watch(cTileset);
13993
+ }
13982
13994
  if (tileset) {
13983
13995
  var settings_1 = tileset.Settings;
13984
13996
  settings_1 = __assign({}, settings_1);
@@ -14746,7 +14758,8 @@ var TilesetCadRenderManager;
14746
14758
  viewer: this.viewer,
14747
14759
  coords: coords,
14748
14760
  accountId: (_c = (_b = this.item.tileset) === null || _b === void 0 ? void 0 : _b.ClientAccountID) !== null && _c !== void 0 ? _c : this.getters.GetAccountId(),
14749
- viaCdn: this.item.cdnEnabled
14761
+ viaCdn: this.item.cdnEnabled,
14762
+ noMemoryLimit: this.item["noMaximumMemory"]
14750
14763
  })];
14751
14764
  case 3:
14752
14765
  cTileset = _a.cTileset = _d.sent();
@@ -14770,7 +14783,15 @@ var TilesetCadRenderManager;
14770
14783
  });
14771
14784
  cTileset.tileLoad.addEventListener(function (tile) {
14772
14785
  try {
14773
- _this.mapCTile(tile);
14786
+ _this.mapCTile(tile, true);
14787
+ }
14788
+ catch (e) {
14789
+ console.error(e);
14790
+ }
14791
+ });
14792
+ cTileset.tileUnload.addEventListener(function (tile) {
14793
+ try {
14794
+ _this.mapCTile(tile, false);
14774
14795
  }
14775
14796
  catch (e) {
14776
14797
  console.error(e);
@@ -14791,21 +14812,31 @@ var TilesetCadRenderManager;
14791
14812
  this.viewer.zoomTo(this.cTileset, new HeadingPitchRange(0.0, -0.5, this.cTileset.boundingSphere.radius / 4.0));
14792
14813
  }
14793
14814
  };
14794
- Manager.prototype.mapCTile = function (tile) {
14815
+ /**
14816
+ * @param tile
14817
+ * @param load indicates if we are loading or unloading the tile.
14818
+ * @returns
14819
+ */
14820
+ Manager.prototype.mapCTile = function (tile, load) {
14795
14821
  var content = tile === null || tile === void 0 ? void 0 : tile.content;
14796
14822
  if (!content) {
14797
14823
  return;
14798
14824
  }
14799
14825
  for (var i = 0; i < content.featuresLength; i++) {
14800
14826
  var feature = content.getFeature(i);
14801
- var rego = this.mapTilesetFeature(feature);
14827
+ var rego = this.mapTilesetFeature(feature, load);
14802
14828
  if ((rego === null || rego === void 0 ? void 0 : rego.entityId) && this.styler) {
14803
14829
  this.styler.QueueEntities([rego]);
14804
14830
  }
14805
14831
  }
14806
14832
  this.viewer.scene.requestRender();
14807
14833
  };
14808
- Manager.prototype.mapTilesetFeature = function (feature) {
14834
+ /**
14835
+ * @param feature
14836
+ * @param add indicates if we are adding or removing the feature.
14837
+ * @returns
14838
+ */
14839
+ Manager.prototype.mapTilesetFeature = function (feature, add) {
14809
14840
  var _this = this;
14810
14841
  var _a, _b, _c, _d, _e;
14811
14842
  var rego = {
@@ -14879,11 +14910,21 @@ var TilesetCadRenderManager;
14879
14910
  }
14880
14911
  return null;
14881
14912
  }
14882
- this.visualsManager.AddRego({
14883
- rego: rego,
14884
- requestRender: false
14885
- });
14886
- return rego;
14913
+ if (add) {
14914
+ this.visualsManager.AddRego({
14915
+ rego: rego,
14916
+ requestRender: false
14917
+ });
14918
+ return rego;
14919
+ }
14920
+ else {
14921
+ this.visualsManager.RemoveRegos({
14922
+ entityId: rego.entityId,
14923
+ requestRender: false,
14924
+ menuItemId: this.item.id,
14925
+ doRemove: false
14926
+ });
14927
+ }
14887
14928
  };
14888
14929
  Manager.prototype.getMetaByGeomId = function (geomId, tileset) {
14889
14930
  var _a;
@@ -14968,7 +15009,8 @@ var TilesetCadRenderManager;
14968
15009
  }
14969
15010
  (_b = this.styler) === null || _b === void 0 ? void 0 : _b.Dispose();
14970
15011
  this.visualsManager.RemoveRegos({
14971
- menuItemId: this.item.id
15012
+ menuItemId: this.item.id,
15013
+ doRemove: false
14972
15014
  });
14973
15015
  };
14974
15016
  Manager.prototype.ReRender = function (params) {
@@ -16201,7 +16243,8 @@ var TilesetEntitiesRenderManager;
16201
16243
  tileset: tileset,
16202
16244
  viewer: this.viewer,
16203
16245
  accountId: accountId,
16204
- viaCdn: this.item.cdnEnabled
16246
+ viaCdn: this.item.cdnEnabled,
16247
+ noMemoryLimit: this.item["noMaximumMemory"]
16205
16248
  })];
16206
16249
  case 8:
16207
16250
  cTileset = _a.cTileset = _g.sent();
@@ -16387,7 +16430,7 @@ var TilesetPointcloudRenderManager;
16387
16430
  return;
16388
16431
  }
16389
16432
  (function () { return __awaiter(_this, void 0, void 0, function () {
16390
- var canAccess, e_1, accountId, api, tileset, cTileset, _a;
16433
+ var canAccess, e_1, accountId, api, tileset, _a;
16391
16434
  var _this = this;
16392
16435
  var _b, _c, _d, _e;
16393
16436
  return __generator(this, function (_f) {
@@ -16441,10 +16484,11 @@ var TilesetPointcloudRenderManager;
16441
16484
  viewer: this.viewer,
16442
16485
  coords: null,
16443
16486
  accountId: accountId,
16444
- viaCdn: this.item.cdnEnabled
16487
+ viaCdn: this.item.cdnEnabled,
16488
+ noMemoryLimit: this.item["noMaximumMemory"]
16445
16489
  })];
16446
16490
  case 8:
16447
- cTileset = _a.cTileset = _f.sent();
16491
+ _a.cTileset = _f.sent();
16448
16492
  if (this.disposed) {
16449
16493
  this.doDispose();
16450
16494
  return [2 /*return*/];
@@ -16835,7 +16879,8 @@ var TilesetArbRenderManager;
16835
16879
  ionAccessToken: (_l = this.item.IonResource) === null || _l === void 0 ? void 0 : _l.AccessToken,
16836
16880
  loadUrl: loadUrlOverride,
16837
16881
  accountId: accountId,
16838
- viaCdn: true
16882
+ viaCdn: true,
16883
+ noMemoryLimit: this.item["noMaximumMemory"]
16839
16884
  })];
16840
16885
  case 13:
16841
16886
  _d.cTileset = _p.sent();
@@ -25761,7 +25806,7 @@ var ViewRenderEngine;
25761
25806
  ViewRenderEngine.Render = Render;
25762
25807
  })(ViewRenderEngine || (ViewRenderEngine = {}));
25763
25808
 
25764
- var VERSION = "4.2.2";
25809
+ var VERSION = "4.2.4";
25765
25810
 
25766
25811
  export { VERSION, CesiumViewMonitor, ViewerUtils, MenuItemManager, EntityRenderEngine, 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 };
25767
25812
  //# sourceMappingURL=bruce-cesium.es5.js.map