bruce-cesium 4.6.0 → 4.6.2

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, ProjectViewLegacyTile, Camera, EntityAttribute, EntityAttachment, EntityAttachmentType, AbstractApi, Session } 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, Session, AbstractApi } 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, ClassificationType, ArcType, CornerType, ShadowMode, ConstantProperty, ConstantPositionProperty, HorizontalOrigin, VerticalOrigin, ColorBlendMode, HeadingPitchRoll, Transforms, Model, PolygonHierarchy, PolylineGraphics, ColorMaterialProperty, SceneMode, Primitive, Cesium3DTileFeature, GeoJsonDataSource, Cesium3DTileColorBlendMode, HeadingPitchRange, Cesium3DTileStyle, Ion, KmlDataSource, SceneTransforms, EllipsoidTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, UrlTemplateImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, TileMapServiceImageryProvider, IonImageryProvider, CesiumTerrainProvider, OrthographicFrustum, EasingFunction, NearFarScalar, EllipsoidGeodesic, sampleTerrainMostDetailed, defined, Cesium3DTileset, CesiumInspector, ClockRange, Matrix4, Matrix3, IonResource, BoundingSphere, GeometryInstance, PolygonPipeline, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, PolylineDashMaterialProperty, Quaternion, ScreenSpaceEventHandler, ScreenSpaceEventType, CzmlDataSource, Intersect, Fullscreen } from 'cesium';
3
+ import { Cartographic, Cartesian2, Math as Math$1, Cartesian3, CallbackProperty, Color, HeightReference, Rectangle, JulianDate, Entity, DistanceDisplayCondition, HorizontalOrigin, VerticalOrigin, ConstantProperty, ConstantPositionProperty, ClassificationType, ArcType, CornerType, ShadowMode, ColorBlendMode, HeadingPitchRoll, Transforms, Model, PolygonHierarchy, PolylineGraphics, ColorMaterialProperty, SceneMode, Primitive, Cesium3DTileFeature, GeoJsonDataSource, Cesium3DTileStyle, HeadingPitchRange, Cesium3DTileColorBlendMode, Ion, KmlDataSource, OrthographicFrustum, EasingFunction, NearFarScalar, SceneTransforms, EllipsoidTerrainProvider, CesiumInspector, defined, ClockRange, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, UrlTemplateImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, TileMapServiceImageryProvider, IonImageryProvider, CesiumTerrainProvider, Cesium3DTileset, Matrix4, Matrix3, IonResource, EllipsoidGeodesic, sampleTerrainMostDetailed, PolygonPipeline, BoundingSphere, GeometryInstance, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, PolylineDashMaterialProperty, ScreenSpaceEventHandler, ScreenSpaceEventType, Quaternion, CzmlDataSource, Intersect, Fullscreen } from 'cesium';
4
4
 
