bruce-cesium 6.2.1 → 6.2.3

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.
@@ -32,6 +32,7 @@ export * from "./rendering/render-managers/common/live-cursor";
32
32
  export * from "./rendering/view-render-engine";
33
33
  export * from "./rendering/tile-render-engine";
34
34
  export * from "./rendering/tileset-render-engine";
35
+ export * from "./rendering/xgrids-render-engine";
35
36
  export * from "./utils/view-utils";
36
37
  export * from "./utils/drawing-utils";
37
38
  export * from "./utils/measure-utils";
@@ -56,4 +57,4 @@ export * from "./widgets/controls-view-bar/widget-control-view-bar-search";
56
57
  export * from "./widgets/widget-left-panel";
57
58
  export * from "./widgets/tabs-left-panel/widget-left-panel-tab";
58
59
  export * from "./widgets/tabs-left-panel/widget-left-panel-tab-bookmarks";
59
- export declare const VERSION = "6.2.1";
60
+ export declare const VERSION = "6.2.3";
@@ -1,9 +1,14 @@
1
1
  import { RenderManager } from "../render-manager";
2
2
  import * as Cesium from "cesium";
3
- import { ApiGetters, Entity, MenuItem } from "bruce-models";
3
+ import { ApiGetters, BruceEvent, Entity, MenuItem } from "bruce-models";
4
4
  import { TilesetRenderEngine } from "../../tileset-render-engine";
5
5
  import { VisualsRegister } from "../../visuals-register";
6
6
  export declare namespace TilesetArbRenderManager {
7
+ enum ERenderType {
8
+ CesiumTileset = "CesiumTileset",
9
+ XGridsLCC = "XGridsLCC",
10
+ Unknown = "Unknown"
11
+ }
7
12
  class Manager implements RenderManager.IManager {
8
13
  private viewer;
9
14
  private getters;
@@ -25,6 +30,11 @@ export declare namespace TilesetArbRenderManager {
25
30
  private featureQueueInterval;
26
31
  private featurePropCache;
27
32
  private featurePropsChecked;
33
+ private renderType;
34
+ get RenderType(): ERenderType;
35
+ private renderTypeChanged;
36
+ get RenderTypeChanged(): BruceEvent<ERenderType>;
37
+ private lccObject;
28
38
  constructor(params: {
29
39
  viewer: Cesium.Viewer;
30
40
  item: MenuItem.Item.IArbTileset;
@@ -119,8 +119,18 @@ export declare namespace VisualsRegister {
119
119
  optimized?: boolean;
120
120
  }): ProjectViewBookmark.IVisualState[];
121
121
  /**
122
- * Applies a set of new states to override the existing ones.
123
- * This can be a costly operation as it will update all visuals.
122
+ * Calculates the difference between current states and new states.
123
+ * Returns what needs to be added, removed, and updated.
124
+ */
125
+ private calculateStateDifference;
126
+ /**
127
+ * Compares two states to determine if they're different.
128
+ * Only compares meaningful properties (not entityId/menuItemId).
129
+ */
130
+ private isStateDifferent;
131
+ /**
132
+ * Applies a set of new states to override the existing ones using differential updates.
133
+ * This is more efficient than clearing and re-applying all states.
124
134
  * @param states
125
135
  */
126
136
  OverrideStates(states: ProjectViewBookmark.IVisualState[]): void;
@@ -235,6 +245,7 @@ export declare namespace VisualsRegister {
235
245
  isolated: boolean;
236
246
  requestRender?: boolean;
237
247
  source?: EUpdateSource;
248
+ doUpdate?: boolean;
238
249
  }): void;
239
250
  GetIsIsolated(params: {
240
251
  entityId: string;
@@ -248,6 +259,7 @@ export declare namespace VisualsRegister {
248
259
  GetIsolated(): string[];
249
260
  ClearIsolated(params?: {
250
261
  requestRender?: boolean;
262
+ doUpdate?: boolean;
251
263
  }): void;
252
264
  SetHidden(params: {
253
265
  hidden: boolean;
@@ -268,6 +280,7 @@ export declare namespace VisualsRegister {
268
280
  ClearHidden(params?: {
269
281
  requestRender?: boolean;
270
282
  source?: EUpdateSource;
283
+ doUpdate?: boolean;
271
284
  }): void;
272
285
  AddRego(params: {
273
286
  rego: IVisualRego;
@@ -0,0 +1,14 @@
1
+ import { BruceApi, Tileset } from "bruce-models";
2
+ import * as Cesium from "cesium";
3
+ /**
4
+ * Render engine to handle LCC / XGrids data through the XGrids library.
5
+ */
6
+ export declare namespace XGridsRenderEngine {
7
+ type TRenderObject = any;
8
+ function Render(params: {
9
+ api: BruceApi.Api;
10
+ viewer: Cesium.Viewer;
11
+ tileset: Tileset.ITileset;
12
+ }): TRenderObject | null;
13
+ function Remove(viewer: Cesium.Viewer, renderObject: TRenderObject): void;
14
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bruce-cesium",
3
- "version": "6.2.1",
3
+ "version": "6.2.3",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "dist/bruce-cesium.umd.js",