bruce-cesium 6.8.0 → 6.8.1

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 * as Cesium from 'cesium';
2
- import { Cartographic, ColorMaterialProperty, Entity, Color, ConstantProperty, CallbackProperty, Primitive, Cesium3DTileFeature, Math as Math$1, Cartesian3, JulianDate, Quaternion, Transforms, HeadingPitchRoll, Matrix4, DistanceDisplayCondition, HeightReference, ColorBlendMode, ShadowMode, ClassificationType, Model, HorizontalOrigin, VerticalOrigin, ConstantPositionProperty, PolygonHierarchy, PolylineGraphics, ArcType, CornerType, Cartesian2, SceneTransforms, NearFarScalar, Matrix3, Rectangle, KmlDataSource, GeoJsonDataSource, SceneMode, Cesium3DTileStyle, HeadingPitchRange, Cesium3DTileColorBlendMode, Ion, IonResource, EllipsoidTerrainProvider, IonImageryProvider, createWorldImagery, createWorldImageryAsync, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, UrlTemplateImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, TileMapServiceImageryProvider, CesiumTerrainProvider, Cesium3DTileset, OrthographicFrustum, EasingFunction, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, PolylineDashMaterialProperty, EllipsoidGeodesic, sampleTerrainMostDetailed, defined, BoundingSphere, GeometryInstance, PolygonPipeline, CesiumInspector, ClockRange, ScreenSpaceEventHandler, ScreenSpaceEventType, Intersect, CzmlDataSource, Fullscreen } from 'cesium';
3
- import { Cartes, Entity as Entity$1, ENVIRONMENT, Calculator, ClientFile, EntityLod, EntityTag, EntityType, LRUCache, ObjectUtils, Style, Api, Bounds, Geometry, Carto, MenuItem, ProjectView, ProjectViewBookmark, Tileset, ZoomControl, BruceEvent, EntityCoords, DataLab, DelayQueue, EntityHistoricData, AccountConcept, RecordChangeFeed, BruceApi, EntityRelation, ProgramKey, EntitySource, ProjectViewLegacyTile, ProjectViewTile, Camera, EntityAttachment, EntityAttachmentType, EntityAttribute, MathUtils, Session, EntityRelationType } from 'bruce-models';
2
+ import { Cartographic, ColorMaterialProperty, Entity, Color, ConstantProperty, CallbackProperty, Primitive, Cesium3DTileFeature, Math as Math$1, Cartesian3, JulianDate, Quaternion, Transforms, HeadingPitchRoll, Matrix4, DistanceDisplayCondition, HeightReference, ColorBlendMode, ShadowMode, ClassificationType, Model, HorizontalOrigin, VerticalOrigin, ConstantPositionProperty, PolygonHierarchy, PolylineGraphics, ArcType, CornerType, Cartesian2, SceneTransforms, NearFarScalar, Matrix3, Rectangle, KmlDataSource, GeoJsonDataSource, SceneMode, Cesium3DTileStyle, HeadingPitchRange, Cesium3DTileColorBlendMode, Ion, IonResource, EllipsoidTerrainProvider, IonImageryProvider, createWorldImagery, createWorldImageryAsync, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, UrlTemplateImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, TileMapServiceImageryProvider, CesiumTerrainProvider, OrthographicFrustum, EasingFunction, Cesium3DTileset, EllipsoidGeodesic, sampleTerrainMostDetailed, defined, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, PolylineDashMaterialProperty, PolygonPipeline, BoundingSphere, GeometryInstance, CesiumInspector, ClockRange, ScreenSpaceEventHandler, ScreenSpaceEventType, Intersect, CzmlDataSource, Fullscreen } from 'cesium';
3
+ import { Cartes, Entity as Entity$1, ENVIRONMENT, Calculator, ClientFile, EntityLod, EntityTag, EntityType, LRUCache, ObjectUtils, Style, Api, Bounds, Geometry, Carto, BruceEvent, EntityCoords, MenuItem, Tileset, ProjectView, ProjectViewBookmark, ZoomControl, DataLab, DelayQueue, EntityHistoricData, AccountConcept, RecordChangeFeed, BruceApi, EntityRelation, ProgramKey, EntitySource, ProjectViewLegacyTile, ProjectViewTile, Camera, EntityAttachment, EntityAttachmentType, EntityAttribute, MathUtils, Session, EntityRelationType } from 'bruce-models';
4
4
 
