bruce-cesium 3.2.6 → 3.2.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 +402 -298
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +399 -295
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/bruce-cesium.js +1 -1
- package/dist/lib/utils/cesium-entity-styler.js +5 -3
- package/dist/lib/utils/cesium-entity-styler.js.map +1 -1
- package/dist/lib/utils/entity-utils.js +187 -86
- package/dist/lib/utils/entity-utils.js.map +1 -1
- package/dist/types/bruce-cesium.d.ts +1 -1
- package/package.json +1 -1
package/dist/bruce-cesium.es5.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Cartes,
|
|
1
|
+
import { Cartes, Carto, Entity as Entity$1, Geometry, Tileset, MathUtils, LRUCache, ProjectViewTile, DelayQueue, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, ObjectUtils, Bounds, EntityRelationType, BruceEvent, EntityCoords, Api, EntitySource, MenuItem, EntityRelation, ProgramKey, ENVIRONMENT, AbstractApi, ProjectViewBookmark, EntityAttachment, EntityAttachmentType, EntityAttribute, ProjectView, ProjectViewLegacyTile, Camera } from 'bruce-models';
|
|
2
2
|
import * as Cesium from 'cesium';
|
|
3
|
-
import { Cartographic, Cartesian2, Math as Math$1, Cartesian3, CallbackProperty, Color, HeightReference, Rectangle,
|
|
3
|
+
import { Cartographic, JulianDate, Cartesian2, Math as Math$1, Cartesian3, CallbackProperty, Color, HeightReference, Rectangle, DistanceDisplayCondition, NearFarScalar, Model, Entity, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, SceneMode, Primitive, Cesium3DTileFeature, Cesium3DTileColorBlendMode, HeadingPitchRange, Ion, Cesium3DTileStyle, KmlDataSource, SceneTransforms, EllipsoidTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, CesiumTerrainProvider, CesiumInspector, OrthographicFrustum, defined, EasingFunction, Cesium3DTileset, Matrix4, Matrix3, IonResource, EllipsoidGeodesic, sampleTerrainMostDetailed, PolygonPipeline, ScreenSpaceEventHandler, ScreenSpaceEventType, BoundingSphere, GeometryInstance, Intersect, ModelGraphics, PolygonGraphics, CorridorGraphics, PointGraphics, BillboardGraphics, EllipseGraphics, ColorMaterialProperty } from 'cesium';
|
|
4
4
|
|
|
5
5
|
/*! *****************************************************************************
|
|
6
6
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
@@ -484,213 +484,6 @@ var DrawingUtils;
|
|
|
484
484
|
DrawingUtils.RaisePos3d = RaisePos3d;
|
|
485
485
|
})(DrawingUtils || (DrawingUtils = {}));
|
|
486
486
|
|
|
487
|
-
var CESIUM_INSPECTOR_KEY = "_nextspace_inspector";
|
|
488
|
-
var ViewUtils;
|
|
489
|
-
(function (ViewUtils) {
|
|
490
|
-
function GatherLegacyMapTiles(params) {
|
|
491
|
-
var viewer = params.viewer;
|
|
492
|
-
var collection = viewer.imageryLayers;
|
|
493
|
-
var tiles = [];
|
|
494
|
-
for (var i = 0; i < collection.length; i++) {
|
|
495
|
-
var layer = collection.get(i);
|
|
496
|
-
if (layer._bName) {
|
|
497
|
-
tiles.push({
|
|
498
|
-
alpha: layer.alpha,
|
|
499
|
-
brightness: layer.brightness,
|
|
500
|
-
contrast: layer.contrast,
|
|
501
|
-
hue: layer.hue,
|
|
502
|
-
saturation: layer.saturation,
|
|
503
|
-
gamma: layer.gamma,
|
|
504
|
-
title: layer._bName,
|
|
505
|
-
});
|
|
506
|
-
}
|
|
507
|
-
}
|
|
508
|
-
return {
|
|
509
|
-
imagery: tiles.reverse()
|
|
510
|
-
};
|
|
511
|
-
}
|
|
512
|
-
ViewUtils.GatherLegacyMapTiles = GatherLegacyMapTiles;
|
|
513
|
-
function GatherLegacyTerrainTile(params) {
|
|
514
|
-
var viewer = params.viewer;
|
|
515
|
-
var enabled = viewer.terrainProvider;
|
|
516
|
-
if (enabled === null || enabled === void 0 ? void 0 : enabled._bName) {
|
|
517
|
-
return {
|
|
518
|
-
terrain: enabled._bName
|
|
519
|
-
};
|
|
520
|
-
}
|
|
521
|
-
return {
|
|
522
|
-
terrain: "flatterrain"
|
|
523
|
-
};
|
|
524
|
-
}
|
|
525
|
-
ViewUtils.GatherLegacyTerrainTile = GatherLegacyTerrainTile;
|
|
526
|
-
function GatherMapTiles(params) {
|
|
527
|
-
var viewer = params.viewer;
|
|
528
|
-
var imagery = viewer.imageryLayers;
|
|
529
|
-
var tiles = [];
|
|
530
|
-
var _loop_1 = function (i) {
|
|
531
|
-
var provider = imagery.get(i);
|
|
532
|
-
if (provider._bMeta) {
|
|
533
|
-
var idCombo_1 = provider._bMeta.accountId + provider._bMeta.tilesetId;
|
|
534
|
-
if (!tiles.find(function (x) { return x.accountId + x.tilesetId === idCombo_1; })) {
|
|
535
|
-
tiles.push({
|
|
536
|
-
accountId: provider._bMeta.accountId,
|
|
537
|
-
tilesetId: provider._bMeta.tilesetId,
|
|
538
|
-
alpha: provider.alpha,
|
|
539
|
-
brightness: provider.brightness,
|
|
540
|
-
contrast: provider.contrast,
|
|
541
|
-
hue: provider.hue,
|
|
542
|
-
saturation: provider.saturation,
|
|
543
|
-
gamma: provider.gamma
|
|
544
|
-
});
|
|
545
|
-
}
|
|
546
|
-
}
|
|
547
|
-
};
|
|
548
|
-
for (var i = 0; i < imagery.length; i++) {
|
|
549
|
-
_loop_1(i);
|
|
550
|
-
}
|
|
551
|
-
return {
|
|
552
|
-
imagery: tiles
|
|
553
|
-
};
|
|
554
|
-
}
|
|
555
|
-
ViewUtils.GatherMapTiles = GatherMapTiles;
|
|
556
|
-
function GatherTerrainTile(params) {
|
|
557
|
-
var viewer = params.viewer;
|
|
558
|
-
var provider = viewer.terrainProvider;
|
|
559
|
-
if (provider === null || provider === void 0 ? void 0 : provider._bMeta) {
|
|
560
|
-
return {
|
|
561
|
-
terrain: {
|
|
562
|
-
accountId: provider._bMeta.accountId,
|
|
563
|
-
tilesetId: provider._bMeta.tilesetId,
|
|
564
|
-
}
|
|
565
|
-
};
|
|
566
|
-
}
|
|
567
|
-
else if (provider instanceof EllipsoidTerrainProvider) {
|
|
568
|
-
return {
|
|
569
|
-
terrain: {
|
|
570
|
-
tilesetId: ProjectViewTile.EDefaultTerrain.FlatTerrain,
|
|
571
|
-
accountId: null
|
|
572
|
-
}
|
|
573
|
-
};
|
|
574
|
-
}
|
|
575
|
-
return null;
|
|
576
|
-
}
|
|
577
|
-
ViewUtils.GatherTerrainTile = GatherTerrainTile;
|
|
578
|
-
function SetTerrainWireframeStatus(params) {
|
|
579
|
-
if (!params.viewer[CESIUM_INSPECTOR_KEY]) {
|
|
580
|
-
var InspectorClass = CesiumInspector;
|
|
581
|
-
if (InspectorClass) {
|
|
582
|
-
var inspector = new InspectorClass(document.createElement("div"), params.viewer.scene);
|
|
583
|
-
inspector.container.style.display = "none";
|
|
584
|
-
params.viewer[CESIUM_INSPECTOR_KEY] = inspector;
|
|
585
|
-
params.viewer.scene.requestRender();
|
|
586
|
-
}
|
|
587
|
-
}
|
|
588
|
-
if (params.viewer[CESIUM_INSPECTOR_KEY]) {
|
|
589
|
-
params.viewer[CESIUM_INSPECTOR_KEY].viewModel.wireframe = params.status;
|
|
590
|
-
}
|
|
591
|
-
}
|
|
592
|
-
ViewUtils.SetTerrainWireframeStatus = SetTerrainWireframeStatus;
|
|
593
|
-
function GetTerrainWireframeStatus(params) {
|
|
594
|
-
var _a, _b;
|
|
595
|
-
if (!params.viewer[CESIUM_INSPECTOR_KEY]) {
|
|
596
|
-
return false;
|
|
597
|
-
}
|
|
598
|
-
return (_b = (_a = params.viewer[CESIUM_INSPECTOR_KEY]) === null || _a === void 0 ? void 0 : _a.viewModel) === null || _b === void 0 ? void 0 : _b.wireframe;
|
|
599
|
-
}
|
|
600
|
-
ViewUtils.GetTerrainWireframeStatus = GetTerrainWireframeStatus;
|
|
601
|
-
/**
|
|
602
|
-
* Changes between perspective and orthographic view.
|
|
603
|
-
* When Cesium stops being bad at picking positions in 2d mode we'll use the flat earth mode instead.
|
|
604
|
-
* @param params
|
|
605
|
-
*/
|
|
606
|
-
function Set2dStatus(params) {
|
|
607
|
-
var viewer = params.viewer, is2d = params.status, moveCamera = params.moveCamera;
|
|
608
|
-
var curLens2d = viewer.camera.frustum instanceof OrthographicFrustum;
|
|
609
|
-
if (curLens2d && !is2d) {
|
|
610
|
-
viewer.camera.switchToPerspectiveFrustum();
|
|
611
|
-
viewer.scene.screenSpaceCameraController.enableTilt = true;
|
|
612
|
-
viewer.scene.requestRender();
|
|
613
|
-
}
|
|
614
|
-
else if (!curLens2d && is2d) {
|
|
615
|
-
viewer.camera.switchToOrthographicFrustum();
|
|
616
|
-
viewer.scene.screenSpaceCameraController.enableTilt = false;
|
|
617
|
-
if (moveCamera != false) {
|
|
618
|
-
try {
|
|
619
|
-
// Face camera downwards to make it look 2d.
|
|
620
|
-
// We want to try make it look at the center-point of the current view.
|
|
621
|
-
// If center cannot be calculated then we'll simply raise the camera and face it downwards.
|
|
622
|
-
var scene = viewer.scene;
|
|
623
|
-
var windowPosition = new Cartesian2(scene.canvas.clientWidth / 2, scene.canvas.clientHeight / 2);
|
|
624
|
-
var ray = viewer.camera.getPickRay(windowPosition);
|
|
625
|
-
var intersection = scene.globe.pick(ray, scene);
|
|
626
|
-
var center = void 0;
|
|
627
|
-
if (defined(intersection)) {
|
|
628
|
-
center = Cartographic.fromCartesian(intersection);
|
|
629
|
-
}
|
|
630
|
-
// Use current camera position if we can't calculate the center.
|
|
631
|
-
else {
|
|
632
|
-
center = Cartographic.fromCartesian(viewer.camera.position);
|
|
633
|
-
center.height = 0;
|
|
634
|
-
}
|
|
635
|
-
center.height = viewer.camera.positionCartographic.height + 100;
|
|
636
|
-
viewer.camera.setView({
|
|
637
|
-
destination: Cartographic.toCartesian(center),
|
|
638
|
-
orientation: {
|
|
639
|
-
heading: 0.0,
|
|
640
|
-
pitch: Math$1.toRadians(-90.0),
|
|
641
|
-
roll: 0.0
|
|
642
|
-
}
|
|
643
|
-
});
|
|
644
|
-
}
|
|
645
|
-
catch (e) {
|
|
646
|
-
console.error(e);
|
|
647
|
-
}
|
|
648
|
-
}
|
|
649
|
-
viewer.scene.requestRender();
|
|
650
|
-
}
|
|
651
|
-
}
|
|
652
|
-
ViewUtils.Set2dStatus = Set2dStatus;
|
|
653
|
-
function Get2dStatus(params) {
|
|
654
|
-
var viewer = params.viewer;
|
|
655
|
-
return viewer.camera.frustum instanceof OrthographicFrustum;
|
|
656
|
-
}
|
|
657
|
-
ViewUtils.Get2dStatus = Get2dStatus;
|
|
658
|
-
function SetLockedCameraStatus(params) {
|
|
659
|
-
var viewer = params.viewer, status = params.status;
|
|
660
|
-
var scene = viewer === null || viewer === void 0 ? void 0 : viewer.scene;
|
|
661
|
-
if (!scene) {
|
|
662
|
-
return;
|
|
663
|
-
}
|
|
664
|
-
if (status) {
|
|
665
|
-
scene.screenSpaceCameraController.enableInputs = false;
|
|
666
|
-
scene.screenSpaceCameraController.enableTranslate = false;
|
|
667
|
-
scene.screenSpaceCameraController.enableZoom = false;
|
|
668
|
-
scene.screenSpaceCameraController.enableRotate = false;
|
|
669
|
-
scene.screenSpaceCameraController.enableTilt = false;
|
|
670
|
-
}
|
|
671
|
-
else {
|
|
672
|
-
scene.screenSpaceCameraController.enableInputs = true;
|
|
673
|
-
scene.screenSpaceCameraController.enableTranslate = true;
|
|
674
|
-
scene.screenSpaceCameraController.enableZoom = true;
|
|
675
|
-
scene.screenSpaceCameraController.enableRotate = true;
|
|
676
|
-
if (!ViewUtils.Get2dStatus({ viewer: viewer })) {
|
|
677
|
-
scene.screenSpaceCameraController.enableTilt = true;
|
|
678
|
-
}
|
|
679
|
-
}
|
|
680
|
-
viewer.scene.requestRender();
|
|
681
|
-
}
|
|
682
|
-
ViewUtils.SetLockedCameraStatus = SetLockedCameraStatus;
|
|
683
|
-
function GetLockedCameraStatus(params) {
|
|
684
|
-
var _a;
|
|
685
|
-
var scene = (_a = params.viewer) === null || _a === void 0 ? void 0 : _a.scene;
|
|
686
|
-
if (!scene) {
|
|
687
|
-
return false;
|
|
688
|
-
}
|
|
689
|
-
return !scene.screenSpaceCameraController.enableTranslate;
|
|
690
|
-
}
|
|
691
|
-
ViewUtils.GetLockedCameraStatus = GetLockedCameraStatus;
|
|
692
|
-
})(ViewUtils || (ViewUtils = {}));
|
|
693
|
-
|
|
694
487
|
/**
|
|
695
488
|
* Returns if a given visual can be styled by this utility.
|
|
696
489
|
* @param viewer
|
|
@@ -813,6 +606,11 @@ function getColor(viewer, key, graphic) {
|
|
|
813
606
|
if (!color) {
|
|
814
607
|
if (key == "default") {
|
|
815
608
|
color = calculateCurColor(viewer, graphic);
|
|
609
|
+
// We'll only store the default color.
|
|
610
|
+
// Rest can be retrieved every time to get the latest setting value.
|
|
611
|
+
if (color) {
|
|
612
|
+
storeColor(viewer, key, color, graphic);
|
|
613
|
+
}
|
|
816
614
|
}
|
|
817
615
|
else if (key == "select") {
|
|
818
616
|
color = _selectColor;
|
|
@@ -820,9 +618,6 @@ function getColor(viewer, key, graphic) {
|
|
|
820
618
|
else if (key == "highlight") {
|
|
821
619
|
color = _highlightColor;
|
|
822
620
|
}
|
|
823
|
-
if (color) {
|
|
824
|
-
storeColor(viewer, key, color, graphic);
|
|
825
|
-
}
|
|
826
621
|
}
|
|
827
622
|
return color;
|
|
828
623
|
}
|
|
@@ -1309,6 +1104,81 @@ function GetValue(viewer, obj) {
|
|
|
1309
1104
|
}
|
|
1310
1105
|
return obj;
|
|
1311
1106
|
}
|
|
1107
|
+
/**
|
|
1108
|
+
* Returns location information from a given tileset feature.
|
|
1109
|
+
* This works well with OSM.
|
|
1110
|
+
* @param feature
|
|
1111
|
+
* @returns
|
|
1112
|
+
*/
|
|
1113
|
+
var getLocationFromFeature = function (feature) {
|
|
1114
|
+
var _a;
|
|
1115
|
+
var prepareLatitude = function (propName, value) {
|
|
1116
|
+
value = +value;
|
|
1117
|
+
// Check to see if the lat is in valid degrees, if not, try convert from radians.
|
|
1118
|
+
if (value < -90 || value > 90) {
|
|
1119
|
+
value = Math$1.toDegrees(value);
|
|
1120
|
+
}
|
|
1121
|
+
// If the value is really small we'll assume it's in radians.
|
|
1122
|
+
// "cesium#blah" properties are always in degrees. No need to check.
|
|
1123
|
+
if (value < 0.9 && !propName.startsWith("cesium#")) {
|
|
1124
|
+
value = Math$1.toDegrees(value);
|
|
1125
|
+
}
|
|
1126
|
+
return value;
|
|
1127
|
+
};
|
|
1128
|
+
var prepareLongitude = function (propName, value) {
|
|
1129
|
+
value = +value;
|
|
1130
|
+
// Check to see if the lon is in valid degrees, if not, try convert from radians.
|
|
1131
|
+
if (value < -180 || value > 180) {
|
|
1132
|
+
value = Math$1.toDegrees(value);
|
|
1133
|
+
}
|
|
1134
|
+
// If the value is really small we'll assume it's in radians.
|
|
1135
|
+
// "cesium#blah" properties are always in degrees. No need to check.
|
|
1136
|
+
if (value < 0.9 && !propName.startsWith("cesium#")) {
|
|
1137
|
+
value = Math$1.toDegrees(value);
|
|
1138
|
+
}
|
|
1139
|
+
return value;
|
|
1140
|
+
};
|
|
1141
|
+
var result = {
|
|
1142
|
+
location: {
|
|
1143
|
+
latitude: null,
|
|
1144
|
+
longitude: null,
|
|
1145
|
+
altitude: 0
|
|
1146
|
+
},
|
|
1147
|
+
isClamped: true,
|
|
1148
|
+
radius: null
|
|
1149
|
+
};
|
|
1150
|
+
// 'getPropertyIds' = new version of Cesium, 'getPropertyNames' = old version.
|
|
1151
|
+
var featureAny = feature;
|
|
1152
|
+
var propertyNames = featureAny.getPropertyNames ? featureAny.getPropertyNames() : (_a = featureAny.getPropertyIds) === null || _a === void 0 ? void 0 : _a.call(featureAny);
|
|
1153
|
+
propertyNames = [].concat(propertyNames);
|
|
1154
|
+
for (var i = 0; i < propertyNames.length; i++) {
|
|
1155
|
+
var propName = propertyNames[i];
|
|
1156
|
+
var propLower = propName.toLowerCase();
|
|
1157
|
+
if (propLower.includes("latitude")) {
|
|
1158
|
+
result.location.latitude = prepareLatitude(propName, feature.getProperty(propName));
|
|
1159
|
+
continue;
|
|
1160
|
+
}
|
|
1161
|
+
if (propLower.includes("longitude")) {
|
|
1162
|
+
result.location.longitude = prepareLongitude(propName, feature.getProperty(propName));
|
|
1163
|
+
continue;
|
|
1164
|
+
}
|
|
1165
|
+
if (propLower.includes("height")) {
|
|
1166
|
+
result.radius = +feature.getProperty(propName);
|
|
1167
|
+
continue;
|
|
1168
|
+
}
|
|
1169
|
+
if (propLower.includes("terrain")) {
|
|
1170
|
+
result.location.altitude = +feature.getProperty(propName);
|
|
1171
|
+
if (!result.location.altitude) {
|
|
1172
|
+
result.location.altitude = 0;
|
|
1173
|
+
}
|
|
1174
|
+
continue;
|
|
1175
|
+
}
|
|
1176
|
+
}
|
|
1177
|
+
if (result.location.latitude == null || result.location.longitude == null) {
|
|
1178
|
+
return null;
|
|
1179
|
+
}
|
|
1180
|
+
return result;
|
|
1181
|
+
};
|
|
1312
1182
|
var EntityUtils;
|
|
1313
1183
|
(function (EntityUtils) {
|
|
1314
1184
|
/**
|
|
@@ -1318,12 +1188,11 @@ var EntityUtils;
|
|
|
1318
1188
|
* @param params
|
|
1319
1189
|
*/
|
|
1320
1190
|
function GetLocation(params) {
|
|
1321
|
-
var _a;
|
|
1322
1191
|
return __awaiter(this, void 0, void 0, function () {
|
|
1323
|
-
var api, viewer, samples, visualRegister, minimumAlt, paddingAlt, MAX_DISTANCE_BETWEEN_SAMPLES, MAX_TERRAIN_SAMPLES, terrainSamples, MAX_API_CALLS, apiCalls, MAX_VALID_SAMPLES, validSamples,
|
|
1192
|
+
var api, viewer, samples, visualRegister, minimumAlt, paddingAlt, MAX_DISTANCE_BETWEEN_SAMPLES, MAX_TERRAIN_SAMPLES, terrainSamples, MAX_API_CALLS, apiCalls, MAX_VALID_SAMPLES, validSamples, data, spheres, processPosHeight, ensureHeightRefs, getEntityPositions, allPosses, i, sample, samplePosses, valid, j, samplePos, k, allPos, distance, rect, factor, marginX, marginY, carto, i, pos, radius, sphere, allPointSphere, rectSphere, combinedSphere;
|
|
1324
1193
|
var _this = this;
|
|
1325
|
-
return __generator(this, function (
|
|
1326
|
-
switch (
|
|
1194
|
+
return __generator(this, function (_a) {
|
|
1195
|
+
switch (_a.label) {
|
|
1327
1196
|
case 0:
|
|
1328
1197
|
api = params.api, viewer = params.viewer, samples = params.samples, visualRegister = params.visualRegister, minimumAlt = params.minimumAlt, paddingAlt = params.paddingAlt;
|
|
1329
1198
|
if (!paddingAlt) {
|
|
@@ -1336,10 +1205,6 @@ var EntityUtils;
|
|
|
1336
1205
|
apiCalls = 0;
|
|
1337
1206
|
MAX_VALID_SAMPLES = 20;
|
|
1338
1207
|
validSamples = 0;
|
|
1339
|
-
MIN_RECT_DIAGONAL_LENGTH = isNaN(minimumAlt) || minimumAlt == null ? 0 : minimumAlt * 10;
|
|
1340
|
-
if (MIN_RECT_DIAGONAL_LENGTH < 1500) {
|
|
1341
|
-
MIN_RECT_DIAGONAL_LENGTH = 1500;
|
|
1342
|
-
}
|
|
1343
1208
|
data = {
|
|
1344
1209
|
pos3d: null,
|
|
1345
1210
|
rectangle: null,
|
|
@@ -1437,7 +1302,7 @@ var EntityUtils;
|
|
|
1437
1302
|
case 0:
|
|
1438
1303
|
entityId = sample.entityId, entity = sample.entity, tileset = sample.tileset, tilesetId = sample.tilesetId;
|
|
1439
1304
|
evaluateRendered = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
1440
|
-
var rego, posses,
|
|
1305
|
+
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, data_1, pos3d_2, toAdjust, sphere;
|
|
1441
1306
|
return __generator(this, function (_a) {
|
|
1442
1307
|
switch (_a.label) {
|
|
1443
1308
|
case 0:
|
|
@@ -1445,102 +1310,130 @@ var EntityUtils;
|
|
|
1445
1310
|
entityId: sample.entityId,
|
|
1446
1311
|
}) : null;
|
|
1447
1312
|
posses = [];
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
return [3 /*break*/, 12];
|
|
1313
|
+
parts = GatherEntity({
|
|
1314
|
+
entity: rego === null || rego === void 0 ? void 0 : rego.visual,
|
|
1315
|
+
});
|
|
1316
|
+
i = 0;
|
|
1317
|
+
_a.label = 1;
|
|
1454
1318
|
case 1:
|
|
1455
|
-
if (!
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1319
|
+
if (!(i < parts.length)) return [3 /*break*/, 19];
|
|
1320
|
+
part = parts[i];
|
|
1321
|
+
if (!(part instanceof Entity)) return [3 /*break*/, 16];
|
|
1322
|
+
visualHeightRef = HeightReference.RELATIVE_TO_GROUND;
|
|
1323
|
+
if (!part.model) return [3 /*break*/, 2];
|
|
1324
|
+
visualHeightRef = GetValue(viewer, part.model.heightReference);
|
|
1325
|
+
return [3 /*break*/, 13];
|
|
1326
|
+
case 2:
|
|
1327
|
+
if (!part.polygon) return [3 /*break*/, 5];
|
|
1328
|
+
visualHeightRef = GetValue(viewer, part.polygon.heightReference);
|
|
1329
|
+
hierarchy = GetValue(viewer, part.polygon.hierarchy);
|
|
1330
|
+
if (!(hierarchy === null || hierarchy === void 0 ? void 0 : hierarchy.positions)) return [3 /*break*/, 4];
|
|
1459
1331
|
hPosses = hierarchy.positions.map(function (x) { return x.clone ? x.clone() : x; });
|
|
1460
1332
|
hPossesSample = [];
|
|
1461
1333
|
step = Math.max(1, Math.floor(hPosses.length / 5));
|
|
1462
|
-
for (
|
|
1463
|
-
hPossesSample.push(hPosses[
|
|
1334
|
+
for (i_1 = 0; i_1 < hPosses.length; i_1 += step) {
|
|
1335
|
+
hPossesSample.push(hPosses[i_1]);
|
|
1464
1336
|
}
|
|
1465
1337
|
return [4 /*yield*/, ensureHeightRefs(hPossesSample, __assign(__assign({}, sample), { heightRef: visualHeightRef }))];
|
|
1466
|
-
case
|
|
1338
|
+
case 3:
|
|
1467
1339
|
_a.sent();
|
|
1468
1340
|
posses = posses.concat(hPossesSample);
|
|
1469
|
-
_a.label =
|
|
1470
|
-
case
|
|
1471
|
-
case
|
|
1472
|
-
if (!
|
|
1473
|
-
visualHeightRef = GetValue(viewer,
|
|
1341
|
+
_a.label = 4;
|
|
1342
|
+
case 4: return [3 /*break*/, 13];
|
|
1343
|
+
case 5:
|
|
1344
|
+
if (!part.polyline) return [3 /*break*/, 8];
|
|
1345
|
+
visualHeightRef = GetValue(viewer, part.polyline.clampToGround) ?
|
|
1474
1346
|
HeightReference.CLAMP_TO_GROUND : HeightReference.NONE;
|
|
1475
|
-
pPosses = GetValue(viewer,
|
|
1476
|
-
if (!(pPosses === null || pPosses === void 0 ? void 0 : pPosses.length)) return [3 /*break*/,
|
|
1347
|
+
pPosses = GetValue(viewer, part.polyline.positions);
|
|
1348
|
+
if (!(pPosses === null || pPosses === void 0 ? void 0 : pPosses.length)) return [3 /*break*/, 7];
|
|
1477
1349
|
// Grab 5 positions from the polyline at varied indexes.
|
|
1478
1350
|
pPosses = pPosses.map(function (x) { return x.clone ? x.clone() : x; });
|
|
1479
1351
|
pPossesSample = [];
|
|
1480
1352
|
step = Math.max(1, Math.floor(pPosses.length / 5));
|
|
1481
|
-
for (
|
|
1482
|
-
pPossesSample.push(pPosses[
|
|
1353
|
+
for (i_2 = 0; i_2 < pPosses.length; i_2 += step) {
|
|
1354
|
+
pPossesSample.push(pPosses[i_2]);
|
|
1483
1355
|
}
|
|
1484
1356
|
return [4 /*yield*/, ensureHeightRefs(pPossesSample, __assign(__assign({}, sample), { heightRef: visualHeightRef }))];
|
|
1485
|
-
case
|
|
1357
|
+
case 6:
|
|
1486
1358
|
_a.sent();
|
|
1487
1359
|
posses = posses.concat(pPossesSample);
|
|
1488
|
-
_a.label =
|
|
1489
|
-
case
|
|
1490
|
-
case 7:
|
|
1491
|
-
if (!visual.billboard) return [3 /*break*/, 8];
|
|
1492
|
-
visualHeightRef = GetValue(viewer, visual.billboard.heightReference);
|
|
1493
|
-
return [3 /*break*/, 12];
|
|
1360
|
+
_a.label = 7;
|
|
1361
|
+
case 7: return [3 /*break*/, 13];
|
|
1494
1362
|
case 8:
|
|
1495
|
-
if (!
|
|
1496
|
-
visualHeightRef = GetValue(viewer,
|
|
1497
|
-
|
|
1498
|
-
|
|
1363
|
+
if (!part.billboard) return [3 /*break*/, 9];
|
|
1364
|
+
visualHeightRef = GetValue(viewer, part.billboard.heightReference);
|
|
1365
|
+
return [3 /*break*/, 13];
|
|
1366
|
+
case 9:
|
|
1367
|
+
if (!part.corridor) return [3 /*break*/, 12];
|
|
1368
|
+
visualHeightRef = GetValue(viewer, part.corridor.heightReference);
|
|
1369
|
+
pPosses = GetValue(viewer, part.corridor.positions);
|
|
1370
|
+
if (!(pPosses === null || pPosses === void 0 ? void 0 : pPosses.length)) return [3 /*break*/, 11];
|
|
1499
1371
|
// Grab 5 positions from the corridor at varied indexes.
|
|
1500
1372
|
pPosses = pPosses.map(function (x) { return x.clone ? x.clone() : x; });
|
|
1501
1373
|
pPossesSample = [];
|
|
1502
1374
|
step = Math.max(1, Math.floor(pPosses.length / 5));
|
|
1503
|
-
for (
|
|
1504
|
-
pPossesSample.push(pPosses[
|
|
1375
|
+
for (i_3 = 0; i_3 < pPosses.length; i_3 += step) {
|
|
1376
|
+
pPossesSample.push(pPosses[i_3]);
|
|
1505
1377
|
}
|
|
1506
1378
|
return [4 /*yield*/, ensureHeightRefs(pPossesSample, __assign(__assign({}, sample), { heightRef: visualHeightRef }))];
|
|
1507
|
-
case
|
|
1379
|
+
case 10:
|
|
1508
1380
|
_a.sent();
|
|
1509
1381
|
posses = posses.concat(pPossesSample);
|
|
1510
|
-
_a.label =
|
|
1511
|
-
case
|
|
1512
|
-
case
|
|
1513
|
-
if (
|
|
1514
|
-
visualHeightRef = GetValue(viewer,
|
|
1382
|
+
_a.label = 11;
|
|
1383
|
+
case 11: return [3 /*break*/, 13];
|
|
1384
|
+
case 12:
|
|
1385
|
+
if (part.ellipse) {
|
|
1386
|
+
visualHeightRef = GetValue(viewer, part.ellipse.heightReference);
|
|
1515
1387
|
}
|
|
1516
|
-
else if (
|
|
1517
|
-
visualHeightRef = GetValue(viewer,
|
|
1388
|
+
else if (part.point) {
|
|
1389
|
+
visualHeightRef = GetValue(viewer, part.point.heightReference);
|
|
1518
1390
|
}
|
|
1519
|
-
_a.label =
|
|
1520
|
-
case
|
|
1521
|
-
|
|
1522
|
-
|
|
1391
|
+
_a.label = 13;
|
|
1392
|
+
case 13:
|
|
1393
|
+
if (!(part.point || part.model || part.billboard || part.ellipse)) return [3 /*break*/, 15];
|
|
1394
|
+
pos3d_1 = GetValue(viewer, part.position);
|
|
1395
|
+
if (!(pos3d_1 === null || pos3d_1 === void 0 ? void 0 : pos3d_1.x)) return [3 /*break*/, 15];
|
|
1523
1396
|
toAdjust = [pos3d_1];
|
|
1524
1397
|
return [4 /*yield*/, ensureHeightRefs(toAdjust, __assign(__assign({}, sample), { heightRef: visualHeightRef }))];
|
|
1525
|
-
case
|
|
1398
|
+
case 14:
|
|
1526
1399
|
_a.sent();
|
|
1527
1400
|
pos3d_1 = toAdjust[0];
|
|
1528
1401
|
posses.push(pos3d_1);
|
|
1529
|
-
if (
|
|
1530
|
-
modelExt =
|
|
1402
|
+
if (part.model) {
|
|
1403
|
+
modelExt = part.model;
|
|
1531
1404
|
if (modelExt._radius && modelExt._radius > -1) {
|
|
1532
1405
|
sphere = BoundingSphere.fromPoints([pos3d_1]);
|
|
1533
1406
|
sphere.radius = modelExt._radius;
|
|
1534
1407
|
spheres.push(sphere);
|
|
1535
1408
|
}
|
|
1536
1409
|
}
|
|
1537
|
-
_a.label =
|
|
1538
|
-
case
|
|
1410
|
+
_a.label = 15;
|
|
1411
|
+
case 15: return [3 /*break*/, 18];
|
|
1412
|
+
case 16:
|
|
1413
|
+
if (!(part instanceof Cesium3DTileFeature)) return [3 /*break*/, 18];
|
|
1414
|
+
data_1 = getLocationFromFeature(part);
|
|
1415
|
+
if (!(data_1 != null)) return [3 /*break*/, 18];
|
|
1416
|
+
pos3d_2 = Cartesian3.fromDegrees(data_1.location.longitude, data_1.location.latitude, data_1.location.altitude);
|
|
1417
|
+
toAdjust = [pos3d_2];
|
|
1418
|
+
return [4 /*yield*/, ensureHeightRefs(toAdjust, __assign(__assign({}, sample), { heightRef: data_1.isClamped ? HeightReference.CLAMP_TO_GROUND : HeightReference.NONE }))];
|
|
1419
|
+
case 17:
|
|
1420
|
+
_a.sent();
|
|
1421
|
+
pos3d_2 = toAdjust[0];
|
|
1422
|
+
posses.push(pos3d_2);
|
|
1423
|
+
if (data_1.radius != null && !isNaN(data_1.radius)) {
|
|
1424
|
+
sphere = new BoundingSphere(pos3d_2, data_1.radius);
|
|
1425
|
+
spheres.push(sphere);
|
|
1426
|
+
}
|
|
1427
|
+
_a.label = 18;
|
|
1428
|
+
case 18:
|
|
1429
|
+
i++;
|
|
1430
|
+
return [3 /*break*/, 1];
|
|
1431
|
+
case 19: return [2 /*return*/, posses];
|
|
1539
1432
|
}
|
|
1540
1433
|
});
|
|
1541
1434
|
}); };
|
|
1542
1435
|
evaluateRecord = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
1543
|
-
var posses, location_1, latitude, longitude,
|
|
1436
|
+
var posses, location_1, latitude, longitude, pos3d_3, pointStr, points, point, pos3d_4, lineStr, points, pPosses, pRings, boundary, points, pPosses, point, bPosses;
|
|
1544
1437
|
return __generator(this, function (_a) {
|
|
1545
1438
|
switch (_a.label) {
|
|
1546
1439
|
case 0:
|
|
@@ -1551,8 +1444,8 @@ var EntityUtils;
|
|
|
1551
1444
|
longitude = EnsureNumber(location_1.longitude);
|
|
1552
1445
|
// Disallowing exact 0.
|
|
1553
1446
|
if (latitude || longitude) {
|
|
1554
|
-
|
|
1555
|
-
posses.push(
|
|
1447
|
+
pos3d_3 = Cartesian3.fromDegrees(longitude, latitude, EnsureNumber(location_1.altitude));
|
|
1448
|
+
posses.push(pos3d_3);
|
|
1556
1449
|
}
|
|
1557
1450
|
}
|
|
1558
1451
|
if (!(entity.geometry && typeof entity.geometry == "object")) return [3 /*break*/, 4];
|
|
@@ -1561,8 +1454,8 @@ var EntityUtils;
|
|
|
1561
1454
|
points = Geometry.ParsePoints(pointStr);
|
|
1562
1455
|
point = points.length > 0 ? points[0] : null;
|
|
1563
1456
|
if (point && Carto.ValidateCarto(point)) {
|
|
1564
|
-
|
|
1565
|
-
posses.push(
|
|
1457
|
+
pos3d_4 = Cartesian3.fromDegrees(EnsureNumber(point.longitude), EnsureNumber(point.latitude), EnsureNumber(point.altitude));
|
|
1458
|
+
posses.push(pos3d_4);
|
|
1566
1459
|
}
|
|
1567
1460
|
}
|
|
1568
1461
|
lineStr = entity.geometry.LineString;
|
|
@@ -1753,13 +1646,13 @@ var EntityUtils;
|
|
|
1753
1646
|
}); };
|
|
1754
1647
|
allPosses = [];
|
|
1755
1648
|
i = 0;
|
|
1756
|
-
|
|
1649
|
+
_a.label = 1;
|
|
1757
1650
|
case 1:
|
|
1758
1651
|
if (!(i < samples.length)) return [3 /*break*/, 4];
|
|
1759
1652
|
sample = samples[i];
|
|
1760
1653
|
return [4 /*yield*/, getEntityPositions(sample)];
|
|
1761
1654
|
case 2:
|
|
1762
|
-
samplePosses =
|
|
1655
|
+
samplePosses = _a.sent();
|
|
1763
1656
|
if (samplePosses === null || samplePosses === void 0 ? void 0 : samplePosses.length) {
|
|
1764
1657
|
valid = !(allPosses === null || allPosses === void 0 ? void 0 : allPosses.length);
|
|
1765
1658
|
if (!valid) {
|
|
@@ -1786,7 +1679,7 @@ var EntityUtils;
|
|
|
1786
1679
|
}
|
|
1787
1680
|
}
|
|
1788
1681
|
}
|
|
1789
|
-
|
|
1682
|
+
_a.label = 3;
|
|
1790
1683
|
case 3:
|
|
1791
1684
|
i++;
|
|
1792
1685
|
return [3 /*break*/, 1];
|
|
@@ -1800,25 +1693,29 @@ var EntityUtils;
|
|
|
1800
1693
|
rect.west -= marginX;
|
|
1801
1694
|
rect.north += marginY;
|
|
1802
1695
|
rect.south -= marginY;
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1696
|
+
data.rectangle = rect;
|
|
1697
|
+
carto = Rectangle.center(rect);
|
|
1698
|
+
carto.height = 0;
|
|
1699
|
+
for (i = 0; i < allPosses.length; i++) {
|
|
1700
|
+
pos = allPosses[i];
|
|
1701
|
+
carto.height += Cartographic.fromCartesian(pos).height;
|
|
1702
|
+
}
|
|
1703
|
+
if (carto.height != 0) {
|
|
1704
|
+
carto.height /= allPosses.length;
|
|
1809
1705
|
}
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
if (diagonalLen >= MIN_RECT_DIAGONAL_LENGTH && allPosses.length >= MIN_POSSES_LEN) {
|
|
1815
|
-
data.rectangle = rect;
|
|
1706
|
+
data.pos3d = Cartesian3.fromRadians(carto.longitude, carto.latitude, carto.height);
|
|
1707
|
+
radius = Cartesian3.distance(Cartesian3.fromRadians(rect.west, rect.north), Cartesian3.fromRadians(rect.east, rect.south));
|
|
1708
|
+
if (radius != 0) {
|
|
1709
|
+
radius /= 2;
|
|
1816
1710
|
}
|
|
1711
|
+
sphere = new BoundingSphere(data.pos3d, radius);
|
|
1712
|
+
spheres.push(sphere);
|
|
1713
|
+
data.sphere = sphere;
|
|
1817
1714
|
}
|
|
1818
1715
|
else if (allPosses.length == 1) {
|
|
1819
1716
|
data.pos3d = allPosses[0];
|
|
1820
1717
|
}
|
|
1821
|
-
if (spheres.length) {
|
|
1718
|
+
if ((data.rectangle && spheres.length > 1) || (!data.rectangle && spheres.length > 0)) {
|
|
1822
1719
|
allPointSphere = BoundingSphere.fromPoints(allPosses);
|
|
1823
1720
|
spheres.push(allPointSphere);
|
|
1824
1721
|
if (data.rectangle) {
|
|
@@ -1850,9 +1747,9 @@ var EntityUtils;
|
|
|
1850
1747
|
if ((rego === null || rego === void 0 ? void 0 : rego.visual) instanceof Entity) {
|
|
1851
1748
|
var visual = rego.visual;
|
|
1852
1749
|
if (visual.position) {
|
|
1853
|
-
var
|
|
1750
|
+
var pos3d_5 = GetValue(viewer, visual.position);
|
|
1854
1751
|
// Fix height reference.
|
|
1855
|
-
if (
|
|
1752
|
+
if (pos3d_5 === null || pos3d_5 === void 0 ? void 0 : pos3d_5.x) {
|
|
1856
1753
|
var visualHeightRef = HeightReference.RELATIVE_TO_GROUND;
|
|
1857
1754
|
if (visual.model) {
|
|
1858
1755
|
visualHeightRef = GetValue(viewer, visual.model.heightReference);
|
|
@@ -1879,7 +1776,7 @@ var EntityUtils;
|
|
|
1879
1776
|
return DrawingUtils.EnsurePosHeight({
|
|
1880
1777
|
desiredHeightRef: params.returnHeightRef,
|
|
1881
1778
|
heightRef: visualHeightRef,
|
|
1882
|
-
pos3d:
|
|
1779
|
+
pos3d: pos3d_5,
|
|
1883
1780
|
viewer: viewer
|
|
1884
1781
|
});
|
|
1885
1782
|
}
|
|
@@ -2542,6 +2439,213 @@ var RenderManager;
|
|
|
2542
2439
|
RenderManager.GetZoomMinMax = GetZoomMinMax;
|
|
2543
2440
|
})(RenderManager || (RenderManager = {}));
|
|
2544
2441
|
|
|
2442
|
+
var CESIUM_INSPECTOR_KEY = "_nextspace_inspector";
|
|
2443
|
+
var ViewUtils;
|
|
2444
|
+
(function (ViewUtils) {
|
|
2445
|
+
function GatherLegacyMapTiles(params) {
|
|
2446
|
+
var viewer = params.viewer;
|
|
2447
|
+
var collection = viewer.imageryLayers;
|
|
2448
|
+
var tiles = [];
|
|
2449
|
+
for (var i = 0; i < collection.length; i++) {
|
|
2450
|
+
var layer = collection.get(i);
|
|
2451
|
+
if (layer._bName) {
|
|
2452
|
+
tiles.push({
|
|
2453
|
+
alpha: layer.alpha,
|
|
2454
|
+
brightness: layer.brightness,
|
|
2455
|
+
contrast: layer.contrast,
|
|
2456
|
+
hue: layer.hue,
|
|
2457
|
+
saturation: layer.saturation,
|
|
2458
|
+
gamma: layer.gamma,
|
|
2459
|
+
title: layer._bName,
|
|
2460
|
+
});
|
|
2461
|
+
}
|
|
2462
|
+
}
|
|
2463
|
+
return {
|
|
2464
|
+
imagery: tiles.reverse()
|
|
2465
|
+
};
|
|
2466
|
+
}
|
|
2467
|
+
ViewUtils.GatherLegacyMapTiles = GatherLegacyMapTiles;
|
|
2468
|
+
function GatherLegacyTerrainTile(params) {
|
|
2469
|
+
var viewer = params.viewer;
|
|
2470
|
+
var enabled = viewer.terrainProvider;
|
|
2471
|
+
if (enabled === null || enabled === void 0 ? void 0 : enabled._bName) {
|
|
2472
|
+
return {
|
|
2473
|
+
terrain: enabled._bName
|
|
2474
|
+
};
|
|
2475
|
+
}
|
|
2476
|
+
return {
|
|
2477
|
+
terrain: "flatterrain"
|
|
2478
|
+
};
|
|
2479
|
+
}
|
|
2480
|
+
ViewUtils.GatherLegacyTerrainTile = GatherLegacyTerrainTile;
|
|
2481
|
+
function GatherMapTiles(params) {
|
|
2482
|
+
var viewer = params.viewer;
|
|
2483
|
+
var imagery = viewer.imageryLayers;
|
|
2484
|
+
var tiles = [];
|
|
2485
|
+
var _loop_1 = function (i) {
|
|
2486
|
+
var provider = imagery.get(i);
|
|
2487
|
+
if (provider._bMeta) {
|
|
2488
|
+
var idCombo_1 = provider._bMeta.accountId + provider._bMeta.tilesetId;
|
|
2489
|
+
if (!tiles.find(function (x) { return x.accountId + x.tilesetId === idCombo_1; })) {
|
|
2490
|
+
tiles.push({
|
|
2491
|
+
accountId: provider._bMeta.accountId,
|
|
2492
|
+
tilesetId: provider._bMeta.tilesetId,
|
|
2493
|
+
alpha: provider.alpha,
|
|
2494
|
+
brightness: provider.brightness,
|
|
2495
|
+
contrast: provider.contrast,
|
|
2496
|
+
hue: provider.hue,
|
|
2497
|
+
saturation: provider.saturation,
|
|
2498
|
+
gamma: provider.gamma
|
|
2499
|
+
});
|
|
2500
|
+
}
|
|
2501
|
+
}
|
|
2502
|
+
};
|
|
2503
|
+
for (var i = 0; i < imagery.length; i++) {
|
|
2504
|
+
_loop_1(i);
|
|
2505
|
+
}
|
|
2506
|
+
return {
|
|
2507
|
+
imagery: tiles
|
|
2508
|
+
};
|
|
2509
|
+
}
|
|
2510
|
+
ViewUtils.GatherMapTiles = GatherMapTiles;
|
|
2511
|
+
function GatherTerrainTile(params) {
|
|
2512
|
+
var viewer = params.viewer;
|
|
2513
|
+
var provider = viewer.terrainProvider;
|
|
2514
|
+
if (provider === null || provider === void 0 ? void 0 : provider._bMeta) {
|
|
2515
|
+
return {
|
|
2516
|
+
terrain: {
|
|
2517
|
+
accountId: provider._bMeta.accountId,
|
|
2518
|
+
tilesetId: provider._bMeta.tilesetId,
|
|
2519
|
+
}
|
|
2520
|
+
};
|
|
2521
|
+
}
|
|
2522
|
+
else if (provider instanceof EllipsoidTerrainProvider) {
|
|
2523
|
+
return {
|
|
2524
|
+
terrain: {
|
|
2525
|
+
tilesetId: ProjectViewTile.EDefaultTerrain.FlatTerrain,
|
|
2526
|
+
accountId: null
|
|
2527
|
+
}
|
|
2528
|
+
};
|
|
2529
|
+
}
|
|
2530
|
+
return null;
|
|
2531
|
+
}
|
|
2532
|
+
ViewUtils.GatherTerrainTile = GatherTerrainTile;
|
|
2533
|
+
function SetTerrainWireframeStatus(params) {
|
|
2534
|
+
if (!params.viewer[CESIUM_INSPECTOR_KEY]) {
|
|
2535
|
+
var InspectorClass = CesiumInspector;
|
|
2536
|
+
if (InspectorClass) {
|
|
2537
|
+
var inspector = new InspectorClass(document.createElement("div"), params.viewer.scene);
|
|
2538
|
+
inspector.container.style.display = "none";
|
|
2539
|
+
params.viewer[CESIUM_INSPECTOR_KEY] = inspector;
|
|
2540
|
+
params.viewer.scene.requestRender();
|
|
2541
|
+
}
|
|
2542
|
+
}
|
|
2543
|
+
if (params.viewer[CESIUM_INSPECTOR_KEY]) {
|
|
2544
|
+
params.viewer[CESIUM_INSPECTOR_KEY].viewModel.wireframe = params.status;
|
|
2545
|
+
}
|
|
2546
|
+
}
|
|
2547
|
+
ViewUtils.SetTerrainWireframeStatus = SetTerrainWireframeStatus;
|
|
2548
|
+
function GetTerrainWireframeStatus(params) {
|
|
2549
|
+
var _a, _b;
|
|
2550
|
+
if (!params.viewer[CESIUM_INSPECTOR_KEY]) {
|
|
2551
|
+
return false;
|
|
2552
|
+
}
|
|
2553
|
+
return (_b = (_a = params.viewer[CESIUM_INSPECTOR_KEY]) === null || _a === void 0 ? void 0 : _a.viewModel) === null || _b === void 0 ? void 0 : _b.wireframe;
|
|
2554
|
+
}
|
|
2555
|
+
ViewUtils.GetTerrainWireframeStatus = GetTerrainWireframeStatus;
|
|
2556
|
+
/**
|
|
2557
|
+
* Changes between perspective and orthographic view.
|
|
2558
|
+
* When Cesium stops being bad at picking positions in 2d mode we'll use the flat earth mode instead.
|
|
2559
|
+
* @param params
|
|
2560
|
+
*/
|
|
2561
|
+
function Set2dStatus(params) {
|
|
2562
|
+
var viewer = params.viewer, is2d = params.status, moveCamera = params.moveCamera;
|
|
2563
|
+
var curLens2d = viewer.camera.frustum instanceof OrthographicFrustum;
|
|
2564
|
+
if (curLens2d && !is2d) {
|
|
2565
|
+
viewer.camera.switchToPerspectiveFrustum();
|
|
2566
|
+
viewer.scene.screenSpaceCameraController.enableTilt = true;
|
|
2567
|
+
viewer.scene.requestRender();
|
|
2568
|
+
}
|
|
2569
|
+
else if (!curLens2d && is2d) {
|
|
2570
|
+
viewer.camera.switchToOrthographicFrustum();
|
|
2571
|
+
viewer.scene.screenSpaceCameraController.enableTilt = false;
|
|
2572
|
+
if (moveCamera != false) {
|
|
2573
|
+
try {
|
|
2574
|
+
// Face camera downwards to make it look 2d.
|
|
2575
|
+
// We want to try make it look at the center-point of the current view.
|
|
2576
|
+
// If center cannot be calculated then we'll simply raise the camera and face it downwards.
|
|
2577
|
+
var scene = viewer.scene;
|
|
2578
|
+
var windowPosition = new Cartesian2(scene.canvas.clientWidth / 2, scene.canvas.clientHeight / 2);
|
|
2579
|
+
var ray = viewer.camera.getPickRay(windowPosition);
|
|
2580
|
+
var intersection = scene.globe.pick(ray, scene);
|
|
2581
|
+
var center = void 0;
|
|
2582
|
+
if (defined(intersection)) {
|
|
2583
|
+
center = Cartographic.fromCartesian(intersection);
|
|
2584
|
+
}
|
|
2585
|
+
// Use current camera position if we can't calculate the center.
|
|
2586
|
+
else {
|
|
2587
|
+
center = Cartographic.fromCartesian(viewer.camera.position);
|
|
2588
|
+
center.height = 0;
|
|
2589
|
+
}
|
|
2590
|
+
center.height = viewer.camera.positionCartographic.height + 100;
|
|
2591
|
+
viewer.camera.setView({
|
|
2592
|
+
destination: Cartographic.toCartesian(center),
|
|
2593
|
+
orientation: {
|
|
2594
|
+
heading: 0.0,
|
|
2595
|
+
pitch: Math$1.toRadians(-90.0),
|
|
2596
|
+
roll: 0.0
|
|
2597
|
+
}
|
|
2598
|
+
});
|
|
2599
|
+
}
|
|
2600
|
+
catch (e) {
|
|
2601
|
+
console.error(e);
|
|
2602
|
+
}
|
|
2603
|
+
}
|
|
2604
|
+
viewer.scene.requestRender();
|
|
2605
|
+
}
|
|
2606
|
+
}
|
|
2607
|
+
ViewUtils.Set2dStatus = Set2dStatus;
|
|
2608
|
+
function Get2dStatus(params) {
|
|
2609
|
+
var viewer = params.viewer;
|
|
2610
|
+
return viewer.camera.frustum instanceof OrthographicFrustum;
|
|
2611
|
+
}
|
|
2612
|
+
ViewUtils.Get2dStatus = Get2dStatus;
|
|
2613
|
+
function SetLockedCameraStatus(params) {
|
|
2614
|
+
var viewer = params.viewer, status = params.status;
|
|
2615
|
+
var scene = viewer === null || viewer === void 0 ? void 0 : viewer.scene;
|
|
2616
|
+
if (!scene) {
|
|
2617
|
+
return;
|
|
2618
|
+
}
|
|
2619
|
+
if (status) {
|
|
2620
|
+
scene.screenSpaceCameraController.enableInputs = false;
|
|
2621
|
+
scene.screenSpaceCameraController.enableTranslate = false;
|
|
2622
|
+
scene.screenSpaceCameraController.enableZoom = false;
|
|
2623
|
+
scene.screenSpaceCameraController.enableRotate = false;
|
|
2624
|
+
scene.screenSpaceCameraController.enableTilt = false;
|
|
2625
|
+
}
|
|
2626
|
+
else {
|
|
2627
|
+
scene.screenSpaceCameraController.enableInputs = true;
|
|
2628
|
+
scene.screenSpaceCameraController.enableTranslate = true;
|
|
2629
|
+
scene.screenSpaceCameraController.enableZoom = true;
|
|
2630
|
+
scene.screenSpaceCameraController.enableRotate = true;
|
|
2631
|
+
if (!ViewUtils.Get2dStatus({ viewer: viewer })) {
|
|
2632
|
+
scene.screenSpaceCameraController.enableTilt = true;
|
|
2633
|
+
}
|
|
2634
|
+
}
|
|
2635
|
+
viewer.scene.requestRender();
|
|
2636
|
+
}
|
|
2637
|
+
ViewUtils.SetLockedCameraStatus = SetLockedCameraStatus;
|
|
2638
|
+
function GetLockedCameraStatus(params) {
|
|
2639
|
+
var _a;
|
|
2640
|
+
var scene = (_a = params.viewer) === null || _a === void 0 ? void 0 : _a.scene;
|
|
2641
|
+
if (!scene) {
|
|
2642
|
+
return false;
|
|
2643
|
+
}
|
|
2644
|
+
return !scene.screenSpaceCameraController.enableTranslate;
|
|
2645
|
+
}
|
|
2646
|
+
ViewUtils.GetLockedCameraStatus = GetLockedCameraStatus;
|
|
2647
|
+
})(ViewUtils || (ViewUtils = {}));
|
|
2648
|
+
|
|
2545
2649
|
var MODEL_MIN_RADIUS = 10;
|
|
2546
2650
|
var POINT_MIN_RADIUS = 15;
|
|
2547
2651
|
// If a shape has more than this amount of points, we'll avoid checking it because it will take too long.
|
|
@@ -19899,7 +20003,7 @@ var CesiumViewMonitor;
|
|
|
19899
20003
|
CesiumViewMonitor$$1.Monitor = Monitor;
|
|
19900
20004
|
})(CesiumViewMonitor || (CesiumViewMonitor = {}));
|
|
19901
20005
|
|
|
19902
|
-
var VERSION$1 = "3.2.
|
|
20006
|
+
var VERSION$1 = "3.2.8";
|
|
19903
20007
|
|
|
19904
20008
|
export { VERSION$1 as VERSION, CesiumViewMonitor, ViewerUtils, MenuItemManager, EntityRenderEngine, MenuItemCreator, VisualsRegister, RenderManager, EntitiesIdsRenderManager, EntitiesLoadedRenderManager, EntitiesRenderManager, EntityRenderManager, TilesetCadRenderManager, TilesetArbRenderManager, TilesetEntitiesRenderManager, TilesetOsmRenderManager, TilesetPointcloudRenderManager, TilesetGooglePhotosRenderManager, DataSourceStaticKmlManager, RelationsRenderManager, SharedGetters, CesiumParabola, EntityLabel, ViewRenderEngine, TileRenderEngine, TilesetRenderEngine, CESIUM_INSPECTOR_KEY, ViewUtils, DrawingUtils, MeasureUtils, EntityUtils, Draw3dPolygon, Draw3dPolyline };
|
|
19905
20009
|
//# sourceMappingURL=bruce-cesium.es5.js.map
|