bruce-cesium 7.2.3 → 7.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.
Files changed (35) hide show
  1. package/dist/bruce-cesium.es5.js +344 -39
  2. package/dist/bruce-cesium.es5.js.map +1 -1
  3. package/dist/bruce-cesium.umd.js +342 -37
  4. package/dist/bruce-cesium.umd.js.map +1 -1
  5. package/dist/lib/bruce-cesium.js +1 -1
  6. package/dist/lib/internal/cesium-utils.js +32 -1
  7. package/dist/lib/internal/cesium-utils.js.map +1 -1
  8. package/dist/lib/rendering/entity-gatherer.js +111 -0
  9. package/dist/lib/rendering/entity-gatherer.js.map +1 -1
  10. package/dist/lib/rendering/entity-render-engine-polygon.js +4 -3
  11. package/dist/lib/rendering/entity-render-engine-polygon.js.map +1 -1
  12. package/dist/lib/rendering/menu-item-manager.js +1 -0
  13. package/dist/lib/rendering/menu-item-manager.js.map +1 -1
  14. package/dist/lib/rendering/render-managers/common/historic-utils.js +91 -24
  15. package/dist/lib/rendering/render-managers/common/historic-utils.js.map +1 -1
  16. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +1 -0
  17. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js.map +1 -1
  18. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +1 -0
  19. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +1 -1
  20. package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js +61 -3
  21. package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js.map +1 -1
  22. package/dist/lib/rendering/texture-frame-series-animator.js +28 -3
  23. package/dist/lib/rendering/texture-frame-series-animator.js.map +1 -1
  24. package/dist/lib/rendering/texture-value-labels.js +6 -2
  25. package/dist/lib/rendering/texture-value-labels.js.map +1 -1
  26. package/dist/lib/rendering/tileset-styler.js +10 -1
  27. package/dist/lib/rendering/tileset-styler.js.map +1 -1
  28. package/dist/types/bruce-cesium.d.ts +1 -1
  29. package/dist/types/internal/cesium-utils.d.ts +9 -0
  30. package/dist/types/rendering/entity-gatherer.d.ts +23 -0
  31. package/dist/types/rendering/render-managers/common/historic-utils.d.ts +30 -5
  32. package/dist/types/rendering/render-managers/tilesets/tileset-entities-render-manager.d.ts +5 -0
  33. package/dist/types/rendering/texture-frame-series-animator.d.ts +6 -0
  34. package/dist/types/rendering/tileset-styler.d.ts +3 -0
  35. package/package.json +1 -1
@@ -1,5 +1,6 @@
1
1
  import * as Cesium from "cesium";
2
- import { BruceApi, Entity, EntityHistoricData, IDictionary } from "bruce-models";
2
+ import { Bounds, BruceApi, Entity, EntityHistoricData, IDictionary } from "bruce-models";
3
+ import { CesiumViewMonitor } from "../../../viewer/cesium-view-monitor";
3
4
  /**
4
5
  * How often a historic refresh is worth running, and which Entities it should ask about first.
5
6
  *
@@ -16,17 +17,40 @@ export declare namespace HistoricFetchOrder {
16
17
  * Returns how long to wait between historic refreshes for a set of this size.
17
18
  */
18
19
  function IntervalFor(entityCount: number, minMs?: number, maxMs?: number): number;
20
+ const DEFAULT_BANDS: number[];
19
21
  /**
20
- * Returns the Entities grouped into bands by distance from the camera, nearest band first.
21
- *
22
- * Bands rather than a true sort, so a small camera move does not reshuffle the whole queue and
23
- * restart it. What the user is looking at resolves first either way.
22
+ * Where the user is actually looking, which is not the same as where the camera is.
23
+ */
24
+ interface IViewFocus {
25
+ origin: Cesium.Cartesian3;
26
+ bounds?: Bounds.IReqBounds;
27
+ }
28
+ /**
29
+ * Resolves what to order by from the view monitor, falling back to the camera itself.
30
+ */
31
+ function FocusFrom(params: {
32
+ viewer: Cesium.Viewer;
33
+ monitor?: CesiumViewMonitor.Monitor;
34
+ }): IViewFocus | null;
35
+ /**
36
+ * Returns the Entities grouped nearest first, on screen ahead of off screen.
24
37
  */
25
38
  function ByCameraDistance(params: {
26
39
  viewer: Cesium.Viewer;
27
40
  entities: Entity.IEntity[];
41
+ monitor?: CesiumViewMonitor.Monitor;
28
42
  bands?: number[];
29
43
  }): Entity.IEntity[][];
44
+ /**
45
+ * Bands anything that can name its own world position, on the same bounds as the Entity form.
46
+ */
47
+ function ByCameraDistanceOf<T>(params: {
48
+ focus: IViewFocus | null;
49
+ items: T[];
50
+ posOf: (item: T) => Cesium.Cartesian3 | null;
51
+ bands?: number[];
52
+ }): T[][];
53
+ function InBounds(pos: Cesium.Cartesian3, bounds: Bounds.IReqBounds): boolean;
30
54
  }
