bruce-cesium 4.2.3 → 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, SceneMode, DistanceDisplayCondition, NearFarScalar, Model, ColorMaterialProperty, Entity, HorizontalOrigin, VerticalOrigin, ConstantProperty, ConstantPositionProperty, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, PolylineGraphics, ColorBlendMode, HeadingPitchRoll, Transforms, GeoJsonDataSource, Primitive, Cesium3DTileFeature, Cesium3DTileColorBlendMode, HeadingPitchRange, Ion, Cesium3DTileStyle, KmlDataSource, SceneTransforms, OrthographicFrustum, EasingFunction, 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, ScreenSpaceEventHandler, ScreenSpaceEventType, CzmlDataSource, Quaternion, Intersect } 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);
@@ -13852,7 +13860,7 @@ var TilesetRenderEngine;
13852
13860
  cacheToken: params.tileset.generateVersion,
13853
13861
  legacy: false,
13854
13862
  viaCdn: false
13855
- }) + "?generation=" + params.tileset.generateVersion, null)];
13863
+ }) + "?generation=" + params.tileset.generateVersion, null, params.noMemoryLimit)];
13856
13864
  case 4:
13857
13865
  cTileset = _a.sent();
13858
13866
  params.viewer.scene.primitives.add(cTileset);
@@ -13866,7 +13874,7 @@ var TilesetRenderEngine;
13866
13874
  cacheToken: params.tileset.generateVersion,
13867
13875
  legacy: false,
13868
13876
  viaCdn: false
13869
- }) + "?generation=" + params.tileset.generateVersion, null)];
13877
+ }) + "?generation=" + params.tileset.generateVersion, null, params.noMemoryLimit)];
13870
13878
  case 6:
13871
13879
  cTileset_2 = _a.sent();
13872
13880
  params.viewer.scene.primitives.add(cTileset_2);
@@ -13970,7 +13978,7 @@ var TilesetRenderEngine;
13970
13978
  });
13971
13979
  }
13972
13980
  _a.label = 7;
13973
- case 7: return [4 /*yield*/, createTileset(loadUrl, null)];
13981
+ case 7: return [4 /*yield*/, createTileset(loadUrl, null, noMemoryLimit)];
13974
13982
  case 8:
13975
13983
  cTileset = _a.sent();
13976
13984
  viewer.scene.primitives.add(cTileset);
@@ -14775,7 +14783,15 @@ var TilesetCadRenderManager;
14775
14783
  });
14776
14784
  cTileset.tileLoad.addEventListener(function (tile) {
14777
14785
  try {
14778
- _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);
14779
14795
  }
14780
14796
  catch (e) {
14781
14797
  console.error(e);
@@ -14796,21 +14812,31 @@ var TilesetCadRenderManager;
14796
14812
  this.viewer.zoomTo(this.cTileset, new HeadingPitchRange(0.0, -0.5, this.cTileset.boundingSphere.radius / 4.0));
14797
14813
  }
14798
14814
  };
14799
- 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) {
14800
14821
  var content = tile === null || tile === void 0 ? void 0 : tile.content;
14801
14822
  if (!content) {
14802
14823
  return;
14803
14824
  }
14804
14825
  for (var i = 0; i < content.featuresLength; i++) {
14805
14826
  var feature = content.getFeature(i);
14806
- var rego = this.mapTilesetFeature(feature);
14827
+ var rego = this.mapTilesetFeature(feature, load);
14807
14828
  if ((rego === null || rego === void 0 ? void 0 : rego.entityId) && this.styler) {
14808
14829
  this.styler.QueueEntities([rego]);
14809
14830
  }
14810
14831
  }
14811
14832
  this.viewer.scene.requestRender();
14812
14833
  };
14813
- 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) {
14814
14840
  var _this = this;
14815
14841
  var _a, _b, _c, _d, _e;
14816
14842
  var rego = {
@@ -14884,11 +14910,21 @@ var TilesetCadRenderManager;
14884
14910
  }
14885
14911
  return null;
14886
14912
  }
14887
- this.visualsManager.AddRego({
14888
- rego: rego,
14889
- requestRender: false
14890
- });
14891
- 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
+ }
14892
14928
  };
14893
14929
  Manager.prototype.getMetaByGeomId = function (geomId, tileset) {
14894
14930
  var _a;
@@ -14973,7 +15009,8 @@ var TilesetCadRenderManager;
14973
15009
  }
14974
15010
  (_b = this.styler) === null || _b === void 0 ? void 0 : _b.Dispose();
14975
15011
  this.visualsManager.RemoveRegos({
14976
- menuItemId: this.item.id
15012
+ menuItemId: this.item.id,
15013
+ doRemove: false
14977
15014
  });
14978
15015
  };
14979
15016
  Manager.prototype.ReRender = function (params) {
@@ -25769,7 +25806,7 @@ var ViewRenderEngine;
25769
25806
  ViewRenderEngine.Render = Render;
25770
25807
  })(ViewRenderEngine || (ViewRenderEngine = {}));
25771
25808
 
25772
- var VERSION = "4.2.3";
25809
+ var VERSION = "4.2.4";
25773
25810
 
25774
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 };
25775
25812
  //# sourceMappingURL=bruce-cesium.es5.js.map