bruce-cesium 3.2.2 → 3.2.4
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 +76 -64
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +75 -63
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/bruce-cesium.js +1 -1
- package/dist/lib/rendering/entity-render-engine.js +42 -26
- package/dist/lib/rendering/entity-render-engine.js.map +1 -1
- package/dist/lib/utils/entity-utils.js +31 -35
- 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
1
|
import { Cartes, ProjectViewTile, Carto, Entity as Entity$1, Geometry, Tileset, MathUtils, LRUCache, 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, JulianDate, DistanceDisplayCondition, NearFarScalar, Model,
|
|
3
|
+
import { Cartographic, Cartesian2, Math as Math$1, Cartesian3, CallbackProperty, Color, HeightReference, Rectangle, SceneMode, JulianDate, Entity, Primitive, Cesium3DTileFeature, DistanceDisplayCondition, NearFarScalar, Model, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, Cesium3DTileColorBlendMode, HeadingPitchRange, Ion, Cesium3DTileStyle, KmlDataSource, SceneTransforms, OrthographicFrustum, EasingFunction, EllipsoidTerrainProvider, CesiumInspector, defined, EllipsoidGeodesic, sampleTerrainMostDetailed, Cesium3DTileset, Matrix4, Matrix3, IonResource, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, CesiumTerrainProvider, ScreenSpaceEventHandler, ScreenSpaceEventType, ColorMaterialProperty, BoundingSphere, GeometryInstance, PolygonPipeline, Intersect } from 'cesium';
|
|
4
4
|
|
|
5
5
|
/*! *****************************************************************************
|
|
6
6
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
@@ -973,43 +973,20 @@ var EntityUtils;
|
|
|
973
973
|
});
|
|
974
974
|
}); };
|
|
975
975
|
getEntityPositions = function (sample) { return __awaiter(_this, void 0, void 0, function () {
|
|
976
|
-
var entityId, entity, tileset, tilesetId,
|
|
976
|
+
var entityId, entity, tileset, tilesetId, evaluateRendered, evaluateRecord, renderedPosses, e_1, recordPosses, e_2, tSettings, pos3d, alt, alt, heading, pitch, roll, matrix4, offset, m1, hpr, transform, transformedOffset;
|
|
977
977
|
var _this = this;
|
|
978
978
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
979
979
|
return __generator(this, function (_l) {
|
|
980
980
|
switch (_l.label) {
|
|
981
981
|
case 0:
|
|
982
982
|
entityId = sample.entityId, entity = sample.entity, tileset = sample.tileset, tilesetId = sample.tilesetId;
|
|
983
|
-
if (!!entity) return [3 /*break*/, 4];
|
|
984
|
-
if (!(apiCalls < MAX_API_CALLS)) return [3 /*break*/, 4];
|
|
985
|
-
apiCalls += 1;
|
|
986
|
-
_l.label = 1;
|
|
987
|
-
case 1:
|
|
988
|
-
_l.trys.push([1, 3, , 4]);
|
|
989
|
-
return [4 /*yield*/, Entity$1.Get({
|
|
990
|
-
api: api,
|
|
991
|
-
entityId: entityId,
|
|
992
|
-
// Not expanding relative positions at first to see if the entity has valid location just by itself.
|
|
993
|
-
expandLocation: false
|
|
994
|
-
})];
|
|
995
|
-
case 2:
|
|
996
|
-
entity = (_l.sent()).entity;
|
|
997
|
-
return [3 /*break*/, 4];
|
|
998
|
-
case 3:
|
|
999
|
-
e_1 = _l.sent();
|
|
1000
|
-
console.error(e_1);
|
|
1001
|
-
return [3 /*break*/, 4];
|
|
1002
|
-
case 4:
|
|
1003
|
-
if (!entity) {
|
|
1004
|
-
return [2 /*return*/, []];
|
|
1005
|
-
}
|
|
1006
983
|
evaluateRendered = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
1007
|
-
var rego, posses, visual, visualHeightRef, hierarchy, hPosses, hPossesSample, step, i, pPosses, pPossesSample, step, i, pPosses, pPossesSample, step, i, pos3d_1, modelExt, sphere;
|
|
984
|
+
var rego, posses, visual, visualHeightRef, hierarchy, hPosses, hPossesSample, step, i, pPosses, pPossesSample, step, i, pPosses, pPossesSample, step, i, pos3d_1, toAdjust, modelExt, sphere;
|
|
1008
985
|
return __generator(this, function (_a) {
|
|
1009
986
|
switch (_a.label) {
|
|
1010
987
|
case 0:
|
|
1011
988
|
rego = visualRegister ? visualRegister.GetRego({
|
|
1012
|
-
entityId:
|
|
989
|
+
entityId: sample.entityId,
|
|
1013
990
|
}) : null;
|
|
1014
991
|
posses = [];
|
|
1015
992
|
if (!((rego === null || rego === void 0 ? void 0 : rego.visual) instanceof Entity)) return [3 /*break*/, 14];
|
|
@@ -1087,15 +1064,11 @@ var EntityUtils;
|
|
|
1087
1064
|
case 12:
|
|
1088
1065
|
pos3d_1 = GetValue(viewer, visual.position);
|
|
1089
1066
|
if (!(pos3d_1 === null || pos3d_1 === void 0 ? void 0 : pos3d_1.x)) return [3 /*break*/, 14];
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
heightRef: visualHeightRef,
|
|
1093
|
-
pos3d: pos3d_1,
|
|
1094
|
-
viewer: viewer
|
|
1095
|
-
});
|
|
1096
|
-
return [4 /*yield*/, processPosHeight(pos3d_1, sample.returnHeightRef)];
|
|
1067
|
+
toAdjust = [pos3d_1];
|
|
1068
|
+
return [4 /*yield*/, ensureHeightRefs(toAdjust, __assign(__assign({}, sample), { heightRef: visualHeightRef }))];
|
|
1097
1069
|
case 13:
|
|
1098
|
-
|
|
1070
|
+
_a.sent();
|
|
1071
|
+
pos3d_1 = toAdjust[0];
|
|
1099
1072
|
posses.push(pos3d_1);
|
|
1100
1073
|
if (visual.model) {
|
|
1101
1074
|
modelExt = visual.model;
|
|
@@ -1180,11 +1153,34 @@ var EntityUtils;
|
|
|
1180
1153
|
});
|
|
1181
1154
|
}); };
|
|
1182
1155
|
return [4 /*yield*/, evaluateRendered()];
|
|
1183
|
-
case
|
|
1156
|
+
case 1:
|
|
1184
1157
|
renderedPosses = _l.sent();
|
|
1185
1158
|
if (renderedPosses === null || renderedPosses === void 0 ? void 0 : renderedPosses.length) {
|
|
1186
1159
|
return [2 /*return*/, renderedPosses];
|
|
1187
1160
|
}
|
|
1161
|
+
if (!!entity) return [3 /*break*/, 5];
|
|
1162
|
+
if (!(apiCalls < MAX_API_CALLS)) return [3 /*break*/, 5];
|
|
1163
|
+
apiCalls += 1;
|
|
1164
|
+
_l.label = 2;
|
|
1165
|
+
case 2:
|
|
1166
|
+
_l.trys.push([2, 4, , 5]);
|
|
1167
|
+
return [4 /*yield*/, Entity$1.Get({
|
|
1168
|
+
api: api,
|
|
1169
|
+
entityId: entityId,
|
|
1170
|
+
// Not expanding relative positions at first to see if the entity has valid location just by itself.
|
|
1171
|
+
expandLocation: false
|
|
1172
|
+
})];
|
|
1173
|
+
case 3:
|
|
1174
|
+
entity = (_l.sent()).entity;
|
|
1175
|
+
return [3 /*break*/, 5];
|
|
1176
|
+
case 4:
|
|
1177
|
+
e_1 = _l.sent();
|
|
1178
|
+
console.error(e_1);
|
|
1179
|
+
return [3 /*break*/, 5];
|
|
1180
|
+
case 5:
|
|
1181
|
+
if (!entity) {
|
|
1182
|
+
return [2 /*return*/, []];
|
|
1183
|
+
}
|
|
1188
1184
|
return [4 /*yield*/, evaluateRecord()];
|
|
1189
1185
|
case 6:
|
|
1190
1186
|
recordPosses = _l.sent();
|
|
@@ -3006,24 +3002,27 @@ function getModelEntity(url, scale) {
|
|
|
3006
3002
|
return __awaiter(this, void 0, void 0, function () {
|
|
3007
3003
|
var CESIUM;
|
|
3008
3004
|
return __generator(this, function (_a) {
|
|
3009
|
-
|
|
3010
|
-
|
|
3011
|
-
|
|
3012
|
-
|
|
3013
|
-
|
|
3014
|
-
|
|
3015
|
-
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
|
|
3025
|
-
|
|
3026
|
-
|
|
3005
|
+
switch (_a.label) {
|
|
3006
|
+
case 0:
|
|
3007
|
+
CESIUM = Cesium;
|
|
3008
|
+
if (!CESIUM.Model.hasOwnProperty("fromGltfAsync")) return [3 /*break*/, 2];
|
|
3009
|
+
return [4 /*yield*/, CESIUM.Model.fromGltfAsync({
|
|
3010
|
+
url: url,
|
|
3011
|
+
asynchronous: true,
|
|
3012
|
+
scale: scale
|
|
3013
|
+
})];
|
|
3014
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
3015
|
+
case 2:
|
|
3016
|
+
if (Model.hasOwnProperty("fromGltf")) {
|
|
3017
|
+
return [2 /*return*/, CESIUM.Model.fromGltf({
|
|
3018
|
+
url: url,
|
|
3019
|
+
asynchronous: true,
|
|
3020
|
+
scale: scale
|
|
3021
|
+
})];
|
|
3022
|
+
}
|
|
3023
|
+
_a.label = 3;
|
|
3024
|
+
case 3: return [2 /*return*/, null];
|
|
3025
|
+
}
|
|
3027
3026
|
});
|
|
3028
3027
|
});
|
|
3029
3028
|
}
|
|
@@ -4082,7 +4081,7 @@ var EntityRenderEngine;
|
|
|
4082
4081
|
var heightProm = _fileRadiusCache.Get(fileRadiusKey);
|
|
4083
4082
|
if (!heightProm) {
|
|
4084
4083
|
heightProm = new Promise(function (res) { return __awaiter(_this, void 0, void 0, function () {
|
|
4085
|
-
var modelPrim_1, e_6;
|
|
4084
|
+
var modelPrim_1, onReady_1, readyEventRemoval_1, e_6;
|
|
4086
4085
|
return __generator(this, function (_a) {
|
|
4087
4086
|
switch (_a.label) {
|
|
4088
4087
|
case 0:
|
|
@@ -4090,7 +4089,9 @@ var EntityRenderEngine;
|
|
|
4090
4089
|
return [4 /*yield*/, getModelEntity(params.lodUrl, scale * styleScale)];
|
|
4091
4090
|
case 1:
|
|
4092
4091
|
modelPrim_1 = _a.sent();
|
|
4093
|
-
|
|
4092
|
+
onReady_1 = function () {
|
|
4093
|
+
readyEventRemoval_1 === null || readyEventRemoval_1 === void 0 ? void 0 : readyEventRemoval_1();
|
|
4094
|
+
readyEventRemoval_1 = null;
|
|
4094
4095
|
var kill = function () {
|
|
4095
4096
|
if (params.viewer && !params.viewer.isDestroyed() && params.viewer.scene.primitives.contains(modelPrim_1)) {
|
|
4096
4097
|
params.viewer.scene.primitives.remove(modelPrim_1);
|
|
@@ -4099,13 +4100,13 @@ var EntityRenderEngine;
|
|
|
4099
4100
|
modelPrim_1.destroy();
|
|
4100
4101
|
}
|
|
4101
4102
|
};
|
|
4102
|
-
if (!cEntity || !(
|
|
4103
|
+
if (!cEntity || !(modelPrim_1 === null || modelPrim_1 === void 0 ? void 0 : modelPrim_1.boundingSphere)) {
|
|
4103
4104
|
kill();
|
|
4104
4105
|
res(null);
|
|
4105
4106
|
return;
|
|
4106
4107
|
}
|
|
4107
|
-
var radius =
|
|
4108
|
-
var centerOffset =
|
|
4108
|
+
var radius = modelPrim_1.boundingSphere.radius;
|
|
4109
|
+
var centerOffset = modelPrim_1.boundingSphere.center;
|
|
4109
4110
|
if (centerOffset) {
|
|
4110
4111
|
// Add the center offset to the radius because I am not good at math.
|
|
4111
4112
|
var magnitude = Cartesian3.magnitude(centerOffset);
|
|
@@ -4118,10 +4119,21 @@ var EntityRenderEngine;
|
|
|
4118
4119
|
}
|
|
4119
4120
|
kill();
|
|
4120
4121
|
res(radius);
|
|
4121
|
-
}
|
|
4122
|
-
|
|
4123
|
-
|
|
4124
|
-
|
|
4122
|
+
};
|
|
4123
|
+
readyEventRemoval_1 = null;
|
|
4124
|
+
// Newer Cesium versions have readyEvent. They don't use readyPromise.
|
|
4125
|
+
if (modelPrim_1["readyEvent"]) {
|
|
4126
|
+
modelPrim_1["readyEvent"].addEventListener(onReady_1);
|
|
4127
|
+
}
|
|
4128
|
+
// Older Cesium versions don't have readyEvent, they use readyPromise.
|
|
4129
|
+
else if (modelPrim_1["readyPromise"]) {
|
|
4130
|
+
modelPrim_1["readyPromise"].then(function () {
|
|
4131
|
+
onReady_1();
|
|
4132
|
+
}).catch(function (e) {
|
|
4133
|
+
console.error(e);
|
|
4134
|
+
res(null);
|
|
4135
|
+
});
|
|
4136
|
+
}
|
|
4125
4137
|
params.viewer.scene.primitives.add(modelPrim_1);
|
|
4126
4138
|
return [3 /*break*/, 3];
|
|
4127
4139
|
case 2:
|
|
@@ -19399,7 +19411,7 @@ var CesiumViewMonitor;
|
|
|
19399
19411
|
CesiumViewMonitor$$1.Monitor = Monitor;
|
|
19400
19412
|
})(CesiumViewMonitor || (CesiumViewMonitor = {}));
|
|
19401
19413
|
|
|
19402
|
-
var VERSION$1 = "3.2.
|
|
19414
|
+
var VERSION$1 = "3.2.4";
|
|
19403
19415
|
|
|
19404
19416
|
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 };
|
|
19405
19417
|
//# sourceMappingURL=bruce-cesium.es5.js.map
|