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.
- package/dist/bruce-cesium.es5.js +137 -106
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +136 -105
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-arb-render-manager.js +66 -37
- package/dist/lib/rendering/render-managers/tilesets/tileset-arb-render-manager.js.map +1 -1
- package/dist/lib/rendering/tileset-render-engine.js +70 -68
- package/dist/lib/rendering/tileset-render-engine.js.map +1 -1
- package/package.json +2 -2
package/dist/bruce-cesium.umd.js
CHANGED
|
@@ -3913,79 +3913,81 @@
|
|
|
3913
3913
|
if (legacy_1.usingBoundingBox == null) {
|
|
3914
3914
|
legacy_1.usingBoundingBox = true;
|
|
3915
3915
|
}
|
|
3916
|
-
|
|
3917
|
-
|
|
3918
|
-
|
|
3919
|
-
|
|
3920
|
-
|
|
3921
|
-
|
|
3922
|
-
|
|
3923
|
-
|
|
3924
|
-
|
|
3925
|
-
|
|
3926
|
-
|
|
3927
|
-
|
|
3928
|
-
|
|
3929
|
-
|
|
3930
|
-
|
|
3931
|
-
|
|
3932
|
-
|
|
3933
|
-
|
|
3934
|
-
|
|
3935
|
-
|
|
3936
|
-
|
|
3937
|
-
|
|
3938
|
-
|
|
3939
|
-
|
|
3940
|
-
|
|
3941
|
-
|
|
3942
|
-
|
|
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.sin(φ1) * 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
|
-
|
|
3945
|
-
|
|
3946
|
-
carto = offsetPoint_1(carto, Number(e), 90);
|
|
3969
|
+
if (!pos3d) {
|
|
3970
|
+
pos3d = getCurPos3d();
|
|
3947
3971
|
}
|
|
3948
|
-
|
|
3949
|
-
|
|
3950
|
-
|
|
3951
|
-
|
|
3952
|
-
|
|
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
|
-
|
|
3961
|
-
|
|
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
|
-
|
|
3965
|
-
|
|
3966
|
-
|
|
3967
|
-
|
|
3968
|
-
|
|
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.
|
|
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.
|
|
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,
|
|
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 [
|
|
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*/,
|
|
5564
|
-
case
|
|
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,
|
|
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 (
|
|
5600
|
-
switch (
|
|
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
|
-
|
|
5635
|
+
tilesetId_1 = urlParts[urlParts.length - 3];
|
|
5619
5636
|
accountId = urlParts[urlParts.length - 5].split(".")[0];
|
|
5620
|
-
this.item.tileset.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
|
-
|
|
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
|
-
|
|
5635
|
-
|
|
5636
|
-
|
|
5637
|
-
|
|
5638
|
-
|
|
5639
|
-
|
|
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
|
-
|
|
5655
|
-
|
|
5672
|
+
_g = _j.sent();
|
|
5673
|
+
return [3 /*break*/, 6];
|
|
5656
5674
|
case 5:
|
|
5657
|
-
|
|
5658
|
-
|
|
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: (
|
|
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);
|