bruce-cesium 1.2.2 → 1.2.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.
@@ -3913,79 +3913,81 @@
3913
3913
  if (legacy_1.usingBoundingBox == null) {
3914
3914
  legacy_1.usingBoundingBox = true;
3915
3915
  }
3916
- var offsetPoint_1 = function (pos, distance, bearing) {
3917
- // radius of earth
3918
- var radius = 6371e3;
3919
- var δ = distance / radius;
3920
- var θ = Cesium.Math.toRadians(bearing);
3921
- var φ1 = Cesium.Math.toRadians(pos.latitude);
3922
- var λ1 = Cesium.Math.toRadians(pos.longitude);
3923
- var sinφ2 = Math.sin(φ1) * Math.cos(δ) + Math.cos(φ1) * Math.sin(δ) * Math.cos(θ);
3924
- var φ2 = Math.asin(sinφ2);
3925
- var y = Math.sin(θ) * Math.sin(δ) * Math.cos(φ1);
3926
- var x = Math.cos(δ) - Math.sin(φ1) * sinφ2;
3927
- var λ2 = λ1 + Math.atan2(y, x);
3928
- var finalPos = new Cesium.Cartographic(λ2, φ2, pos.height);
3929
- finalPos.latitude = Cesium.Math.toDegrees(finalPos.latitude);
3930
- finalPos.longitude = Cesium.Math.toDegrees(finalPos.longitude);
3931
- return finalPos;
3932
- };
3933
- var getOffset = function (pos, n, e, alt) {
3934
- if (n == 0 && e == 0 && alt == 0) {
3935
- return new Cesium.Cartesian3(0, 0, 0);
3936
- }
3937
- var carto = Cesium.Cartographic.fromCartesian(pos);
3938
- carto.latitude = Cesium.Math.toDegrees(carto.latitude);
3939
- carto.longitude = Cesium.Math.toDegrees(carto.longitude);
3940
- // North
3941
- if (n != 0) {
3942
- carto = offsetPoint_1(carto, Number(n), 0);
3916
+ if (legacy_1.transform) {
3917
+ var offsetPoint_1 = function (pos, distance, bearing) {
3918
+ // radius of earth
3919
+ var radius = 6371e3;
3920
+ var δ = distance / radius;
3921
+ var θ = Cesium.Math.toRadians(bearing);
3922
+ var φ1 = Cesium.Math.toRadians(pos.latitude);
3923
+ var λ1 = Cesium.Math.toRadians(pos.longitude);
3924
+ var sinφ2 = Math.sin1) * Math.cos(δ) + Math.cos(φ1) * Math.sin(δ) * Math.cos(θ);
3925
+ var φ2 = Math.asin(sinφ2);
3926
+ var y = Math.sin(θ) * Math.sin(δ) * Math.cos(φ1);
3927
+ var x = Math.cos(δ) - Math.sin(φ1) * sinφ2;
3928
+ var λ2 = λ1 + Math.atan2(y, x);
3929
+ var finalPos = new Cesium.Cartographic(λ2, φ2, pos.height);
3930
+ finalPos.latitude = Cesium.Math.toDegrees(finalPos.latitude);
3931
+ finalPos.longitude = Cesium.Math.toDegrees(finalPos.longitude);
3932
+ return finalPos;
3933
+ };
3934
+ var getOffset = function (pos, n, e, alt) {
3935
+ if (n == 0 && e == 0 && alt == 0) {
3936
+ return new Cesium.Cartesian3(0, 0, 0);
3937
+ }
3938
+ var carto = Cesium.Cartographic.fromCartesian(pos);
3939
+ carto.latitude = Cesium.Math.toDegrees(carto.latitude);
3940
+ carto.longitude = Cesium.Math.toDegrees(carto.longitude);
3941
+ // North
3942
+ if (n != 0) {
3943
+ carto = offsetPoint_1(carto, Number(n), 0);
3944
+ }
3945
+ // East
3946
+ if (e != 0) {
3947
+ carto = offsetPoint_1(carto, Number(e), 90);
3948
+ }
3949
+ // Altitude
3950
+ carto.height += Number(alt);
3951
+ var finalOffset = Cesium.Cartesian3.fromDegrees(carto.longitude, carto.latitude, carto.height);
3952
+ finalOffset.x -= pos.x;
3953
+ finalOffset.y -= pos.y;
3954
+ finalOffset.z -= pos.z;
3955
+ return finalOffset;
3956
+ };
3957
+ var getCurPos3d = function () {
3958
+ if (legacy_1.usingBoundingBox == false) {
3959
+ return Cesium.Matrix4.getTranslation(root.transform, new Cesium.Cartesian3());
3960
+ }
3961
+ else {
3962
+ return Cesium.Cartesian3.clone(root.boundingSphere.center);
3963
+ }
3964
+ };
3965
+ var pos3d = void 0;
3966
+ if (location.latitude != null && location.longitude != null) {
3967
+ pos3d = Cesium.Cartesian3.fromDegrees(EnsureNumber(location.longitude), EnsureNumber(location.latitude), EnsureNumber(location.altitude));
3943
3968
  }
3944
- // East
3945
- if (e != 0) {
3946
- carto = offsetPoint_1(carto, Number(e), 90);
3969
+ if (!pos3d) {
3970
+ pos3d = getCurPos3d();
3947
3971
  }
3948
- // Altitude
3949
- carto.height += Number(alt);
3950
- var finalOffset = Cesium.Cartesian3.fromDegrees(carto.longitude, carto.latitude, carto.height);
3951
- finalOffset.x -= pos.x;
3952
- finalOffset.y -= pos.y;
3953
- finalOffset.z -= pos.z;
3954
- return finalOffset;
3955
- };
3956
- var getCurPos3d = function () {
3957
- if (legacy_1.usingBoundingBox == false) {
3958
- return Cesium.Matrix4.getTranslation(root.transform, new Cesium.Cartesian3());
3972
+ var offset = getOffset(pos3d, transform.x, transform.y, transform.z);
3973
+ if (bruceModels.Cartes.ValidateCartes3(offset)) {
3974
+ pos3d.x += offset.x;
3975
+ pos3d.y += offset.y;
3976
+ pos3d.z += offset.z;
3959
3977
  }
3960
- else {
3961
- return Cesium.Cartesian3.clone(root.boundingSphere.center);
3978
+ if (legacy_1.rotate) {
3979
+ var hpr = Cesium.HeadingPitchRoll.fromDegrees(EnsureNumber(transform.heading), EnsureNumber(transform.pitch), EnsureNumber(transform.roll), new Cesium.HeadingPitchRoll());
3980
+ root.transform = Cesium.Transforms.headingPitchRollToFixedFrame(pos3d, hpr);
3981
+ root.updateTransform();
3962
3982
  }
3963
- };
3964
- var pos3d = void 0;
3965
- if (location.latitude != null && location.longitude != null) {
3966
- pos3d = Cesium.Cartesian3.fromDegrees(EnsureNumber(location.longitude), EnsureNumber(location.latitude), EnsureNumber(location.altitude));
3967
- }
3968
- if (!pos3d) {
3969
- pos3d = getCurPos3d();
3970
- }
3971
- var offset = getOffset(pos3d, transform.x, transform.y, transform.z);
3972
- if (bruceModels.Cartes.ValidateCartes3(offset)) {
3973
- pos3d.x += offset.x;
3974
- pos3d.y += offset.y;
3975
- pos3d.z += offset.z;
3976
- }
3977
- if (legacy_1.rotate) {
3978
- var hpr = Cesium.HeadingPitchRoll.fromDegrees(EnsureNumber(transform.heading), EnsureNumber(transform.pitch), EnsureNumber(transform.roll), new Cesium.HeadingPitchRoll());
3979
- root.transform = Cesium.Transforms.headingPitchRollToFixedFrame(pos3d, hpr);
3983
+ var curPos3d = getCurPos3d();
3984
+ var newTransform = Cesium.Matrix4.pack(root.transform.clone(new Cesium.Matrix4()), []);
3985
+ newTransform[12] += pos3d.x - curPos3d.x;
3986
+ newTransform[13] += pos3d.y - curPos3d.y;
3987
+ newTransform[14] += pos3d.z - curPos3d.z;
3988
+ root.transform = Cesium.Matrix4.unpack(newTransform);
3980
3989
  root.updateTransform();
3981
3990
  }
3982
- var curPos3d = getCurPos3d();
3983
- var newTransform = Cesium.Matrix4.pack(root.transform.clone(new Cesium.Matrix4()), []);
3984
- newTransform[12] += pos3d.x - curPos3d.x;
3985
- newTransform[13] += pos3d.y - curPos3d.y;
3986
- newTransform[14] += pos3d.z - curPos3d.z;
3987
- root.transform = Cesium.Matrix4.unpack(newTransform);
3988
- root.updateTransform();
3989
3991
  }
3990
3992
  else {
3991
3993
  if (!(location === null || location === void 0 ? void 0 : location.latitude)) {
@@ -4369,7 +4371,7 @@
4369
4371
  }
4370
4372
  }
4371
4373
  catch (e) {
4372
- console.log(e);
4374
+ console.error(e);
4373
4375
  }
4374
4376
  }
4375
4377
  i = 0;
@@ -5532,7 +5534,7 @@
5532
5534
  return [2 /*return*/, legacyTileset];
5533
5535
  case 3:
5534
5536
  e_1 = _a.sent();
5535
- console.log(e_1);
5537
+ console.error(e_1);
5536
5538
  return [3 /*break*/, 4];
5537
5539
  case 4: return [2 /*return*/];
5538
5540
  }
@@ -5541,14 +5543,14 @@
5541
5543
  }