31
55
  /**
32
56
  * Decides what slice of history is worth fetching for the clock as it is currently moving.
@@ -132,6 +156,7 @@ export declare class HistoricGatherer {
132
156
  private disposed;
133
157
  constructor(params: {
134
158
  viewer: Cesium.Viewer;
159
+ monitor?: CesiumViewMonitor.Monitor;
135
160
  getApi: () => BruceApi.Api;
136
161
  getAttrKey: () => string;
137
162
  sample?: number;
@@ -4,6 +4,7 @@ import { TilesetRenderEngine } from "../../tileset-render-engine";
4
4
  import { VisualsRegister } from "../../visuals-register";
5
5
  import { RenderManager } from "../render-manager";
6
6
  import { TilesetArbRenderManager } from "./tileset-arb-render-manager";
7
+ import { CesiumViewMonitor } from "../../../viewer/cesium-view-monitor";
7
8
  export declare namespace TilesetEntitiesRenderManager {
8
9
  class Manager implements RenderManager.IManager, RenderManager.IHandoffCapableManager, RenderManager.IHandoffReceiver {
9
10
  private initCounter;
@@ -32,12 +33,14 @@ export declare namespace TilesetEntitiesRenderManager {
32
33
  private featurePropCache;
33
34
  private featurePropsChecked;
34
35
  private initQueue;
36
+ private monitor;
35
37
  constructor(params: {
36
38
  viewer: Cesium.Viewer;
37
39
  register: VisualsRegister.Register;
38
40
  getters: ApiGetters;
39
41
  item: MenuItem.Item.IEntitiesTileset;
40
42
  initQueue?: TilesetArbRenderManager.IInitQueue;
43
+ monitor?: CesiumViewMonitor.Monitor;
41
44
  });
42
45
  Init(params?: {
43
46
  item: MenuItem.Item.IEntitiesTileset;
@@ -69,6 +72,8 @@ export declare namespace TilesetEntitiesRenderManager {
69
72
  PrepareHandoff(): RenderManager.IHandoffPayload | null;
70
73
  AdoptHandoff(payload: RenderManager.IHandoffPayload): void;
71
74
  private queueHandoffRestyle;
75
+ private static readNumber;
76
+ private readBakedPos;
72
77
  private mapTilesetFeature;
73
78
  ReRender(params: {
74
79
  entityIds?: string[];
@@ -188,6 +188,11 @@ export declare namespace TextureFrameSeriesAnimator {
188
188
  scale: number;
189
189
  offset: number;
190
190
  } | null;
191
+ /**
192
+ * Whether anything was applied to the values on the way out of the source.
193
+ * @param metadata the archive's Data.generation
194
+ */
195
+ function IsTransformed(metadata: IFrameArchiveMetadata | undefined): boolean;
191
196
  /**
192
197
  * A delivered value in the source's own terms, or unchanged when it cannot be turned back.
193
198
  * @param map from SourceMap(), null when the archive does not say enough
@@ -372,6 +377,7 @@ export declare namespace TextureFrameSeriesAnimator {
372
377
  private nearestUncachedFrame;
373
378
  private pumpFetchQueue;
374
379
  private fetchAndTint;
380
+ private shouldPresent;
375
381
  protected composeTiles(tiles: ITileEntry[], idx: number, buffer: ArrayBuffer, spanStart: number): Promise<{
376
382
  pixels: Uint8ClampedArray;
377
383
  width: number;
@@ -1,6 +1,7 @@
1
1
  import { BruceApi, BruceEvent, Entity, Style } from "bruce-models";
2
2
  import * as Cesium from "cesium";
3
3
  import { VisualsRegister } from "./visuals-register";
4
+ import { CesiumViewMonitor } from "../viewer/cesium-view-monitor";
4
5
  /**
5
6
  * Returns if the outline metadata is different.
6
7
  * @param rego
@@ -31,6 +32,7 @@ export declare class TilesetStyler {
31
32
  private historic;
32
33
  private applyStyles;
33
34
  private entityGatherer;
35
+ private monitor;
34
36
  private reRenderState;
35
37
  private shouldUpdateRegoStates;
36
38
  private styledEntityIds;
@@ -54,6 +56,7 @@ export declare class TilesetStyler {
54
56
  scenario?: number | string;
55
57
  historic?: boolean;
56
58
  applyStyles?: boolean;
59
+ monitor?: CesiumViewMonitor.Monitor;
57
60
  }): void;
58
61
  /**
59
62
  * Updates style mapping and fallback style.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bruce-cesium",
3
- "version": "7.2.3",
3
+ "version": "7.2.5",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "dist/bruce-cesium.umd.js",