bruce-cesium 3.2.3 → 3.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.
@@ -0,0 +1,606 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CesiumEntityStyler = void 0;
4
+ var Cesium = require("cesium");
5
+ var entity_utils_1 = require("./entity-utils");
6
+ /**
7
+ * Returns if a given visual can be styled by this utility.
8
+ * @param viewer
9
+ * @param visual
10
+ * @returns
11
+ */
12
+ function isAlive(viewer, visual) {
13
+ if (!(viewer === null || viewer === void 0 ? void 0 : viewer.scene) || viewer.isDestroyed()) {
14
+ return false;
15
+ }
16
+ if (visual instanceof Cesium.Entity) {
17
+ return true;
18
+ }
19
+ else if (visual instanceof Cesium.Primitive) {
20
+ return true;
21
+ }
22
+ else if (visual instanceof Cesium.Cesium3DTileFeature) {
23
+ var cTileset = visual === null || visual === void 0 ? void 0 : visual.tileset;
24
+ if (!cTileset) {
25
+ return false;
26
+ }
27
+ if (cTileset.isDestroyed() || !viewer.scene.primitives.contains(cTileset)) {
28
+ return false;
29
+ }
30
+ return true;
31
+ }
32
+ return false;
33
+ }
34
+ var _selectColor = Cesium.Color.fromAlpha(Cesium.Color.YELLOW, 0.5);
35
+ var _highlightColor = Cesium.Color.fromCssColorString("#33b1ff").withAlpha(0.5);
36
+ var STORE_COLOR_PREFIX = "_storeColor_";
37
+ function getStoreKey(key) {
38
+ return STORE_COLOR_PREFIX + key;
39
+ }
40
+ ;
41
+ var STORE_KEY_STATE_PREFIX = "_storeKeyState_";
42
+ function getStoreStateKey(key) {
43
+ return STORE_KEY_STATE_PREFIX + key;
44
+ }
45
+ var LAST_APPLIED_OPACITY_KEY = "_lastAppliedOpacityKey";
46
+ /**
47
+ * Returns a color property from a graphic.
48
+ * This will turn materials properties into colors before returning them.
49
+ * @param viewer
50
+ * @param prop
51
+ * @returns
52
+ */
53
+ function getCesiumColorValue(viewer, prop) {
54
+ if (!prop) {
55
+ return Cesium.Color.WHITE;
56
+ }
57
+ if (prop.getValue) {
58
+ prop = prop.getValue(viewer.scene.lastRenderTime);
59
+ }
60
+ if (prop instanceof Cesium.Color) {
61
+ return prop;
62
+ }
63
+ var tmp = prop === null || prop === void 0 ? void 0 : prop.color;
64
+ if (tmp === null || tmp === void 0 ? void 0 : tmp.getValue) {
65
+ tmp = tmp.getValue(viewer.scene.lastRenderTime);
66
+ }
67
+ return tmp ? tmp : Cesium.Color.WHITE;
68
+ }
69
+ /**
70
+ * Returns the current color of a graphic.
71
+ * @param viewer
72
+ * @param graphic
73
+ * @returns
74
+ */
75
+ function calculateCurColor(viewer, graphic) {
76
+ var _a, _b, _c, _d, _e, _f, _g, _h;
77
+ var color;
78
+ if (graphic instanceof Cesium.Cesium3DTileFeature) {
79
+ color = (_a = graphic.color) !== null && _a !== void 0 ? _a : new Cesium.Color();
80
+ }
81
+ else if (graphic instanceof Cesium.ModelGraphics) {
82
+ color = (_b = getCesiumColorValue(viewer, graphic.color)) !== null && _b !== void 0 ? _b : new Cesium.Color();
83
+ }
84
+ else if (graphic instanceof Cesium.PolygonGraphics) {
85
+ color = (_c = getCesiumColorValue(viewer, graphic.material)) !== null && _c !== void 0 ? _c : new Cesium.Color();
86
+ }
87
+ else if (graphic instanceof Cesium.PolylineGraphics) {
88
+ color = (_d = getCesiumColorValue(viewer, graphic.material)) !== null && _d !== void 0 ? _d : new Cesium.Color();
89
+ }
90
+ else if (graphic instanceof Cesium.CorridorGraphics) {
91
+ color = (_e = getCesiumColorValue(viewer, graphic.material)) !== null && _e !== void 0 ? _e : new Cesium.Color();
92
+ }
93
+ else if (graphic instanceof Cesium.PointGraphics) {
94
+ color = (_f = getCesiumColorValue(viewer, graphic.color)) !== null && _f !== void 0 ? _f : new Cesium.Color();
95
+ }
96
+ else if (graphic instanceof Cesium.BillboardGraphics) {
97
+ color = (_g = getCesiumColorValue(viewer, graphic.color)) !== null && _g !== void 0 ? _g : new Cesium.Color();
98
+ }
99
+ else if (graphic instanceof Cesium.EllipseGraphics) {
100
+ color = (_h = getCesiumColorValue(viewer, graphic.material)) !== null && _h !== void 0 ? _h : new Cesium.Color();
101
+ }
102
+ return color;
103
+ }
104
+ /**
105
+ * Stores a copy of the color against a key within the graphic.
106
+ * This lets us refer to it later if we need to change to it.
107
+ * @param viewer
108
+ * @param key
109
+ * @param color
110
+ * @param graphic
111
+ */
112
+ function storeColor(viewer, key, color, graphic) {
113
+ graphic[getStoreKey(key)] = (color === null || color === void 0 ? void 0 : color.clone) ? color.clone() : color;
114
+ }
115
+ /**
116
+ * Returns a stored color for a graphic.
117
+ * If no color is stored, it will calculate and store the default color.
118
+ * @param viewer
119
+ * @param key
120
+ * @param graphic
121
+ * @returns
122
+ */
123
+ function getColor(viewer, key, graphic) {
124
+ var color = graphic[getStoreKey(key)];
125
+ // If no color is stored for the default color, we'll calculate and store it.
126
+ if (!color) {
127
+ if (key == "default") {
128
+ color = calculateCurColor(viewer, graphic);
129
+ }
130
+ else if (key == "select") {
131
+ color = _selectColor;
132
+ }
133
+ else if (key == "highlight") {
134
+ color = _highlightColor;
135
+ }
136
+ if (color) {
137
+ storeColor(viewer, key, color, graphic);
138
+ }
139
+ }
140
+ return color;
141
+ }
142
+ /**
143
+ * Applies opacity to current color.
144
+ * @param viewer
145
+ * @param opacity
146
+ * @param graphic
147
+ */
148
+ function applyOpacity(viewer, opacity, graphic) {
149
+ refreshColor(viewer, graphic, opacity);
150
+ }
151
+ /**
152
+ * Applies a color to a graphic based on the current key states.
153
+ * Eg: if the graphic is selected, it will apply the selected color.
154
+ * @param viewer
155
+ * @param graphic
156
+ * @param opacity
157
+ */
158
+ function refreshColor(viewer, graphic, opacity) {
159
+ var _a;
160
+ // Calculate what color key we should apply.
161
+ var key = "default";
162
+ if (getKeyState(graphic, "select")) {
163
+ key = "select";
164
+ }
165
+ else if (getKeyState(graphic, "highlight")) {
166
+ key = "highlight";
167
+ }
168
+ // This ensures that the default color is always stored prior to applying a new color.
169
+ if (key != "default") {
170
+ getColor(viewer, "default", graphic);
171
+ }
172
+ var color = (_a = getColor(viewer, key, graphic)) !== null && _a !== void 0 ? _a : Cesium.Color.WHITE;
173
+ // If we're highlighting and it's selected, don't change the color.
174
+ if (key != "highlight" || getKeyState(graphic, "select") == false) {
175
+ color = color.clone();
176
+ // Multiply opacity if one is set.
177
+ if (opacity != null) {
178
+ // Not sure if this will ever be needed.
179
+ // The original code had a null-check but I suspect it was because it may not been a Cesium color instance.
180
+ if (color.alpha == null) {
181
+ color.alpha = 1;
182
+ }
183
+ color.alpha *= opacity;
184
+ // Cesium ignores pure white so if we want opacity and it's white, we'll set a tiny blue value.
185
+ if (color.equals(Cesium.Color.WHITE)) {
186
+ color.blue = 0.0001;
187
+ }
188
+ }
189
+ if (graphic instanceof Cesium.Cesium3DTileFeature) {
190
+ graphic.color = color;
191
+ }
192
+ else if (graphic instanceof Cesium.ModelGraphics) {
193
+ graphic.color = color;
194
+ }
195
+ else if (graphic instanceof Cesium.PolygonGraphics) {
196
+ graphic.material = new Cesium.ColorMaterialProperty(color);
197
+ }
198
+ else if (graphic instanceof Cesium.PolylineGraphics) {
199
+ graphic.material = new Cesium.ColorMaterialProperty(color);
200
+ }
201
+ else if (graphic instanceof Cesium.CorridorGraphics) {
202
+ graphic.material = new Cesium.ColorMaterialProperty(color);
203
+ }
204
+ else if (graphic instanceof Cesium.PointGraphics) {
205
+ graphic.color = color;
206
+ }
207
+ else if (graphic instanceof Cesium.BillboardGraphics) {
208
+ graphic.color = color;
209
+ }
210
+ else if (graphic instanceof Cesium.EllipseGraphics) {
211
+ graphic.material = new Cesium.ColorMaterialProperty(color);
212
+ }
213
+ graphic[LAST_APPLIED_OPACITY_KEY] = opacity;
214
+ }
215
+ // Record the state of the current key.
216
+ graphic[getStoreStateKey(key)] = true;
217
+ // This means other keys are false.
218
+ if (key == "default") {
219
+ graphic[getStoreStateKey("select")] = false;
220
+ graphic[getStoreStateKey("highlight")] = false;
221
+ }
222
+ // This means 'default' is false.
223
+ else {
224
+ graphic[getStoreStateKey("default")] = false;
225
+ }
226
+ }
227
+ /**
228
+ * Returns the last applied opacity for a graphic.
229
+ * This is used to ensure that we don't lose the opacity when we change color.
230
+ * @param graphic
231
+ * @returns
232
+ */
233
+ function getAppliedOpacity(graphic) {
234
+ return isNaN(graphic[LAST_APPLIED_OPACITY_KEY]) ? null : graphic[LAST_APPLIED_OPACITY_KEY];
235
+ }
236
+ /**
237
+ * Returns the state of a key for a graphic.
238
+ * Eg: if the graphic is selected, this will return true for the select key.
239
+ * A graphic may have multiple active states, but only one color can be applied at a time.
240
+ * @param graphic
241
+ * @param key
242
+ * @returns
243
+ */
244
+ function getKeyState(graphic, key) {
245
+ var value = graphic[getStoreStateKey(key)];
246
+ return value == null ? false : value;
247
+ }
248
+ /**
249
+ * Internal utility to help with managing Cesium Entity styling.
250
+ * Do not expose this to public as it will likely be killed and replaced with something that do animated changes.
251
+ */
252
+ var CesiumEntityStyler;
253
+ (function (CesiumEntityStyler) {
254
+ function UpdateColorSetting(key, color) {
255
+ if (key == "select") {
256
+ _selectColor = color.clone();
257
+ }
258
+ else if (key == "highlight") {
259
+ _highlightColor = color.clone();
260
+ }
261
+ }
262
+ CesiumEntityStyler.UpdateColorSetting = UpdateColorSetting;
263
+ /**
264
+ * Updates the opacity of the graphic.
265
+ * This will multiply against the current colour's opacity before applying.
266
+ * @param params
267
+ * @returns
268
+ */
269
+ function SetOpacity(params) {
270
+ var viewer = params.viewer, entity = params.entity, opacity = params.opacity, requestRender = params.requestRender;
271
+ if (!entity) {
272
+ return;
273
+ }
274
+ var parts = entity_utils_1.EntityUtils.GatherEntity({
275
+ entity: entity
276
+ });
277
+ for (var i = 0; i < parts.length; i++) {
278
+ var part = parts[i];
279
+ if (!isAlive(viewer, part)) {
280
+ continue;
281
+ }
282
+ if (part instanceof Cesium.Cesium3DTileFeature) {
283
+ applyOpacity(viewer, opacity, part);
284
+ }
285
+ else if (part instanceof Cesium.Entity) {
286
+ if (part.billboard) {
287
+ applyOpacity(viewer, opacity, part.billboard);
288
+ }
289
+ if (part.model) {
290
+ applyOpacity(viewer, opacity, part.model);
291
+ }
292
+ if (part.polyline) {
293
+ applyOpacity(viewer, opacity, part.polyline);
294
+ }
295
+ if (part.polygon) {
296
+ applyOpacity(viewer, opacity, part.polygon);
297
+ }
298
+ if (part.corridor) {
299
+ applyOpacity(viewer, opacity, part.corridor);
300
+ }
301
+ if (part.point) {
302
+ applyOpacity(viewer, opacity, part.point);
303
+ }
304
+ if (part.ellipse) {
305
+ applyOpacity(viewer, opacity, part.ellipse);
306
+ }
307
+ }
308
+ }
309
+ if (requestRender != false) {
310
+ viewer.scene.requestRender();
311
+ }
312
+ }
313
+ CesiumEntityStyler.SetOpacity = SetOpacity;
314
+ /**
315
+ * Returns the opacity of a graphic.
316
+ * This will return the last applied opacity. If no opacity has been applied, it will return null.
317
+ * @param params
318
+ */
319
+ function GetOpacity(params) {
320
+ var entity = params.entity;
321
+ if (!entity) {
322
+ return null;
323
+ }
324
+ var parts = entity_utils_1.EntityUtils.GatherEntity({
325
+ entity: entity
326
+ });
327
+ for (var i = 0; i < parts.length; i++) {
328
+ var part = parts[i];
329
+ if (part instanceof Cesium.Cesium3DTileFeature) {
330
+ return getAppliedOpacity(part);
331
+ }
332
+ else if (part instanceof Cesium.Entity) {
333
+ if (part.billboard) {
334
+ return getAppliedOpacity(part.billboard);
335
+ }
336
+ if (part.model) {
337
+ return getAppliedOpacity(part.model);
338
+ }
339
+ if (part.polyline) {
340
+ return getAppliedOpacity(part.polyline);
341
+ }
342
+ if (part.polygon) {
343
+ return getAppliedOpacity(part.polygon);
344
+ }
345
+ if (part.corridor) {
346
+ return getAppliedOpacity(part.corridor);
347
+ }
348
+ if (part.point) {
349
+ return getAppliedOpacity(part.point);
350
+ }
351
+ if (part.ellipse) {
352
+ return getAppliedOpacity(part.ellipse);
353
+ }
354
+ }
355
+ }
356
+ return null;
357
+ }
358
+ CesiumEntityStyler.GetOpacity = GetOpacity;
359
+ /**
360
+ * Clears the opacity from a graphic and refreshes it.
361
+ * Eg: if it is selected it will change the color to the selected color with the original selection opacity.
362
+ * @param params
363
+ */
364
+ function ClearOpacity(params) {
365
+ SetOpacity({
366
+ viewer: params.viewer,
367
+ entity: params.entity,
368
+ opacity: null,
369
+ requestRender: params.requestRender
370
+ });
371
+ }
372
+ CesiumEntityStyler.ClearOpacity = ClearOpacity;
373
+ /**
374
+ * Selects a graphic and refreshes it.
375
+ * @param params
376
+ */
377
+ function Select(params) {
378
+ var viewer = params.viewer, entity = params.entity, requestRender = params.requestRender;
379
+ if (!entity) {
380
+ return;
381
+ }
382
+ var parts = entity_utils_1.EntityUtils.GatherEntity({
383
+ entity: entity
384
+ });
385
+ for (var i = 0; i < parts.length; i++) {
386
+ var part = parts[i];
387
+ if (!isAlive(viewer, part)) {
388
+ continue;
389
+ }
390
+ if (part instanceof Cesium.Cesium3DTileFeature) {
391
+ var opacity = getAppliedOpacity(part);
392
+ part[getStoreStateKey("select")] = true;
393
+ refreshColor(viewer, part, opacity);
394
+ }
395
+ else if (part instanceof Cesium.Entity) {
396
+ if (part.billboard) {
397
+ part.billboard[getStoreStateKey("select")] = true;
398
+ refreshColor(viewer, part.billboard, getAppliedOpacity(part.billboard));
399
+ }
400
+ if (part.model) {
401
+ part.model[getStoreStateKey("select")] = true;
402
+ refreshColor(viewer, part.model, getAppliedOpacity(part.model));
403
+ }
404
+ if (part.polyline) {
405
+ part.polyline[getStoreStateKey("select")] = true;
406
+ refreshColor(viewer, part.polyline, getAppliedOpacity(part.polyline));
407
+ }
408
+ if (part.polygon) {
409
+ part.polygon[getStoreStateKey("select")] = true;
410
+ refreshColor(viewer, part.polygon, getAppliedOpacity(part.polygon));
411
+ }
412
+ if (part.corridor) {
413
+ part.corridor[getStoreStateKey("select")] = true;
414
+ refreshColor(viewer, part.corridor, getAppliedOpacity(part.corridor));
415
+ }
416
+ if (part.point) {
417
+ part.point[getStoreStateKey("select")] = true;
418
+ refreshColor(viewer, part.point, getAppliedOpacity(part.point));
419
+ }
420
+ if (part.ellipse) {
421
+ part.ellipse[getStoreStateKey("select")] = true;
422
+ refreshColor(viewer, part.ellipse, getAppliedOpacity(part.ellipse));
423
+ }
424
+ }
425
+ }
426
+ if (requestRender != false) {
427
+ viewer.scene.requestRender();
428
+ }
429
+ }
430
+ CesiumEntityStyler.Select = Select;
431
+ /**
432
+ * Deselects a graphic and refreshes it.
433
+ * If the graphic is highlighted, it will change the color to the highlighted color.
434
+ * @param params
435
+ */
436
+ function Deselect(params) {
437
+ var viewer = params.viewer, entity = params.entity, requestRender = params.requestRender;
438
+ if (!entity) {
439
+ return;
440
+ }
441
+ var parts = entity_utils_1.EntityUtils.GatherEntity({
442
+ entity: entity
443
+ });
444
+ for (var i = 0; i < parts.length; i++) {
445
+ var part = parts[i];
446
+ if (!isAlive(viewer, part)) {
447
+ continue;
448
+ }
449
+ if (part instanceof Cesium.Cesium3DTileFeature) {
450
+ var opacity = getAppliedOpacity(part);
451
+ part[getStoreStateKey("select")] = false;
452
+ refreshColor(viewer, part, opacity);
453
+ }
454
+ else if (part instanceof Cesium.Entity) {
455
+ if (part.billboard) {
456
+ part.billboard[getStoreStateKey("select")] = false;
457
+ refreshColor(viewer, part.billboard, getAppliedOpacity(part.billboard));
458
+ }
459
+ if (part.model) {
460
+ part.model[getStoreStateKey("select")] = false;
461
+ refreshColor(viewer, part.model, getAppliedOpacity(part.model));
462
+ }
463
+ if (part.polyline) {
464
+ part.polyline[getStoreStateKey("select")] = false;
465
+ refreshColor(viewer, part.polyline, getAppliedOpacity(part.polyline));
466
+ }
467
+ if (part.polygon) {
468
+ part.polygon[getStoreStateKey("select")] = false;
469
+ refreshColor(viewer, part.polygon, getAppliedOpacity(part.polygon));
470
+ }
471
+ if (part.corridor) {
472
+ part.corridor[getStoreStateKey("select")] = false;
473
+ refreshColor(viewer, part.corridor, getAppliedOpacity(part.corridor));
474
+ }
475
+ if (part.point) {
476
+ part.point[getStoreStateKey("select")] = false;
477
+ refreshColor(viewer, part.point, getAppliedOpacity(part.point));
478
+ }
479
+ if (part.ellipse) {
480
+ part.ellipse[getStoreStateKey("select")] = false;
481
+ refreshColor(viewer, part.ellipse, getAppliedOpacity(part.ellipse));
482
+ }
483
+ }
484
+ }
485
+ if (requestRender != false) {
486
+ viewer.scene.requestRender();
487
+ }
488
+ }
489
+ CesiumEntityStyler.Deselect = Deselect;
490
+ /**
491
+ * Highlights a graphic and refreshes it.
492
+ * If the graphic is selected, it will not change the color.
493
+ * @param params
494
+ */
495
+ function Highlight(params) {
496
+ var viewer = params.viewer, entity = params.entity, requestRender = params.requestRender;
497
+ if (!entity) {
498
+ return;
499
+ }
500
+ var parts = entity_utils_1.EntityUtils.GatherEntity({
501
+ entity: entity
502
+ });
503
+ for (var i = 0; i < parts.length; i++) {
504
+ var part = parts[i];
505
+ if (!isAlive(viewer, part)) {
506
+ continue;
507
+ }
508
+ if (part instanceof Cesium.Cesium3DTileFeature) {
509
+ part[getStoreStateKey("highlight")] = true;
510
+ refreshColor(viewer, part, getAppliedOpacity(part));
511
+ }
512
+ else if (part instanceof Cesium.Entity) {
513
+ if (part.billboard) {
514
+ part.billboard[getStoreStateKey("highlight")] = true;
515
+ refreshColor(viewer, part.billboard, getAppliedOpacity(part.billboard));
516
+ }
517
+ if (part.model) {
518
+ part.model[getStoreStateKey("highlight")] = true;
519
+ refreshColor(viewer, part.model, getAppliedOpacity(part.model));
520
+ }
521
+ if (part.polyline) {
522
+ part.polyline[getStoreStateKey("highlight")] = true;
523
+ refreshColor(viewer, part.polyline, getAppliedOpacity(part.polyline));
524
+ }
525
+ if (part.polygon) {
526
+ part.polygon[getStoreStateKey("highlight")] = true;
527
+ refreshColor(viewer, part.polygon, getAppliedOpacity(part.polygon));
528
+ }
529
+ if (part.corridor) {
530
+ part.corridor[getStoreStateKey("highlight")] = true;
531
+ refreshColor(viewer, part.corridor, getAppliedOpacity(part.corridor));
532
+ }
533
+ if (part.point) {
534
+ part.point[getStoreStateKey("highlight")] = true;
535
+ refreshColor(viewer, part.point, getAppliedOpacity(part.point));
536
+ }
537
+ if (part.ellipse) {
538
+ part.ellipse[getStoreStateKey("highlight")] = true;
539
+ refreshColor(viewer, part.ellipse, getAppliedOpacity(part.ellipse));
540
+ }
541
+ }
542
+ }
543
+ if (requestRender != false) {
544
+ viewer.scene.requestRender();
545
+ }
546
+ }
547
+ CesiumEntityStyler.Highlight = Highlight;
548
+ /**
549
+ * Removes the highlight from a graphic and refreshes it.
550
+ * @param params
551
+ */
552
+ function Unhighlight(params) {
553
+ var viewer = params.viewer, entity = params.entity, requestRender = params.requestRender;
554
+ if (!entity) {
555
+ return;
556
+ }
557
+ var parts = entity_utils_1.EntityUtils.GatherEntity({
558
+ entity: entity
559
+ });
560
+ for (var i = 0; i < parts.length; i++) {
561
+ var part = parts[i];
562
+ if (!isAlive(viewer, part)) {
563
+ continue;
564
+ }
565
+ if (part instanceof Cesium.Cesium3DTileFeature) {
566
+ part[getStoreStateKey("highlight")] = false;
567
+ refreshColor(viewer, part, getAppliedOpacity(part));
568
+ }
569
+ else if (part instanceof Cesium.Entity) {
570
+ if (part.billboard) {
571
+ part.billboard[getStoreStateKey("highlight")] = false;
572
+ refreshColor(viewer, part.billboard, getAppliedOpacity(part.billboard));
573
+ }
574
+ if (part.model) {
575
+ part.model[getStoreStateKey("highlight")] = false;
576
+ refreshColor(viewer, part.model, getAppliedOpacity(part.model));
577
+ }
578
+ if (part.polyline) {
579
+ part.polyline[getStoreStateKey("highlight")] = false;
580
+ refreshColor(viewer, part.polyline, getAppliedOpacity(part.polyline));
581
+ }
582
+ if (part.polygon) {
583
+ part.polygon[getStoreStateKey("highlight")] = false;
584
+ refreshColor(viewer, part.polygon, getAppliedOpacity(part.polygon));
585
+ }
586
+ if (part.corridor) {
587
+ part.corridor[getStoreStateKey("highlight")] = false;
588
+ refreshColor(viewer, part.corridor, getAppliedOpacity(part.corridor));
589
+ }
590
+ if (part.point) {
591
+ part.point[getStoreStateKey("highlight")] = false;
592
+ refreshColor(viewer, part.point, getAppliedOpacity(part.point));
593
+ }
594
+ if (part.ellipse) {
595
+ part.ellipse[getStoreStateKey("highlight")] = false;
596
+ refreshColor(viewer, part.ellipse, getAppliedOpacity(part.ellipse));
597
+ }
598
+ }
599
+ }
600
+ if (requestRender != false) {
601
+ viewer.scene.requestRender();
602
+ }
603
+ }
604
+ CesiumEntityStyler.Unhighlight = Unhighlight;
605
+ })(CesiumEntityStyler = exports.CesiumEntityStyler || (exports.CesiumEntityStyler = {}));
606
+ //# sourceMappingURL=cesium-entity-styler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cesium-entity-styler.js","sourceRoot":"","sources":["../../../src/utils/cesium-entity-styler.ts"],"names":[],"mappings":"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"}