bruce-cesium 4.3.6 → 4.3.8
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 +53 -259
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +51 -257
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/bruce-cesium.js +1 -1
- package/dist/lib/utils/entity-utils.js +50 -256
- package/dist/lib/utils/entity-utils.js.map +1 -1
- package/dist/types/bruce-cesium.d.ts +1 -1
- package/dist/types/utils/entity-utils.d.ts +1 -1
- package/package.json +2 -2
package/dist/lib/bruce-cesium.js
CHANGED
|
@@ -62,5 +62,5 @@ __exportStar(require("./widgets/widget-searchbar"), exports);
|
|
|
62
62
|
__exportStar(require("./widgets/widget-left-panel"), exports);
|
|
63
63
|
__exportStar(require("./widgets/left-panel-tabs/widget-left-panel-tab"), exports);
|
|
64
64
|
__exportStar(require("./widgets/left-panel-tabs/widget-left-panel-tab-bookmarks"), exports);
|
|
65
|
-
exports.VERSION = "4.3.
|
|
65
|
+
exports.VERSION = "4.3.8";
|
|
66
66
|
//# sourceMappingURL=bruce-cesium.js.map
|
|
@@ -269,13 +269,12 @@ var EntityUtils;
|
|
|
269
269
|
});
|
|
270
270
|
}); };
|
|
271
271
|
getEntityPositions = function (sample) { return __awaiter(_this, void 0, void 0, function () {
|
|
272
|
-
var entityId, entity,
|
|
272
|
+
var entityId, entity, disallowRendered, evaluateRendered, evaluateRecord, renderedPosses, e_1, recordPosses, e_2, pos3d, eLocation, geometryRadius, sphere;
|
|
273
273
|
var _this = this;
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
switch (_e.label) {
|
|
274
|
+
return __generator(this, function (_a) {
|
|
275
|
+
switch (_a.label) {
|
|
277
276
|
case 0:
|
|
278
|
-
entityId = sample.entityId, entity = sample.entity,
|
|
277
|
+
entityId = sample.entityId, entity = sample.entity, disallowRendered = sample.disallowRendered;
|
|
279
278
|
evaluateRendered = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
280
279
|
var rego, posses, parts, i, part, visualHeightRef, hierarchy, hPosses, hPossesSample, step, i_1, pPosses, pPossesSample, step, i_2, pPosses, pPossesSample, step, i_3, pos3d_1, toAdjust, modelExt, sphere, semiMajorAxis, semiMinorAxis, height, radius, sphere, data_1, pos3d_2, toAdjust, sphere;
|
|
281
280
|
return __generator(this, function (_a) {
|
|
@@ -427,24 +426,11 @@ var EntityUtils;
|
|
|
427
426
|
});
|
|
428
427
|
}); };
|
|
429
428
|
evaluateRecord = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
430
|
-
var posses,
|
|
429
|
+
var posses, location, latitude, longitude, pos3d_3, geometry, pointStr, points, point, pos3d_4, lineStr, points, pPosses, pRings, boundary, points, pPosses, boundaries, point, bPosses;
|
|
431
430
|
return __generator(this, function (_a) {
|
|
432
431
|
switch (_a.label) {
|
|
433
432
|
case 0:
|
|
434
433
|
posses = [];
|
|
435
|
-
assemblyLocation = bruce_models_1.Entity.GetValue({
|
|
436
|
-
entity: entity,
|
|
437
|
-
path: ["Bruce", "AssemblyLocation"]
|
|
438
|
-
});
|
|
439
|
-
if (assemblyLocation && typeof assemblyLocation == "object" && bruce_models_1.Carto.ValidateCarto(assemblyLocation)) {
|
|
440
|
-
latitude = (0, js_utils_1.EnsureNumber)(assemblyLocation.latitude);
|
|
441
|
-
longitude = (0, js_utils_1.EnsureNumber)(assemblyLocation.longitude);
|
|
442
|
-
// Disallowing exact 0.
|
|
443
|
-
if (latitude || longitude) {
|
|
444
|
-
pos3d_3 = Cesium.Cartesian3.fromDegrees(longitude, latitude, (0, js_utils_1.EnsureNumber)(assemblyLocation.altitude));
|
|
445
|
-
posses.push(pos3d_3);
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
434
|
location = bruce_models_1.Entity.GetValue({
|
|
449
435
|
entity: entity,
|
|
450
436
|
path: ["Bruce", "Location"]
|
|
@@ -454,8 +440,8 @@ var EntityUtils;
|
|
|
454
440
|
longitude = (0, js_utils_1.EnsureNumber)(location.longitude);
|
|
455
441
|
// Disallowing exact 0.
|
|
456
442
|
if (latitude || longitude) {
|
|
457
|
-
|
|
458
|
-
posses.push(
|
|
443
|
+
pos3d_3 = Cesium.Cartesian3.fromDegrees(longitude, latitude, (0, js_utils_1.EnsureNumber)(location.altitude));
|
|
444
|
+
posses.push(pos3d_3);
|
|
459
445
|
}
|
|
460
446
|
}
|
|
461
447
|
geometry = bruce_models_1.Entity.GetValue({
|
|
@@ -470,8 +456,8 @@ var EntityUtils;
|
|
|
470
456
|
points = bruce_models_1.Geometry.ParsePoints(pointStr);
|
|
471
457
|
point = points.length > 0 ? points[0] : null;
|
|
472
458
|
if (point && bruce_models_1.Carto.ValidateCarto(point)) {
|
|
473
|
-
|
|
474
|
-
posses.push(
|
|
459
|
+
pos3d_4 = Cesium.Cartesian3.fromDegrees((0, js_utils_1.EnsureNumber)(point.longitude), (0, js_utils_1.EnsureNumber)(point.latitude), (0, js_utils_1.EnsureNumber)(point.altitude));
|
|
460
|
+
posses.push(pos3d_4);
|
|
475
461
|
}
|
|
476
462
|
}
|
|
477
463
|
lineStr = geometry.LineString;
|
|
@@ -524,18 +510,18 @@ var EntityUtils;
|
|
|
524
510
|
if (!(disallowRendered != true)) return [3 /*break*/, 2];
|
|
525
511
|
return [4 /*yield*/, evaluateRendered()];
|
|
526
512
|
case 1:
|
|
527
|
-
renderedPosses =
|
|
513
|
+
renderedPosses = _a.sent();
|
|
528
514
|
if (renderedPosses === null || renderedPosses === void 0 ? void 0 : renderedPosses.length) {
|
|
529
515
|
return [2 /*return*/, renderedPosses];
|
|
530
516
|
}
|
|
531
|
-
|
|
517
|
+
_a.label = 2;
|
|
532
518
|
case 2:
|
|
533
519
|
if (!!entity) return [3 /*break*/, 6];
|
|
534
520
|
if (!(apiCalls < MAX_API_CALLS)) return [3 /*break*/, 6];
|
|
535
521
|
apiCalls += 1;
|
|
536
|
-
|
|
522
|
+
_a.label = 3;
|
|
537
523
|
case 3:
|
|
538
|
-
|
|
524
|
+
_a.trys.push([3, 5, , 6]);
|
|
539
525
|
return [4 /*yield*/, bruce_models_1.Entity.Get({
|
|
540
526
|
api: api,
|
|
541
527
|
entityId: entityId,
|
|
@@ -544,10 +530,10 @@ var EntityUtils;
|
|
|
544
530
|
migrated: true
|
|
545
531
|
})];
|
|
546
532
|
case 4:
|
|
547
|
-
entity = (
|
|
533
|
+
entity = (_a.sent()).entity;
|
|
548
534
|
return [3 /*break*/, 6];
|
|
549
535
|
case 5:
|
|
550
|
-
e_1 =
|
|
536
|
+
e_1 = _a.sent();
|
|
551
537
|
console.error(e_1);
|
|
552
538
|
return [3 /*break*/, 6];
|
|
553
539
|
case 6:
|
|
@@ -556,132 +542,43 @@ var EntityUtils;
|
|
|
556
542
|
}
|
|
557
543
|
return [4 /*yield*/, evaluateRecord()];
|
|
558
544
|
case 7:
|
|
559
|
-
recordPosses =
|
|
545
|
+
recordPosses = _a.sent();
|
|
560
546
|
if (recordPosses === null || recordPosses === void 0 ? void 0 : recordPosses.length) {
|
|
561
547
|
return [2 /*return*/, recordPosses];
|
|
562
548
|
}
|
|
563
549
|
if (!(apiCalls < MAX_API_CALLS)) return [3 /*break*/, 11];
|
|
564
|
-
|
|
550
|
+
_a.label = 8;
|
|
565
551
|
case 8:
|
|
566
|
-
|
|
552
|
+
_a.trys.push([8, 10, , 11]);
|
|
567
553
|
apiCalls += 1;
|
|
568
554
|
return [4 /*yield*/, bruce_models_1.Entity.Get({
|
|
569
555
|
api: api,
|
|
570
556
|
entityId: entityId,
|
|
571
|
-
// We'll be expanding relative positioning and related
|
|
557
|
+
// We'll be expanding relative positioning and related assemblies now.
|
|
572
558
|
expandLocation: true,
|
|
573
559
|
migrated: true
|
|
574
560
|
})];
|
|
575
561
|
case 9:
|
|
576
|
-
entity = (
|
|
562
|
+
entity = (_a.sent()).entity;
|
|
577
563
|
return [3 /*break*/, 11];
|
|
578
564
|
case 10:
|
|
579
|
-
e_2 =
|
|
565
|
+
e_2 = _a.sent();
|
|
580
566
|
console.warn(e_2);
|
|
581
567
|
return [3 /*break*/, 11];
|
|
582
568
|
case 11:
|
|
583
|
-
if (!tilesetId) {
|
|
584
|
-
tilesetIds = bruce_models_1.Entity.GetValue({
|
|
585
|
-
entity: entity,
|
|
586
|
-
path: ["Bruce", "TilesetIDs"]
|
|
587
|
-
});
|
|
588
|
-
tilesetId = (tilesetIds === null || tilesetIds === void 0 ? void 0 : tilesetIds.length) ? tilesetIds[0] : tilesetId;
|
|
589
|
-
}
|
|
590
|
-
if (!!tileset) return [3 /*break*/, 13];
|
|
591
|
-
if (!(tilesetId && apiCalls < MAX_API_CALLS)) return [3 /*break*/, 13];
|
|
592
|
-
apiCalls += 1;
|
|
593
|
-
return [4 /*yield*/, bruce_models_1.Tileset.Get({
|
|
594
|
-
api: api,
|
|
595
|
-
tilesetId: tilesetId
|
|
596
|
-
})];
|
|
597
|
-
case 12:
|
|
598
|
-
tileset = (_e.sent()).tileset;
|
|
599
|
-
_e.label = 13;
|
|
600
|
-
case 13:
|
|
601
|
-
tSettings = tileset === null || tileset === void 0 ? void 0 : tileset.settings;
|
|
602
569
|
pos3d = null;
|
|
603
570
|
eLocation = bruce_models_1.Entity.GetValue({
|
|
604
571
|
entity: entity,
|
|
605
572
|
path: ["Bruce", "Location"]
|
|
606
573
|
});
|
|
607
|
-
if (!(
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
if (isNaN(alt)) {
|
|
611
|
-
alt = 0;
|
|
612
|
-
}
|
|
613
|
-
pos3d = Cesium.Cartesian3.fromDegrees(+eLocation.longitude, +eLocation.latitude, alt);
|
|
614
|
-
}
|
|
615
|
-
else {
|
|
616
|
-
alt = +tSettings.location.altitude;
|
|
617
|
-
if (isNaN(alt)) {
|
|
618
|
-
alt = 0;
|
|
619
|
-
}
|
|
620
|
-
pos3d = Cesium.Cartesian3.fromDegrees(+tSettings.location.longitude, +tSettings.location.latitude, alt);
|
|
621
|
-
}
|
|
622
|
-
worldPosition = bruce_models_1.Entity.GetValue({
|
|
623
|
-
entity: entity,
|
|
624
|
-
path: ["Bruce", "AssemblyWorldPosition"]
|
|
625
|
-
});
|
|
626
|
-
if (!worldPosition) return [3 /*break*/, 16];
|
|
627
|
-
eTransform = bruce_models_1.Entity.GetValue({
|
|
628
|
-
entity: entity,
|
|
629
|
-
path: ["Bruce", "Transform"]
|
|
630
|
-
});
|
|
631
|
-
heading = 0;
|
|
632
|
-
pitch = 0;
|
|
633
|
-
roll = 0;
|
|
634
|
-
if (eTransform === null || eTransform === void 0 ? void 0 : eTransform.heading) {
|
|
635
|
-
heading = eTransform.heading;
|
|
636
|
-
}
|
|
637
|
-
else if ((_b = tSettings === null || tSettings === void 0 ? void 0 : tSettings.transform) === null || _b === void 0 ? void 0 : _b.heading) {
|
|
638
|
-
heading = tSettings.transform.heading;
|
|
639
|
-
}
|
|
640
|
-
if (eTransform === null || eTransform === void 0 ? void 0 : eTransform.pitch) {
|
|
641
|
-
pitch = eTransform.pitch;
|
|
642
|
-
}
|
|
643
|
-
else if ((_c = tSettings === null || tSettings === void 0 ? void 0 : tSettings.transform) === null || _c === void 0 ? void 0 : _c.pitch) {
|
|
644
|
-
pitch = tSettings.transform.pitch;
|
|
645
|
-
}
|
|
646
|
-
if (eTransform === null || eTransform === void 0 ? void 0 : eTransform.roll) {
|
|
647
|
-
roll = eTransform.roll;
|
|
648
|
-
}
|
|
649
|
-
else if ((_d = tSettings === null || tSettings === void 0 ? void 0 : tSettings.transform) === null || _d === void 0 ? void 0 : _d.roll) {
|
|
650
|
-
roll = tSettings.transform.roll;
|
|
651
|
-
}
|
|
652
|
-
heading = +heading;
|
|
653
|
-
if (isNaN(heading)) {
|
|
654
|
-
heading = 0;
|
|
655
|
-
}
|
|
656
|
-
pitch = +pitch;
|
|
657
|
-
if (isNaN(pitch)) {
|
|
658
|
-
pitch = 0;
|
|
659
|
-
}
|
|
660
|
-
roll = +roll;
|
|
661
|
-
if (isNaN(roll)) {
|
|
662
|
-
roll = 0;
|
|
663
|
-
}
|
|
664
|
-
matrix4 = worldPosition;
|
|
665
|
-
offset = new Cesium.Cartesian3(+matrix4[0][3], +matrix4[1][3], +matrix4[2][3]);
|
|
666
|
-
worldPivot = bruce_models_1.Entity.GetValue({
|
|
667
|
-
entity: entity,
|
|
668
|
-
path: ["Bruce", "GeometryWorldPivot"]
|
|
669
|
-
});
|
|
670
|
-
if (worldPivot) //the position from worldMatrix + center of geometry offset
|
|
671
|
-
{
|
|
672
|
-
offset = new Cesium.Cartesian3(worldPivot[0], worldPivot[1], worldPivot[2]);
|
|
673
|
-
}
|
|
674
|
-
m1 = Cesium.Transforms.eastNorthUpToFixedFrame(pos3d);
|
|
675
|
-
hpr = Cesium.HeadingPitchRoll.fromDegrees(heading, pitch, roll, new Cesium.HeadingPitchRoll());
|
|
676
|
-
transform = Cesium.Matrix3.fromHeadingPitchRoll(hpr);
|
|
677
|
-
transformedOffset = Cesium.Matrix3.multiplyByVector(transform, offset, new Cesium.Cartesian3());
|
|
678
|
-
pos3d = Cesium.Matrix4.multiplyByPoint(m1, transformedOffset, new Cesium.Cartesian3());
|
|
679
|
-
if (!(pos3d === null || pos3d === void 0 ? void 0 : pos3d.x)) return [3 /*break*/, 15];
|
|
574
|
+
if (!(eLocation === null || eLocation === void 0 ? void 0 : eLocation.longitude)) return [3 /*break*/, 14];
|
|
575
|
+
pos3d = Cesium.Cartesian3.fromDegrees((0, js_utils_1.EnsureNumber)(eLocation.longitude), (0, js_utils_1.EnsureNumber)(eLocation.latitude), (0, js_utils_1.EnsureNumber)(eLocation.altitude));
|
|
576
|
+
if (!(pos3d === null || pos3d === void 0 ? void 0 : pos3d.x)) return [3 /*break*/, 13];
|
|
680
577
|
return [4 /*yield*/, processPosHeight(pos3d, Cesium.HeightReference.NONE)];
|
|
681
|
-
case
|
|
682
|
-
pos3d =
|
|
683
|
-
|
|
684
|
-
case
|
|
578
|
+
case 12:
|
|
579
|
+
pos3d = _a.sent();
|
|
580
|
+
_a.label = 13;
|
|
581
|
+
case 13:
|
|
685
582
|
geometryRadius = bruce_models_1.Entity.GetValue({
|
|
686
583
|
entity: entity,
|
|
687
584
|
path: ["Bruce", "GeometryRadius"]
|
|
@@ -694,8 +591,8 @@ var EntityUtils;
|
|
|
694
591
|
spheres.push(sphere);
|
|
695
592
|
}
|
|
696
593
|
}
|
|
697
|
-
|
|
698
|
-
case
|
|
594
|
+
_a.label = 14;
|
|
595
|
+
case 14:
|
|
699
596
|
if (pos3d) {
|
|
700
597
|
return [2 /*return*/, [pos3d]];
|
|
701
598
|
}
|
|
@@ -817,9 +714,9 @@ var EntityUtils;
|
|
|
817
714
|
if ((rego === null || rego === void 0 ? void 0 : rego.visual) instanceof Cesium.Entity) {
|
|
818
715
|
var visual = rego.visual;
|
|
819
716
|
if (visual.position) {
|
|
820
|
-
var
|
|
717
|
+
var pos3d_5 = GetValue(viewer, visual.position);
|
|
821
718
|
// Fix height reference.
|
|
822
|
-
if (
|
|
719
|
+
if (pos3d_5 === null || pos3d_5 === void 0 ? void 0 : pos3d_5.x) {
|
|
823
720
|
var visualHeightRef = Cesium.HeightReference.RELATIVE_TO_GROUND;
|
|
824
721
|
if (visual.model) {
|
|
825
722
|
visualHeightRef = GetValue(viewer, visual.model.heightReference);
|
|
@@ -846,7 +743,7 @@ var EntityUtils;
|
|
|
846
743
|
return drawing_utils_1.DrawingUtils.EnsurePosHeight({
|
|
847
744
|
desiredHeightRef: params.returnHeightRef,
|
|
848
745
|
heightRef: visualHeightRef,
|
|
849
|
-
pos3d:
|
|
746
|
+
pos3d: pos3d_5,
|
|
850
747
|
viewer: viewer
|
|
851
748
|
});
|
|
852
749
|
}
|
|
@@ -855,19 +752,6 @@ var EntityUtils;
|
|
|
855
752
|
return null;
|
|
856
753
|
}
|
|
857
754
|
function evaluateRecord() {
|
|
858
|
-
// Checking for a pre-calculated lat/lon for assembly entities.
|
|
859
|
-
var assemblyLocation = bruce_models_1.Entity.GetValue({
|
|
860
|
-
entity: entity,
|
|
861
|
-
path: ["Bruce", "AssemblyLocation"]
|
|
862
|
-
});
|
|
863
|
-
if (assemblyLocation && typeof assemblyLocation == "object" && bruce_models_1.Carto.ValidateCarto(assemblyLocation)) {
|
|
864
|
-
var latitude = (0, js_utils_1.EnsureNumber)(assemblyLocation.latitude);
|
|
865
|
-
var longitude = (0, js_utils_1.EnsureNumber)(assemblyLocation.longitude);
|
|
866
|
-
// Disallowing exact 0.
|
|
867
|
-
if (latitude || longitude) {
|
|
868
|
-
return Cesium.Cartesian3.fromDegrees(longitude, latitude, (0, js_utils_1.EnsureNumber)(assemblyLocation.altitude));
|
|
869
|
-
}
|
|
870
|
-
}
|
|
871
755
|
var location = bruce_models_1.Entity.GetValue({
|
|
872
756
|
entity: entity,
|
|
873
757
|
path: ["Bruce", "Location"]
|
|
@@ -961,25 +845,24 @@ var EntityUtils;
|
|
|
961
845
|
EntityUtils.GetPos = GetPos;
|
|
962
846
|
/**
|
|
963
847
|
* Returns the position of the entity.
|
|
964
|
-
* This is an async variant that checks for related
|
|
848
|
+
* This is an async variant that checks for related assemblies.
|
|
965
849
|
* @param params
|
|
966
850
|
* @deprecated use GetLocation instead.
|
|
967
851
|
* @returns
|
|
968
852
|
*/
|
|
969
853
|
function GetPosAsync(params) {
|
|
970
|
-
var _a, _b, _c, _d;
|
|
971
854
|
return __awaiter(this, void 0, void 0, function () {
|
|
972
|
-
var viewer, entityId, entity,
|
|
973
|
-
return __generator(this, function (
|
|
974
|
-
switch (
|
|
855
|
+
var viewer, entityId, entity, visualRegister, returnHeightRef, recordHeightRef, api, lat, lon, location_1, e_3, e_4, pos3d, eLocation;
|
|
856
|
+
return __generator(this, function (_a) {
|
|
857
|
+
switch (_a.label) {
|
|
975
858
|
case 0:
|
|
976
|
-
viewer = params.viewer, entityId = params.entityId, entity = params.entity,
|
|
859
|
+
viewer = params.viewer, entityId = params.entityId, entity = params.entity, visualRegister = params.visualRegister, returnHeightRef = params.returnHeightRef, recordHeightRef = params.recordHeightRef, api = params.api;
|
|
977
860
|
if (!!entity) return [3 /*break*/, 9];
|
|
978
861
|
lat = 0;
|
|
979
862
|
lon = 0;
|
|
980
|
-
|
|
863
|
+
_a.label = 1;
|
|
981
864
|
case 1:
|
|
982
|
-
|
|
865
|
+
_a.trys.push([1, 3, , 4]);
|
|
983
866
|
return [4 /*yield*/, bruce_models_1.Entity.Get({
|
|
984
867
|
api: api,
|
|
985
868
|
entityId: entityId,
|
|
@@ -987,7 +870,7 @@ var EntityUtils;
|
|
|
987
870
|
migrated: true
|
|
988
871
|
})];
|
|
989
872
|
case 2:
|
|
990
|
-
entity = (
|
|
873
|
+
entity = (_a.sent()).entity;
|
|
991
874
|
if (entity) {
|
|
992
875
|
location_1 = bruce_models_1.Entity.GetValue({
|
|
993
876
|
entity: entity,
|
|
@@ -998,14 +881,14 @@ var EntityUtils;
|
|
|
998
881
|
}
|
|
999
882
|
return [3 /*break*/, 4];
|
|
1000
883
|
case 3:
|
|
1001
|
-
e_3 =
|
|
884
|
+
e_3 = _a.sent();
|
|
1002
885
|
console.error(e_3);
|
|
1003
886
|
return [3 /*break*/, 4];
|
|
1004
887
|
case 4:
|
|
1005
888
|
if (!(entity && (isNaN(lat) || isNaN(lon) || (lat == 0 && lon == 0)))) return [3 /*break*/, 9];
|
|
1006
|
-
|
|
889
|
+
_a.label = 5;
|
|
1007
890
|
case 5:
|
|
1008
|
-
|
|
891
|
+
_a.trys.push([5, 7, , 9]);
|
|
1009
892
|
return [4 /*yield*/, bruce_models_1.Entity.Get({
|
|
1010
893
|
api: api,
|
|
1011
894
|
entityId: entityId,
|
|
@@ -1013,10 +896,10 @@ var EntityUtils;
|
|
|
1013
896
|
migrated: true
|
|
1014
897
|
})];
|
|
1015
898
|
case 6:
|
|
1016
|
-
entity = (
|
|
899
|
+
entity = (_a.sent()).entity;
|
|
1017
900
|
return [3 /*break*/, 9];
|
|
1018
901
|
case 7:
|
|
1019
|
-
e_4 =
|
|
902
|
+
e_4 = _a.sent();
|
|
1020
903
|
console.warn(e_4);
|
|
1021
904
|
return [4 /*yield*/, bruce_models_1.Entity.Get({
|
|
1022
905
|
api: api,
|
|
@@ -1025,20 +908,13 @@ var EntityUtils;
|
|
|
1025
908
|
migrated: true
|
|
1026
909
|
})];
|
|
1027
910
|
case 8:
|
|
1028
|
-
entity = (
|
|
911
|
+
entity = (_a.sent()).entity;
|
|
1029
912
|
return [3 /*break*/, 9];
|
|
1030
913
|
case 9:
|
|
1031
914
|
if (!entity) {
|
|
1032
915
|
return [2 /*return*/, null];
|
|
1033
916
|
}
|
|
1034
|
-
|
|
1035
|
-
tilesetIds = bruce_models_1.Entity.GetValue({
|
|
1036
|
-
entity: entity,
|
|
1037
|
-
path: ["Bruce", "TilesetIDs"]
|
|
1038
|
-
});
|
|
1039
|
-
tilesetId = (tilesetIds === null || tilesetIds === void 0 ? void 0 : tilesetIds.length) ? tilesetIds[0] : tilesetId;
|
|
1040
|
-
}
|
|
1041
|
-
pos3d = tilesetId ? null : GetPos({
|
|
917
|
+
pos3d = GetPos({
|
|
1042
918
|
viewer: viewer,
|
|
1043
919
|
entity: entity,
|
|
1044
920
|
visualRegister: visualRegister,
|
|
@@ -1048,94 +924,12 @@ var EntityUtils;
|
|
|
1048
924
|
if (bruce_models_1.Cartes.ValidateCartes3(pos3d)) {
|
|
1049
925
|
return [2 /*return*/, pos3d];
|
|
1050
926
|
}
|
|
1051
|
-
if (!!tileset) return [3 /*break*/, 11];
|
|
1052
|
-
if (!tilesetId) return [3 /*break*/, 11];
|
|
1053
|
-
return [4 /*yield*/, bruce_models_1.Tileset.Get({
|
|
1054
|
-
api: api,
|
|
1055
|
-
tilesetId: tilesetId
|
|
1056
|
-
})];
|
|
1057
|
-
case 10:
|
|
1058
|
-
tileset = (_e.sent()).tileset;
|
|
1059
|
-
_e.label = 11;
|
|
1060
|
-
case 11:
|
|
1061
|
-
tSettings = tileset === null || tileset === void 0 ? void 0 : tileset.settings;
|
|
1062
927
|
eLocation = bruce_models_1.Entity.GetValue({
|
|
1063
928
|
entity: entity,
|
|
1064
929
|
path: ["Bruce", "Location"]
|
|
1065
930
|
});
|
|
1066
|
-
if ((eLocation === null || eLocation === void 0 ? void 0 : eLocation.longitude)
|
|
1067
|
-
|
|
1068
|
-
alt = +eLocation.altitude;
|
|
1069
|
-
if (isNaN(alt)) {
|
|
1070
|
-
alt = 0;
|
|
1071
|
-
}
|
|
1072
|
-
pos3d = Cesium.Cartesian3.fromDegrees(+eLocation.longitude, +eLocation.latitude, alt);
|
|
1073
|
-
}
|
|
1074
|
-
else {
|
|
1075
|
-
alt = +tSettings.location.altitude;
|
|
1076
|
-
if (isNaN(alt)) {
|
|
1077
|
-
alt = 0;
|
|
1078
|
-
}
|
|
1079
|
-
pos3d = Cesium.Cartesian3.fromDegrees(+tSettings.location.longitude, +tSettings.location.latitude, alt);
|
|
1080
|
-
}
|
|
1081
|
-
worldPosition = bruce_models_1.Entity.GetValue({
|
|
1082
|
-
entity: entity,
|
|
1083
|
-
path: ["Bruce", "AssemblyWorldPosition"]
|
|
1084
|
-
});
|
|
1085
|
-
if (worldPosition) {
|
|
1086
|
-
heading = 0;
|
|
1087
|
-
pitch = 0;
|
|
1088
|
-
roll = 0;
|
|
1089
|
-
eTransform = bruce_models_1.Entity.GetValue({
|
|
1090
|
-
entity: entity,
|
|
1091
|
-
path: ["Bruce", "Transform"]
|
|
1092
|
-
});
|
|
1093
|
-
if (eTransform === null || eTransform === void 0 ? void 0 : eTransform.heading) {
|
|
1094
|
-
heading = eTransform.heading;
|
|
1095
|
-
}
|
|
1096
|
-
else if ((_b = tSettings === null || tSettings === void 0 ? void 0 : tSettings.transform) === null || _b === void 0 ? void 0 : _b.heading) {
|
|
1097
|
-
heading = tSettings.transform.heading;
|
|
1098
|
-
}
|
|
1099
|
-
if (eTransform === null || eTransform === void 0 ? void 0 : eTransform.pitch) {
|
|
1100
|
-
pitch = eTransform.pitch;
|
|
1101
|
-
}
|
|
1102
|
-
else if ((_c = tSettings === null || tSettings === void 0 ? void 0 : tSettings.transform) === null || _c === void 0 ? void 0 : _c.pitch) {
|
|
1103
|
-
pitch = tSettings.transform.pitch;
|
|
1104
|
-
}
|
|
1105
|
-
if (eTransform === null || eTransform === void 0 ? void 0 : eTransform.roll) {
|
|
1106
|
-
roll = eTransform.roll;
|
|
1107
|
-
}
|
|
1108
|
-
else if ((_d = tSettings === null || tSettings === void 0 ? void 0 : tSettings.transform) === null || _d === void 0 ? void 0 : _d.roll) {
|
|
1109
|
-
roll = tSettings.transform.roll;
|
|
1110
|
-
}
|
|
1111
|
-
heading = +heading;
|
|
1112
|
-
if (isNaN(heading)) {
|
|
1113
|
-
heading = 0;
|
|
1114
|
-
}
|
|
1115
|
-
pitch = +pitch;
|
|
1116
|
-
if (isNaN(pitch)) {
|
|
1117
|
-
pitch = 0;
|
|
1118
|
-
}
|
|
1119
|
-
roll = +roll;
|
|
1120
|
-
if (isNaN(roll)) {
|
|
1121
|
-
roll = 0;
|
|
1122
|
-
}
|
|
1123
|
-
matrix4 = worldPosition;
|
|
1124
|
-
offset = new Cesium.Cartesian3(+matrix4[0][3], +matrix4[1][3], +matrix4[2][3]);
|
|
1125
|
-
worldPivot = bruce_models_1.Entity.GetValue({
|
|
1126
|
-
entity: entity,
|
|
1127
|
-
path: ["Bruce", "GeometryWorldPivot"]
|
|
1128
|
-
});
|
|
1129
|
-
if (worldPivot) //the position from worldMatrix + center of geometry offset
|
|
1130
|
-
{
|
|
1131
|
-
offset = new Cesium.Cartesian3(worldPivot[0], worldPivot[1], worldPivot[2]);
|
|
1132
|
-
}
|
|
1133
|
-
m1 = Cesium.Transforms.eastNorthUpToFixedFrame(pos3d);
|
|
1134
|
-
hpr = Cesium.HeadingPitchRoll.fromDegrees(heading, pitch, roll, new Cesium.HeadingPitchRoll());
|
|
1135
|
-
transform = Cesium.Matrix3.fromHeadingPitchRoll(hpr);
|
|
1136
|
-
transformedOffset = Cesium.Matrix3.multiplyByVector(transform, offset, new Cesium.Cartesian3());
|
|
1137
|
-
pos3d = Cesium.Matrix4.multiplyByPoint(m1, transformedOffset, new Cesium.Cartesian3());
|
|
1138
|
-
}
|
|
931
|
+
if (+(eLocation === null || eLocation === void 0 ? void 0 : eLocation.longitude)) {
|
|
932
|
+
pos3d = Cesium.Cartesian3.fromDegrees((0, js_utils_1.EnsureNumber)(eLocation.longitude), (0, js_utils_1.EnsureNumber)(eLocation.latitude), (0, js_utils_1.EnsureNumber)(eLocation.altitude));
|
|
1139
933
|
}
|
|
1140
934
|
return [2 /*return*/, drawing_utils_1.DrawingUtils.EnsurePosHeight({
|
|
1141
935
|
desiredHeightRef: params.returnHeightRef,
|