5
5
  /*! *****************************************************************************
6
6
  Copyright (c) Microsoft Corporation. All rights reserved.
@@ -16697,7 +16697,8 @@ var SharedGetters;
16697
16697
  })(SharedGetters || (SharedGetters = {}));
16698
16698
 
16699
16699
  var MAX_BATCHES = 2;
16700
- var BATCH_SIZE$3 = 30;
16700
+ var BATCH_SIZE_OLD_API = 30;
16701
+ var BATCH_SIZE_NEW_API = 1000;
16701
16702
  var BATCH_DELAY = 200;
16702
16703
  var MAX_RANGE = 3000;
16703
16704
  var TilesetOsmRenderManager;
@@ -16714,6 +16715,8 @@ var TilesetOsmRenderManager;
16714
16715
  this.entityTypeId = null;
16715
16716
  this.queueCheckInterval = null;
16716
16717
  this.processingQueue = 0;
16718
+ this._osmIdToBruceId = {};
16719
+ this.batchSize = BATCH_SIZE_OLD_API;
16717
16720
  var viewer = params.viewer, visualsManager = params.register, apiGetter = params.getters, monitor = params.monitor, item = params.item;
16718
16721
  this.viewer = viewer;
16719
16722
  this.getters = apiGetter;
@@ -16772,7 +16775,7 @@ var TilesetOsmRenderManager;
16772
16775
  this.sourceId = EnsureNumber((_a = menuItem.BruceEntity) === null || _a === void 0 ? void 0 : _a.SourceId, 0);
16773
16776
  this.entityTypeId = (_b = menuItem.BruceEntity) === null || _b === void 0 ? void 0 : _b["EntityType.ID"];
16774
16777
  (function () { return __awaiter(_this, void 0, void 0, function () {
16775
- var validToken, CESIUM, cTileset;
16778
+ var validToken, CESIUM, cTileset, api;
16776
16779
  var _this = this;
16777
16780
  return __generator(this, function (_a) {
16778
16781
  switch (_a.label) {
@@ -16799,6 +16802,13 @@ var TilesetOsmRenderManager;
16799
16802
  }
16800
16803
  _a.label = 4;
16801
16804
  case 4:
16805
+ api = this.getters.GetBruceApi();
16806
+ return [4 /*yield*/, api.Loading];
16807
+ case 5:
16808
+ _a.sent();
16809
+ if (api.IsVersionAtLeast("1.0.5244")) {
16810
+ this.batchSize = BATCH_SIZE_NEW_API;
16811
+ }
16802
16812
  if (this.disposed) {
16803
16813
  if (this.cTileset && !this.cTileset.isDestroyed()) {
16804
16814
  this.cTileset.destroy();
@@ -16935,7 +16945,7 @@ var TilesetOsmRenderManager;
16935
16945
  var isClose = this.getIsVisualWithinRange(feature, MAX_RANGE);
16936
16946
  if (isClose) {
16937
16947
  batch.push(feature);
16938
- if (batch.length >= BATCH_SIZE$3) {
16948
+ if (batch.length >= this.batchSize) {
16939
16949
  return batch;
16940
16950
  }
16941
16951
  }
@@ -16964,7 +16974,7 @@ var TilesetOsmRenderManager;
16964
16974
  };
16965
16975
  Manager.prototype.mapTileBatch = function (features) {
16966
16976
  return __awaiter(this, void 0, void 0, function () {
16967
- var featureIds, featureMap, _loop_1, this_1, i, api, bIds, i, osmId, bruceId, feature, rego, visual;
16977
+ var featureIds, featureMap, _loop_1, this_1, i, toSearchFeatureIds, i, api, bIds, i, osmId, bId, i, osmId, bruceId, feature, rego, visual;
16968
16978
  return __generator(this, function (_a) {
16969
16979
  switch (_a.label) {
16970
16980
  case 0:
@@ -16986,6 +16996,13 @@ var TilesetOsmRenderManager;
16986
16996
  for (i = 0; i < features.length; i++) {
16987
16997
  _loop_1(i);
16988
16998
  }
16999
+ toSearchFeatureIds = [];
17000
+ for (i = 0; i < featureIds.length; i++) {
17001
+ if (!this._osmIdToBruceId[featureIds[i]]) {
17002
+ toSearchFeatureIds.push(featureIds[i]);
17003
+ }
17004
+ }
17005
+ if (!toSearchFeatureIds.length) return [3 /*break*/, 2];
16989
17006
  api = this.getters.GetBruceApi();
16990
17007
  return [4 /*yield*/, EntitySource.GetEntityIdsBySourceKeys({
16991
17008
  api: api,
@@ -16996,7 +17013,22 @@ var TilesetOsmRenderManager;
16996
17013
  bIds = (_a.sent()).idMapping;
16997
17014
  for (i = 0; i < featureIds.length; i++) {
16998
17015
  osmId = featureIds[i];
16999
- bruceId = bIds[osmId];
17016
+ bId = bIds[osmId];
17017
+ if (!bId) {
17018
+ bId = ObjectUtils.UId();
17019
+ }
17020
+ // Record so the same OSM ID will correlate to the same Nextspace ID.
17021
+ // This is important because we can have multiple pieces of the same building with the same OSM ID.
17022
+ // We need to ensure we don't generate a placeholder that is difference for each piece.
17023
+ this._osmIdToBruceId[osmId] = bId;
17024
+ }
17025
+ _a.label = 2;
17026
+ case 2:
17027
+ for (i = 0; i < featureIds.length; i++) {
17028
+ osmId = featureIds[i];
17029
+ bruceId = this._osmIdToBruceId[osmId];
17030
+ // Should not happen.
17031
+ // We cover unknowns earlier, this is just in case.
17000
17032
  if (!bruceId) {
17001
17033
  bruceId = ObjectUtils.UId();
17002
17034
  }
@@ -17075,7 +17107,7 @@ var TilesetOsmRenderManager;
17075
17107
  delete this._loadedCesiumEntities[key];
17076
17108
  this.totalLoaded -= 1;
17077
17109
  removed += 1;
17078
- if (removed >= BATCH_SIZE$3) {
17110
+ if (removed >= this.batchSize) {
17079
17111
  return true;
17080
17112
  }
17081
17113
  }
@@ -27839,7 +27871,7 @@ var WidgetViewBar = /** @class */ (function (_super) {
27839
27871
  return WidgetViewBar;
27840
27872
  }(Widget.AWidget));
27841
27873
 
27842
- var VERSION = "4.6.0";
27874
+ var VERSION = "4.6.2";
27843
27875
 
27844
27876
  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, VIEWER_VIEW_BAR_WIDGET_KEY, WidgetViewBar, WidgetControlViewBar, WidgetControlViewBarSearch, VIEWER_LEFT_PANEL_WIDGET_KEY, VIEWER_LEFT_PANEL_CSS_VAR_LEFT, WidgetLeftPanel, WidgetLeftPanelTab, WidgetLeftPanelTabBookmarks };
27845
27877
  //# sourceMappingURL=bruce-cesium.es5.js.map