bruce-cesium 5.7.3 → 5.7.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, Entity as Entity$1, ProjectViewTile, Carto, Geometry, MathUtils, LRUCache, Api, Calculator, ClientFile, EntityTag, EntityType, ObjectUtils, Style, DelayQueue, EntityLod, Bounds, ZoomControl, EntityRelationType, ENVIRONMENT, EntityHistoricData, Tileset, EntityCoords, DataLab, EntitySource, MenuItem, EntityRelation, ProgramKey, ProjectView, ProjectViewBookmark, Camera, ProjectViewLegacyTile, EntityAttachment, EntityAttachmentType, EntityAttribute, AbstractApi, Session } 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, HorizontalOrigin, VerticalOrigin, ConstantProperty, ClassificationType, ConstantPositionProperty, ArcType, CornerType, ShadowMode, PolygonHierarchy, PolylineGraphics, ColorMaterialProperty, ColorBlendMode, HeadingPitchRoll, Transforms, Model, Primitive, Cesium3DTileFeature, SceneMode, GeoJsonDataSource, Cesium3DTileStyle, Cesium3DTileColorBlendMode, HeadingPitchRange, Ion, KmlDataSource, Quaternion, Matrix3, Matrix4, SceneTransforms, OrthographicFrustum, EasingFunction, NearFarScalar, EllipsoidTerrainProvider, IonImageryProvider, createWorldImagery, createWorldImageryAsync, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, UrlTemplateImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, TileMapServiceImageryProvider, CesiumTerrainProvider, IonResource, Cesium3DTileset, CesiumInspector, defined, ClockRange, EllipsoidGeodesic, sampleTerrainMostDetailed, PolygonPipeline, BoundingSphere, GeometryInstance, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, PolylineDashMaterialProperty, 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, ClassificationType, ConstantPositionProperty, ArcType, CornerType, ShadowMode, ColorBlendMode, HeadingPitchRoll, Transforms, Model, PolygonHierarchy, PolylineGraphics, ColorMaterialProperty, SceneMode, Primitive, Cesium3DTileFeature, GeoJsonDataSource, Cesium3DTileStyle, HeadingPitchRange, Cesium3DTileColorBlendMode, Ion, KmlDataSource, Quaternion, Matrix3, Matrix4, OrthographicFrustum, EasingFunction, NearFarScalar, SceneTransforms, EllipsoidTerrainProvider, IonImageryProvider, createWorldImagery, createWorldImageryAsync, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, UrlTemplateImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, TileMapServiceImageryProvider, CesiumTerrainProvider, IonResource, CesiumInspector, defined, ClockRange, Cesium3DTileset, PolygonPipeline, EllipsoidGeodesic, sampleTerrainMostDetailed, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, PolylineDashMaterialProperty, BoundingSphere, GeometryInstance, ScreenSpaceEventHandler, ScreenSpaceEventType, CzmlDataSource, Intersect, Fullscreen } from 'cesium';
4
4
 
5
5
  const TIME_LAG = 300;
6
6
  const POSITION_CHECK_TIMER = 950;
@@ -15049,6 +15049,10 @@ var EntitiesIdsRenderManager;
15049
15049
  const maxDateTimeStr = this.viewer.clock.stopTime.toString();
15050
15050
  const minDateTime = new Date(minDateTimeStr).getTime();
15051
15051
  const maxDateTime = new Date(maxDateTimeStr).getTime();
15052
+ const tDetails = ViewUtils.GetTimeDetails({
15053
+ viewer: this.viewer,
15054
+ });
15055
+ const isLive = tDetails.isLive;
15052
15056
  let rangesToRequest = [{
15053
15057
  start: minDateTime,
15054
15058
  stop: maxDateTime
@@ -15080,10 +15084,14 @@ var EntitiesIdsRenderManager;
15080
15084
  rangesToRequest = [];
15081
15085
  // Check if we need data before our cached range.
15082
15086
  if (foundMinDateTime != null && foundMinDateTime > minDateTime) {
15083
- rangesToRequest.push({
15084
- start: minDateTime,
15085
- stop: new Date(foundMinDateTime).getTime()
15086
- });
15087
+ // When live we focus on getting the next range rather than old data.
15088
+ // Ends up being one less request to perform every second.
15089
+ if (!isLive || foundMinDateTime == null) {
15090
+ rangesToRequest.push({
15091
+ start: minDateTime,
15092
+ stop: new Date(foundMinDateTime).getTime()
15093
+ });
15094
+ }
15087
15095
  }
15088
15096
  // Check if we need data after our cached range.
15089
15097
  if (foundMaxDateTime != null && foundMaxDateTime < maxDateTime) {
@@ -15092,6 +15100,20 @@ var EntitiesIdsRenderManager;
15092
15100
  stop: maxDateTime
15093
15101
  });
15094
15102
  }
