bruce-cesium 6.0.3 → 6.0.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.
@@ -1,5 +1,5 @@
1
1
  import { ApiGetters, BruceEvent, Entity, MenuItem } from "bruce-models";
2
- import { VisualsRegister } from "../../visuals-register";
2
+ import { VisualsRegister } from '../../visuals-register';
3
3
  import { RenderManager } from "../render-manager";
4
4
  import * as Cesium from "cesium";
5
5
  import { TilesetRenderEngine } from "../../tileset-render-engine";
@@ -31,6 +31,7 @@ export declare namespace TilesetCadRenderManager {
31
31
  private rootId;
32
32
  private renderPriority;
33
33
  private modelTree;
34
+ private modelTreeError;
34
35
  get ModelTree(): any;
35
36
  private modelTreeUpdate;
36
37
  get ModelTreeUpdate(): BruceEvent<any>;
@@ -43,6 +44,11 @@ export declare namespace TilesetCadRenderManager {
43
44
  private historicPossesInitialLoaded;
44
45
  private historicAnimation;
45
46
  private historicPossesLoadingProm;
47
+ private featureQueue;
48
+ private featureQueueStates;
49
+ private featureQueueInterval;
50
+ private featurePropCache;
51
+ private featurePropsChecked;
46
52
  constructor(params: {
47
53
  viewer: Cesium.Viewer;
48
54
  register: VisualsRegister.Register;
@@ -57,10 +63,20 @@ export declare namespace TilesetCadRenderManager {
57
63
  * @param load indicates if we are loading or unloading the tile.
58
64
  * @returns
59
65
  */
60
- private mapCTile;
66
+ private queueTile;
67
+ /**
68
+ * Pings the feature queue to process any queued features.
69
+ * Does nothing if we're already processing.
70
+ * @returns
71
+ */
72
+ private pingFeatureQueue;
73
+ /**
74
+ * Process a batch of features from the feature queue.
75
+ */
76
+ private processFeatureQueueBatch;
77
+ private evaluateFeatureProps;
61
78
  /**
62
79
  * @param feature
63
- * @param add indicates if we are adding or removing the feature.
64
80
  * @returns
65
81
  */
66
82
  private mapTilesetFeature;
@@ -73,14 +89,14 @@ export declare namespace TilesetCadRenderManager {
73
89
  private getEntityTypeByPath;
74
90
  /**
75
91
  * Gets the parent node of a given entity.
76
- * @param entityId The entity ID to find the parent for
77
- * @returns The parent node or null if no parent exists
92
+ * @param entityId The entity ID to find the parent for.
93
+ * @returns The parent node or null if no parent exists.
78
94
  */
79
95
  getParentNode(entityId: string): IModelTreeNode | null;
80
96
  /**
81
97
  * Gets all child nodes of a given entity.
82
- * @param entityId The entity ID to find children for
83
- * @returns Array of child nodes
98
+ * @param entityId The entity ID to find children for.
99
+ * @returns Array of child nodes.
84
100
  */
85
101
  getChildNodes(entityId: string): IModelTreeNode[];
86
102
  /**
@@ -91,31 +107,31 @@ export declare namespace TilesetCadRenderManager {
91
107
  getDescendantNodes(entityId: string): IModelTreeNode[];
92
108
  /**
93
109
  * Gets the root node of the model tree.
94
- * @returns The root node or null if no tree exists
110
+ * @returns The root node or null if no tree exists.
95
111
  */
96
112
  getRootNode(): IModelTreeNode | null;
97
113
  /**
98
114
  * Gets the path from root to a given entity.
99
- * @param entityId The entity ID to find the path for
100
- * @returns Array of node IDs representing the path from root to the entity
115
+ * @param entityId The entity ID to find the path for.
116
+ * @returns Array of node IDs representing the path from root to the entity.
101
117
  */
102
118
  getNodePath(entityId: string): string[];
103
119
  /**
104
120
  * Batch operation to get multiple node paths efficiently.
105
- * @param entityIds Array of entity IDs to get paths for
106
- * @returns Map of entityId to path array
121
+ * @param entityIds Array of entity IDs to get paths for.
122
+ * @returns Map of entityId to path array.
107
123
  */
108
124
  getNodePathsBatch(entityIds: string[]): Map<string, string[]>;
109
125
  /**
110
126
  * Batch operation to get multiple parent nodes efficiently.
111
- * @param entityIds Array of entity IDs to get parents for
112
- * @returns Map of entityId to parent node
127
+ * @param entityIds Array of entity IDs to get parents for.
128
+ * @returns Map of entityId to parent node.
113
129
  */
114
130
  getParentNodesBatch(entityIds: string[]): Map<string, IModelTreeNode | null>;
115
131
  /**
116
132
  * Batch operation to get multiple child nodes efficiently.
117
- * @param entityIds Array of entity IDs to get children for
118
- * @returns Map of entityId to array of child nodes
133
+ * @param entityIds Array of entity IDs to get children for.
134
+ * @returns Map of entityId to array of child nodes.
119
135
  */
120
136
  getChildNodesBatch(entityIds: string[]): Map<string, IModelTreeNode[]>;
121
137
  Dispose(): void;
@@ -312,6 +312,22 @@ export declare namespace VisualsRegister {
312
312
  requestRender?: boolean;
313
313
  source?: EUpdateSource;
314
314
  }): void;
315
+ /**
316
+ * Removes regos matching given visuals.
317
+ * This is used when we cannot unpack properties from the visual any longer to determine its ID.
318
+ * Usually for Tileset features.
319
+ * @param params
320
+ */
321
+ RemoveRegosByVisuals(params: {
322
+ visuals: Visual[];
323
+ menuItemId?: string;
324
+ doUpdate?: boolean;
325
+ doRemove?: boolean;
326
+ requestRender?: boolean;
327
+ source?: EUpdateSource;
328
+ }): {
329
+ removedEntityIds: string[];
330
+ };
315
331
  /**
316
332
  * Returns an array of drilled visuals associated with this register.
317
333
  * The top array item is the first found.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bruce-cesium",
3
- "version": "6.0.3",
3
+ "version": "6.0.5",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "dist/bruce-cesium.umd.js",