bruce-cesium 7.0.2 → 7.0.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.
- package/dist/bruce-cesium.es5.js +1376 -244
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +1374 -242
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/bruce-cesium.js +1 -1
- package/dist/lib/internal/cesium-show-gate.js +100 -0
- package/dist/lib/internal/cesium-show-gate.js.map +1 -0
- package/dist/lib/internal/cesium-utils.js +207 -1
- package/dist/lib/internal/cesium-utils.js.map +1 -1
- package/dist/lib/internal/js-utils.js +25 -1
- package/dist/lib/internal/js-utils.js.map +1 -1
- package/dist/lib/rendering/cesium-animated-in-out.js +66 -7
- package/dist/lib/rendering/cesium-animated-in-out.js.map +1 -1
- package/dist/lib/rendering/entity-render-engine-model3d.js +17 -8
- package/dist/lib/rendering/entity-render-engine-model3d.js.map +1 -1
- package/dist/lib/rendering/entity-render-engine-point.js +46 -12
- package/dist/lib/rendering/entity-render-engine-point.js.map +1 -1
- package/dist/lib/rendering/entity-render-engine-polygon.js +107 -35
- package/dist/lib/rendering/entity-render-engine-polygon.js.map +1 -1
- package/dist/lib/rendering/entity-render-engine-polyline.js +27 -8
- package/dist/lib/rendering/entity-render-engine-polyline.js.map +1 -1
- package/dist/lib/rendering/entity-render-engine.js +86 -14
- package/dist/lib/rendering/entity-render-engine.js.map +1 -1
- package/dist/lib/rendering/menu-item-manager.js +30 -2
- package/dist/lib/rendering/menu-item-manager.js.map +1 -1
- package/dist/lib/rendering/relation-render-engine.js +2 -1
- package/dist/lib/rendering/relation-render-engine.js.map +1 -1
- package/dist/lib/rendering/render-managers/common/entity-label.js +10 -2
- package/dist/lib/rendering/render-managers/common/entity-label.js.map +1 -1
- package/dist/lib/rendering/render-managers/entities/entities-datalab-render-manager.js +45 -3
- package/dist/lib/rendering/render-managers/entities/entities-datalab-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +26 -15
- package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +50 -3
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/other/legacy-relations-render-manager.js +3 -2
- package/dist/lib/rendering/render-managers/other/legacy-relations-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/other/relations-render-manager.js +3 -2
- package/dist/lib/rendering/render-managers/other/relations-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/render-manager.js +67 -3
- package/dist/lib/rendering/render-managers/render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-arb-render-manager.js +2 -0
- package/dist/lib/rendering/render-managers/tilesets/tileset-arb-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +2 -0
- package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js +2 -0
- package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-pointcloud-render-manager.js +4 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-pointcloud-render-manager.js.map +1 -1
- package/dist/lib/rendering/texture-frame-series-animator.js +7 -0
- package/dist/lib/rendering/texture-frame-series-animator.js.map +1 -1
- package/dist/lib/rendering/tileset-render-engine.js +18 -0
- package/dist/lib/rendering/tileset-render-engine.js.map +1 -1
- package/dist/lib/rendering/visual-register-culler.js +197 -98
- package/dist/lib/rendering/visual-register-culler.js.map +1 -1
- package/dist/lib/rendering/visuals-register.js +263 -25
- package/dist/lib/rendering/visuals-register.js.map +1 -1
- package/dist/lib/utils/cesium-entity-styler.js +7 -3
- package/dist/lib/utils/cesium-entity-styler.js.map +1 -1
- package/dist/types/bruce-cesium.d.ts +1 -1
- package/dist/types/internal/cesium-show-gate.d.ts +29 -0
- package/dist/types/internal/cesium-utils.d.ts +63 -0
- package/dist/types/internal/js-utils.d.ts +10 -0
- package/dist/types/rendering/cesium-animated-in-out.d.ts +5 -0
- package/dist/types/rendering/entity-render-engine-model3d.d.ts +2 -0
- package/dist/types/rendering/entity-render-engine-point.d.ts +2 -0
- package/dist/types/rendering/entity-render-engine-polygon.d.ts +2 -0
- package/dist/types/rendering/entity-render-engine-polyline.d.ts +2 -0
- package/dist/types/rendering/entity-render-engine.d.ts +17 -1
- package/dist/types/rendering/menu-item-manager.d.ts +6 -0
- package/dist/types/rendering/render-managers/entities/entities-datalab-render-manager.d.ts +11 -0
- package/dist/types/rendering/render-managers/entities/entities-render-manager.d.ts +12 -0
- package/dist/types/rendering/render-managers/render-manager.d.ts +33 -0
- package/dist/types/rendering/render-managers/tilesets/tileset-pointcloud-render-manager.d.ts +3 -0
- package/dist/types/rendering/texture-frame-series-animator.d.ts +5 -0
- package/dist/types/rendering/tileset-render-engine.d.ts +14 -0
- package/dist/types/rendering/visual-register-culler.d.ts +7 -0
- package/dist/types/rendering/visuals-register.d.ts +65 -1
- package/dist/types/utils/cesium-entity-styler.d.ts +1 -0
- package/package.json +1 -1
package/dist/lib/bruce-cesium.js
CHANGED
|
@@ -77,7 +77,7 @@ __exportStar(require("./widgets/widget-info-view"), exports);
|
|
|
77
77
|
__exportStar(require("./widgets/widget-left-panel"), exports);
|
|
78
78
|
__exportStar(require("./widgets/widget-nav-compass"), exports);
|
|
79
79
|
__exportStar(require("./widgets/widget-view-bar"), exports);
|
|
80
|
-
exports.VERSION = "7.0.
|
|
80
|
+
exports.VERSION = "7.0.4";
|
|
81
81
|
/**
|
|
82
82
|
* Updates the environment instance used by bruce-cesium to one specified.
|
|
83
83
|
* This can be used to ensure that the instance a parent is referencing is shared between bruce-cesium, bruce-models, and the parent app.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Lets something decide WHEN a `show` flag is honoured, without owning WHAT it should be.
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ReleaseShowGate = exports.GetShowGate = exports.InstallShowGate = void 0;
|
|
7
|
+
const SHOW_GATE_KEY = "_bruceShowGate";
|
|
8
|
+
/**
|
|
9
|
+
* Installs a show gate on an object, or returns the one already installed.
|
|
10
|
+
* Returns null when the property cannot be intercepted or restored, in which case the caller must leave `show` alone rather than fall back to writing it directly.
|
|
11
|
+
* @param target Anything with a plain, configurable `show` property.
|
|
12
|
+
*/
|
|
13
|
+
function InstallShowGate(target) {
|
|
14
|
+
if (!target) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
const existing = target[SHOW_GATE_KEY];
|
|
18
|
+
if (existing) {
|
|
19
|
+
return existing;
|
|
20
|
+
}
|
|
21
|
+
const descriptor = Object.getOwnPropertyDescriptor(target, "show");
|
|
22
|
+
// An accessor already, or something we could not put back, so refuse rather than half-apply.
|
|
23
|
+
if (descriptor && (!descriptor.configurable || descriptor.get || descriptor.set)) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
let intended = target.show !== false;
|
|
27
|
+
let suppressed = false;
|
|
28
|
+
try {
|
|
29
|
+
Object.defineProperty(target, "show", {
|
|
30
|
+
configurable: true,
|
|
31
|
+
enumerable: descriptor ? descriptor.enumerable : true,
|
|
32
|
+
get: () => intended && !suppressed,
|
|
33
|
+
set: (value) => {
|
|
34
|
+
intended = value !== false;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
catch (e) {
|
|
39
|
+
console.error("Failed to install a show gate.", e);
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
const gate = {
|
|
43
|
+
get Intended() {
|
|
44
|
+
return intended;
|
|
45
|
+
},
|
|
46
|
+
get Suppressed() {
|
|
47
|
+
return suppressed;
|
|
48
|
+
},
|
|
49
|
+
SetSuppressed(value) {
|
|
50
|
+
const next = Boolean(value);
|
|
51
|
+
if (next === suppressed) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
const before = intended && !suppressed;
|
|
55
|
+
suppressed = next;
|
|
56
|
+
return (intended && !suppressed) !== before;
|
|
57
|
+
},
|
|
58
|
+
Release() {
|
|
59
|
+
try {
|
|
60
|
+
delete target[SHOW_GATE_KEY];
|
|
61
|
+
Object.defineProperty(target, "show", {
|
|
62
|
+
configurable: true,
|
|
63
|
+
enumerable: descriptor ? descriptor.enumerable : true,
|
|
64
|
+
writable: true,
|
|
65
|
+
// The intent, not the gated value: releasing must not leave something culled forever.
|
|
66
|
+
value: intended
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
catch (e) {
|
|
70
|
+
console.error("Failed to release a show gate.", e);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
Object.defineProperty(target, SHOW_GATE_KEY, {
|
|
75
|
+
value: gate,
|
|
76
|
+
configurable: true,
|
|
77
|
+
enumerable: false,
|
|
78
|
+
writable: true
|
|
79
|
+
});
|
|
80
|
+
return gate;
|
|
81
|
+
}
|
|
82
|
+
exports.InstallShowGate = InstallShowGate;
|
|
83
|
+
/**
|
|
84
|
+
* Returns the gate installed on an object, if any.
|
|
85
|
+
* @param target
|
|
86
|
+
*/
|
|
87
|
+
function GetShowGate(target) {
|
|
88
|
+
return target ? target[SHOW_GATE_KEY] : null;
|
|
89
|
+
}
|
|
90
|
+
exports.GetShowGate = GetShowGate;
|
|
91
|
+
/**
|
|
92
|
+
* Releases a gate if one is installed. Safe to call on anything.
|
|
93
|
+
* @param target
|
|
94
|
+
*/
|
|
95
|
+
function ReleaseShowGate(target) {
|
|
96
|
+
var _a;
|
|
97
|
+
(_a = GetShowGate(target)) === null || _a === void 0 ? void 0 : _a.Release();
|
|
98
|
+
}
|
|
99
|
+
exports.ReleaseShowGate = ReleaseShowGate;
|
|
100
|
+
//# sourceMappingURL=cesium-show-gate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cesium-show-gate.js","sourceRoot":"","sources":["../../../src/internal/cesium-show-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CompareCPolygonHierarchies = exports.CompareCPosses = exports.CullDuplicateCPosses = exports.ColorToCColor = exports.GetCValue = exports.OnNextCRender = void 0;
|
|
3
|
+
exports.CompareCPolygonHierarchies = exports.CompareCPosses = exports.CullDuplicateCPosses = exports.ColorToCColor = exports.SetCPropIfChanged = exports.AreCValuesEqual = exports.CanToggleShowSafely = exports.AddCEntityToScene = exports.RemoveCEntityFromScene = exports.IsCEntityInScene = exports.GetCEntityCollection = exports.WithSuspendedCCollections = exports.IsCCollectionOwned = exports.MarkCCollectionOwned = exports.GetCValue = exports.OnNextCRender = void 0;
|
|
4
4
|
const bruce_models_1 = require("bruce-models");
|
|
5
5
|
const Cesium = require("cesium");
|
|
6
6
|
function OnNextCRender(viewer, callback) {
|
|
@@ -21,6 +21,212 @@ function GetCValue(viewer, obj) {
|
|
|
21
21
|
return obj;
|
|
22
22
|
}
|
|
23
23
|
exports.GetCValue = GetCValue;
|
|
24
|
+
/*
|
|
25
|
+
* Marks an EntityCollection as one this library created and fully controls (a menu item's own data source).
|
|
26
|
+
*/
|
|
27
|
+
const OWNED_CCOLLECTION_KEY = "_bruceOwnedCollection";
|
|
28
|
+
function MarkCCollectionOwned(collection) {
|
|
29
|
+
if (collection) {
|
|
30
|
+
collection[OWNED_CCOLLECTION_KEY] = true;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.MarkCCollectionOwned = MarkCCollectionOwned;
|
|
34
|
+
function IsCCollectionOwned(collection) {
|
|
35
|
+
return Boolean(collection && collection[OWNED_CCOLLECTION_KEY]);
|
|
36
|
+
}
|
|
37
|
+
exports.IsCCollectionOwned = IsCCollectionOwned;
|
|
38
|
+
/**
|
|
39
|
+
* Runs a bulk collection mutation with every given collection's events suspended, so Cesium raises one
|
|
40
|
+
* collectionChanged per collection for the whole pass instead of one per entity.
|
|
41
|
+
*
|
|
42
|
+
* Takes a set of collections rather than assuming `viewer.entities`, because managed visuals live in their menu
|
|
43
|
+
* item's own data source: suspending the wrong collection silently does nothing.
|
|
44
|
+
* @param collections Duplicates and empty entries are ignored.
|
|
45
|
+
* @param run
|
|
46
|
+
*/
|
|
47
|
+
function WithSuspendedCCollections(collections, run) {
|
|
48
|
+
const unique = [];
|
|
49
|
+
for (const collection of collections) {
|
|
50
|
+
if (collection && unique.indexOf(collection) === -1) {
|
|
51
|
+
unique.push(collection);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
for (const collection of unique) {
|
|
55
|
+
collection.suspendEvents();
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
return run();
|
|
59
|
+
}
|
|
60
|
+
finally {
|
|
61
|
+
for (const collection of unique) {
|
|
62
|
+
try {
|
|
63
|
+
collection.resumeEvents();
|
|
64
|
+
}
|
|
65
|
+
catch (e) {
|
|
66
|
+
console.error(e);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.WithSuspendedCCollections = WithSuspendedCCollections;
|
|
72
|
+
/**
|
|
73
|
+
* Returns the collection a graphic belongs to, falling back to the viewer's own when it has never been added.
|
|
74
|
+
* @param viewer
|
|
75
|
+
* @param entity
|
|
76
|
+
*/
|
|
77
|
+
function GetCEntityCollection(viewer, entity) {
|
|
78
|
+
const owner = entity === null || entity === void 0 ? void 0 : entity.entityCollection;
|
|
79
|
+
return owner ? owner : viewer === null || viewer === void 0 ? void 0 : viewer.entities;
|
|
80
|
+
}
|
|
81
|
+
exports.GetCEntityCollection = GetCEntityCollection;
|
|
82
|
+
/**
|
|
83
|
+
* Returns whether a graphic is currently in the scene, looking in whichever collection owns it.
|
|
84
|
+
* @param viewer
|
|
85
|
+
* @param entity
|
|
86
|
+
*/
|
|
87
|
+
function IsCEntityInScene(viewer, entity) {
|
|
88
|
+
const collection = GetCEntityCollection(viewer, entity);
|
|
89
|
+
return Boolean(collection && entity && collection.contains(entity));
|
|
90
|
+
}
|
|
91
|
+
exports.IsCEntityInScene = IsCEntityInScene;
|
|
92
|
+
/**
|
|
93
|
+
* Removes a graphic from whichever collection owns it. Returns whether it removed anything.
|
|
94
|
+
* @param viewer
|
|
95
|
+
* @param entity
|
|
96
|
+
*/
|
|
97
|
+
function RemoveCEntityFromScene(viewer, entity) {
|
|
98
|
+
var _a;
|
|
99
|
+
if (!entity) {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
const collection = GetCEntityCollection(viewer, entity);
|
|
103
|
+
if (collection === null || collection === void 0 ? void 0 : collection.contains(entity)) {
|
|
104
|
+
return collection.remove(entity);
|
|
105
|
+
}
|
|
106
|
+
// A stale owner reference and the graphic ended up in the viewer's collection anyway.
|
|
107
|
+
if (collection !== (viewer === null || viewer === void 0 ? void 0 : viewer.entities) && ((_a = viewer === null || viewer === void 0 ? void 0 : viewer.entities) === null || _a === void 0 ? void 0 : _a.contains(entity))) {
|
|
108
|
+
return viewer.entities.remove(entity);
|
|
109
|
+
}
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
exports.RemoveCEntityFromScene = RemoveCEntityFromScene;
|
|
113
|
+
/**
|
|
114
|
+
* Adds a graphic back into whichever collection owns it, or the viewer's if it has no owner yet.
|
|
115
|
+
* @param viewer
|
|
116
|
+
* @param entity
|
|
117
|
+
*/
|
|
118
|
+
function AddCEntityToScene(viewer, entity, fallbackCollection) {
|
|
119
|
+
if (!entity) {
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
// An existing owner always wins, so a graphic is never migrated out from under whoever holds it.
|
|
123
|
+
const owner = entity.entityCollection;
|
|
124
|
+
const collection = owner ? owner : (fallbackCollection ? fallbackCollection : viewer === null || viewer === void 0 ? void 0 : viewer.entities);
|
|
125
|
+
if (!collection || collection.contains(entity)) {
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
collection.add(entity);
|
|
129
|
+
return true;
|
|
130
|
+
}
|
|
131
|
+
exports.AddCEntityToScene = AddCEntityToScene;
|
|
132
|
+
/**
|
|
133
|
+
* Returns whether toggling `show` on these graphics is safe, rather than having to add/remove them from the
|
|
134
|
+
* entity collection to hide them.
|
|
135
|
+
*
|
|
136
|
+
* Toggling show is far cheaper than re-adding the graphic to the viewer however a Cesium bug means we can't always use it.
|
|
137
|
+
* See: https://github.com/CesiumGS/cesium/issues/9370
|
|
138
|
+
* @param parts The graphic and any sibling graphics, eg. from EntityUtils.GatherEntity.
|
|
139
|
+
*/
|
|
140
|
+
function CanToggleShowSafely(parts) {
|
|
141
|
+
if (!(parts === null || parts === void 0 ? void 0 : parts.length)) {
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
for (const part of parts) {
|
|
145
|
+
if (!(part instanceof Cesium.Entity)) {
|
|
146
|
+
// Not an Entity, so not something whose `show` we can drive.
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
149
|
+
if (part.polyline && isTruthyCValue(part.polyline.clampToGround)) {
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
const materialGraphics = [part.polygon, part.corridor, part.ellipse, part.rectangle, part.wall, part.polylineVolume];
|
|
153
|
+
for (const graphic of materialGraphics) {
|
|
154
|
+
if (graphic && !isPlainColorMaterial(graphic.material)) {
|
|
155
|
+
return false;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return true;
|
|
160
|
+
}
|
|
161
|
+
exports.CanToggleShowSafely = CanToggleShowSafely;
|
|
162
|
+
/**
|
|
163
|
+
* Returns whether a material is a plain colour, which is what keeps a graphic out of Cesium's per-material batches.
|
|
164
|
+
* Anything unrecognised counts as not plain, so callers stay on the conservative side.
|
|
165
|
+
* @param material
|
|
166
|
+
*/
|
|
167
|
+
function isPlainColorMaterial(material) {
|
|
168
|
+
if (material == null) {
|
|
169
|
+
// Cesium defaults an absent material to white, a plain colour.
|
|
170
|
+
return true;
|
|
171
|
+
}
|
|
172
|
+
return material instanceof Cesium.ColorMaterialProperty || material instanceof Cesium.Color;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Resolves a possibly-property boolean without needing a viewer clock, treating anything undeterminable as true
|
|
176
|
+
* so callers stay on the conservative side.
|
|
177
|
+
* @param value
|
|
178
|
+
*/
|
|
179
|
+
function isTruthyCValue(value) {
|
|
180
|
+
if (value == null) {
|
|
181
|
+
return false;
|
|
182
|
+
}
|
|
183
|
+
if (typeof value.getValue === "function") {
|
|
184
|
+
if (value instanceof Cesium.ConstantProperty) {
|
|
185
|
+
return Boolean(value.valueOf());
|
|
186
|
+
}
|
|
187
|
+
// A non-constant property could be true at any moment, so assume it is.
|
|
188
|
+
return true;
|
|
189
|
+
}
|
|
190
|
+
return Boolean(value);
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Returns if two resolved Cesium property values are equal, using the value's own equals() when it has one.
|
|
194
|
+
* @param a
|
|
195
|
+
* @param b
|
|
196
|
+
*/
|
|
197
|
+
function AreCValuesEqual(a, b) {
|
|
198
|
+
if (a === b) {
|
|
199
|
+
return true;
|
|
200
|
+
}
|
|
201
|
+
// One side is null/undefined and the other isn't.
|
|
202
|
+
if (a == null || b == null) {
|
|
203
|
+
return false;
|
|
204
|
+
}
|
|
205
|
+
if (typeof a.equals === "function") {
|
|
206
|
+
return a.equals(b) === true;
|
|
207
|
+
}
|
|
208
|
+
return false;
|
|
209
|
+
}
|
|
210
|
+
exports.AreCValuesEqual = AreCValuesEqual;
|
|
211
|
+
/**
|
|
212
|
+
* Wraps a value in a ConstantProperty and assigns it to a graphic's property, but only when the resolved
|
|
213
|
+
* value actually differs. Returns whether it assigned.
|
|
214
|
+
* @param params
|
|
215
|
+
*/
|
|
216
|
+
function SetCPropIfChanged(params) {
|
|
217
|
+
const { viewer, graphic, property, value, compare } = params;
|
|
218
|
+
if (!graphic) {
|
|
219
|
+
return false;
|
|
220
|
+
}
|
|
221
|
+
const oldValue = GetCValue(viewer, graphic[property]);
|
|
222
|
+
const isEqual = compare ? compare(oldValue, value) : AreCValuesEqual(oldValue, value);
|
|
223
|
+
if (isEqual) {
|
|
224
|
+
return false;
|
|
225
|
+
}
|
|
226
|
+
graphic[property] = new Cesium.ConstantProperty(value);
|
|
227
|
+
return true;
|
|
228
|
+
}
|
|
229
|
+
exports.SetCPropIfChanged = SetCPropIfChanged;
|
|
24
230
|
function ColorToCColor(color) {
|
|
25
231
|
return new Cesium.Color(color.red ? color.red / 255 : 0, color.green ? color.green / 255 : 0, color.blue ? color.blue / 255 : 0, color.alpha);
|
|
26
232
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cesium-utils.js","sourceRoot":"","sources":["../../../src/internal/cesium-utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cesium-utils.js","sourceRoot":"","sources":["../../../src/internal/cesium-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EnsureNumber = void 0;
|
|
3
|
+
exports.IsUsableEntityName = exports.GetUsableEntityName = exports.EnsureNumber = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Ensures a number is returned from a given value.
|
|
6
6
|
* If given value cannot be parsed it will return defaultNum.
|
|
@@ -19,4 +19,28 @@ function EnsureNumber(value, defaultNum) {
|
|
|
19
19
|
return value;
|
|
20
20
|
}
|
|
21
21
|
exports.EnsureNumber = EnsureNumber;
|
|
22
|
+
/**
|
|
23
|
+
* Returns an entity's own name when it is good enough to use as-is, or null when it has to be resolved properly.
|
|
24
|
+
* @param entity
|
|
25
|
+
*/
|
|
26
|
+
function GetUsableEntityName(entity) {
|
|
27
|
+
var _a;
|
|
28
|
+
return IsUsableEntityName((_a = entity === null || entity === void 0 ? void 0 : entity.Bruce) === null || _a === void 0 ? void 0 : _a.Name) ? String(entity.Bruce.Name).trim() : null;
|
|
29
|
+
}
|
|
30
|
+
exports.GetUsableEntityName = GetUsableEntityName;
|
|
31
|
+
/**
|
|
32
|
+
* Returns whether a name is a real one rather than empty or a placeholder.
|
|
33
|
+
* @param name
|
|
34
|
+
*/
|
|
35
|
+
function IsUsableEntityName(name) {
|
|
36
|
+
if (typeof name !== "string") {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
const trimmed = name.trim();
|
|
40
|
+
if (!trimmed) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
return !trimmed.toLowerCase().includes("unnamed");
|
|
44
|
+
}
|
|
45
|
+
exports.IsUsableEntityName = IsUsableEntityName;
|
|
22
46
|
//# sourceMappingURL=js-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js-utils.js","sourceRoot":"","sources":["../../../src/internal/js-utils.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,KAAU,EAAE,UAAmB;IACxD,IAAI,CAAC,UAAU,EAAE;QACb,UAAU,GAAG,CAAC,CAAC;KAClB;IACD,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACtB,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;QACd,OAAO,UAAU,CAAC;KACrB;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AATD,oCASC"}
|
|
1
|
+
{"version":3,"file":"js-utils.js","sourceRoot":"","sources":["../../../src/internal/js-utils.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,KAAU,EAAE,UAAmB;IACxD,IAAI,CAAC,UAAU,EAAE;QACb,UAAU,GAAG,CAAC,CAAC;KAClB;IACD,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACtB,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;QACd,OAAO,UAAU,CAAC;KACrB;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AATD,oCASC;AACD;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,MAAW;;IAC3C,OAAO,kBAAkB,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7F,CAAC;AAFD,kDAEC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,IAAS;IACxC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC1B,OAAO,KAAK,CAAC;KAChB;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE;QACV,OAAO,KAAK,CAAC;KAChB;IACD,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACtD,CAAC;AATD,gDASC"}
|
|
@@ -5,6 +5,7 @@ const Cesium = require("cesium");
|
|
|
5
5
|
const entity_render_engine_1 = require("./entity-render-engine");
|
|
6
6
|
const cesium_animated_property_1 = require("./cesium-animated-property");
|
|
7
7
|
const entity_utils_1 = require("../utils/entity-utils");
|
|
8
|
+
const cesium_utils_1 = require("../internal/cesium-utils");
|
|
8
9
|
function getColor(viewer, obj) {
|
|
9
10
|
let value = null;
|
|
10
11
|
if (obj === null || obj === void 0 ? void 0 : obj.getValue) {
|
|
@@ -22,8 +23,72 @@ function getColor(viewer, obj) {
|
|
|
22
23
|
}
|
|
23
24
|
return value;
|
|
24
25
|
}
|
|
26
|
+
const pendingRemovalsByViewer = new WeakMap();
|
|
27
|
+
function scheduleEntityRemoval(viewer, entity) {
|
|
28
|
+
let pending = pendingRemovalsByViewer.get(viewer);
|
|
29
|
+
if (!pending) {
|
|
30
|
+
pending = { entities: new Set(), hook: null };
|
|
31
|
+
pendingRemovalsByViewer.set(viewer, pending);
|
|
32
|
+
}
|
|
33
|
+
pending.entities.add(entity);
|
|
34
|
+
if (pending.hook) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
pending.hook = viewer.scene.postRender.addEventListener(() => {
|
|
38
|
+
var _a;
|
|
39
|
+
(_a = pending.hook) === null || _a === void 0 ? void 0 : _a.call(pending);
|
|
40
|
+
pending.hook = null;
|
|
41
|
+
const batch = Array.from(pending.entities);
|
|
42
|
+
pending.entities.clear();
|
|
43
|
+
if (!batch.length) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
(0, cesium_utils_1.WithSuspendedCCollections)(batch.map(x => (0, cesium_utils_1.GetCEntityCollection)(viewer, x)), () => {
|
|
47
|
+
for (const item of batch) {
|
|
48
|
+
try {
|
|
49
|
+
entity_render_engine_1.EntityRenderEngine.Remove({
|
|
50
|
+
viewer,
|
|
51
|
+
entity: item
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
catch (e) {
|
|
55
|
+
console.error(e);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
}
|
|
25
61
|
var CesiumAnimatedInOut;
|
|
26
62
|
(function (CesiumAnimatedInOut) {
|
|
63
|
+
/**
|
|
64
|
+
* Runs any removals already queued for this viewer immediately, instead of waiting for the next render.
|
|
65
|
+
* For teardown paths that need the scene emptied synchronously.
|
|
66
|
+
*/
|
|
67
|
+
function FlushPendingRemovals(viewer) {
|
|
68
|
+
var _a;
|
|
69
|
+
const pending = pendingRemovalsByViewer.get(viewer);
|
|
70
|
+
if (!(pending === null || pending === void 0 ? void 0 : pending.entities.size)) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
const batch = Array.from(pending.entities);
|
|
74
|
+
pending.entities.clear();
|
|
75
|
+
(_a = pending.hook) === null || _a === void 0 ? void 0 : _a.call(pending);
|
|
76
|
+
pending.hook = null;
|
|
77
|
+
(0, cesium_utils_1.WithSuspendedCCollections)(batch.map(x => (0, cesium_utils_1.GetCEntityCollection)(viewer, x)), () => {
|
|
78
|
+
for (const item of batch) {
|
|
79
|
+
try {
|
|
80
|
+
entity_render_engine_1.EntityRenderEngine.Remove({
|
|
81
|
+
viewer,
|
|
82
|
+
entity: item
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
catch (e) {
|
|
86
|
+
console.error(e);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
CesiumAnimatedInOut.FlushPendingRemovals = FlushPendingRemovals;
|
|
27
92
|
/**
|
|
28
93
|
* Animates an Entity out of the scene.
|
|
29
94
|
* Removes it from the scene at the end of the animation.
|
|
@@ -42,13 +107,7 @@ var CesiumAnimatedInOut;
|
|
|
42
107
|
return;
|
|
43
108
|
}
|
|
44
109
|
removed = true;
|
|
45
|
-
|
|
46
|
-
removal();
|
|
47
|
-
entity_render_engine_1.EntityRenderEngine.Remove({
|
|
48
|
-
viewer,
|
|
49
|
-
entity
|
|
50
|
-
});
|
|
51
|
-
});
|
|
110
|
+
scheduleEntityRemoval(viewer, entity);
|
|
52
111
|
};
|
|
53
112
|
for (let i = 0; i < pieces.length; i++) {
|
|
54
113
|
const piece = pieces[i];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cesium-animated-in-out.js","sourceRoot":"","sources":["../../../src/rendering/cesium-animated-in-out.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AACjC,iEAA4D;AAC5D,yEAAoE;AACpE,wDAAoD;
|
|
1
|
+
{"version":3,"file":"cesium-animated-in-out.js","sourceRoot":"","sources":["../../../src/rendering/cesium-animated-in-out.ts"],"names":[],"mappings":"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"}
|
|
@@ -92,8 +92,8 @@ var EntityRenderEngineModel3d;
|
|
|
92
92
|
// We'll remove all that aren't in the allowed (direct) list.
|
|
93
93
|
for (let i = 0; i < parts.length - 1; i++) {
|
|
94
94
|
const part = parts[i];
|
|
95
|
-
if (part && part instanceof Cesium.Entity &&
|
|
96
|
-
params.viewer
|
|
95
|
+
if (part && part instanceof Cesium.Entity && !cEntity._siblingGraphics.includes(part)) {
|
|
96
|
+
(0, cesium_utils_1.RemoveCEntityFromScene)(params.viewer, part);
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
if (cEntity._parentEntity) {
|
|
@@ -587,7 +587,7 @@ var EntityRenderEngineModel3d;
|
|
|
587
587
|
// De-dupe the tag IDs.
|
|
588
588
|
tagIds = Array.from(new Set(tagIds));
|
|
589
589
|
// Request if at least one then create a quick lookup map for tags.
|
|
590
|
-
const tags = tagIds.length > 0 ? (await bruce_models_1.EntityTag.GetListByIds({
|
|
590
|
+
const tags = (!params.offline && tagIds.length > 0) ? (await bruce_models_1.EntityTag.GetListByIds({
|
|
591
591
|
api,
|
|
592
592
|
tagIds
|
|
593
593
|
})).tags : [];
|
|
@@ -599,7 +599,7 @@ var EntityRenderEngineModel3d;
|
|
|
599
599
|
for (let i = 0; i < params.entities.length; i++) {
|
|
600
600
|
const entity = params.entities[i];
|
|
601
601
|
const zoomItem = params.zoomItems[entity.Bruce.ID];
|
|
602
|
-
const style = zoomItem.StyleID != -1 ? (_a = (await getStyle(api, entity, zoomItem.StyleID))) === null || _a === void 0 ? void 0 : _a.Settings : zoomItem.Style;
|
|
602
|
+
const style = (!params.offline && zoomItem.StyleID != -1) ? (_a = (await getStyle(api, entity, zoomItem.StyleID))) === null || _a === void 0 ? void 0 : _a.Settings : zoomItem.Style;
|
|
603
603
|
// Pass through tags that may be needed for styling.
|
|
604
604
|
const tagIds = entity.Bruce["Layer.ID"];
|
|
605
605
|
const tags = [];
|
|
@@ -638,8 +638,8 @@ var EntityRenderEngineModel3d;
|
|
|
638
638
|
for (let i = 0; i < params.entities.length; i++) {
|
|
639
639
|
const entity = params.entities[i];
|
|
640
640
|
const zoomItem = params.zoomItems[entity.Bruce.ID];
|
|
641
|
-
const styleRecord = zoomItem.StyleID != -1 ? (await getStyle(api, entity, zoomItem.StyleID)) : null;
|
|
642
|
-
const style = zoomItem.StyleID != -1 ? styleRecord === null || styleRecord === void 0 ? void 0 : styleRecord.Settings : zoomItem.Style;
|
|
641
|
+
const styleRecord = (!params.offline && zoomItem.StyleID != -1) ? (await getStyle(api, entity, zoomItem.StyleID)) : null;
|
|
642
|
+
const style = (!params.offline && zoomItem.StyleID != -1) ? styleRecord === null || styleRecord === void 0 ? void 0 : styleRecord.Settings : zoomItem.Style;
|
|
643
643
|
const lod = lodData.find(x => x.entityId == entity.Bruce.ID);
|
|
644
644
|
if (!(lod === null || lod === void 0 ? void 0 : lod.clientFileId)) {
|
|
645
645
|
continue;
|
|
@@ -685,7 +685,7 @@ var EntityRenderEngineModel3d;
|
|
|
685
685
|
rego: rego
|
|
686
686
|
});
|
|
687
687
|
if (cEntity) {
|
|
688
|
-
const name = await getName(api, entity);
|
|
688
|
+
const name = await getName(api, entity, params.offline);
|
|
689
689
|
cEntity.name = name;
|
|
690
690
|
cEntity._renderGroup = entity_render_engine_1.EntityRenderEngine.GetRenderGroupId(zoomItem);
|
|
691
691
|
cEntity.styleId = zoomItem.StyleID == -1 ? -1 : styleRecord === null || styleRecord === void 0 ? void 0 : styleRecord.ID;
|
|
@@ -711,7 +711,16 @@ function getHeightRef(style, defaultStyle) {
|
|
|
711
711
|
}
|
|
712
712
|
return heightRef;
|
|
713
713
|
}
|
|
714
|
-
async function getName(api, entity) {
|
|
714
|
+
async function getName(api, entity, offline) {
|
|
715
|
+
var _a;
|
|
716
|
+
const ownName = (0, js_utils_1.GetUsableEntityName)(entity);
|
|
717
|
+
if (ownName) {
|
|
718
|
+
return ownName;
|
|
719
|
+
}
|
|
720
|
+
if (offline) {
|
|
721
|
+
// Anything further needs a request, so offline callers take what the entity carries, placeholder or not.
|
|
722
|
+
return ((_a = entity === null || entity === void 0 ? void 0 : entity.Bruce) === null || _a === void 0 ? void 0 : _a.Name) || "Unnamed Entity";
|
|
723
|
+
}
|
|
715
724
|
try {
|
|
716
725
|
const typeId = entity.Bruce["EntityType.ID"];
|
|
717
726
|
let type = null;
|