bruce-cesium 0.6.3 → 0.6.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.
- package/dist/bruce-cesium.es5.js +160 -54
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +159 -53
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/rendering/entity-render-engine.js +24 -13
- package/dist/lib/rendering/entity-render-engine.js.map +1 -1
- package/dist/lib/rendering/menu-item-manager.js +9 -0
- package/dist/lib/rendering/menu-item-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +13 -5
- package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +9 -3
- package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +9 -3
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +9 -3
- package/dist/lib/rendering/render-managers/entities/entity-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +15 -5
- package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js +8 -3
- package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js +6 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-pointcloud-render-manager.js +8 -3
- package/dist/lib/rendering/render-managers/tilesets/tileset-pointcloud-render-manager.js.map +1 -1
- package/dist/lib/rendering/tileset-render-engine.js +46 -11
- package/dist/lib/rendering/tileset-render-engine.js.map +1 -1
- package/dist/lib/rendering/view-render-engine.js.map +1 -1
- package/dist/lib/utils/entity-utils.js +3 -3
- package/dist/lib/utils/entity-utils.js.map +1 -1
- package/package.json +1 -1
package/dist/bruce-cesium.es5.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BruceEvent, Cartes, Carto, Geometry, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, DelayQueue, Entity as Entity$1, BatchedDataGetter, ObjectUtils, Tileset, EntityCoords, EntityFilterGetter, EntitySource, MenuItem, ProjectView, ProjectViewBookmark, ProjectViewTile, ProjectViewLegacyTile, TilesetExtMapTiles, ProgramKey, Camera } from 'bruce-models';
|
|
2
|
-
import { Cartesian2, Cartographic, Math as Math$1, Color, HeightReference, Cartesian3,
|
|
2
|
+
import { Cartesian2, Cartographic, Math as Math$1, Entity, Primitive, Cesium3DTileFeature, Color, HeightReference, Cartesian3, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, HeadingPitchRange, OrthographicFrustum, createWorldTerrain, EllipsoidTerrainProvider, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, Matrix4, Cesium3DTileset, EllipsoidGeodesic, ColorMaterialProperty, Rectangle, Matrix3, EasingFunction, GeometryInstance, JulianDate, createOsmBuildings, Cesium3DTileStyle } from 'cesium';
|
|
3
3
|
|
|
4
4
|
var TIME_LAG = 300;
|
|
5
5
|
var POSITION_CHECK_TIMER = 950;
|
|
@@ -563,14 +563,14 @@ var EntityUtils;
|
|
|
563
563
|
var points = Geometry.ParsePoints(pointStr);
|
|
564
564
|
var point = points.length > 0 ? points[0] : null;
|
|
565
565
|
if (point && Carto.ValidateCarto(point)) {
|
|
566
|
-
return Cartesian3.fromDegrees(point.longitude, point.latitude, point.altitude);
|
|
566
|
+
return Cartesian3.fromDegrees(Number(point.longitude), Number(point.latitude), Number(point.altitude));
|
|
567
567
|
}
|
|
568
568
|
}
|
|
569
569
|
var lineStr = entity.geometry.LineString;
|
|
570
570
|
if (lineStr && typeof lineStr == "string") {
|
|
571
571
|
var points = Geometry.ParsePoints(lineStr);
|
|
572
572
|
if (points.length > 0) {
|
|
573
|
-
var posses = points.map(function (x) { return Cartesian3.fromDegrees(x.longitude, x.latitude, x.altitude); });
|
|
573
|
+
var posses = points.map(function (x) { return Cartesian3.fromDegrees(Number(x.longitude), Number(x.latitude), Number(x.altitude)); });
|
|
574
574
|
var length_1 = MeasureUtils.MeasurePolyline(posses);
|
|
575
575
|
if (length_1 > 0) {
|
|
576
576
|
var point = DrawingUtils.PointAcrossPolyline(viewer, posses, length_1 / 2);
|
|
@@ -590,7 +590,7 @@ var EntityUtils;
|
|
|
590
590
|
var points = Geometry.ParsePoints(boundary.LinearRing);
|
|
591
591
|
var point = Carto.GetCenter(points);
|
|
592
592
|
if (point && Carto.ValidateCarto(point)) {
|
|
593
|
-
return Cartesian3.fromDegrees(point.longitude, point.latitude, point.altitude);
|
|
593
|
+
return Cartesian3.fromDegrees(Number(point.longitude), Number(point.latitude), Number(point.altitude));
|
|
594
594
|
}
|
|
595
595
|
}
|
|
596
596
|
}
|
|
@@ -845,7 +845,7 @@ function getPolygonExtrusion(entity, tags, ring, posses, heightRef, pStyle) {
|
|
|
845
845
|
points.forEach(function (point) {
|
|
846
846
|
point.height = alt_1;
|
|
847
847
|
});
|
|
848
|
-
posses = points.map(function (x) { return Cartesian3.fromRadians(x.longitude, x.latitude, x.height); });
|
|
848
|
+
posses = points.map(function (x) { return Cartesian3.fromRadians(Number(x.longitude), Number(x.latitude), Number(x.height)); });
|
|
849
849
|
}
|
|
850
850
|
}
|
|
851
851
|
// Step 2. Try get using geometry data.
|
|
@@ -871,6 +871,9 @@ function getPolygonExtrusion(entity, tags, ring, posses, heightRef, pStyle) {
|
|
|
871
871
|
}
|
|
872
872
|
}
|
|
873
873
|
data.posses = posses;
|
|
874
|
+
if (data.value != undefined) {
|
|
875
|
+
data.value = Number(data.value);
|
|
876
|
+
}
|
|
874
877
|
return data;
|
|
875
878
|
}
|
|
876
879
|
function getHeightRef(style) {
|
|
@@ -890,7 +893,7 @@ function getZIndex(style, entity, tags) {
|
|
|
890
893
|
if (zIndex == null) {
|
|
891
894
|
zIndex = 0;
|
|
892
895
|
}
|
|
893
|
-
return zIndex;
|
|
896
|
+
return Number(zIndex);
|
|
894
897
|
}
|
|
895
898
|
function getStyle(api, entity, styleId) {
|
|
896
899
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -1056,6 +1059,9 @@ var EntityRenderEngine;
|
|
|
1056
1059
|
}
|
|
1057
1060
|
EntityRenderEngine.Render = Render;
|
|
1058
1061
|
function Remove(viewer, entity) {
|
|
1062
|
+
if (viewer.isDestroyed()) {
|
|
1063
|
+
return;
|
|
1064
|
+
}
|
|
1059
1065
|
if (entity._parentEntity) {
|
|
1060
1066
|
Remove(viewer, entity._parentEntity);
|
|
1061
1067
|
}
|
|
@@ -1087,7 +1093,7 @@ var EntityRenderEngine;
|
|
|
1087
1093
|
iconUrl = ClientFile.GetUrl(params.api, style.iconId);
|
|
1088
1094
|
}
|
|
1089
1095
|
if (iconUrl) {
|
|
1090
|
-
var iconScale =
|
|
1096
|
+
var iconScale = Number(Calculator.GetValue(style.iconScale, entity, params.tags));
|
|
1091
1097
|
if (!iconScale && iconScale != 0) {
|
|
1092
1098
|
iconScale = 1;
|
|
1093
1099
|
}
|
|
@@ -1097,7 +1103,8 @@ var EntityRenderEngine;
|
|
|
1097
1103
|
horizontalOrigin: HorizontalOrigin.CENTER,
|
|
1098
1104
|
verticalOrigin: VerticalOrigin.BOTTOM,
|
|
1099
1105
|
image: iconUrl,
|
|
1100
|
-
heightReference: getHeightRef(style)
|
|
1106
|
+
heightReference: getHeightRef(style),
|
|
1107
|
+
scale: iconScale
|
|
1101
1108
|
},
|
|
1102
1109
|
position: EntityUtils.GetPos(params.viewer, entity),
|
|
1103
1110
|
show: false
|
|
@@ -1113,6 +1120,7 @@ var EntityRenderEngine;
|
|
|
1113
1120
|
if (size == null) {
|
|
1114
1121
|
size = 30;
|
|
1115
1122
|
}
|
|
1123
|
+
size = Number(size);
|
|
1116
1124
|
if (size <= 0) {
|
|
1117
1125
|
return null;
|
|
1118
1126
|
}
|
|
@@ -1199,7 +1207,7 @@ var EntityRenderEngine;
|
|
|
1199
1207
|
if (!isValid) {
|
|
1200
1208
|
return null;
|
|
1201
1209
|
}
|
|
1202
|
-
var posses = points.map(function (x) { return Cartesian3.fromDegrees(x.longitude, x.latitude, x.altitude); });
|
|
1210
|
+
var posses = points.map(function (x) { return Cartesian3.fromDegrees(Number(x.longitude), Number(x.latitude), Number(x.altitude)); });
|
|
1203
1211
|
// Making sure no 0 length lines coming through.
|
|
1204
1212
|
// Ideally we would measure the full line but I fear that's too expensive.
|
|
1205
1213
|
if (posses.length == 2 || posses.length == 3) {
|
|
@@ -1222,6 +1230,7 @@ var EntityRenderEngine;
|
|
|
1222
1230
|
if (width == null) {
|
|
1223
1231
|
width = 4;
|
|
1224
1232
|
}
|
|
1233
|
+
width = Number(width);
|
|
1225
1234
|
if (width <= 0) {
|
|
1226
1235
|
return null;
|
|
1227
1236
|
}
|
|
@@ -1309,19 +1318,20 @@ var EntityRenderEngine;
|
|
|
1309
1318
|
if (width == null) {
|
|
1310
1319
|
width = 4;
|
|
1311
1320
|
}
|
|
1321
|
+
width = Number(width);
|
|
1312
1322
|
if (width <= 0) {
|
|
1313
1323
|
return null;
|
|
1314
1324
|
}
|
|
1315
1325
|
var heightRef = getHeightRef(style);
|
|
1316
1326
|
var outerRing = pRings.find(function (x) { return x.Facing == Geometry.EPolygonRingType.Boundaries; });
|
|
1317
1327
|
var points = Geometry.ParsePoints(outerRing === null || outerRing === void 0 ? void 0 : outerRing.LinearRing);
|
|
1318
|
-
var posses = points.map(function (x) { return Cartesian3.fromDegrees(x.longitude, x.latitude, x.altitude); });
|
|
1328
|
+
var posses = points.map(function (x) { return Cartesian3.fromDegrees(Number(x.longitude), Number(x.latitude), Number(x.altitude)); });
|
|
1319
1329
|
var extrusion = getPolygonExtrusion(entity, params.tags, outerRing, posses, heightRef, style);
|
|
1320
1330
|
posses = extrusion.posses;
|
|
1321
1331
|
var holeRings = pRings.filter(function (x) { return x.Facing == Geometry.EPolygonRingType.Hole; });
|
|
1322
1332
|
var holePosses = holeRings.map(function (x) {
|
|
1323
1333
|
var points = Geometry.ParsePoints(x.LinearRing);
|
|
1324
|
-
return points.map(function (x) { return Cartesian3.fromDegrees(x.longitude, x.latitude, x.altitude); });
|
|
1334
|
+
return points.map(function (x) { return Cartesian3.fromDegrees(Number(x.longitude), Number(x.latitude), Number(x.altitude)); });
|
|
1325
1335
|
});
|
|
1326
1336
|
var zIndex = getZIndex(style, entity, params.tags);
|
|
1327
1337
|
var cEntity = new Entity({
|
|
@@ -1415,16 +1425,17 @@ var EntityRenderEngine;
|
|
|
1415
1425
|
function Render(params) {
|
|
1416
1426
|
var entity = params.entity;
|
|
1417
1427
|
var transform = entity === null || entity === void 0 ? void 0 : entity.transform;
|
|
1418
|
-
var heading = transform ?
|
|
1428
|
+
var heading = transform ? Number(transform.heading) : 0;
|
|
1419
1429
|
heading = (heading + 90) % 360;
|
|
1420
|
-
var pitch = transform ?
|
|
1421
|
-
var roll = transform ?
|
|
1422
|
-
var scale = transform ?
|
|
1430
|
+
var pitch = transform ? Number(transform.pitch) : 0;
|
|
1431
|
+
var roll = transform ? Number(transform.roll) : 0;
|
|
1432
|
+
var scale = transform ? Number(transform.scale) : 1;
|
|
1423
1433
|
if (scale <= 0) {
|
|
1424
1434
|
scale = 1;
|
|
1425
1435
|
}
|
|
1426
1436
|
var style = params.style;
|
|
1427
|
-
var styleScale = (style === null || style === void 0 ? void 0 : style.scale) ?
|
|
1437
|
+
var styleScale = (style === null || style === void 0 ? void 0 : style.scale) ? Calculator.GetValue(style === null || style === void 0 ? void 0 : style.scale, entity, params.tags) : null;
|
|
1438
|
+
styleScale = Number(styleScale);
|
|
1428
1439
|
if (!styleScale) {
|
|
1429
1440
|
styleScale = 1;
|
|
1430
1441
|
}
|
|
@@ -1434,7 +1445,7 @@ var EntityRenderEngine;
|
|
|
1434
1445
|
var pos = EntityUtils.GetPos(params.viewer, entity);
|
|
1435
1446
|
if (heightRef == HeightReference.CLAMP_TO_GROUND) {
|
|
1436
1447
|
var carto = Cartographic.fromCartesian(pos);
|
|
1437
|
-
pos = Cartesian3.fromRadians(carto.longitude, carto.latitude, 0);
|
|
1448
|
+
pos = Cartesian3.fromRadians(Number(carto.longitude), Number(carto.latitude), 0);
|
|
1438
1449
|
heightRef = HeightReference.RELATIVE_TO_GROUND;
|
|
1439
1450
|
}
|
|
1440
1451
|
var orientation = Transforms.headingPitchRollQuaternion(pos, hpr);
|
|
@@ -1735,11 +1746,12 @@ var EntitiesRenderManager;
|
|
|
1735
1746
|
Manager.prototype.onGetterUpdate = function (entities) {
|
|
1736
1747
|
var _a;
|
|
1737
1748
|
return __awaiter(this, void 0, void 0, function () {
|
|
1738
|
-
var cEntities, i, entity, id, cEntity, visual;
|
|
1749
|
+
var cEntities, i, entity, id, cEntity, visual, e_2;
|
|
1739
1750
|
return __generator(this, function (_b) {
|
|
1740
1751
|
switch (_b.label) {
|
|
1741
1752
|
case 0:
|
|
1742
|
-
|
|
1753
|
+
_b.trys.push([0, 2, , 3]);
|
|
1754
|
+
if (this.disposed || this.viewer.isDestroyed()) {
|
|
1743
1755
|
return [2 /*return*/];
|
|
1744
1756
|
}
|
|
1745
1757
|
return [4 /*yield*/, EntityRenderEngine.Render({
|
|
@@ -1773,7 +1785,12 @@ var EntitiesRenderManager;
|
|
|
1773
1785
|
this.visualsManager.Remove(id, this.item.id);
|
|
1774
1786
|
}
|
|
1775
1787
|
}
|
|
1776
|
-
return [
|
|
1788
|
+
return [3 /*break*/, 3];
|
|
1789
|
+
case 2:
|
|
1790
|
+
e_2 = _b.sent();
|
|
1791
|
+
console.error(e_2);
|
|
1792
|
+
return [3 /*break*/, 3];
|
|
1793
|
+
case 3: return [2 /*return*/];
|
|
1777
1794
|
}
|
|
1778
1795
|
});
|
|
1779
1796
|
});
|
|
@@ -1838,11 +1855,12 @@ var EntitiesLoadedRenderManager;
|
|
|
1838
1855
|
Manager.prototype.onGetterUpdate = function (entities) {
|
|
1839
1856
|
var _a;
|
|
1840
1857
|
return __awaiter(this, void 0, void 0, function () {
|
|
1841
|
-
var cEntities, i, entity, id, cEntity, visual;
|
|
1858
|
+
var cEntities, i, entity, id, cEntity, visual, e_1;
|
|
1842
1859
|
return __generator(this, function (_b) {
|
|
1843
1860
|
switch (_b.label) {
|
|
1844
1861
|
case 0:
|
|
1845
|
-
|
|
1862
|
+
_b.trys.push([0, 2, , 3]);
|
|
1863
|
+
if (this.disposed || this.viewer.isDestroyed()) {
|
|
1846
1864
|
return [2 /*return*/];
|
|
1847
1865
|
}
|
|
1848
1866
|
return [4 /*yield*/, EntityRenderEngine.Render({
|
|
@@ -1876,7 +1894,12 @@ var EntitiesLoadedRenderManager;
|
|
|
1876
1894
|
this.visualsManager.Remove(id, this.item.id);
|
|
1877
1895
|
}
|
|
1878
1896
|
}
|
|
1879
|
-
return [
|
|
1897
|
+
return [3 /*break*/, 3];
|
|
1898
|
+
case 2:
|
|
1899
|
+
e_1 = _b.sent();
|
|
1900
|
+
console.error(e_1);
|
|
1901
|
+
return [3 /*break*/, 3];
|
|
1902
|
+
case 3: return [2 /*return*/];
|
|
1880
1903
|
}
|
|
1881
1904
|
});
|
|
1882
1905
|
});
|
|
@@ -2416,16 +2439,19 @@ var EntitiesIdsRenderManager;
|
|
|
2416
2439
|
Manager.prototype.onGetterUpdate = function (entityIds) {
|
|
2417
2440
|
var _a;
|
|
2418
2441
|
return __awaiter(this, void 0, void 0, function () {
|
|
2419
|
-
var api, entities, cEntities, i, entity, id, cEntity, visual;
|
|
2442
|
+
var api, entities, cEntities, i, entity, id, cEntity, visual, e_1;
|
|
2420
2443
|
return __generator(this, function (_b) {
|
|
2421
2444
|
switch (_b.label) {
|
|
2422
2445
|
case 0:
|
|
2423
|
-
if (this.disposed) {
|
|
2446
|
+
if (this.disposed || this.viewer.isDestroyed()) {
|
|
2424
2447
|
return [2 /*return*/];
|
|
2425
2448
|
}
|
|
2449
|
+
_b.label = 1;
|
|
2450
|
+
case 1:
|
|
2451
|
+
_b.trys.push([1, 4, , 5]);
|
|
2426
2452
|
api = this.apiGetter.getApi();
|
|
2427
2453
|
return [4 /*yield*/, Entity$1.GetListByIds(api, entityIds)];
|
|
2428
|
-
case
|
|
2454
|
+
case 2:
|
|
2429
2455
|
entities = _b.sent();
|
|
2430
2456
|
return [4 /*yield*/, EntityRenderEngine.Render({
|
|
2431
2457
|
viewer: this.viewer,
|
|
@@ -2435,7 +2461,7 @@ var EntitiesIdsRenderManager;
|
|
|
2435
2461
|
visualRegister: this.visualsManager,
|
|
2436
2462
|
zoomControl: this.item.CameraZoomSettings
|
|
2437
2463
|
})];
|
|
2438
|
-
case
|
|
2464
|
+
case 3:
|
|
2439
2465
|
cEntities = _b.sent();
|
|
2440
2466
|
for (i = 0; i < entities.length; i++) {
|
|
2441
2467
|
entity = entities[i];
|
|
@@ -2458,7 +2484,12 @@ var EntitiesIdsRenderManager;
|
|
|
2458
2484
|
this.visualsManager.Remove(id, this.item.id);
|
|
2459
2485
|
}
|
|
2460
2486
|
}
|
|
2461
|
-
return [
|
|
2487
|
+
return [3 /*break*/, 5];
|
|
2488
|
+
case 4:
|
|
2489
|
+
e_1 = _b.sent();
|
|
2490
|
+
console.error(e_1);
|
|
2491
|
+
return [3 /*break*/, 5];
|
|
2492
|
+
case 5: return [2 /*return*/];
|
|
2462
2493
|
}
|
|
2463
2494
|
});
|
|
2464
2495
|
});
|
|
@@ -2520,11 +2551,12 @@ var EntityRenderManager;
|
|
|
2520
2551
|
Manager.prototype.onGetterUpdate = function (id) {
|
|
2521
2552
|
var _a;
|
|
2522
2553
|
return __awaiter(this, void 0, void 0, function () {
|
|
2523
|
-
var api, entity, cEntities, cEntity, visual;
|
|
2554
|
+
var api, entity, cEntities, cEntity, visual, e_1;
|
|
2524
2555
|
return __generator(this, function (_b) {
|
|
2525
2556
|
switch (_b.label) {
|
|
2526
2557
|
case 0:
|
|
2527
|
-
|
|
2558
|
+
_b.trys.push([0, 3, , 4]);
|
|
2559
|
+
if (this.disposed || this.viewer.isDestroyed()) {
|
|
2528
2560
|
return [2 /*return*/];
|
|
2529
2561
|
}
|
|
2530
2562
|
api = this.apiGetter.getApi();
|
|
@@ -2557,7 +2589,12 @@ var EntityRenderManager;
|
|
|
2557
2589
|
else {
|
|
2558
2590
|
this.visualsManager.Remove(id, this.item.id);
|
|
2559
2591
|
}
|
|
2560
|
-
return [
|
|
2592
|
+
return [3 /*break*/, 4];
|
|
2593
|
+
case 3:
|
|
2594
|
+
e_1 = _b.sent();
|
|
2595
|
+
console.error(e_1);
|
|
2596
|
+
return [3 /*break*/, 4];
|
|
2597
|
+
case 4: return [2 /*return*/];
|
|
2561
2598
|
}
|
|
2562
2599
|
});
|
|
2563
2600
|
});
|
|
@@ -2570,6 +2607,24 @@ var EntityRenderManager;
|
|
|
2570
2607
|
function colorToCColor$1(color) {
|
|
2571
2608
|
return new Color(color.red ? color.red / 255 : 0, color.green ? color.green / 255 : 0, color.blue ? color.blue / 255 : 0, color.alpha);
|
|
2572
2609
|
}
|
|
2610
|
+
/**
|
|
2611
|
+
* Returns if a given tileset is alive and in the scene.
|
|
2612
|
+
* @param viewer
|
|
2613
|
+
* @param cTileset
|
|
2614
|
+
* @returns
|
|
2615
|
+
*/
|
|
2616
|
+
function isAlive(viewer, cTileset) {
|
|
2617
|
+
if (viewer.isDestroyed()) {
|
|
2618
|
+
return false;
|
|
2619
|
+
}
|
|
2620
|
+
if (!(viewer === null || viewer === void 0 ? void 0 : viewer.scene)) {
|
|
2621
|
+
return false;
|
|
2622
|
+
}
|
|
2623
|
+
if (cTileset.isDestroyed()) {
|
|
2624
|
+
return false;
|
|
2625
|
+
}
|
|
2626
|
+
return viewer.scene.primitives.contains(cTileset);
|
|
2627
|
+
}
|
|
2573
2628
|
var TilesetRenderEngine;
|
|
2574
2629
|
(function (TilesetRenderEngine) {
|
|
2575
2630
|
function ApplyPosition(cTileset, tileset, coords) {
|
|
@@ -2597,16 +2652,17 @@ var TilesetRenderEngine;
|
|
|
2597
2652
|
return;
|
|
2598
2653
|
}
|
|
2599
2654
|
transform = __assign({ heading: 0, pitch: 0, roll: 0, scale: 1, x: 0, y: 0, z: 0 }, transform);
|
|
2655
|
+
transform.scale = Number(transform.scale);
|
|
2600
2656
|
if (transform.scale <= 0) {
|
|
2601
2657
|
transform.scale = 0.000001;
|
|
2602
2658
|
}
|
|
2603
|
-
var pos = Cartesian3.fromDegrees(location.longitude, location.latitude, location.altitude);
|
|
2604
|
-
var hpr = HeadingPitchRoll.fromDegrees(transform.heading, transform.pitch, transform.roll, new HeadingPitchRoll());
|
|
2659
|
+
var pos = Cartesian3.fromDegrees(Number(location.longitude), Number(location.latitude), Number(location.altitude));
|
|
2660
|
+
var hpr = HeadingPitchRoll.fromDegrees(Number(transform.heading), Number(transform.pitch), Number(transform.roll), new HeadingPitchRoll());
|
|
2605
2661
|
var root = cTileset.root;
|
|
2606
2662
|
root.transform = Transforms.headingPitchRollToFixedFrame(pos, hpr);
|
|
2607
2663
|
var scaleMatrix = Matrix4.fromScale(new Cartesian3(transform.scale, transform.scale, transform.scale), new Matrix4());
|
|
2608
2664
|
root.transform = Matrix4.multiply(root.transform, scaleMatrix, root.transform);
|
|
2609
|
-
root.transform = Matrix4.multiplyByTranslation(root.transform, new Cartesian3(transform.x, transform.y, transform.z), root.transform);
|
|
2665
|
+
root.transform = Matrix4.multiplyByTranslation(root.transform, new Cartesian3(Number(transform.x), Number(transform.y), Number(transform.z)), root.transform);
|
|
2610
2666
|
// Force matrix to update
|
|
2611
2667
|
root.updateTransform();
|
|
2612
2668
|
}
|
|
@@ -2616,22 +2672,22 @@ var TilesetRenderEngine;
|
|
|
2616
2672
|
var settings = tileset.settings;
|
|
2617
2673
|
var maxScreenSpaceError = settings.maximumScreenSpaceError;
|
|
2618
2674
|
if (maxScreenSpaceError || maxScreenSpaceError == 0) {
|
|
2619
|
-
cTileset.maximumScreenSpaceError = maxScreenSpaceError;
|
|
2675
|
+
cTileset.maximumScreenSpaceError = Number(maxScreenSpaceError);
|
|
2620
2676
|
}
|
|
2621
2677
|
}
|
|
2622
2678
|
else if (tileset.type == Tileset.EType.PointCloud) {
|
|
2623
2679
|
var settings = tileset.settings;
|
|
2624
2680
|
var maxScreenSpaceError = settings.maximumScreenSpaceError;
|
|
2625
2681
|
if (maxScreenSpaceError || maxScreenSpaceError == 0) {
|
|
2626
|
-
cTileset.maximumScreenSpaceError = maxScreenSpaceError;
|
|
2682
|
+
cTileset.maximumScreenSpaceError = Number(maxScreenSpaceError);
|
|
2627
2683
|
}
|
|
2628
2684
|
var attenuation = settings.attenuation;
|
|
2629
2685
|
if (attenuation != null) {
|
|
2630
|
-
cTileset.pointCloudShading.attenuation = attenuation;
|
|
2686
|
+
cTileset.pointCloudShading.attenuation = Boolean(attenuation);
|
|
2631
2687
|
}
|
|
2632
2688
|
var attenuationMax = settings.attenuationMax;
|
|
2633
2689
|
if (attenuationMax || attenuationMax == 0) {
|
|
2634
|
-
cTileset.pointCloudShading.maximumAttenuation = attenuationMax;
|
|
2690
|
+
cTileset.pointCloudShading.maximumAttenuation = Number(attenuationMax);
|
|
2635
2691
|
}
|
|
2636
2692
|
}
|
|
2637
2693
|
else {
|
|
@@ -2647,8 +2703,16 @@ var TilesetRenderEngine;
|
|
|
2647
2703
|
});
|
|
2648
2704
|
params.viewer.scene.primitives.add(cTileset_1);
|
|
2649
2705
|
cTileset_1.readyPromise.then(function () {
|
|
2650
|
-
|
|
2651
|
-
|
|
2706
|
+
try {
|
|
2707
|
+
if (!isAlive(params.viewer, cTileset_1)) {
|
|
2708
|
+
return;
|
|
2709
|
+
}
|
|
2710
|
+
ApplySettings(cTileset_1, params.tileset);
|
|
2711
|
+
ApplyPosition(cTileset_1, params.tileset, params.coords);
|
|
2712
|
+
}
|
|
2713
|
+
catch (e) {
|
|
2714
|
+
console.error(e);
|
|
2715
|
+
}
|
|
2652
2716
|
});
|
|
2653
2717
|
return cTileset_1;
|
|
2654
2718
|
}
|
|
@@ -2665,8 +2729,16 @@ var TilesetRenderEngine;
|
|
|
2665
2729
|
});
|
|
2666
2730
|
params.viewer.scene.primitives.add(cTileset_2);
|
|
2667
2731
|
cTileset_2.readyPromise.then(function () {
|
|
2668
|
-
|
|
2669
|
-
|
|
2732
|
+
try {
|
|
2733
|
+
if (!isAlive(params.viewer, cTileset_2)) {
|
|
2734
|
+
return;
|
|
2735
|
+
}
|
|
2736
|
+
ApplySettings(cTileset_2, params.tileset);
|
|
2737
|
+
ApplyPosition(cTileset_2, params.tileset, null);
|
|
2738
|
+
}
|
|
2739
|
+
catch (e) {
|
|
2740
|
+
console.error(e);
|
|
2741
|
+
}
|
|
2670
2742
|
});
|
|
2671
2743
|
return cTileset_2;
|
|
2672
2744
|
}
|
|
@@ -3104,14 +3176,24 @@ var TilesetCadRenderManager;
|
|
|
3104
3176
|
coords: coords
|
|
3105
3177
|
});
|
|
3106
3178
|
cTileset.readyPromise.then(function () {
|
|
3107
|
-
|
|
3108
|
-
|
|
3179
|
+
try {
|
|
3180
|
+
if (_this.disposed || cTileset.isDestroyed()) {
|
|
3181
|
+
return;
|
|
3182
|
+
}
|
|
3183
|
+
_this.onCTilesetLoad();
|
|
3184
|
+
_this.styler = new TilesetRenderEngine.CadStyler(api, _this.cTileset, _this.item.styleId, _this.item.StyleMapping);
|
|
3185
|
+
}
|
|
3186
|
+
catch (e) {
|
|
3187
|
+
console.error(e);
|
|
3109
3188
|
}
|
|
3110
|
-
_this.onCTilesetLoad();
|
|
3111
|
-
_this.styler = new TilesetRenderEngine.CadStyler(api, _this.cTileset, _this.item.styleId, _this.item.StyleMapping);
|
|
3112
3189
|
});
|
|
3113
3190
|
cTileset.tileLoad.addEventListener(function (tile) {
|
|
3114
|
-
|
|
3191
|
+
try {
|
|
3192
|
+
_this.mapCTile(tile);
|
|
3193
|
+
}
|
|
3194
|
+
catch (e) {
|
|
3195
|
+
console.error(e);
|
|
3196
|
+
}
|
|
3115
3197
|
});
|
|
3116
3198
|
return [2 /*return*/];
|
|
3117
3199
|
}
|
|
@@ -3345,7 +3427,12 @@ var TilesetOsmRenderManager;
|
|
|
3345
3427
|
}
|
|
3346
3428
|
this.viewer.scene.primitives.add(this.cTileset);
|
|
3347
3429
|
this.cTileset.tileLoad.addEventListener(function (tile) {
|
|
3348
|
-
|
|
3430
|
+
try {
|
|
3431
|
+
_this.mapCTile(tile);
|
|
3432
|
+
}
|
|
3433
|
+
catch (e) {
|
|
3434
|
+
console.error(e);
|
|
3435
|
+
}
|
|
3349
3436
|
});
|
|
3350
3437
|
this.queueCheckInterval = setInterval(function () {
|
|
3351
3438
|
if (_this.featureQueue.length > 0) {
|
|
@@ -3604,10 +3691,15 @@ var TilesetEntitiesRenderManager;
|
|
|
3604
3691
|
viewer: this.viewer
|
|
3605
3692
|
});
|
|
3606
3693
|
cTileset.readyPromise.then(function () {
|
|
3607
|
-
|
|
3608
|
-
|
|
3694
|
+
try {
|
|
3695
|
+
if (_this.disposed || _this.viewer.isDestroyed()) {
|
|
3696
|
+
return;
|
|
3697
|
+
}
|
|
3698
|
+
_this.onCTilesetLoad();
|
|
3699
|
+
}
|
|
3700
|
+
catch (e) {
|
|
3701
|
+
console.error(e);
|
|
3609
3702
|
}
|
|
3610
|
-
_this.onCTilesetLoad();
|
|
3611
3703
|
});
|
|
3612
3704
|
cTileset.tileLoad.addEventListener(function (tile) {
|
|
3613
3705
|
_this.mapCTile(tile);
|
|
@@ -3703,10 +3795,15 @@ var TilesetPointcloudRenderManager;
|
|
|
3703
3795
|
coords: null
|
|
3704
3796
|
});
|
|
3705
3797
|
cTileset.readyPromise.then(function () {
|
|
3706
|
-
|
|
3707
|
-
|
|
3798
|
+
try {
|
|
3799
|
+
if (_this.disposed || _this.viewer.isDestroyed()) {
|
|
3800
|
+
return;
|
|
3801
|
+
}
|
|
3802
|
+
_this.onCTilesetLoad();
|
|
3803
|
+
}
|
|
3804
|
+
catch (e) {
|
|
3805
|
+
console.error(e);
|
|
3708
3806
|
}
|
|
3709
|
-
_this.onCTilesetLoad();
|
|
3710
3807
|
});
|
|
3711
3808
|
return [2 /*return*/];
|
|
3712
3809
|
}
|
|
@@ -3788,6 +3885,9 @@ var MenuItemManager;
|
|
|
3788
3885
|
return __generator(this, function (_c) {
|
|
3789
3886
|
switch (_c.label) {
|
|
3790
3887
|
case 0:
|
|
3888
|
+
if (this.viewer.isDestroyed()) {
|
|
3889
|
+
return [2 /*return*/, null];
|
|
3890
|
+
}
|
|
3791
3891
|
rItem = this.items.find(function (x) { return x.id == params.item.id; });
|
|
3792
3892
|
if (!!rItem) return [3 /*break*/, 2];
|
|
3793
3893
|
rItem = {
|
|
@@ -3798,6 +3898,9 @@ var MenuItemManager;
|
|
|
3798
3898
|
type: params.item.Type
|
|
3799
3899
|
};
|
|
3800
3900
|
this.items.push(rItem);
|
|
3901
|
+
if (!params.item.Type) {
|
|
3902
|
+
params.item.Type = MenuItem.EType.None;
|
|
3903
|
+
}
|
|
3801
3904
|
switch (params.item.Type) {
|
|
3802
3905
|
case MenuItem.EType.Entities:
|
|
3803
3906
|
rItem.renderManager = new EntitiesRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item, this.sharedGetters);
|
|
@@ -3872,6 +3975,9 @@ var MenuItemManager;
|
|
|
3872
3975
|
return __generator(this, function (_c) {
|
|
3873
3976
|
switch (_c.label) {
|
|
3874
3977
|
case 0:
|
|
3978
|
+
if (this.viewer.isDestroyed()) {
|
|
3979
|
+
return [2 /*return*/];
|
|
3980
|
+
}
|
|
3875
3981
|
item = this.items.find(function (x) { return x.id === id; });
|
|
3876
3982
|
if (!item) return [3 /*break*/, 5];
|
|
3877
3983
|
if (!recursive) return [3 /*break*/, 4];
|