5542
5544
  function getTileset(params) {
5543
5545
  return __awaiter(this, void 0, void 0, function () {
5544
- var apiGetter, menuItem, api, tileset, e_2;
5546
+ var apiGetter, menuItem, api, tileset, typeMapping, e_2;
5545
5547
  return __generator(this, function (_a) {
5546
5548
  switch (_a.label) {
5547
5549
  case 0:
5548
5550
  apiGetter = params.apiGetter, menuItem = params.menuItem;
5549
5551
  _a.label = 1;
5550
5552
  case 1:
5551
- _a.trys.push([1, 3, , 4]);
5553
+ _a.trys.push([1, 4, , 5]);
5552
5554
  api = apiGetter.getApi(menuItem.tileset.ClientAccountID);
5553
5555
  return [4 /*yield*/, bruceModels.Tileset.Get({
5554
5556
  api: api,
@@ -5556,12 +5558,21 @@
5556
5558
  })];
5557
5559
  case 2:
5558
5560
  tileset = (_a.sent()).tileset;
5559
- return [2 /*return*/, tileset];
5561
+ return [4 /*yield*/, bruceModels.Tileset.GetTypes({
5562
+ api: api,
5563
+ tilesetIds: [menuItem.tileset.TilesetID]
5564
+ })];
5560
5565
  case 3:
5566
+ typeMapping = (_a.sent()).typeMapping;
5567
+ return [2 /*return*/, {
5568
+ tileset: tileset,
5569
+ type: typeMapping[menuItem.tileset.TilesetID]
5570
+ }];
5571
+ case 4:
5561
5572
  e_2 = _a.sent();
5562
5573
  console.error(e_2);
5563
- return [3 /*break*/, 4];
5564
- case 4: return [2 /*return*/];
5574
+ return [3 /*break*/, 5];
5575
+ case 5: return [2 /*return*/];
5565
5576
  }
5566
5577
  });
5567
5578
  });
@@ -5574,8 +5585,14 @@
5574
5585
  this.styler = null;
5575
5586
  this.viewer = params.viewer;
5576
5587
  this.apiGetter = params.apiGetter;
5577
- this.item = params.item;
5578
5588
  this.visualsManager = params.register;
5589
+ // We modify the object due to a lot of backwards compatibility.
5590
+ try {
5591
+ this.item = params.item ? JSON.parse(JSON.stringify(params.item)) : {};
5592
+ }
5593
+ catch (e) {
5594
+ console.error(e);
5595
+ }
5579
5596
  }
