bruce-cesium 2.8.4 → 2.8.6

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.
@@ -46,5 +46,5 @@ __exportStar(require("./utils/measure-utils"), exports);
46
46
  __exportStar(require("./utils/entity-utils"), exports);
47
47
  __exportStar(require("./widgets/common/draw-3d-polygon"), exports);
48
48
  __exportStar(require("./widgets/common/draw-3d-polyline"), exports);
49
- exports.VERSION = "2.8.4";
49
+ exports.VERSION = "2.8.6";
50
50
  //# sourceMappingURL=bruce-cesium.js.map
@@ -41,6 +41,8 @@ var Cesium = require("cesium");
41
41
  var entity_utils_1 = require("../../../utils/entity-utils");
42
42
  var js_utils_1 = require("../../../internal/js-utils");
43
43
  var drawing_utils_1 = require("../../../utils/drawing-utils");
44
+ var measure_utils_1 = require("../../../utils/measure-utils");
45
+ var bruce_models_1 = require("bruce-models");
44
46
  /**
45
47
  * Returns cesium property's value.
46
48
  * This will check if it's one that changes over time, or just a fixed value.
@@ -64,28 +66,27 @@ var EntityLabel;
64
66
  EntityLabel.ATTACH_KEY = "nextspace-navigator-entity-label";
65
67
  var Label = /** @class */ (function () {
66
68
  function Label(params) {
67
- var _this = this;
69
+ var _a;
70
+ // Counter to help differentiate between createLabel calls.
71
+ this.counter = 0;
68
72
  // The label element itself.
69
73
  this.label = null;
70
74
  // Callback to kill render listener.
71
75
  this.renderRemoval = null;
76
+ // Callback to kill terrain listener.
77
+ this.terrChangedRemoval = null;
72
78
  // Indicates the label was disposed and any actions will be ignored.
73
79
  this.disposed = false;
74
- this.creating = false;
75
80
  // Calculated pos3d for the label.
76
81
  // Override to make it draw at a different position.
77
- this.pos3d = null;
82
+ this._pos3d = null;
83
+ this.prePositioned = false;
78
84
  this.rego = params.rego;
79
85
  this.viewer = params.viewer;
80
86
  this.api = params.api;
81
87
  this.visualRegister = params.visualRegister;
82
- this.creating = true;
83
- this.createCLabel(params.pos3d).then(function () {
84
- _this.creating = false;
85
- }).catch(function (e) {
86
- console.error("Failed to create label", e);
87
- _this.creating = false;
88
- });
88
+ this.prePositioned = !isNaN((_a = params.pos3d) === null || _a === void 0 ? void 0 : _a.x);
89
+ this.createLabel(params.pos3d);
89
90
  }
90
91
  Object.defineProperty(Label.prototype, "Rego", {
91
92
  get: function () {
@@ -101,9 +102,14 @@ var EntityLabel;
101
102
  enumerable: false,
102
103
  configurable: true
103
104
  });
104
- Object.defineProperty(Label.prototype, "Creating", {
105
+ Object.defineProperty(Label.prototype, "pos3d", {
105
106
  get: function () {
106
- return this.creating;
107
+ return this._pos3d;
108
+ },
109
+ set: function (val) {
110
+ this._pos3d = val;
111
+ this.prePositioned = !isNaN(val === null || val === void 0 ? void 0 : val.x);
112
+ this.createLabel(val);
107
113
  },
108
114
  enumerable: false,
109
115
  configurable: true
@@ -117,49 +123,107 @@ var EntityLabel;
117
123
  return;
118
124
  }
119
125
  this.disposed = true;
120
- if (this.label &&
121
- this.label.parentElement) {
122
- this.label.parentElement.removeChild(this.label);
123
- this.label = null;
124
- }
125
- if (this.renderRemoval) {
126
- this.renderRemoval();
127
- this.renderRemoval = null;
128
- }
126
+ this.removeLabel();
129
127
  };
130
128
  /**
131
129
  * Creates cesium entity for the label if one does not exist.
132
- * @param pos23 optional position to create label at.
130
+ * @param starterPos3d optional position to create label at. Ignored for billboard labels.
133
131
  */
134
- Label.prototype.createCLabel = function (pos3d) {
135
- var _a, _b, _c, _d, _e, _f;
132
+ Label.prototype.createLabel = function (starterPos3d) {
133
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
136
134
  return __awaiter(this, void 0, void 0, function () {
137
- var heightRef, heightOffset, pixelOffset, visual, isClamped, height, scale, featureAny, propertyNames, latProp, lonProp, lat, lon, latIsRad, lonIsRad, latIsDeg, lonIsDeg, carto, text, ele, _lastDistance, _lastCameraPos, getDistance, MAX_DISTANCE, updateLabel;
135
+ var pos3d, counter, sizeInM, heightRef, pixelOffset, visual, hierarchy, posses, centerIndex, pos1, pos2, pos3, posses, isClamped, centerIndex, size, height, scale, posses, centerIndex, text, type, e_1, ele, _lastDistance, _lastCameraPos, getDistance, MAX_DISTANCE, updateLabel, terrTimeout;
138
136
  var _this = this;
139
- return __generator(this, function (_g) {
140
- switch (_g.label) {
137
+ return __generator(this, function (_l) {
138
+ switch (_l.label) {
141
139
  case 0:
142
- if (this.label || this.disposed) {
140
+ pos3d = starterPos3d ? starterPos3d.clone() : null;
141
+ counter = ++this.counter;
142
+ if (this.disposed) {
143
143
  return [2 /*return*/];
144
144
  }
145
+ this.removeLabel();
146
+ sizeInM = 0;
145
147
  heightRef = null;
146
- heightOffset = 10;
147
- pixelOffset = new Cesium.Cartesian2(0, 0);
148
- if (!isNaN(pos3d === null || pos3d === void 0 ? void 0 : pos3d.x)) return [3 /*break*/, 3];
148
+ pixelOffset = new Cesium.Cartesian2(0, -5);
149
+ if (!isNaN(pos3d === null || pos3d === void 0 ? void 0 : pos3d.x)) {
150
+ heightRef = Cesium.HeightReference.NONE;
151
+ pixelOffset.y = -15;
152
+ }
149
153
  visual = (_a = this.rego) === null || _a === void 0 ? void 0 : _a.visual;
154
+ // If pos3d is already set we'll run through the visuals to figure out the entity's size.
155
+ // If unset then we'll use the entity's position to draw the label.
150
156
  if (visual && visual instanceof Cesium.Entity) {
151
- if (visual.polygon) {
152
- heightRef = getValue(this.viewer, visual.polygon.heightReference);
157
+ if (!this.prePositioned && visual.polygon) {
158
+ hierarchy = getValue(this.viewer, visual.polygon.hierarchy);
159
+ if ((_b = hierarchy === null || hierarchy === void 0 ? void 0 : hierarchy.positions) === null || _b === void 0 ? void 0 : _b.length) {
160
+ posses = [].concat(hierarchy.positions);
161
+ try {
162
+ sizeInM = (_c = measure_utils_1.MeasureUtils.MeasurePolygon({
163
+ posses: posses,
164
+ })) === null || _c === void 0 ? void 0 : _c.area;
165
+ if (isNaN(sizeInM)) {
166
+ sizeInM = 0;
167
+ }
168
+ }
169
+ catch (e) {
170
+ console.error("Failed to measure polygon", e);
171
+ }
172
+ if (isNaN(pos3d === null || pos3d === void 0 ? void 0 : pos3d.x)) {
173
+ heightRef = getValue(this.viewer, visual.polygon.heightReference);
174
+ if (bruce_models_1.Cartes.IsRing3Closed(posses)) {
175
+ posses.pop();
176
+ }
177
+ centerIndex = Math.floor(posses.length / 2);
178
+ if (posses.length >= 3) {
179
+ pos1 = posses[centerIndex];
180
+ pos2 = posses[0];
181
+ pos3 = posses[posses.length - 1];
182
+ if (pos1 && pos2 && pos3) {
183
+ pos3d = Cesium.Cartesian3.midpoint(pos1, pos2, new Cesium.Cartesian3());
184
+ pos3d = Cesium.Cartesian3.midpoint(pos3d, pos3, new Cesium.Cartesian3());
185
+ }
186
+ }
187
+ if (isNaN(pos3d === null || pos3d === void 0 ? void 0 : pos3d.x)) {
188
+ pos3d = posses[centerIndex];
189
+ }
190
+ }
191
+ }
153
192
  }
154
- else if (visual.polyline) {
155
- isClamped = getValue(this.viewer, visual.polyline.clampToGround);
156
- heightRef = isClamped == false ? Cesium.HeightReference.NONE : Cesium.HeightReference.CLAMP_TO_GROUND;
193
+ else if (!this.prePositioned && visual.polyline) {
194
+ posses = getValue(this.viewer, visual.polyline.positions);
195
+ if (posses === null || posses === void 0 ? void 0 : posses.length) {
196
+ if (isNaN(pos3d === null || pos3d === void 0 ? void 0 : pos3d.x)) {
197
+ isClamped = getValue(this.viewer, visual.polyline.clampToGround);
198
+ heightRef = isClamped == false ? Cesium.HeightReference.NONE : Cesium.HeightReference.CLAMP_TO_GROUND;
199
+ centerIndex = Math.floor(posses.length / 2);
200
+ pos3d = posses[centerIndex];
201
+ }
202
+ try {
203
+ sizeInM = (_d = measure_utils_1.MeasureUtils.MeasurePolyline({
204
+ posses: posses,
205
+ })) === null || _d === void 0 ? void 0 : _d.totalLength;
206
+ if (isNaN(sizeInM)) {
207
+ sizeInM = 0;
208
+ }
209
+ }
210
+ catch (e) {
211
+ console.error("Failed to measure polyline", e);
212
+ }
213
+ }
157
214
  }
158
215
  else if (visual.model) {
159
- heightRef = getValue(this.viewer, visual.model.heightReference);
216
+ if (isNaN(pos3d === null || pos3d === void 0 ? void 0 : pos3d.x)) {
217
+ heightRef = getValue(this.viewer, visual.model.heightReference);
218
+ }
160
219
  }
161
220
  else if (visual.point) {
162
221
  heightRef = getValue(this.viewer, visual.point.heightReference);
222
+ size = getValue(this.viewer, visual.point.pixelSize);
223
+ if (size) {
224
+ pixelOffset.y = -(size / 2);
225
+ pixelOffset.y -= 5;
226
+ }
163
227
  }
164
228
  else if (visual.billboard) {
165
229
  heightRef = getValue(this.viewer, visual.billboard.heightReference);
@@ -167,63 +231,57 @@ var EntityLabel;
167
231
  if (height) {
168
232
  scale = (0, js_utils_1.EnsureNumber)(getValue(this.viewer, visual.billboard.scale), 1);
169
233
  pixelOffset.y = -(height * scale);
234
+ pixelOffset.y -= 5;
170
235
  }
171
- // Flat padding.
172
- pixelOffset.y -= 5;
173
- heightOffset = 0;
174
- }
175
- else if (visual.corridor) {
176
- heightRef = getValue(this.viewer, visual.corridor.heightReference);
177
- }
178
- else if (visual.ellipse) {
179
- heightRef = getValue(this.viewer, visual.ellipse.heightReference);
180
236
  }
181
- pos3d = getValue(this.viewer, visual.position);
182
- }
183
- else if (visual instanceof Cesium.Cesium3DTileFeature) {
184
- featureAny = visual;
185
- propertyNames = featureAny.getPropertyNames ? featureAny.getPropertyNames() : (_b = featureAny.getPropertyIds) === null || _b === void 0 ? void 0 : _b.call(featureAny);
186
- if (propertyNames === null || propertyNames === void 0 ? void 0 : propertyNames.length) {
187
- latProp = propertyNames.find(function (x) { return x.toLowerCase().includes("lat"); });
188
- lonProp = propertyNames.find(function (x) { return x.toLowerCase().includes("lon"); });
189
- lat = latProp ? featureAny.getProperty(latProp) : null;
190
- lon = lonProp ? featureAny.getProperty(lonProp) : null;
191
- if (lat && lon) {
192
- latIsRad = typeof lat == "number" && lat > -Math.PI && lat < Math.PI;
193
- lonIsRad = typeof lon == "number" && lon > -Math.PI && lon < Math.PI;
194
- latIsDeg = typeof lat == "number" && lat > -180 && lat < 180;
195
- lonIsDeg = typeof lon == "number" && lon > -180 && lon < 180;
196
- if (latIsRad && lonIsRad) {
197
- pos3d = Cesium.Cartographic.toCartesian(Cesium.Cartographic.fromRadians(lon, lat, 0));
237
+ else if (!this.prePositioned && visual.corridor) {
238
+ posses = getValue(this.viewer, visual.corridor.positions);
239
+ if (posses === null || posses === void 0 ? void 0 : posses.length) {
240
+ if (isNaN(pos3d === null || pos3d === void 0 ? void 0 : pos3d.x)) {
241
+ heightRef = getValue(this.viewer, visual.corridor.heightReference);
242
+ centerIndex = Math.floor(posses.length / 2);
243
+ pos3d = posses[centerIndex];
198
244
  }
199
- else if (latIsDeg && lonIsDeg) {
200
- pos3d = Cesium.Cartographic.toCartesian(Cesium.Cartographic.fromDegrees(lon, lat, 0));
245
+ try {
246
+ sizeInM = (_e = measure_utils_1.MeasureUtils.MeasurePolyline({
247
+ posses: posses,
248
+ })) === null || _e === void 0 ? void 0 : _e.totalLength;
249
+ if (isNaN(sizeInM)) {
250
+ sizeInM = 0;
251
+ }
201
252
  }
202
- heightRef = Cesium.HeightReference.CLAMP_TO_GROUND;
253
+ catch (e) {
254
+ console.error("Failed to measure polyline", e);
255
+ }
256
+ }
257
+ }
258
+ else if (visual.ellipse) {
259
+ if (isNaN(pos3d === null || pos3d === void 0 ? void 0 : pos3d.x)) {
260
+ heightRef = getValue(this.viewer, visual.ellipse.heightReference);
203
261
  }
204
262
  }
263
+ if (visual.billboard || visual.point || isNaN(pos3d === null || pos3d === void 0 ? void 0 : pos3d.x)) {
264
+ pos3d = getValue(this.viewer, visual.position);
265
+ }
205
266
  }
206
267
  if (!isNaN(pos3d === null || pos3d === void 0 ? void 0 : pos3d.x)) return [3 /*break*/, 2];
207
268
  return [4 /*yield*/, entity_utils_1.EntityUtils.GetPosAsync({
208
269
  viewer: this.viewer,
209
270
  api: this.api,
210
- entityId: (_c = this.rego) === null || _c === void 0 ? void 0 : _c.entityId,
271
+ entityId: (_f = this.rego) === null || _f === void 0 ? void 0 : _f.entityId,
211
272
  returnHeightRef: Cesium.HeightReference.NONE,
212
- tilesetId: (_d = this.rego) === null || _d === void 0 ? void 0 : _d.tilesetId,
273
+ recordHeightRef: heightRef == null || isNaN(heightRef) ? Cesium.HeightReference.NONE : heightRef,
274
+ tilesetId: (_g = this.rego) === null || _g === void 0 ? void 0 : _g.tilesetId,
213
275
  visualRegister: this.visualRegister
214
276
  })];
215
277
  case 1:
216
- pos3d = _g.sent();
278
+ pos3d = _l.sent();
217
279
  heightRef = Cesium.HeightReference.NONE;
218
- _g.label = 2;
219
- case 2: return [3 /*break*/, 4];
220
- case 3:
221
- heightRef = Cesium.HeightReference.NONE;
222
- // Flat padding.
223
- heightOffset = 0;
224
- pixelOffset.y = -15;
225
- _g.label = 4;
226
- case 4:
280
+ if (this.counter != counter) {
281
+ return [2 /*return*/];
282
+ }
283
+ _l.label = 2;
284
+ case 2:
227
285
  if (isNaN(pos3d === null || pos3d === void 0 ? void 0 : pos3d.x)) {
228
286
  return [2 /*return*/];
229
287
  }
@@ -236,18 +294,42 @@ var EntityLabel;
236
294
  if (isNaN(pos3d === null || pos3d === void 0 ? void 0 : pos3d.x)) {
237
295
  return [2 /*return*/];
238
296
  }
239
- if (heightOffset) {
240
- carto = Cesium.Cartographic.fromCartesian(pos3d);
241
- // TODO: Check if we need to use heightRef and adjust to absolute height.
242
- // TODO: We should be smarter and not just add 10m to the height. Eg: use polygon extrusion.
243
- carto.height += heightOffset;
244
- pos3d = Cesium.Cartographic.toCartesian(carto);
297
+ this._pos3d = pos3d;
298
+ text = "Unknown Entity";
299
+ if (!((_h = this.rego) === null || _h === void 0 ? void 0 : _h.relation)) return [3 /*break*/, 7];
300
+ type = this.rego.relation.RelationType;
301
+ if (!(!type && this.rego.relation["Related.Entity.ID"])) return [3 /*break*/, 6];
302
+ _l.label = 3;
303
+ case 3:
304
+ _l.trys.push([3, 5, , 6]);
305
+ return [4 /*yield*/, bruce_models_1.EntityRelationType.Get({
306
+ api: this.api,
307
+ relationTypeId: this.rego.relation["Related.Entity.ID"]
308
+ })];
309
+ case 4:
310
+ type = (_j = (_l.sent())) === null || _j === void 0 ? void 0 : _j.relationType;
311
+ return [3 /*break*/, 6];
312
+ case 5:
313
+ e_1 = _l.sent();
314
+ console.error(e_1);
315
+ return [3 /*break*/, 6];
316
+ case 6:
317
+ if (type) {
318
+ text = type.Name ? type.Name : (type.ForwardName + "/" + type.ReverseName);
319
+ }
320
+ return [3 /*break*/, 8];
321
+ case 7:
322
+ if ((_k = this.rego) === null || _k === void 0 ? void 0 : _k.name) {
323
+ text = this.rego.name;
324
+ }
325
+ else {
326
+ text = "Unnamed Entity";
245
327
  }
246
- this.pos3d = pos3d;
247
- text = (_f = (_e = this.rego) === null || _e === void 0 ? void 0 : _e.name) !== null && _f !== void 0 ? _f : "Unnamed Entity";
328
+ _l.label = 8;
329
+ case 8:
248
330
  ele = document.createElement("div");
249
331
  ele.innerHTML = text;
250
- ele.setAttribute("style", "\n position: absolute;\n z-index: 1;\n display: none;\n pointer-events: none;\n padding: 6px 8px;\n border-radius: 6px;\n font-family: Arial;\n font-size: 12px;\n -webkit-backdrop-filter: blur(20px);\n backdrop-filter: blur(20px);\n background: rgba(33,39,42,.8);\n border-radius: 9px;\n box-shadow: 0 0 1px rgba(18,22,25,.36),0 18px 36px -4px rgba(18,22,25,.36);\n color: #ffffff;\n }");
332
+ ele.setAttribute("style", "\n position: absolute;\n z-index: 0;\n display: none;\n pointer-events: none;\n padding: 6px 8px;\n border-radius: 6px;\n font-family: Arial;\n font-size: 12px;\n -webkit-backdrop-filter: blur(20px);\n backdrop-filter: blur(20px);\n background: rgba(33,39,42,.8);\n border-radius: 9px;\n box-shadow: 0 0 1px rgba(18,22,25,.36),0 18px 36px -4px rgba(18,22,25,.36);\n color: #ffffff;\n }");
251
333
  this.label = ele;
252
334
  this.viewer.container.appendChild(ele);
253
335
  _lastDistance = null;
@@ -297,23 +379,30 @@ var EntityLabel;
297
379
  // }
298
380
  // }
299
381
  // }
300
- var distance = Cesium.Cartesian3.distance(cameraPos, _this.pos3d);
382
+ var distance = Cesium.Cartesian3.distance(cameraPos, _this._pos3d);
301
383
  _lastDistance = distance;
302
384
  _lastCameraPos = cameraPos.clone();
303
385
  return distance;
304
386
  };
305
387
  MAX_DISTANCE = 5000;
388
+ if (sizeInM > 30) {
389
+ MAX_DISTANCE = Math.max(MAX_DISTANCE, sizeInM / 2);
390
+ }
306
391
  updateLabel = function () {
307
392
  var _a;
308
- if (_this.disposed || isNaN((_a = _this.pos3d) === null || _a === void 0 ? void 0 : _a.x)) {
393
+ if (_this.disposed || isNaN((_a = _this._pos3d) === null || _a === void 0 ? void 0 : _a.x)) {
394
+ return;
395
+ }
396
+ if (!_this.viewer || _this.viewer.isDestroyed()) {
397
+ _this.Dispose();
309
398
  return;
310
399
  }
311
400
  var distance = getDistance();
312
- if (isNaN(distance) || distance >= MAX_DISTANCE) {
401
+ if (isNaN(distance) || (!_this.prePositioned && distance >= MAX_DISTANCE)) {
313
402
  ele.style.display = "none";
314
403
  return;
315
404
  }
316
- var pos2d = Cesium.SceneTransforms.wgs84ToWindowCoordinates(_this.viewer.scene, _this.pos3d);
405
+ var pos2d = Cesium.SceneTransforms.wgs84ToWindowCoordinates(_this.viewer.scene, _this._pos3d);
317
406
  if (isNaN(pos2d === null || pos2d === void 0 ? void 0 : pos2d.x)) {
318
407
  ele.style.display = "none";
319
408
  return;
@@ -327,7 +416,7 @@ var EntityLabel;
327
416
  ele.style.display = "block";
328
417
  // Check scale to apply based on distance between camera and pos3d.
329
418
  // We'll make the label smaller and less transparent when further away.
330
- var scale = 1 - (distance / MAX_DISTANCE);
419
+ var scale = _this.prePositioned ? 1 : 1 - (distance / MAX_DISTANCE);
331
420
  if (scale && scale > 0.15) {
332
421
  ele.style.transform = "scale(".concat(scale, ")");
333
422
  ele.style.opacity = "".concat(scale);
@@ -343,11 +432,42 @@ var EntityLabel;
343
432
  };
344
433
  this.renderRemoval = this.viewer.scene.postUpdate.addEventListener(updateLabel);
345
434
  updateLabel();
435
+ terrTimeout = null;
436
+ this.terrChangedRemoval = this.viewer.scene.terrainProviderChanged.addEventListener(function () {
437
+ if (_this.disposed) {
438
+ return;
439
+ }
440
+ clearTimeout(terrTimeout);
441
+ terrTimeout = setTimeout(function () {
442
+ if (counter != _this.counter) {
443
+ return;
444
+ }
445
+ _this.createLabel(starterPos3d);
446
+ }, 2500);
447
+ });
346
448
  return [2 /*return*/];
347
449
  }
348
450
  });
349
451
  });
350
452
  };
453
+ /**
454
+ * Removes label from the viewer and unsubscribes from events.
455
+ */
456
+ Label.prototype.removeLabel = function () {
457
+ if (this.label &&
458
+ this.label.parentElement) {
459
+ this.label.parentElement.removeChild(this.label);
460
+ this.label = null;
461
+ }
462
+ if (this.renderRemoval) {
463
+ this.renderRemoval();
464
+ this.renderRemoval = null;
465
+ }
466
+ if (this.terrChangedRemoval) {
467
+ this.terrChangedRemoval();
468
+ this.terrChangedRemoval = null;
469
+ }
470
+ };
351
471
  return Label;
352
472
  }());
353
473
  EntityLabel.Label = Label;
@@ -1 +1 @@
1
- {"version":3,"file":"entity-label.js","sourceRoot":"","sources":["../../../../../src/rendering/render-managers/common/entity-label.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-label.js","sourceRoot":"","sources":["../../../../../src/rendering/render-managers/common/entity-label.ts"],"names":[],"mappings":"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"}
@@ -29,4 +29,4 @@ export * from "./utils/measure-utils";
29
29
  export * from "./utils/entity-utils";
30
30
  export * from "./widgets/common/draw-3d-polygon";
31
31
  export * from "./widgets/common/draw-3d-polyline";
32
- export declare const VERSION = "2.8.4";
32
+ export declare const VERSION = "2.8.6";
@@ -7,6 +7,7 @@ import { BruceApi } from "bruce-models";
7
7
  export declare namespace EntityLabel {
8
8
  const ATTACH_KEY = "nextspace-navigator-entity-label";
9
9
  class Label {
10
+ private counter;
10
11
  private viewer;
11
12
  private api;
12
13
  private visualRegister;
@@ -14,11 +15,13 @@ export declare namespace EntityLabel {
14
15
  get Rego(): VisualsRegister.IVisualRego;
15
16
  private label;
16
17
  private renderRemoval;
18
+ private terrChangedRemoval;
17
19
  private disposed;
18
20
  get Disposed(): boolean;
19
- private creating;
20
- get Creating(): boolean;
21
- pos3d: Cesium.Cartesian3;
21
+ private _pos3d;
22
+ get pos3d(): Cesium.Cartesian3;
23
+ set pos3d(val: Cesium.Cartesian3);
24
+ private prePositioned;
22
25
  constructor(params: {
23
26
  rego: VisualsRegister.IVisualRego;
24
27
  viewer: Cesium.Viewer;
@@ -33,9 +36,13 @@ export declare namespace EntityLabel {
33
36
  Dispose(): void;
34
37
  /**
35
38
  * Creates cesium entity for the label if one does not exist.
36
- * @param pos23 optional position to create label at.
39
+ * @param starterPos3d optional position to create label at. Ignored for billboard labels.
37
40
  */
38
- private createCLabel;
41
+ private createLabel;
42
+ /**
43
+ * Removes label from the viewer and unsubscribes from events.
44
+ */
45
+ private removeLabel;
39
46
  }
40
47
  /**
41
48
  * Creates an entity label for a given rego.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bruce-cesium",
3
- "version": "2.8.4",
3
+ "version": "2.8.6",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "dist/bruce-cesium.umd.js",