bruce-cesium 4.2.3 → 4.2.5

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, DistanceDisplayCondition, NearFarScalar, Model, ColorMaterialProperty, Entity, HorizontalOrigin, VerticalOrigin, ConstantProperty, ConstantPositionProperty, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, PolylineGraphics, ColorBlendMode, HeadingPitchRoll, Transforms, Primitive, Cesium3DTileFeature, SceneMode, GeoJsonDataSource, 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';
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);
@@ -14108,9 +14116,15 @@ var TilesetRenderEngine;
14108
14116
  }
14109
14117
  }
14110
14118
  }
14111
- if (isNaN(params.fallbackStyleId) && params.fallbackStyleId != null) {
14119
+ if (!isNaN(params.fallbackStyleId) && params.fallbackStyleId != null) {
14112
14120
  this.fallbackStyleId = params.fallbackStyleId;
14113
14121
  }
14122
+ if (params.fallbackStyle) {
14123
+ this.fallbackStyle = params.fallbackStyle;
14124
+ }
14125
+ else {
14126
+ this.fallbackStyle = null;
14127
+ }
14114
14128
  // Empty queues.
14115
14129
  // Requeue all.
14116
14130
  this.recordLoadQueue = [];
@@ -14258,7 +14272,6 @@ var TilesetRenderEngine;
14258
14272
  counter = ++this.loadingCounter;
14259
14273
  this.styleMappingLoaded = false;
14260
14274
  this.styleMappingsLoaded = {};
14261
- this.fallbackStyle = null;
14262
14275
  fallbackStyleId = this.fallbackStyleId;
14263
14276
  if (!(fallbackStyleId && fallbackStyleId > 0)) return [3 /*break*/, 4];
14264
14277
  _c.label = 1;
@@ -14775,7 +14788,15 @@ var TilesetCadRenderManager;
14775
14788
  });
14776
14789
  cTileset.tileLoad.addEventListener(function (tile) {
14777
14790
  try {
14778
- _this.mapCTile(tile);
14791
+ _this.mapCTile(tile, true);
14792
+ }
14793
+ catch (e) {
14794
+ console.error(e);
14795
+ }
14796
+ });
14797
+ cTileset.tileUnload.addEventListener(function (tile) {
14798
+ try {
14799
+ _this.mapCTile(tile, false);
14779
14800
  }
14780
14801
  catch (e) {
14781
14802
  console.error(e);
@@ -14796,21 +14817,31 @@ var TilesetCadRenderManager;
14796
14817
  this.viewer.zoomTo(this.cTileset, new HeadingPitchRange(0.0, -0.5, this.cTileset.boundingSphere.radius / 4.0));
14797
14818
  }
14798
14819
  };
14799
- Manager.prototype.mapCTile = function (tile) {
14820
+ /**
14821
+ * @param tile
14822
+ * @param load indicates if we are loading or unloading the tile.
14823
+ * @returns
14824
+ */
14825
+ Manager.prototype.mapCTile = function (tile, load) {
14800
14826
  var content = tile === null || tile === void 0 ? void 0 : tile.content;
14801
14827
  if (!content) {
14802
14828
  return;
14803
14829
  }
14804
14830
  for (var i = 0; i < content.featuresLength; i++) {
14805
14831
  var feature = content.getFeature(i);
14806
- var rego = this.mapTilesetFeature(feature);
14832
+ var rego = this.mapTilesetFeature(feature, load);
14807
14833
  if ((rego === null || rego === void 0 ? void 0 : rego.entityId) && this.styler) {
14808
14834
  this.styler.QueueEntities([rego]);
14809
14835
  }
14810
14836
  }
14811
14837
  this.viewer.scene.requestRender();
14812
14838
  };
14813
- Manager.prototype.mapTilesetFeature = function (feature) {
14839
+ /**
14840
+ * @param feature
14841
+ * @param add indicates if we are adding or removing the feature.
14842
+ * @returns
14843
+ */
14844
+ Manager.prototype.mapTilesetFeature = function (feature, add) {
14814
14845
  var _this = this;
14815
14846
  var _a, _b, _c, _d, _e;
14816
14847
  var rego = {
@@ -14884,11 +14915,21 @@ var TilesetCadRenderManager;
14884
14915
  }
14885
14916
  return null;
14886
14917
  }
14887
- this.visualsManager.AddRego({
14888
- rego: rego,
14889
- requestRender: false
14890
- });
14891
- return rego;
14918
+ if (add) {
14919
+ this.visualsManager.AddRego({
14920
+ rego: rego,
14921
+ requestRender: false
14922
+ });
14923
+ return rego;
14924
+ }
14925
+ else {
14926
+ this.visualsManager.RemoveRegos({
14927
+ entityId: rego.entityId,
14928
+ requestRender: false,
14929
+ menuItemId: this.item.id,
14930
+ doRemove: false
14931
+ });
14932
+ }
14892
14933
  };
14893
14934
  Manager.prototype.getMetaByGeomId = function (geomId, tileset) {
14894
14935
  var _a;
@@ -14973,7 +15014,8 @@ var TilesetCadRenderManager;
14973
15014
  }
14974
15015
  (_b = this.styler) === null || _b === void 0 ? void 0 : _b.Dispose();
14975
15016
  this.visualsManager.RemoveRegos({
14976
- menuItemId: this.item.id
15017
+ menuItemId: this.item.id,
15018
+ doRemove: false
14977
15019
  });
14978
15020
  };
14979
15021
  Manager.prototype.ReRender = function (params) {
@@ -25769,7 +25811,7 @@ var ViewRenderEngine;
25769
25811
  ViewRenderEngine.Render = Render;
25770
25812
  })(ViewRenderEngine || (ViewRenderEngine = {}));
25771
25813
 
25772
- var VERSION = "4.2.3";
25814
+ var VERSION = "4.2.5";
25773
25815
 
25774
25816
  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
25817
  //# sourceMappingURL=bruce-cesium.es5.js.map