5580
5597
  Object.defineProperty(Manager.prototype, "Disposed", {
5581
5598
  get: function () {
@@ -5592,12 +5609,12 @@
5592
5609
  configurable: true
5593
5610
  });
5594
5611
  Manager.prototype.Init = function () {
5595
- var _a, _b, _c;
5612
+ var _a, _b, _c, _d;
5596
5613
  return __awaiter(this, void 0, void 0, function () {
5597
- var loadUrlOverride, itemUrl, url, urlParts, tilesetId, accountId, tileset, legacyTileset, _d, _e;
5614
+ var loadUrlOverride, itemUrl, url, urlParts, tilesetId_1, accountId, tilesetId, _e, tileset, type, _f, LEGACY_TYPES, legacyTileset, _g, _h;
5598
5615
  var _this = this;
5599
- return __generator(this, function (_f) {
5600
- switch (_f.label) {
5616
+ return __generator(this, function (_j) {
5617
+ switch (_j.label) {
5601
5618
  case 0:
5602
5619
  loadUrlOverride = null;
5603
5620
  if (this.item.tileset) {
@@ -5615,65 +5632,79 @@
5615
5632
  url = this.item.tileset.TilesetURL;
5616
5633
  urlParts = url.split("/");
5617
5634
  if (urlParts.length > 5) {
5618
- tilesetId = urlParts[urlParts.length - 3];
5635
+ tilesetId_1 = urlParts[urlParts.length - 3];
5619
5636
  accountId = urlParts[urlParts.length - 5].split(".")[0];
5620
- this.item.tileset.TilesetID = tilesetId;
5637
+ this.item.tileset.TilesetID = tilesetId_1;
5621
5638
  this.item.tileset.ClientAccountID = accountId;
5622
5639
  }
5623
5640
  }
5624
5641
  }
5642
+ tilesetId = (_c = this.item.tileset) === null || _c === void 0 ? void 0 : _c.TilesetID;
5643
+ if (!tilesetId) return [3 /*break*/, 2];
5625
5644
  return [4 /*yield*/, getTileset({
5626
5645
  apiGetter: this.apiGetter,
5627
5646
  menuItem: this.item
5628
5647
  })];
5629
5648
  case 1:
5630
- tileset = _f.sent();
5649
+ _f = _j.sent();
5650
+ return [3 /*break*/, 3];
5651
+ case 2:
5652
+ _f = null;
5653
+ _j.label = 3;
5654
+ case 3:
5655
+ _e = _f, tileset = _e.tileset, type = _e.type;
5631
5656
  if (tileset && loadUrlOverride) {
5632
5657
  tileset.loadUrl = loadUrlOverride;
5633
5658
  }
5634
- if (!(tileset === null || tileset === void 0 ? void 0 : tileset.type)) return [3 /*break*/, 2];
5635
- this.cTileset = exports.TilesetRenderEngine.Render({
5636
- apiGetter: this.apiGetter,
5637
- tileset: tileset,
5638
- viewer: this.viewer,
5639
- coords: null
5640
- });
5641
- return [3 /*break*/, 7];
5642
- case 2:
5643
- if (!tileset) return [3 /*break*/, 7];
5644
- if (!tileset) return [3 /*break*/, 4];
5659
+ LEGACY_TYPES = [
5660
+ bruceModels.Tileset.EType.LegacyEntitiesSet,
5661
+ bruceModels.Tileset.EType.LegacyExternal,
5662
+ bruceModels.Tileset.EType.LegacyStatic
5663
+ ];
5664
+ if (!(!type || LEGACY_TYPES.includes(type))) return [3 /*break*/, 8];
5665
+ if (!tileset) return [3 /*break*/, 5];
5645
5666
  return [4 /*yield*/, getLegacyTileset({
5646
5667
  apiGetter: this.apiGetter,
5647
5668
  menuItem: this.item,
5648
5669
  tileset: tileset
5649
5670
  })];
5650
- case 3:
5651
- _d = _f.sent();
5652
- return [3 /*break*/, 5];
5653
5671
  case 4:
5654
- _d = null;
5655
- _f.label = 5;
5672
+ _g = _j.sent();
5673
+ return [3 /*break*/, 6];
5656
5674
  case 5:
5657
- legacyTileset = _d;
5658
- _e = this;
5675
+ _g = null;
5676
+ _j.label = 6;
5677
+ case 6:
5678
+ legacyTileset = _g;
5679
+ _h = this;
5659
5680
  return [4 /*yield*/, exports.TilesetRenderEngine.RenderLegacy({
5660
5681
  apiGetter: this.apiGetter,
5661
5682
  tileset: legacyTileset,
5662
5683
  viewer: this.viewer,
5663
- ionId: (_c = this.item.IonResource) === null || _c === void 0 ? void 0 : _c.AssetID,
5684
+ ionId: (_d = this.item.IonResource) === null || _d === void 0 ? void 0 : _d.AssetID,
5664
5685
  loadUrl: loadUrlOverride
5665
5686
  })];
5666
- case 6:
5667
- _e.cTileset = _f.sent();
5668
- _f.label = 7;
5669
5687
  case 7:
5688
+ _h.cTileset = _j.sent();
5689
+ return [3 /*break*/, 9];
5690
+ case 8:
5691
+ if (tileset) {
5692
+ this.cTileset = exports.TilesetRenderEngine.Render({
5693
+ apiGetter: this.apiGetter,
5694
+ tileset: tileset,
5695
+ viewer: this.viewer,
5696
+ coords: null
5697
+ });
5698
+ }
5699
+ _j.label = 9;
5700
+ case 9:
5670
5701
  this.cTileset.readyPromise.then(function () {
5671
5702
  try {
5672
5703
  if (_this.item.ApplyStyles) {
5673
5704
  var api = _this.apiGetter.getApi();
5674
5705
  _this.styler = new exports.TilesetRenderEngine.CadStyler(api, _this.cTileset, _this.item.styleId, _this.item.StyleMapping);
5675
- _this.onCTilesetLoad();
5676
5706
  }
5707
+ _this.onCTilesetLoad();
5677
5708
  }
5678
5709
  catch (e) {
5679
5710
  console.error(e);