5
5
  /**
6
6
  * Ensures a number is returned from a given value.
@@ -14361,17 +14361,21 @@ var TilesetCadRenderManager;
14361
14361
  }
14362
14362
  }
14363
14363
  // Two items resolving to the same key are eligible to hand off, regardless of styling.
14364
+ // Model-space vs. geospatial, and historic vs. live, position the tileset via entirely
14365
+ // different code paths (baked in once at Init() time), so either changing must never
14366
+ // match an existing key and must instead force a real reload.
14364
14367
  get HandoffKey() {
14365
- return Manager.GetHandoffKey(this.item);
14368
+ return Manager.GetHandoffKey(this.item, this.modelSpace);
14366
14369
  }
14367
- static GetHandoffKey(item) {
14368
- var _a, _b;
14370
+ static GetHandoffKey(item, modelSpace) {
14371
+ var _a, _b, _c;
14369
14372
  const tilesetId = (_a = item === null || item === void 0 ? void 0 : item.tileset) === null || _a === void 0 ? void 0 : _a.TilesetID;
14370
14373
  if (!tilesetId) {
14371
14374
  return null;
14372
14375
  }
14373
14376
  const accountId = ((_b = item.tileset) === null || _b === void 0 ? void 0 : _b.ClientAccountID) || "";
14374
- return `${accountId}:${tilesetId}`;
14377
+ const historic = Boolean((_c = item.BruceEntity) === null || _c === void 0 ? void 0 : _c.historic);
14378
+ return `${accountId}:${tilesetId}:${Boolean(modelSpace)}:${historic}`;
14375
14379
  }
14376
14380
  // Returns null (fall back to a normal Dispose()) if the tileset hasn't finished loading yet.
14377
14381
  PrepareHandoff() {
@@ -22124,7 +22128,7 @@ var MenuItemManager;
22124
22128
  console.error("Menu item type is not implemented.", params.item.Type);
22125
22129
  }
22126
22130
  if (rItem.renderManager && !rItem.renderManager.Disposed) {
22127
- const handoffPayload = this.tryClaimHandoffPayload(params.item, rItem.renderManager);
22131
+ const handoffPayload = this.tryClaimHandoffPayload(params.item, rItem.renderManager, params.modelSpace);
22128
22132
  try {
22129
22133
  if (handoffPayload) {
22130
22134
  rItem.renderManager.AdoptHandoff(handoffPayload);
@@ -22201,9 +22205,9 @@ var MenuItemManager;
22201
22205
  return Boolean(renderManager) && typeof renderManager.PrepareHandoff === "function";
22202
22206
  }
22203
22207
  // Resolves the hand-off key a menu item's data would have.
22204
- computeHandoffKey(item) {
22208
+ computeHandoffKey(item, modelSpace) {
22205
22209
  if (item.Type === MenuItem.EType.CadTileset) {
22206
- return TilesetCadRenderManager.Manager.GetHandoffKey(item);
22210
+ return TilesetCadRenderManager.Manager.GetHandoffKey(item, modelSpace);
22207
22211
  }
22208
22212
  if (item.Type === MenuItem.EType.EntityTileset) {
22209
22213
  return TilesetEntitiesRenderManager.Manager.GetHandoffKey(item);
@@ -22212,11 +22216,11 @@ var MenuItemManager;
22212
22216
  }
22213
22217
  // Claims a pooled manager for the same resource, if one exists and both sides opt in.
22214
22218
  // Returns null (meaning: construct normally via Init()) otherwise.
22215
- tryClaimHandoffPayload(item, newManager) {
22219
+ tryClaimHandoffPayload(item, newManager, modelSpace) {
22216
22220
  if (typeof newManager.AdoptHandoff !== "function") {
22217
22221
  return null;
22218
22222
  }
22219
- const key = this.computeHandoffKey(item);
22223
+ const key = this.computeHandoffKey(item, modelSpace);
22220
22224
  if (!key) {
22221
22225
  return null;
22222
22226
  }
@@ -37182,7 +37186,7 @@ var StyleUtils;
37182
37186
  StyleUtils.ApplyTypeStyle = ApplyTypeStyle;
37183
37187
  })(StyleUtils || (StyleUtils = {}));
37184
37188
 
37185
- const VERSION = "6.8.0";
37189
+ const VERSION = "6.8.1";
37186
37190
  /**
37187
37191
  * Updates the environment instance used by bruce-cesium to one specified.
37188
37192
  * This can be used to ensure that the instance a parent is referencing is shared between bruce-cesium, bruce-models, and the parent app.