15103
+ // If the ranges to request are within a tolerance, combine them.
15104
+ if (rangesToRequest.length > 1) {
15105
+ const TOLERANCE_MS = 60000; // 1 minute.
15106
+ let currentRange = rangesToRequest[0];
15107
+ for (let i = 1; i < rangesToRequest.length; i++) {
15108
+ const nextRange = rangesToRequest[i];
15109
+ if (nextRange.start - currentRange.stop <= TOLERANCE_MS) {
15110
+ currentRange.stop = nextRange.stop;
15111
+ }
15112
+ else {
15113
+ currentRange = nextRange;
15114
+ }
15115
+ }
15116
+ }
15095
15117
  }
15096
15118
  const entityIds = entities.map(x => x.Bruce.ID);
15097
15119
  const combined = { ...this.entitiesHistoric };
@@ -17822,7 +17844,7 @@ var SharedGetters;
17822
17844
  * CAD tilesets are referred to as "MODEL" tilesets in some other areas of Bruce code.
17823
17845
  */
17824
17846
  var TilesetCadRenderManager;
17825
- (function (TilesetCadRenderManager$$1) {
17847
+ (function (TilesetCadRenderManager) {
17826
17848
  class Manager {
17827
17849
  get Disposed() {
17828
17850
  return this.disposed;
@@ -18399,8 +18421,12 @@ var TilesetCadRenderManager;
18399
18421
  maxDateTime <= foundMaxDateTime) {
18400
18422
  return;
18401
18423
  }
18424
+ const tDetails = ViewUtils.GetTimeDetails({
18425
+ viewer: this.viewer,
18426
+ });
18427
+ const isLive = tDetails.isLive;
18402
18428
  // See if the requested range is before or after the range we have.
18403
- const fetchBefore = !foundMinDateTime || minDateTime < foundMinDateTime;
18429
+ const fetchBefore = !foundMinDateTime || (!isLive && minDateTime < foundMinDateTime);
18404
18430
  const fetchAfter = !foundMaxDateTime || maxDateTime > foundMaxDateTime;
18405
18431
  if (!fetchBefore && !fetchAfter) {
18406
18432
  // Already have the data we need.
@@ -18591,7 +18617,7 @@ var TilesetCadRenderManager;
18591
18617
  this.viewer.scene.requestRender();
18592
18618
  }
18593
18619
  }
18594
- TilesetCadRenderManager$$1.Manager = Manager;
18620
+ TilesetCadRenderManager.Manager = Manager;
18595
18621
  })(TilesetCadRenderManager || (TilesetCadRenderManager = {}));
18596
18622
 
18597
18623
  var DataLabRenderManager;
@@ -32137,7 +32163,7 @@ class WidgetViewBar extends Widget.AWidget {
32137
32163
  }
32138
32164
  }
32139
32165
 
32140
- const VERSION = "5.7.3";
32166
+ const VERSION = "5.7.4";
32141
32167
 
32142
32168
  export { VERSION, CesiumViewMonitor, ViewerUtils, ViewerEventTracker, MenuItemManager, isOutlineChanged, EntityRenderEngine, EntityRenderEnginePoint, EntityRenderEnginePolyline, EntityRenderEnginePolygon, EntityRenderEngineModel3d, MenuItemCreator, VisualsRegister, RenderManager, EntitiesIdsRenderManager, DataLabRenderManager, EntitiesLoadedRenderManager, EntitiesRenderManager, EntityRenderManager, TilesetCadRenderManager, TilesetArbRenderManager, TilesetEntitiesRenderManager, TilesetOsmRenderManager, TilesetPointcloudRenderManager, TilesetGooglePhotosRenderManager, DataSourceStaticKmlManager, GoogleSearchRenderManager, AssemblyRenderManager, RelationsRenderManager, SharedGetters, CesiumParabola, EntityLabel, ViewRenderEngine, TileRenderEngine, TilesetRenderEngine, CESIUM_INSPECTOR_KEY, CESIUM_TIMELINE_KEY, CESIUM_TIMELINE_LIVE_KEY, CESIUM_TIMELINE_LIVE_PADDING_KEY, CESIUM_TIMELINE_INTERVAL_KEY, DEFAULT_LIVE_PADDING_SECONDS, ViewUtils, DrawingUtils, MeasureUtils, EntityUtils, CesiumEntityStyler, CesiumAnimatedProperty, CesiumAnimatedInOut, Draw3dPolygon, Draw3dPolyline, MeasureCreator, Walkthrough, 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 };
32143
32169
  //# sourceMappingURL=bruce-cesium.es5.js.map