bruce-cesium 0.2.9 → 0.3.1
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/README.md +0 -0
- package/dist/bruce-cesium.es5.js +355 -42
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +353 -40
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/bruce-cesium.js +30 -30
- package/dist/lib/bruce-cesium.js.map +0 -0
- package/dist/lib/rendering/entity-render-engine.js +848 -848
- package/dist/lib/rendering/entity-render-engine.js.map +0 -0
- package/dist/lib/rendering/menu-item-manager.js +249 -247
- package/dist/lib/rendering/menu-item-manager.js.map +1 -1
- package/dist/lib/rendering/render-addons/measure-addon.js +186 -186
- package/dist/lib/rendering/render-addons/measure-addon.js.map +0 -0
- package/dist/lib/rendering/render-addons/render-addon.js +2 -2
- package/dist/lib/rendering/render-addons/render-addon.js.map +0 -0
- package/dist/lib/rendering/render-helper.js +279 -279
- package/dist/lib/rendering/render-helper.js.map +0 -0
- package/dist/lib/rendering/render-managers/common/shared-getters.js +31 -31
- package/dist/lib/rendering/render-managers/common/shared-getters.js.map +0 -0
- package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +144 -144
- package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js.map +0 -0
- package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +141 -141
- package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js.map +0 -0
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +232 -232
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +0 -0
- package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +138 -138
- package/dist/lib/rendering/render-managers/entities/entity-render-manager.js.map +0 -0
- package/dist/lib/rendering/render-managers/render-manager.js +50 -50
- package/dist/lib/rendering/render-managers/render-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +230 -230
- package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js.map +0 -0
- package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js +321 -0
- package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js.map +1 -0
- package/dist/lib/rendering/tile-render-engine.js +542 -492
- package/dist/lib/rendering/tile-render-engine.js.map +1 -1
- package/dist/lib/rendering/tileset-render-engine.js +472 -472
- package/dist/lib/rendering/tileset-render-engine.js.map +0 -0
- package/dist/lib/rendering/view-render-engine.js +138 -156
- package/dist/lib/rendering/view-render-engine.js.map +1 -1
- package/dist/lib/rendering/visuals-register.js +394 -394
- package/dist/lib/rendering/visuals-register.js.map +1 -1
- package/dist/lib/utils/drawing-utils.js +42 -42
- package/dist/lib/utils/drawing-utils.js.map +0 -0
- package/dist/lib/utils/entity-utils.js +99 -99
- package/dist/lib/utils/entity-utils.js.map +0 -0
- package/dist/lib/utils/measure-utils.js +34 -34
- package/dist/lib/utils/measure-utils.js.map +0 -0
- package/dist/lib/utils/view-utils.js +34 -34
- package/dist/lib/utils/view-utils.js.map +0 -0
- package/dist/lib/viewer/cesium-view-monitor.js +227 -227
- package/dist/lib/viewer/cesium-view-monitor.js.map +0 -0
- package/dist/lib/viewer/viewer-utils.js +85 -85
- package/dist/lib/viewer/viewer-utils.js.map +0 -0
- package/dist/types/bruce-cesium.d.ts +0 -0
- package/dist/types/rendering/entity-render-engine.d.ts +0 -0
- package/dist/types/rendering/menu-item-manager.d.ts +0 -0
- package/dist/types/rendering/render-addons/measure-addon.d.ts +0 -0
- package/dist/types/rendering/render-addons/render-addon.d.ts +0 -0
- package/dist/types/rendering/render-helper.d.ts +0 -0
- package/dist/types/rendering/render-managers/common/shared-getters.d.ts +0 -0
- package/dist/types/rendering/render-managers/entities/entities-ids-render-manager.d.ts +0 -0
- package/dist/types/rendering/render-managers/entities/entities-loaded-render-manager.d.ts +0 -0
- package/dist/types/rendering/render-managers/entities/entities-render-manager.d.ts +0 -0
- package/dist/types/rendering/render-managers/entities/entity-render-manager.d.ts +0 -0
- package/dist/types/rendering/render-managers/render-manager.d.ts +2 -1
- package/dist/types/rendering/render-managers/tilesets/tileset-cad-render-manager.d.ts +0 -0
- package/dist/types/rendering/render-managers/tilesets/tileset-osm-render-manager.d.ts +35 -0
- package/dist/types/rendering/tile-render-engine.d.ts +8 -0
- package/dist/types/rendering/tileset-render-engine.d.ts +0 -0
- package/dist/types/rendering/view-render-engine.d.ts +0 -0
- package/dist/types/rendering/visuals-register.d.ts +1 -0
- package/dist/types/utils/drawing-utils.d.ts +0 -0
- package/dist/types/utils/entity-utils.d.ts +0 -0
- package/dist/types/utils/measure-utils.d.ts +0 -0
- package/dist/types/utils/view-utils.d.ts +0 -0
- package/dist/types/viewer/cesium-view-monitor.d.ts +0 -0
- package/dist/types/viewer/viewer-utils.d.ts +0 -0
- package/package.json +73 -73
package/README.md
CHANGED
|
File without changes
|
package/dist/bruce-cesium.es5.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BruceEvent, Cartes, Carto, Geometry, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, DelayQueue, Entity as Entity$1, BatchedDataGetter, ObjectUtils, Tileset, EntityFilterGetter, MenuItem, ProjectView, ProjectViewBookmark, ProjectViewTileSource, Camera, MathUtils } from 'bruce-models';
|
|
2
|
-
import {
|
|
1
|
+
import { BruceEvent, Cartes, Carto, Geometry, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, DelayQueue, Entity as Entity$1, BatchedDataGetter, ObjectUtils, Tileset, EntityFilterGetter, EntitySource, MenuItem, ProjectView, ProjectViewBookmark, ProjectViewTileSource, Camera, MathUtils } from 'bruce-models';
|
|
2
|
+
import { Color, HeightReference, Cartographic, Cartesian3, Entity, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, Cartesian2, Math as Math$1, Primitive, Cesium3DTileFeature, Viewer, ArcGisMapServerImageryProvider, ScreenSpaceEventType, OrthographicFrustum, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, createWorldTerrain, CesiumTerrainProvider, EllipsoidTerrainProvider, HeadingPitchRange, createOsmBuildings, Cesium3DTileStyle, Rectangle, Matrix4, Cesium3DTileset, EllipsoidGeodesic } from 'cesium';
|
|
3
3
|
|
|
4
4
|
var TIME_LAG = 300;
|
|
5
5
|
var POSITION_CHECK_TIMER = 950;
|
|
@@ -2897,6 +2897,286 @@ var SharedGetters;
|
|
|
2897
2897
|
SharedGetters.Cache = Cache;
|
|
2898
2898
|
})(SharedGetters || (SharedGetters = {}));
|
|
2899
2899
|
|
|
2900
|
+
var MAX_BATCHES = 2;
|
|
2901
|
+
var BATCH_SIZE = 30;
|
|
2902
|
+
var BATCH_DELAY = 200;
|
|
2903
|
+
var MAX_RANGE = 3000;
|
|
2904
|
+
var TilesetOsmRenderManager;
|
|
2905
|
+
(function (TilesetOsmRenderManager) {
|
|
2906
|
+
var Manager = /** @class */ (function () {
|
|
2907
|
+
function Manager(viewer, visualsManager, apiGetter, monitor, item) {
|
|
2908
|
+
this.disposed = false;
|
|
2909
|
+
this.cTileset = null;
|
|
2910
|
+
this.counter = 0;
|
|
2911
|
+
this._loadedCesiumEntities = {};
|
|
2912
|
+
this.totalLoaded = 0;
|
|
2913
|
+
this.featureQueue = [];
|
|
2914
|
+
this.sourceId = null;
|
|
2915
|
+
this.entityTypeId = null;
|
|
2916
|
+
this.queueCheckInterval = null;
|
|
2917
|
+
this.processingQueue = 0;
|
|
2918
|
+
this.viewer = viewer;
|
|
2919
|
+
this.apiGetter = apiGetter;
|
|
2920
|
+
this.item = item;
|
|
2921
|
+
this.visualsManager = visualsManager;
|
|
2922
|
+
this.monitor = monitor;
|
|
2923
|
+
}
|
|
2924
|
+
Object.defineProperty(Manager.prototype, "Disposed", {
|
|
2925
|
+
get: function () {
|
|
2926
|
+
return this.disposed;
|
|
2927
|
+
},
|
|
2928
|
+
enumerable: false,
|
|
2929
|
+
configurable: true
|
|
2930
|
+
});
|
|
2931
|
+
Object.defineProperty(Manager.prototype, "count", {
|
|
2932
|
+
get: function () {
|
|
2933
|
+
return ++this.counter;
|
|
2934
|
+
},
|
|
2935
|
+
enumerable: false,
|
|
2936
|
+
configurable: true
|
|
2937
|
+
});
|
|
2938
|
+
Manager.prototype.Dispose = function () {
|
|
2939
|
+
if (this.disposed) {
|
|
2940
|
+
return;
|
|
2941
|
+
}
|
|
2942
|
+
clearInterval(this.queueCheckInterval);
|
|
2943
|
+
if (this.cTileset) {
|
|
2944
|
+
this.cTileset.show = false;
|
|
2945
|
+
}
|
|
2946
|
+
this.visualsManager.RemoveByMenuItemId(this.item.id);
|
|
2947
|
+
this.featureQueue = [];
|
|
2948
|
+
};
|
|
2949
|
+
Manager.prototype.Init = function () {
|
|
2950
|
+
var _a, _b;
|
|
2951
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
2952
|
+
var menuItem;
|
|
2953
|
+
var _this = this;
|
|
2954
|
+
return __generator(this, function (_c) {
|
|
2955
|
+
menuItem = this.item;
|
|
2956
|
+
this.sourceId = (_a = menuItem.BruceEntity) === null || _a === void 0 ? void 0 : _a.SourceId;
|
|
2957
|
+
this.entityTypeId = (_b = menuItem.BruceEntity) === null || _b === void 0 ? void 0 : _b["EntityType.ID"];
|
|
2958
|
+
this.cTileset = createOsmBuildings();
|
|
2959
|
+
this.cTileset.show = true;
|
|
2960
|
+
if (this.sourceId) {
|
|
2961
|
+
if (menuItem.ghostLoading == true) {
|
|
2962
|
+
this.cTileset.style = new Cesium3DTileStyle({
|
|
2963
|
+
color: "rgba(255, 255, 250, 0.98)"
|
|
2964
|
+
});
|
|
2965
|
+
}
|
|
2966
|
+
this.viewer.scene.primitives.add(this.cTileset);
|
|
2967
|
+
this.cTileset.tileLoad.addEventListener(function (tile) {
|
|
2968
|
+
_this.mapCTile(tile);
|
|
2969
|
+
});
|
|
2970
|
+
this.queueCheckInterval = setInterval(function () {
|
|
2971
|
+
if (_this.featureQueue.length > 0) {
|
|
2972
|
+
_this.processQueue();
|
|
2973
|
+
}
|
|
2974
|
+
}, 5000);
|
|
2975
|
+
}
|
|
2976
|
+
else {
|
|
2977
|
+
this.viewer.scene.primitives.add(this.cTileset);
|
|
2978
|
+
}
|
|
2979
|
+
return [2 /*return*/];
|
|
2980
|
+
});
|
|
2981
|
+
});
|
|
2982
|
+
};
|
|
2983
|
+
Manager.prototype.mapCTile = function (tile) {
|
|
2984
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
2985
|
+
var content, i, feature;
|
|
2986
|
+
return __generator(this, function (_a) {
|
|
2987
|
+
if (this.sourceId) {
|
|
2988
|
+
content = tile.content;
|
|
2989
|
+
for (i = 0; i < content.featuresLength; i++) {
|
|
2990
|
+
feature = content.getFeature(i);
|
|
2991
|
+
if (feature._counter == null) {
|
|
2992
|
+
feature._counter = this.count;
|
|
2993
|
+
}
|
|
2994
|
+
if (feature._orgColor == null) {
|
|
2995
|
+
feature._orgColor = feature.color;
|
|
2996
|
+
}
|
|
2997
|
+
this.featureQueue.push(feature);
|
|
2998
|
+
}
|
|
2999
|
+
this.processQueue();
|
|
3000
|
+
}
|
|
3001
|
+
return [2 /*return*/];
|
|
3002
|
+
});
|
|
3003
|
+
});
|
|
3004
|
+
};
|
|
3005
|
+
Manager.prototype.processQueue = function () {
|
|
3006
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
3007
|
+
var batch, rerun, e_1;
|
|
3008
|
+
var _this = this;
|
|
3009
|
+
return __generator(this, function (_a) {
|
|
3010
|
+
switch (_a.label) {
|
|
3011
|
+
case 0:
|
|
3012
|
+
if (this.processingQueue >= MAX_BATCHES) {
|
|
3013
|
+
return [2 /*return*/];
|
|
3014
|
+
}
|
|
3015
|
+
else if (this.Disposed) {
|
|
3016
|
+
return [2 /*return*/];
|
|
3017
|
+
}
|
|
3018
|
+
this.processingQueue += 1;
|
|
3019
|
+
batch = [];
|
|
3020
|
+
rerun = false;
|
|
3021
|
+
_a.label = 1;
|
|
3022
|
+
case 1:
|
|
3023
|
+
_a.trys.push([1, 4, 5, 6]);
|
|
3024
|
+
batch = this.getVisualsForBatch();
|
|
3025
|
+
if (!(batch.length > 0)) return [3 /*break*/, 3];
|
|
3026
|
+
return [4 /*yield*/, this.mapTileBatch(batch)];
|
|
3027
|
+
case 2:
|
|
3028
|
+
_a.sent();
|
|
3029
|
+
_a.label = 3;
|
|
3030
|
+
case 3:
|
|
3031
|
+
if (this.totalLoaded > 8000) {
|
|
3032
|
+
rerun = this.removeFarAwayBatch();
|
|
3033
|
+
}
|
|
3034
|
+
else {
|
|
3035
|
+
rerun = this.featureQueue.length > 0 && batch.length > 0;
|
|
3036
|
+
}
|
|
3037
|
+
return [3 /*break*/, 6];
|
|
3038
|
+
case 4:
|
|
3039
|
+
e_1 = _a.sent();
|
|
3040
|
+
console.error(e_1);
|
|
3041
|
+
return [3 /*break*/, 6];
|
|
3042
|
+
case 5:
|
|
3043
|
+
setTimeout(function () {
|
|
3044
|
+
_this.processingQueue -= 1;
|
|
3045
|
+
if (rerun) {
|
|
3046
|
+
_this.processQueue();
|
|
3047
|
+
}
|
|
3048
|
+
}, BATCH_DELAY);
|
|
3049
|
+
return [7 /*endfinally*/];
|
|
3050
|
+
case 6: return [2 /*return*/];
|
|
3051
|
+
}
|
|
3052
|
+
});
|
|
3053
|
+
});
|
|
3054
|
+
};
|
|
3055
|
+
Manager.prototype.getVisualsForBatch = function () {
|
|
3056
|
+
var batch = [];
|
|
3057
|
+
var features = this.featureQueue;
|
|
3058
|
+
var bounds = this.monitor.GetBounds();
|
|
3059
|
+
var rect = (bounds === null || bounds === void 0 ? void 0 : bounds.east) ? new Rectangle(Math$1.toRadians(bounds.west), Math$1.toRadians(bounds.south), Math$1.toRadians(bounds.east), Math$1.toRadians(bounds.north)) : null;
|
|
3060
|
+
if (rect) {
|
|
3061
|
+
for (var i = 0; i < features.length; i++) {
|
|
3062
|
+
var feature = features[i];
|
|
3063
|
+
if (feature) {
|
|
3064
|
+
var featureLon = feature.getProperty("cesium#longitude");
|
|
3065
|
+
var featureLat = feature.getProperty("cesium#latitude");
|
|
3066
|
+
if (featureLon && featureLat) {
|
|
3067
|
+
var carto = Cartographic.fromDegrees(featureLon, featureLat, 0);
|
|
3068
|
+
var isIn = Rectangle.contains(rect, carto);
|
|
3069
|
+
if (isIn) {
|
|
3070
|
+
var isClose = this.getIsVisualWithinRange(feature, MAX_RANGE);
|
|
3071
|
+
if (isClose) {
|
|
3072
|
+
batch.push(feature);
|
|
3073
|
+
if (batch.length >= BATCH_SIZE) {
|
|
3074
|
+
return batch;
|
|
3075
|
+
}
|
|
3076
|
+
}
|
|
3077
|
+
}
|
|
3078
|
+
}
|
|
3079
|
+
}
|
|
3080
|
+
}
|
|
3081
|
+
}
|
|
3082
|
+
return batch;
|
|
3083
|
+
};
|
|
3084
|
+
Manager.prototype.getIsVisualWithinRange = function (visual, range) {
|
|
3085
|
+
var featureLon = visual.getProperty("cesium#longitude");
|
|
3086
|
+
var featureLat = visual.getProperty("cesium#latitude");
|
|
3087
|
+
if (featureLon && featureLat) {
|
|
3088
|
+
var pos = Cartesian3.fromDegrees(featureLon, featureLat, 0);
|
|
3089
|
+
var camPoint = this.monitor.GetTarget();
|
|
3090
|
+
var camPos = (camPoint === null || camPoint === void 0 ? void 0 : camPoint.latitude) ? Cartesian3.fromDegrees(camPoint.longitude, camPoint.latitude, camPoint.altitude) : null;
|
|
3091
|
+
if (camPos && Cartes.ValidateCartes3(camPos) && Cartes.ValidateCartes3(pos)) {
|
|
3092
|
+
var distance = Cartesian3.distance(pos, camPos);
|
|
3093
|
+
if (distance != null && distance <= range) {
|
|
3094
|
+
return true;
|
|
3095
|
+
}
|
|
3096
|
+
}
|
|
3097
|
+
}
|
|
3098
|
+
return false;
|
|
3099
|
+
};
|
|
3100
|
+
Manager.prototype.mapTileBatch = function (features) {
|
|
3101
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
3102
|
+
var featureIds, featureMap, _loop_1, this_1, i, api, bIds, i, id, bId, feature, rego;
|
|
3103
|
+
return __generator(this, function (_a) {
|
|
3104
|
+
switch (_a.label) {
|
|
3105
|
+
case 0:
|
|
3106
|
+
featureIds = [];
|
|
3107
|
+
featureMap = [];
|
|
3108
|
+
_loop_1 = function (i) {
|
|
3109
|
+
var feature = features[i];
|
|
3110
|
+
var featureId = feature.getProperty("elementId");
|
|
3111
|
+
if (featureId) {
|
|
3112
|
+
featureMap.push(feature);
|
|
3113
|
+
featureIds.push(featureId + "");
|
|
3114
|
+
}
|
|
3115
|
+
var index = this_1.featureQueue.findIndex(function (x) { return x._counter == feature._counter; });
|
|
3116
|
+
if (index > -1) {
|
|
3117
|
+
this_1.featureQueue.splice(index, 1);
|
|
3118
|
+
}
|
|
3119
|
+
};
|
|
3120
|
+
this_1 = this;
|
|
3121
|
+
for (i = 0; i < features.length; i++) {
|
|
3122
|
+
_loop_1(i);
|
|
3123
|
+
}
|
|
3124
|
+
api = this.apiGetter.getApi(this.apiGetter.accountId, this.apiGetter.env);
|
|
3125
|
+
return [4 /*yield*/, EntitySource.GetEntityIdsBySourceKeys(api, this.sourceId, featureIds)];
|
|
3126
|
+
case 1:
|
|
3127
|
+
bIds = _a.sent();
|
|
3128
|
+
for (i = 0; i < featureIds.length; i++) {
|
|
3129
|
+
id = featureIds[i];
|
|
3130
|
+
bId = bIds[id];
|
|
3131
|
+
if (!bId) {
|
|
3132
|
+
bId = ObjectUtils.UId();
|
|
3133
|
+
}
|
|
3134
|
+
feature = featureMap[i];
|
|
3135
|
+
if (this.item.ghostLoading == true) {
|
|
3136
|
+
feature.color = feature._orgColor;
|
|
3137
|
+
}
|
|
3138
|
+
rego = {
|
|
3139
|
+
entityId: bId,
|
|
3140
|
+
menuItemId: this.item.id,
|
|
3141
|
+
priority: 0,
|
|
3142
|
+
visual: feature,
|
|
3143
|
+
entityTypeId: this.entityTypeId,
|
|
3144
|
+
sourceId: this.sourceId
|
|
3145
|
+
};
|
|
3146
|
+
this.visualsManager.Add(rego);
|
|
3147
|
+
this._loadedCesiumEntities[bId] = rego;
|
|
3148
|
+
}
|
|
3149
|
+
return [2 /*return*/];
|
|
3150
|
+
}
|
|
3151
|
+
});
|
|
3152
|
+
});
|
|
3153
|
+
};
|
|
3154
|
+
Manager.prototype.removeFarAwayBatch = function () {
|
|
3155
|
+
var removed = 0;
|
|
3156
|
+
var keys = Object.keys(this._loadedCesiumEntities);
|
|
3157
|
+
for (var i = 0; i < keys.length; i++) {
|
|
3158
|
+
var key = keys[i];
|
|
3159
|
+
var rego = this._loadedCesiumEntities[key];
|
|
3160
|
+
if (rego) {
|
|
3161
|
+
if (!this.getIsVisualWithinRange(rego.visual, MAX_RANGE)) {
|
|
3162
|
+
this.visualsManager.Remove(rego.entityId, this.item.id);
|
|
3163
|
+
this._loadedCesiumEntities[key] = null;
|
|
3164
|
+
delete this._loadedCesiumEntities[key];
|
|
3165
|
+
this.totalLoaded -= 1;
|
|
3166
|
+
removed += 1;
|
|
3167
|
+
if (removed >= BATCH_SIZE) {
|
|
3168
|
+
return true;
|
|
3169
|
+
}
|
|
3170
|
+
}
|
|
3171
|
+
}
|
|
3172
|
+
}
|
|
3173
|
+
return removed > 0;
|
|
3174
|
+
};
|
|
3175
|
+
return Manager;
|
|
3176
|
+
}());
|
|
3177
|
+
TilesetOsmRenderManager.Manager = Manager;
|
|
3178
|
+
})(TilesetOsmRenderManager || (TilesetOsmRenderManager = {}));
|
|
3179
|
+
|
|
2900
3180
|
/**
|
|
2901
3181
|
* Utility to keep track of enabled menu items within a Cesium viewer.
|
|
2902
3182
|
*/
|
|
@@ -2978,6 +3258,7 @@ var MenuItemManager;
|
|
|
2978
3258
|
rItem.renderManager = new TilesetCadRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
|
|
2979
3259
|
break;
|
|
2980
3260
|
case MenuItem.EType.Osm:
|
|
3261
|
+
rItem.renderManager = new TilesetOsmRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
|
|
2981
3262
|
// TODO;
|
|
2982
3263
|
break;
|
|
2983
3264
|
case MenuItem.EType.PointCloud:
|
|
@@ -3616,6 +3897,7 @@ var TileRenderEngine;
|
|
|
3616
3897
|
}
|
|
3617
3898
|
return layer;
|
|
3618
3899
|
}
|
|
3900
|
+
Map.RenderLegacy = RenderLegacy;
|
|
3619
3901
|
function RenderLegacyView(params) {
|
|
3620
3902
|
var _a, _b, _c, _d, _e;
|
|
3621
3903
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -3636,7 +3918,7 @@ var TileRenderEngine;
|
|
|
3636
3918
|
case 3:
|
|
3637
3919
|
data = [];
|
|
3638
3920
|
dataNames = [];
|
|
3639
|
-
if ((_a = bookmark.Settings) === null || _a === void 0 ? void 0 : _a.imagery) {
|
|
3921
|
+
if ((_a = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _a === void 0 ? void 0 : _a.imagery) {
|
|
3640
3922
|
for (i = 0; i < bookmark.Settings.imagery.length; i++) {
|
|
3641
3923
|
source = bookmark.Settings.imagery[i];
|
|
3642
3924
|
dataNames.push(source.title);
|
|
@@ -3773,54 +4055,85 @@ var TileRenderEngine;
|
|
|
3773
4055
|
}
|
|
3774
4056
|
}
|
|
3775
4057
|
Terrain.RenderLegacy = RenderLegacy;
|
|
4058
|
+
function RenderLegacyView(params) {
|
|
4059
|
+
var _a, _b, _c, _d, _e;
|
|
4060
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
4061
|
+
var api, view, bookmark, terrainTiles, terrainTile, terrainTileName, i, tile;
|
|
4062
|
+
return __generator(this, function (_f) {
|
|
4063
|
+
switch (_f.label) {
|
|
4064
|
+
case 0:
|
|
4065
|
+
api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
|
|
4066
|
+
return [4 /*yield*/, ProjectView.Get(api, params.viewId)];
|
|
4067
|
+
case 1:
|
|
4068
|
+
view = _f.sent();
|
|
4069
|
+
bookmark = null;
|
|
4070
|
+
if (!params.bookmarkId) return [3 /*break*/, 3];
|
|
4071
|
+
return [4 /*yield*/, ProjectViewBookmark.Get(api, params.viewId, params.bookmarkId)];
|
|
4072
|
+
case 2:
|
|
4073
|
+
bookmark = _f.sent();
|
|
4074
|
+
_f.label = 3;
|
|
4075
|
+
case 3:
|
|
4076
|
+
terrainTiles = (_b = (_a = view.Settings) === null || _a === void 0 ? void 0 : _a.CesiumTerrainSources) !== null && _b !== void 0 ? _b : [];
|
|
4077
|
+
terrainTile = null;
|
|
4078
|
+
terrainTileName = null;
|
|
4079
|
+
if ((_c = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _c === void 0 ? void 0 : _c.terrain) {
|
|
4080
|
+
terrainTileName = bookmark.Settings.terrain;
|
|
4081
|
+
}
|
|
4082
|
+
else {
|
|
4083
|
+
terrainTileName = (_d = view.Settings) === null || _d === void 0 ? void 0 : _d.DefaultTerrain;
|
|
4084
|
+
}
|
|
4085
|
+
return [4 /*yield*/, ProjectViewTileSource.MergeTerrainTemplateData(params.apiGetter, terrainTiles, ((_e = view.Settings) === null || _e === void 0 ? void 0 : _e.CesiumTerrainSources) == null)];
|
|
4086
|
+
case 4:
|
|
4087
|
+
_f.sent();
|
|
4088
|
+
for (i = 0; i < terrainTiles.length; i++) {
|
|
4089
|
+
tile = terrainTiles[i];
|
|
4090
|
+
if (TileRenderEngine.CompareLegacyNames(tile.Name, terrainTileName)) {
|
|
4091
|
+
terrainTile = tile;
|
|
4092
|
+
break;
|
|
4093
|
+
}
|
|
4094
|
+
}
|
|
4095
|
+
if (terrainTile) {
|
|
4096
|
+
TileRenderEngine.Terrain.RenderLegacy({
|
|
4097
|
+
data: terrainTile,
|
|
4098
|
+
viewer: params.viewer,
|
|
4099
|
+
});
|
|
4100
|
+
}
|
|
4101
|
+
return [2 /*return*/];
|
|
4102
|
+
}
|
|
4103
|
+
});
|
|
4104
|
+
});
|
|
4105
|
+
}
|
|
4106
|
+
Terrain.RenderLegacyView = RenderLegacyView;
|
|
3776
4107
|
})(Terrain = TileRenderEngine.Terrain || (TileRenderEngine.Terrain = {}));
|
|
3777
4108
|
})(TileRenderEngine || (TileRenderEngine = {}));
|
|
3778
4109
|
|
|
3779
4110
|
var ViewRenderEngine;
|
|
3780
4111
|
(function (ViewRenderEngine) {
|
|
3781
4112
|
function Render(params) {
|
|
3782
|
-
var _a, _b, _c, _d, _e
|
|
4113
|
+
var _a, _b, _c, _d, _e;
|
|
3783
4114
|
return __awaiter(this, void 0, void 0, function () {
|
|
3784
|
-
var api, view, bookmark,
|
|
3785
|
-
return __generator(this, function (
|
|
3786
|
-
switch (
|
|
4115
|
+
var api, view, bookmark, frustum, scene, curFrustum, camera, pos, go, enabledItems, newItemIds, _i, enabledItems_1, id;
|
|
4116
|
+
return __generator(this, function (_f) {
|
|
4117
|
+
switch (_f.label) {
|
|
3787
4118
|
case 0:
|
|
3788
4119
|
api = params.apiGetter.getApi(params.apiGetter.accountId, params.apiGetter.env);
|
|
3789
4120
|
return [4 /*yield*/, ProjectView.Get(api, params.viewId)];
|
|
3790
4121
|
case 1:
|
|
3791
|
-
view =
|
|
4122
|
+
view = _f.sent();
|
|
3792
4123
|
bookmark = null;
|
|
3793
4124
|
if (!params.bookmarkId) return [3 /*break*/, 3];
|
|
3794
4125
|
return [4 /*yield*/, ProjectViewBookmark.Get(api, params.viewId, params.bookmarkId)];
|
|
3795
4126
|
case 2:
|
|
3796
|
-
bookmark =
|
|
3797
|
-
|
|
3798
|
-
case 3:
|
|
3799
|
-
|
|
3800
|
-
|
|
3801
|
-
|
|
3802
|
-
|
|
3803
|
-
|
|
3804
|
-
}
|
|
3805
|
-
else {
|
|
3806
|
-
terrainTileName = (_d = view.Settings) === null || _d === void 0 ? void 0 : _d.DefaultTerrain;
|
|
3807
|
-
}
|
|
3808
|
-
return [4 /*yield*/, ProjectViewTileSource.MergeTerrainTemplateData(params.apiGetter, terrainTiles, ((_e = view.Settings) === null || _e === void 0 ? void 0 : _e.CesiumTerrainSources) == null)];
|
|
4127
|
+
bookmark = _f.sent();
|
|
4128
|
+
_f.label = 3;
|
|
4129
|
+
case 3: return [4 /*yield*/, TileRenderEngine.Terrain.RenderLegacyView({
|
|
4130
|
+
apiGetter: params.apiGetter,
|
|
4131
|
+
bookmarkId: params.bookmarkId,
|
|
4132
|
+
viewer: params.manager.Viewer,
|
|
4133
|
+
viewId: params.viewId,
|
|
4134
|
+
})];
|
|
3809
4135
|
case 4:
|
|
3810
|
-
|
|
3811
|
-
for (i = 0; i < terrainTiles.length; i++) {
|
|
3812
|
-
tile = terrainTiles[i];
|
|
3813
|
-
if (TileRenderEngine.CompareLegacyNames(tile.Name, terrainTileName)) {
|
|
3814
|
-
terrainTile = tile;
|
|
3815
|
-
break;
|
|
3816
|
-
}
|
|
3817
|
-
}
|
|
3818
|
-
if (terrainTile) {
|
|
3819
|
-
TileRenderEngine.Terrain.RenderLegacy({
|
|
3820
|
-
data: terrainTile,
|
|
3821
|
-
viewer: params.manager.Viewer,
|
|
3822
|
-
});
|
|
3823
|
-
}
|
|
4136
|
+
_f.sent();
|
|
3824
4137
|
return [4 /*yield*/, TileRenderEngine.Map.RenderLegacyView({
|
|
3825
4138
|
apiGetter: params.apiGetter,
|
|
3826
4139
|
bookmarkId: params.bookmarkId,
|
|
@@ -3829,8 +4142,8 @@ var ViewRenderEngine;
|
|
|
3829
4142
|
ignoreIds: []
|
|
3830
4143
|
})];
|
|
3831
4144
|
case 5:
|
|
3832
|
-
|
|
3833
|
-
frustum = (
|
|
4145
|
+
_f.sent();
|
|
4146
|
+
frustum = (_a = bookmark.Settings) === null || _a === void 0 ? void 0 : _a.cameraFrustum;
|
|
3834
4147
|
if (frustum == null) {
|
|
3835
4148
|
frustum = Camera.EFrustum.Perspective;
|
|
3836
4149
|
}
|
|
@@ -3858,16 +4171,16 @@ var ViewRenderEngine;
|
|
|
3858
4171
|
},
|
|
3859
4172
|
duration: params.skipTransition ? 0 : 2
|
|
3860
4173
|
});
|
|
3861
|
-
go = (
|
|
4174
|
+
go = (_b = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _b === void 0 ? void 0 : _b.groundOcclusion;
|
|
3862
4175
|
if (go == null) {
|
|
3863
|
-
go = (
|
|
4176
|
+
go = (_c = view.Settings) === null || _c === void 0 ? void 0 : _c.GroundOcclusion;
|
|
3864
4177
|
}
|
|
3865
4178
|
if (go == null) {
|
|
3866
4179
|
go = false;
|
|
3867
4180
|
}
|
|
3868
4181
|
params.manager.Viewer.scene.globe.depthTestAgainstTerrain = go;
|
|
3869
4182
|
enabledItems = params.manager.GetEnabledItemIds();
|
|
3870
|
-
newItemIds = (
|
|
4183
|
+
newItemIds = (_e = (_d = bookmark === null || bookmark === void 0 ? void 0 : bookmark.Settings) === null || _d === void 0 ? void 0 : _d.selectedItemIds) !== null && _e !== void 0 ? _e : [];
|
|
3871
4184
|
for (_i = 0, enabledItems_1 = enabledItems; _i < enabledItems_1.length; _i++) {
|
|
3872
4185
|
id = enabledItems_1[_i];
|
|
3873
4186
|
if (newItemIds.indexOf(id) === -1) {
|
|
@@ -3880,8 +4193,8 @@ var ViewRenderEngine;
|
|
|
3880
4193
|
manager: params.manager,
|
|
3881
4194
|
}, params.viewId, params.bookmarkId)];
|
|
3882
4195
|
case 6:
|
|
3883
|
-
|
|
3884
|
-
|
|
4196
|
+
_f.sent();
|
|
4197
|
+
_f.label = 7;
|
|
3885
4198
|
case 7: return [2 /*return*/];
|
|
3886
4199
|
}
|
|
3887
4200
|
});
|