bruce-cesium 0.6.6 → 0.6.9
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 +155 -63
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +154 -62
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/rendering/entity-render-engine.js +19 -18
- package/dist/lib/rendering/entity-render-engine.js.map +1 -1
- package/dist/lib/rendering/menu-item-manager.js +14 -11
- package/dist/lib/rendering/menu-item-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/data-source/data-source-static-kml-manager.js +93 -0
- package/dist/lib/rendering/render-managers/data-source/data-source-static-kml-manager.js.map +1 -0
- package/dist/lib/rendering/render-managers/render-manager.js +4 -3
- package/dist/lib/rendering/render-managers/render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +6 -1
- 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 +6 -1
- 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 +6 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-pointcloud-render-manager.js.map +1 -1
- package/dist/lib/rendering/tile-render-engine.js +7 -6
- package/dist/lib/rendering/tile-render-engine.js.map +1 -1
- package/dist/lib/rendering/tileset-render-engine.js +8 -7
- package/dist/lib/rendering/tileset-render-engine.js.map +1 -1
- package/dist/lib/rendering/view-render-engine.js +8 -7
- package/dist/lib/rendering/view-render-engine.js.map +1 -1
- package/dist/lib/utils/entity-utils.js +7 -6
- package/dist/lib/utils/entity-utils.js.map +1 -1
- package/dist/lib/utils/js-utils.js +22 -0
- package/dist/lib/utils/js-utils.js.map +1 -0
- package/dist/types/rendering/render-managers/data-source/data-source-static-kml-manager.d.ts +16 -0
- package/dist/types/rendering/render-managers/render-manager.d.ts +3 -1
- package/dist/types/utils/js-utils.d.ts +8 -0
- package/package.json +3 -3
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,
|
|
2
|
+
import { Cartesian2, Cartographic, Math as Math$1, Cartesian3, Color, HeightReference, Entity, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, HeadingPitchRange, OrthographicFrustum, JulianDate, createWorldTerrain, EllipsoidTerrainProvider, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, Primitive, Cesium3DTileFeature, Matrix4, Cesium3DTileset, EllipsoidGeodesic, ColorMaterialProperty, Rectangle, Matrix3, EasingFunction, GeometryInstance, createOsmBuildings, Cesium3DTileStyle, KmlDataSource } from 'cesium';
|
|
3
3
|
|
|
4
4
|
var TIME_LAG = 300;
|
|
5
5
|
var POSITION_CHECK_TIMER = 950;
|
|
@@ -423,6 +423,24 @@ var MeasureUtils;
|
|
|
423
423
|
MeasureUtils.MeasurePolyline = MeasurePolyline;
|
|
424
424
|
})(MeasureUtils || (MeasureUtils = {}));
|
|
425
425
|
|
|
426
|
+
/**
|
|
427
|
+
* Ensures a number is returned from a given value.
|
|
428
|
+
* If given value cannot be parsed it will return defaultNum.
|
|
429
|
+
* @param value
|
|
430
|
+
* @param defaultNum default is 0.
|
|
431
|
+
* @returns
|
|
432
|
+
*/
|
|
433
|
+
function EnsureNumber(value, defaultNum) {
|
|
434
|
+
if (!defaultNum) {
|
|
435
|
+
defaultNum = 0;
|
|
436
|
+
}
|
|
437
|
+
value = Number(value);
|
|
438
|
+
if (isNaN(value)) {
|
|
439
|
+
return defaultNum;
|
|
440
|
+
}
|
|
441
|
+
return value;
|
|
442
|
+
}
|
|
443
|
+
|
|
426
444
|
function traverseEntity(cEntity, arr) {
|
|
427
445
|
if (cEntity._parentEntity) {
|
|
428
446
|
traverseEntity(cEntity._parentEntity, arr);
|
|
@@ -555,7 +573,7 @@ var EntityUtils;
|
|
|
555
573
|
function evaluate() {
|
|
556
574
|
if (entity.location && Carto.ValidateCarto(entity.location)) {
|
|
557
575
|
var location_1 = entity.location;
|
|
558
|
-
return Cartesian3.fromDegrees(
|
|
576
|
+
return Cartesian3.fromDegrees(EnsureNumber(location_1.longitude), EnsureNumber(location_1.latitude), EnsureNumber(location_1.altitude));
|
|
559
577
|
}
|
|
560
578
|
if (entity.geometry && typeof entity.geometry == "object") {
|
|
561
579
|
var pointStr = entity.geometry.Point;
|
|
@@ -563,14 +581,14 @@ var EntityUtils;
|
|
|
563
581
|
var points = Geometry.ParsePoints(pointStr);
|
|
564
582
|
var point = points.length > 0 ? points[0] : null;
|
|
565
583
|
if (point && Carto.ValidateCarto(point)) {
|
|
566
|
-
return Cartesian3.fromDegrees(
|
|
584
|
+
return Cartesian3.fromDegrees(EnsureNumber(point.longitude), EnsureNumber(point.latitude), EnsureNumber(point.altitude));
|
|
567
585
|
}
|
|
568
586
|
}
|
|
569
587
|
var lineStr = entity.geometry.LineString;
|
|
570
588
|
if (lineStr && typeof lineStr == "string") {
|
|
571
589
|
var points = Geometry.ParsePoints(lineStr);
|
|
572
590
|
if (points.length > 0) {
|
|
573
|
-
var posses = points.map(function (x) { return Cartesian3.fromDegrees(
|
|
591
|
+
var posses = points.map(function (x) { return Cartesian3.fromDegrees(EnsureNumber(x.longitude), EnsureNumber(x.latitude), EnsureNumber(x.altitude)); });
|
|
574
592
|
var length_1 = MeasureUtils.MeasurePolyline(posses);
|
|
575
593
|
if (length_1 > 0) {
|
|
576
594
|
var point = DrawingUtils.PointAcrossPolyline(viewer, posses, length_1 / 2);
|
|
@@ -590,15 +608,15 @@ var EntityUtils;
|
|
|
590
608
|
var points = Geometry.ParsePoints(boundary.LinearRing);
|
|
591
609
|
var point = Carto.GetCenter(points);
|
|
592
610
|
if (point && Carto.ValidateCarto(point)) {
|
|
593
|
-
return Cartesian3.fromDegrees(
|
|
611
|
+
return Cartesian3.fromDegrees(EnsureNumber(point.longitude), EnsureNumber(point.latitude), EnsureNumber(point.altitude));
|
|
594
612
|
}
|
|
595
613
|
}
|
|
596
614
|
}
|
|
597
615
|
}
|
|
598
616
|
if (entity.boundaries) {
|
|
599
617
|
var point = {
|
|
600
|
-
latitude: (
|
|
601
|
-
longitude: (
|
|
618
|
+
latitude: (EnsureNumber(entity.boundaries.minLatitude) + EnsureNumber(entity.boundaries.maxLatitude)) / 2,
|
|
619
|
+
longitude: (EnsureNumber(entity.boundaries.minLongitude) + EnsureNumber(entity.boundaries.maxLongitude)) / 2,
|
|
602
620
|
altitude: 0
|
|
603
621
|
};
|
|
604
622
|
if (point && Carto.ValidateCarto(point)) {
|
|
@@ -766,7 +784,7 @@ var RenderManager;
|
|
|
766
784
|
function GetZoomControlFromDistance(zoomControl, distance) {
|
|
767
785
|
for (var i = 0; i < zoomControl.length; i++) {
|
|
768
786
|
var zoomItem = zoomControl[i];
|
|
769
|
-
if ((distance >=
|
|
787
|
+
if ((distance >= EnsureNumber(zoomItem.MinZoom)) && (distance <= EnsureNumber(zoomItem.MaxZoom))) {
|
|
770
788
|
return zoomItem;
|
|
771
789
|
}
|
|
772
790
|
}
|
|
@@ -778,8 +796,8 @@ var RenderManager;
|
|
|
778
796
|
var max = 100;
|
|
779
797
|
for (var i = 0; i < zoomControl.length; i++) {
|
|
780
798
|
var zoomItem = zoomControl[i];
|
|
781
|
-
zoomItem.MinZoom =
|
|
782
|
-
zoomItem.MaxZoom =
|
|
799
|
+
zoomItem.MinZoom = EnsureNumber(zoomItem.MinZoom);
|
|
800
|
+
zoomItem.MaxZoom = EnsureNumber(zoomItem.MaxZoom);
|
|
783
801
|
if (zoomItem.MinZoom != null) {
|
|
784
802
|
if (zoomItem.MinZoom < min) {
|
|
785
803
|
min = zoomItem.MinZoom;
|
|
@@ -845,7 +863,7 @@ function getPolygonExtrusion(entity, tags, ring, posses, heightRef, pStyle) {
|
|
|
845
863
|
points.forEach(function (point) {
|
|
846
864
|
point.height = alt_1;
|
|
847
865
|
});
|
|
848
|
-
posses = points.map(function (x) { return Cartesian3.fromRadians(
|
|
866
|
+
posses = points.map(function (x) { return Cartesian3.fromRadians(EnsureNumber(x.longitude), EnsureNumber(x.latitude), EnsureNumber(x.height)); });
|
|
849
867
|
}
|
|
850
868
|
}
|
|
851
869
|
// Step 2. Try get using geometry data.
|
|
@@ -872,7 +890,7 @@ function getPolygonExtrusion(entity, tags, ring, posses, heightRef, pStyle) {
|
|
|
872
890
|
}
|
|
873
891
|
data.posses = posses;
|
|
874
892
|
if (data.value != undefined) {
|
|
875
|
-
data.value =
|
|
893
|
+
data.value = EnsureNumber(data.value);
|
|
876
894
|
}
|
|
877
895
|
return data;
|
|
878
896
|
}
|
|
@@ -893,7 +911,7 @@ function getZIndex(style, entity, tags) {
|
|
|
893
911
|
if (zIndex == null) {
|
|
894
912
|
zIndex = 0;
|
|
895
913
|
}
|
|
896
|
-
return
|
|
914
|
+
return EnsureNumber(zIndex);
|
|
897
915
|
}
|
|
898
916
|
function getStyle(api, entity, styleId) {
|
|
899
917
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -1093,7 +1111,7 @@ var EntityRenderEngine;
|
|
|
1093
1111
|
iconUrl = ClientFile.GetUrl(params.api, style.iconId);
|
|
1094
1112
|
}
|
|
1095
1113
|
if (iconUrl) {
|
|
1096
|
-
var iconScale =
|
|
1114
|
+
var iconScale = EnsureNumber(Calculator.GetValue(style.iconScale, entity, params.tags));
|
|
1097
1115
|
if (!iconScale && iconScale != 0) {
|
|
1098
1116
|
iconScale = 1;
|
|
1099
1117
|
}
|
|
@@ -1120,7 +1138,7 @@ var EntityRenderEngine;
|
|
|
1120
1138
|
if (size == null) {
|
|
1121
1139
|
size = 30;
|
|
1122
1140
|
}
|
|
1123
|
-
size =
|
|
1141
|
+
size = EnsureNumber(size);
|
|
1124
1142
|
if (size <= 0) {
|
|
1125
1143
|
return null;
|
|
1126
1144
|
}
|
|
@@ -1207,7 +1225,7 @@ var EntityRenderEngine;
|
|
|
1207
1225
|
if (!isValid) {
|
|
1208
1226
|
return null;
|
|
1209
1227
|
}
|
|
1210
|
-
var posses = points.map(function (x) { return Cartesian3.fromDegrees(
|
|
1228
|
+
var posses = points.map(function (x) { return Cartesian3.fromDegrees(EnsureNumber(x.longitude), EnsureNumber(x.latitude), EnsureNumber(x.altitude)); });
|
|
1211
1229
|
// Making sure no 0 length lines coming through.
|
|
1212
1230
|
// Ideally we would measure the full line but I fear that's too expensive.
|
|
1213
1231
|
if (posses.length == 2 || posses.length == 3) {
|
|
@@ -1230,7 +1248,7 @@ var EntityRenderEngine;
|
|
|
1230
1248
|
if (width == null) {
|
|
1231
1249
|
width = 4;
|
|
1232
1250
|
}
|
|
1233
|
-
width =
|
|
1251
|
+
width = EnsureNumber(width);
|
|
1234
1252
|
if (width <= 0) {
|
|
1235
1253
|
return null;
|
|
1236
1254
|
}
|
|
@@ -1318,20 +1336,20 @@ var EntityRenderEngine;
|
|
|
1318
1336
|
if (width == null) {
|
|
1319
1337
|
width = 4;
|
|
1320
1338
|
}
|
|
1321
|
-
width =
|
|
1339
|
+
width = EnsureNumber(width);
|
|
1322
1340
|
if (width <= 0) {
|
|
1323
1341
|
return null;
|
|
1324
1342
|
}
|
|
1325
1343
|
var heightRef = getHeightRef(style);
|
|
1326
1344
|
var outerRing = pRings.find(function (x) { return x.Facing == Geometry.EPolygonRingType.Boundaries; });
|
|
1327
1345
|
var points = Geometry.ParsePoints(outerRing === null || outerRing === void 0 ? void 0 : outerRing.LinearRing);
|
|
1328
|
-
var posses = points.map(function (x) { return Cartesian3.fromDegrees(
|
|
1346
|
+
var posses = points.map(function (x) { return Cartesian3.fromDegrees(EnsureNumber(x.longitude), EnsureNumber(x.latitude), EnsureNumber(x.altitude)); });
|
|
1329
1347
|
var extrusion = getPolygonExtrusion(entity, params.tags, outerRing, posses, heightRef, style);
|
|
1330
1348
|
posses = extrusion.posses;
|
|
1331
1349
|
var holeRings = pRings.filter(function (x) { return x.Facing == Geometry.EPolygonRingType.Hole; });
|
|
1332
1350
|
var holePosses = holeRings.map(function (x) {
|
|
1333
1351
|
var points = Geometry.ParsePoints(x.LinearRing);
|
|
1334
|
-
return points.map(function (x) { return Cartesian3.fromDegrees(
|
|
1352
|
+
return points.map(function (x) { return Cartesian3.fromDegrees(EnsureNumber(x.longitude), EnsureNumber(x.latitude), EnsureNumber(x.altitude)); });
|
|
1335
1353
|
});
|
|
1336
1354
|
var zIndex = getZIndex(style, entity, params.tags);
|
|
1337
1355
|
var cEntity = new Entity({
|
|
@@ -1425,27 +1443,27 @@ var EntityRenderEngine;
|
|
|
1425
1443
|
function Render(params) {
|
|
1426
1444
|
var entity = params.entity;
|
|
1427
1445
|
var transform = entity === null || entity === void 0 ? void 0 : entity.transform;
|
|
1428
|
-
var heading = transform ?
|
|
1446
|
+
var heading = EnsureNumber(transform === null || transform === void 0 ? void 0 : transform.heading);
|
|
1429
1447
|
heading = (heading + 90) % 360;
|
|
1430
|
-
var pitch = transform ?
|
|
1431
|
-
var roll = transform ?
|
|
1432
|
-
var scale =
|
|
1448
|
+
var pitch = EnsureNumber(transform === null || transform === void 0 ? void 0 : transform.pitch);
|
|
1449
|
+
var roll = EnsureNumber(transform === null || transform === void 0 ? void 0 : transform.roll);
|
|
1450
|
+
var scale = EnsureNumber(transform.scale, 1);
|
|
1433
1451
|
if (scale <= 0) {
|
|
1434
1452
|
scale = 1;
|
|
1435
1453
|
}
|
|
1436
1454
|
var style = params.style;
|
|
1437
1455
|
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 =
|
|
1439
|
-
if (
|
|
1456
|
+
styleScale = EnsureNumber(styleScale ? styleScale : 1);
|
|
1457
|
+
if (styleScale <= 0) {
|
|
1440
1458
|
styleScale = 1;
|
|
1441
1459
|
}
|
|
1442
1460
|
scale *= styleScale;
|
|
1443
|
-
var hpr = new HeadingPitchRoll(heading, pitch, roll);
|
|
1461
|
+
var hpr = new HeadingPitchRoll(Math$1.toRadians(heading), Math$1.toRadians(pitch), Math$1.toRadians(roll));
|
|
1444
1462
|
var heightRef = getHeightRef(style);
|
|
1445
1463
|
var pos = EntityUtils.GetPos(params.viewer, entity);
|
|
1446
1464
|
if (heightRef == HeightReference.CLAMP_TO_GROUND) {
|
|
1447
1465
|
var carto = Cartographic.fromCartesian(pos);
|
|
1448
|
-
pos = Cartesian3.fromRadians(
|
|
1466
|
+
pos = Cartesian3.fromRadians(EnsureNumber(carto.longitude), EnsureNumber(carto.latitude), 0);
|
|
1449
1467
|
heightRef = HeightReference.RELATIVE_TO_GROUND;
|
|
1450
1468
|
}
|
|
1451
1469
|
var orientation = Transforms.headingPitchRollQuaternion(pos, hpr);
|
|
@@ -2652,17 +2670,17 @@ var TilesetRenderEngine;
|
|
|
2652
2670
|
return;
|
|
2653
2671
|
}
|
|
2654
2672
|
transform = __assign({ heading: 0, pitch: 0, roll: 0, scale: 1, x: 0, y: 0, z: 0 }, transform);
|
|
2655
|
-
transform.scale =
|
|
2673
|
+
transform.scale = EnsureNumber(transform.scale);
|
|
2656
2674
|
if (transform.scale <= 0) {
|
|
2657
2675
|
transform.scale = 0.000001;
|
|
2658
2676
|
}
|
|
2659
|
-
var pos = Cartesian3.fromDegrees(
|
|
2660
|
-
var hpr = HeadingPitchRoll.fromDegrees(
|
|
2677
|
+
var pos = Cartesian3.fromDegrees(EnsureNumber(location.longitude), EnsureNumber(location.latitude), EnsureNumber(location.altitude));
|
|
2678
|
+
var hpr = HeadingPitchRoll.fromDegrees(EnsureNumber(transform.heading), EnsureNumber(transform.pitch), EnsureNumber(transform.roll), new HeadingPitchRoll());
|
|
2661
2679
|
var root = cTileset.root;
|
|
2662
2680
|
root.transform = Transforms.headingPitchRollToFixedFrame(pos, hpr);
|
|
2663
2681
|
var scaleMatrix = Matrix4.fromScale(new Cartesian3(transform.scale, transform.scale, transform.scale), new Matrix4());
|
|
2664
2682
|
root.transform = Matrix4.multiply(root.transform, scaleMatrix, root.transform);
|
|
2665
|
-
root.transform = Matrix4.multiplyByTranslation(root.transform, new Cartesian3(
|
|
2683
|
+
root.transform = Matrix4.multiplyByTranslation(root.transform, new Cartesian3(EnsureNumber(transform.x), EnsureNumber(transform.y), EnsureNumber(transform.z)), root.transform);
|
|
2666
2684
|
// Force matrix to update
|
|
2667
2685
|
root.updateTransform();
|
|
2668
2686
|
}
|
|
@@ -2672,14 +2690,14 @@ var TilesetRenderEngine;
|
|
|
2672
2690
|
var settings = tileset.settings;
|
|
2673
2691
|
var maxScreenSpaceError = settings.maximumScreenSpaceError;
|
|
2674
2692
|
if (maxScreenSpaceError || maxScreenSpaceError == 0) {
|
|
2675
|
-
cTileset.maximumScreenSpaceError =
|
|
2693
|
+
cTileset.maximumScreenSpaceError = EnsureNumber(maxScreenSpaceError);
|
|
2676
2694
|
}
|
|
2677
2695
|
}
|
|
2678
2696
|
else if (tileset.type == Tileset.EType.PointCloud) {
|
|
2679
2697
|
var settings = tileset.settings;
|
|
2680
2698
|
var maxScreenSpaceError = settings.maximumScreenSpaceError;
|
|
2681
2699
|
if (maxScreenSpaceError || maxScreenSpaceError == 0) {
|
|
2682
|
-
cTileset.maximumScreenSpaceError =
|
|
2700
|
+
cTileset.maximumScreenSpaceError = EnsureNumber(maxScreenSpaceError);
|
|
2683
2701
|
}
|
|
2684
2702
|
var attenuation = settings.attenuation;
|
|
2685
2703
|
if (attenuation != null) {
|
|
@@ -2687,7 +2705,7 @@ var TilesetRenderEngine;
|
|
|
2687
2705
|
}
|
|
2688
2706
|
var attenuationMax = settings.attenuationMax;
|
|
2689
2707
|
if (attenuationMax || attenuationMax == 0) {
|
|
2690
|
-
cTileset.pointCloudShading.maximumAttenuation =
|
|
2708
|
+
cTileset.pointCloudShading.maximumAttenuation = EnsureNumber(attenuationMax);
|
|
2691
2709
|
}
|
|
2692
2710
|
}
|
|
2693
2711
|
else {
|
|
@@ -3321,7 +3339,12 @@ var TilesetCadRenderManager;
|
|
|
3321
3339
|
}
|
|
3322
3340
|
this.disposed = true;
|
|
3323
3341
|
if (this.cTileset) {
|
|
3324
|
-
|
|
3342
|
+
var viewer = this.viewer;
|
|
3343
|
+
if (!(viewer === null || viewer === void 0 ? void 0 : viewer.isDestroyed()) && this.viewer.scene.primitives.contains(this.cTileset)) {
|
|
3344
|
+
this.cTileset.show = false;
|
|
3345
|
+
this.viewer.scene.primitives.remove(this.cTileset);
|
|
3346
|
+
}
|
|
3347
|
+
this.cTileset = null;
|
|
3325
3348
|
}
|
|
3326
3349
|
(_a = this.styler) === null || _a === void 0 ? void 0 : _a.Dispose();
|
|
3327
3350
|
this.visualsManager.RemoveByMenuItemId(this.item.id);
|
|
@@ -3403,7 +3426,12 @@ var TilesetOsmRenderManager;
|
|
|
3403
3426
|
}
|
|
3404
3427
|
clearInterval(this.queueCheckInterval);
|
|
3405
3428
|
if (this.cTileset) {
|
|
3406
|
-
|
|
3429
|
+
var viewer = this.viewer;
|
|
3430
|
+
if (!(viewer === null || viewer === void 0 ? void 0 : viewer.isDestroyed()) && this.viewer.scene.primitives.contains(this.cTileset)) {
|
|
3431
|
+
this.cTileset.show = false;
|
|
3432
|
+
this.viewer.scene.primitives.remove(this.cTileset);
|
|
3433
|
+
}
|
|
3434
|
+
this.cTileset = null;
|
|
3407
3435
|
}
|
|
3408
3436
|
this.visualsManager.RemoveByMenuItemId(this.item.id);
|
|
3409
3437
|
this.featureQueue = [];
|
|
@@ -3715,7 +3743,12 @@ var TilesetEntitiesRenderManager;
|
|
|
3715
3743
|
}
|
|
3716
3744
|
this.disposed = true;
|
|
3717
3745
|
if (this.cTileset) {
|
|
3718
|
-
|
|
3746
|
+
var viewer = this.viewer;
|
|
3747
|
+
if (!(viewer === null || viewer === void 0 ? void 0 : viewer.isDestroyed()) && this.viewer.scene.primitives.contains(this.cTileset)) {
|
|
3748
|
+
this.cTileset.show = false;
|
|
3749
|
+
this.viewer.scene.primitives.remove(this.cTileset);
|
|
3750
|
+
}
|
|
3751
|
+
this.cTileset = null;
|
|
3719
3752
|
}
|
|
3720
3753
|
this.visualsManager.RemoveByMenuItemId(this.item.id);
|
|
3721
3754
|
};
|
|
@@ -3821,7 +3854,12 @@ var TilesetPointcloudRenderManager;
|
|
|
3821
3854
|
}
|
|
3822
3855
|
this.disposed = true;
|
|
3823
3856
|
if (this.cTileset) {
|
|
3824
|
-
|
|
3857
|
+
var viewer = this.viewer;
|
|
3858
|
+
if (!(viewer === null || viewer === void 0 ? void 0 : viewer.isDestroyed()) && this.viewer.scene.primitives.contains(this.cTileset)) {
|
|
3859
|
+
this.cTileset.show = false;
|
|
3860
|
+
this.viewer.scene.primitives.remove(this.cTileset);
|
|
3861
|
+
}
|
|
3862
|
+
this.cTileset = null;
|
|
3825
3863
|
}
|
|
3826
3864
|
};
|
|
3827
3865
|
return Manager;
|
|
@@ -3829,6 +3867,58 @@ var TilesetPointcloudRenderManager;
|
|
|
3829
3867
|
TilesetPointcloudRenderManager.Manager = Manager;
|
|
3830
3868
|
})(TilesetPointcloudRenderManager || (TilesetPointcloudRenderManager = {}));
|
|
3831
3869
|
|
|
3870
|
+
var DataSourceStaticKmlManager;
|
|
3871
|
+
(function (DataSourceStaticKmlManager) {
|
|
3872
|
+
var Manager = /** @class */ (function () {
|
|
3873
|
+
function Manager(viewer, apiGetter, item) {
|
|
3874
|
+
this.disposed = false;
|
|
3875
|
+
this.dataSource = null;
|
|
3876
|
+
this.viewer = viewer;
|
|
3877
|
+
this.apiGetter = apiGetter;
|
|
3878
|
+
this.item = item;
|
|
3879
|
+
}
|
|
3880
|
+
Object.defineProperty(Manager.prototype, "Disposed", {
|
|
3881
|
+
get: function () {
|
|
3882
|
+
return this.disposed;
|
|
3883
|
+
},
|
|
3884
|
+
enumerable: false,
|
|
3885
|
+
configurable: true
|
|
3886
|
+
});
|
|
3887
|
+
Manager.prototype.Init = function () {
|
|
3888
|
+
var _a, _b;
|
|
3889
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
3890
|
+
var fileId, api, fileUrl;
|
|
3891
|
+
return __generator(this, function (_c) {
|
|
3892
|
+
fileId = (_b = (_a = this.item.KML) === null || _a === void 0 ? void 0 : _a.ClientFile) === null || _b === void 0 ? void 0 : _b.ID;
|
|
3893
|
+
if (!fileId) {
|
|
3894
|
+
return [2 /*return*/];
|
|
3895
|
+
}
|
|
3896
|
+
api = this.apiGetter.getApi();
|
|
3897
|
+
fileUrl = ClientFile.GetUrl(api, fileId);
|
|
3898
|
+
this.dataSource = new KmlDataSource();
|
|
3899
|
+
this.dataSource.load(fileUrl);
|
|
3900
|
+
this.viewer.dataSources.add(this.dataSource);
|
|
3901
|
+
return [2 /*return*/];
|
|
3902
|
+
});
|
|
3903
|
+
});
|
|
3904
|
+
};
|
|
3905
|
+
Manager.prototype.Dispose = function () {
|
|
3906
|
+
var _a;
|
|
3907
|
+
if (this.disposed) {
|
|
3908
|
+
return;
|
|
3909
|
+
}
|
|
3910
|
+
this.disposed = true;
|
|
3911
|
+
if (this.dataSource &&
|
|
3912
|
+
!((_a = this.viewer) === null || _a === void 0 ? void 0 : _a.isDestroyed()) &&
|
|
3913
|
+
this.viewer.dataSources.contains(this.dataSource)) {
|
|
3914
|
+
this.viewer.dataSources.remove(this.dataSource);
|
|
3915
|
+
}
|
|
3916
|
+
};
|
|
3917
|
+
return Manager;
|
|
3918
|
+
}());
|
|
3919
|
+
DataSourceStaticKmlManager.Manager = Manager;
|
|
3920
|
+
})(DataSourceStaticKmlManager || (DataSourceStaticKmlManager = {}));
|
|
3921
|
+
|
|
3832
3922
|
/**
|
|
3833
3923
|
* Utility to keep track of enabled menu items within a Cesium viewer.
|
|
3834
3924
|
*/
|
|
@@ -3878,12 +3968,12 @@ var MenuItemManager;
|
|
|
3878
3968
|
* @returns
|
|
3879
3969
|
*/
|
|
3880
3970
|
Manager.prototype.RenderItem = function (params, recursive) {
|
|
3881
|
-
var _a, _b;
|
|
3971
|
+
var _a, _b, _c;
|
|
3882
3972
|
if (recursive === void 0) { recursive = true; }
|
|
3883
3973
|
return __awaiter(this, void 0, void 0, function () {
|
|
3884
3974
|
var rItem, i, childId;
|
|
3885
|
-
return __generator(this, function (
|
|
3886
|
-
switch (
|
|
3975
|
+
return __generator(this, function (_d) {
|
|
3976
|
+
switch (_d.label) {
|
|
3887
3977
|
case 0:
|
|
3888
3978
|
if (this.viewer.isDestroyed()) {
|
|
3889
3979
|
return [2 /*return*/, null];
|
|
@@ -3927,7 +4017,7 @@ var MenuItemManager;
|
|
|
3927
4017
|
rItem.renderManager = new TilesetEntitiesRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
|
|
3928
4018
|
break;
|
|
3929
4019
|
case MenuItem.EType.Kml:
|
|
3930
|
-
|
|
4020
|
+
rItem.renderManager = new DataSourceStaticKmlManager.Manager(this.viewer, params.apiGetter, params.item);
|
|
3931
4021
|
break;
|
|
3932
4022
|
// Any "none" type can be ignored. These are just containers for other items.
|
|
3933
4023
|
case MenuItem.EType.None:
|
|
@@ -3935,27 +4025,29 @@ var MenuItemManager;
|
|
|
3935
4025
|
default:
|
|
3936
4026
|
console.error("Menu item type is not implemented.", params.item.Type);
|
|
3937
4027
|
}
|
|
3938
|
-
if (!rItem.renderManager) return [3 /*break*/, 2];
|
|
4028
|
+
if (!(rItem.renderManager && !rItem.renderManager.Disposed)) return [3 /*break*/, 2];
|
|
3939
4029
|
return [4 /*yield*/, rItem.renderManager.Init()];
|
|
3940
4030
|
case 1:
|
|
3941
|
-
|
|
3942
|
-
|
|
4031
|
+
_d.sent();
|
|
4032
|
+
_d.label = 2;
|
|
3943
4033
|
case 2:
|
|
3944
4034
|
if (!(params.item.Children && recursive)) return [3 /*break*/, 6];
|
|
3945
4035
|
i = 0;
|
|
3946
|
-
|
|
4036
|
+
_d.label = 3;
|
|
3947
4037
|
case 3:
|
|
3948
4038
|
if (!(i < params.item.Children.length)) return [3 /*break*/, 6];
|
|
3949
4039
|
return [4 /*yield*/, this.RenderItem(__assign(__assign({}, params), { item: params.item.Children[i] }))];
|
|
3950
4040
|
case 4:
|
|
3951
|
-
childId =
|
|
4041
|
+
childId = _d.sent();
|
|
3952
4042
|
rItem.childIds.push(childId);
|
|
3953
|
-
|
|
4043
|
+
_d.label = 5;
|
|
3954
4044
|
case 5:
|
|
3955
4045
|
i++;
|
|
3956
4046
|
return [3 /*break*/, 3];
|
|
3957
4047
|
case 6:
|
|
3958
|
-
(_b =
|
|
4048
|
+
if (!rItem.renderManager || !((_b = rItem.renderManager) === null || _b === void 0 ? void 0 : _b.Disposed)) {
|
|
4049
|
+
(_c = this.onUpdate) === null || _c === void 0 ? void 0 : _c.Trigger({ isEnabling: true, itemId: rItem.id });
|
|
4050
|
+
}
|
|
3959
4051
|
return [2 /*return*/, rItem.id];
|
|
3960
4052
|
}
|
|
3961
4053
|
});
|
|
@@ -5043,12 +5135,12 @@ var TileRenderEngine;
|
|
|
5043
5135
|
var layer = curEnabledArr.find(function (x) { var _a, _b; return ((_a = x._bMeta) === null || _a === void 0 ? void 0 : _a.accountId) === enabled.accountId && ((_b = x._bMeta) === null || _b === void 0 ? void 0 : _b.tilesetId) === enabled.tilesetId; });
|
|
5044
5136
|
if (layer) {
|
|
5045
5137
|
params.viewer.imageryLayers.raiseToTop(layer);
|
|
5046
|
-
layer.alpha =
|
|
5047
|
-
layer.brightness =
|
|
5048
|
-
layer.contrast =
|
|
5049
|
-
layer.hue =
|
|
5050
|
-
layer.saturation =
|
|
5051
|
-
layer.gamma =
|
|
5138
|
+
layer.alpha = EnsureNumber(enabled.alpha == null ? 1 : enabled.alpha);
|
|
5139
|
+
layer.brightness = EnsureNumber(enabled.brightness == null ? 1 : enabled.brightness);
|
|
5140
|
+
layer.contrast = EnsureNumber(enabled.contrast == null ? 1 : enabled.contrast);
|
|
5141
|
+
layer.hue = EnsureNumber(enabled.hue == null ? 0 : enabled.hue);
|
|
5142
|
+
layer.saturation = EnsureNumber(enabled.saturation == null ? 1 : enabled.saturation);
|
|
5143
|
+
layer.gamma = EnsureNumber(enabled.gamma == null ? 1 : enabled.gamma);
|
|
5052
5144
|
}
|
|
5053
5145
|
};
|
|
5054
5146
|
for (i = 0; i < params.tiles.length; i++) {
|
|
@@ -5370,7 +5462,7 @@ function renderV2(params, bookmark, view) {
|
|
|
5370
5462
|
if (shadows.enabled) {
|
|
5371
5463
|
viewer.shadows = true;
|
|
5372
5464
|
viewer.shadowMap.enabled = true;
|
|
5373
|
-
size =
|
|
5465
|
+
size = EnsureNumber(shadows.pixelSize);
|
|
5374
5466
|
if (size < MIN_SHADOW_SIZE) {
|
|
5375
5467
|
size = MIN_SHADOW_SIZE;
|
|
5376
5468
|
}
|
|
@@ -5396,11 +5488,11 @@ function renderV2(params, bookmark, view) {
|
|
|
5396
5488
|
AO = viewer.scene.postProcessStages.ambientOcclusion;
|
|
5397
5489
|
if (ambientOcclusion.enabled) {
|
|
5398
5490
|
AO.enabled = true;
|
|
5399
|
-
AO.uniforms.intensity =
|
|
5400
|
-
AO.uniforms.lengthCap =
|
|
5401
|
-
AO.uniforms.bias =
|
|
5402
|
-
AO.uniforms.stepSize =
|
|
5403
|
-
AO.uniforms.blurStepSize =
|
|
5491
|
+
AO.uniforms.intensity = EnsureNumber(ambientOcclusion.intensity);
|
|
5492
|
+
AO.uniforms.lengthCap = EnsureNumber(ambientOcclusion.lengthCap);
|
|
5493
|
+
AO.uniforms.bias = EnsureNumber(ambientOcclusion.bias);
|
|
5494
|
+
AO.uniforms.stepSize = EnsureNumber(ambientOcclusion.stepSize);
|
|
5495
|
+
AO.uniforms.blurStepSize = EnsureNumber(ambientOcclusion.blurStepSize);
|
|
5404
5496
|
}
|
|
5405
5497
|
else {
|
|
5406
5498
|
AO.enabled = false;
|
|
@@ -5418,7 +5510,7 @@ function renderV2(params, bookmark, view) {
|
|
|
5418
5510
|
light = viewer.scene.light;
|
|
5419
5511
|
if (light) {
|
|
5420
5512
|
light.color = Color.fromCssColorString(lighting.color);
|
|
5421
|
-
light.intensity =
|
|
5513
|
+
light.intensity = EnsureNumber(lighting.intensity);
|
|
5422
5514
|
}
|
|
5423
5515
|
quality = bSettings === null || bSettings === void 0 ? void 0 : bSettings.quality;
|
|
5424
5516
|
if (quality == null) {
|