bruce-cesium 2.8.0 → 2.8.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/dist/bruce-cesium.es5.js +58 -50
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +57 -49
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/bruce-cesium.js +1 -1
- package/dist/lib/rendering/render-managers/other/relations-render-manager.js +17 -23
- package/dist/lib/rendering/render-managers/other/relations-render-manager.js.map +1 -1
- package/dist/lib/rendering/visuals-register.js +37 -24
- package/dist/lib/rendering/visuals-register.js.map +1 -1
- package/dist/types/bruce-cesium.d.ts +1 -1
- package/dist/types/rendering/render-managers/other/relations-render-manager.d.ts +1 -1
- package/dist/types/rendering/visuals-register.d.ts +3 -3
- package/package.json +1 -1
package/dist/bruce-cesium.es5.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BruceEvent, Cartes, Carto, Entity as Entity$1, Geometry, Tileset, MathUtils, LRUCache, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, ObjectUtils, Bounds, EntityRelationType, DelayQueue, BatchedDataGetter, EntityCoords, EntityFilterGetter, EntitySource, MenuItem, EntityRelation, ENVIRONMENT, ProjectView, ProjectViewBookmark, ProjectViewTile, ProjectViewLegacyTile, ProgramKey, Camera, AbstractApi, EntityAttachment, EntityAttachmentType, EntityAttribute } from 'bruce-models';
|
|
2
2
|
import * as Cesium from 'cesium';
|
|
3
|
-
import { Cartographic,
|
|
3
|
+
import { Cartographic, Cartesian2, CallbackProperty, Cartesian3, Color, Rectangle, Math as Math$1, Entity, Primitive, Cesium3DTileFeature, JulianDate, SceneMode, HeightReference, DistanceDisplayCondition, NearFarScalar, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, CornerType, ShadowMode, PolygonHierarchy, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, Cesium3DTileColorBlendMode, HeadingPitchRange, Cesium3DTileStyle, KmlDataSource, createOsmBuildings, Cesium3DTileset, Matrix4, Matrix3, IonResource, Ion, OrthographicFrustum, EasingFunction, EllipsoidTerrainProvider, CesiumInspector, defined, ColorMaterialProperty, GeometryInstance, ScreenSpaceEventHandler, ScreenSpaceEventType, createWorldTerrain, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, EllipsoidGeodesic, sampleTerrainMostDetailed, Model, PolygonPipeline, BoundingSphere } from 'cesium';
|
|
4
4
|
|
|
5
5
|
var TIME_LAG = 300;
|
|
6
6
|
var POSITION_CHECK_TIMER = 950;
|
|
@@ -4249,20 +4249,33 @@ var VisualsRegister;
|
|
|
4249
4249
|
/**
|
|
4250
4250
|
* Locates a visual corresponding to a given entity id.
|
|
4251
4251
|
* If no menu item id is provided, then it will pick the "best" one.
|
|
4252
|
-
* @param
|
|
4253
|
-
* @param menuItemId
|
|
4252
|
+
* @param params
|
|
4254
4253
|
* @returns
|
|
4255
4254
|
*/
|
|
4256
4255
|
Register.prototype.GetRego = function (params) {
|
|
4257
|
-
var entityId = params.entityId, menuItemId = params.menuItemId;
|
|
4258
|
-
|
|
4259
|
-
|
|
4260
|
-
|
|
4256
|
+
var entityId = params.entityId, menuItemId = params.menuItemId, relation = params.relation;
|
|
4257
|
+
if (relation) {
|
|
4258
|
+
var relationKey_1 = RelationRenderEngine.GetRenderGroupId(relation);
|
|
4259
|
+
for (var entityId_1 in this.rego) {
|
|
4260
|
+
var entityRegos = this.rego[entityId_1];
|
|
4261
|
+
if (entityRegos) {
|
|
4262
|
+
var rego = entityRegos.find(function (r) { return r.relation && RelationRenderEngine.GetRenderGroupId(r.relation) == relationKey_1; });
|
|
4263
|
+
if (rego) {
|
|
4264
|
+
return rego;
|
|
4265
|
+
}
|
|
4266
|
+
}
|
|
4267
|
+
}
|
|
4261
4268
|
}
|
|
4262
|
-
|
|
4263
|
-
|
|
4269
|
+
else {
|
|
4270
|
+
var entityRegos = this.rego[entityId];
|
|
4271
|
+
if (!entityRegos) {
|
|
4272
|
+
return [];
|
|
4273
|
+
}
|
|
4274
|
+
if (menuItemId) {
|
|
4275
|
+
return entityRegos.find(function (r) { return r.menuItemId === menuItemId; });
|
|
4276
|
+
}
|
|
4277
|
+
return entityRegos.find(function (x) { return x.best; });
|
|
4264
4278
|
}
|
|
4265
|
-
return entityRegos.find(function (x) { return x.best; });
|
|
4266
4279
|
};
|
|
4267
4280
|
/**
|
|
4268
4281
|
* Returns regos matching given criteria.
|
|
@@ -4275,8 +4288,8 @@ var VisualsRegister;
|
|
|
4275
4288
|
// Currently this was made by merging two functions.
|
|
4276
4289
|
var entityId = params.entityId, menuItemId = params.menuItemId;
|
|
4277
4290
|
if (entityId) {
|
|
4278
|
-
var
|
|
4279
|
-
var entityRegos = this.rego[
|
|
4291
|
+
var entityId_2 = params.entityId;
|
|
4292
|
+
var entityRegos = this.rego[entityId_2];
|
|
4280
4293
|
if (!entityRegos) {
|
|
4281
4294
|
return [];
|
|
4282
4295
|
}
|
|
@@ -4285,8 +4298,8 @@ var VisualsRegister;
|
|
|
4285
4298
|
else if (menuItemId) {
|
|
4286
4299
|
var menuItemId_1 = params.menuItemId;
|
|
4287
4300
|
var visuals = [];
|
|
4288
|
-
for (var
|
|
4289
|
-
var entityRegos = this.rego[
|
|
4301
|
+
for (var entityId_3 in this.rego) {
|
|
4302
|
+
var entityRegos = this.rego[entityId_3];
|
|
4290
4303
|
if (entityRegos) {
|
|
4291
4304
|
var rego = entityRegos.find(function (r) { return r.menuItemId === menuItemId_1; });
|
|
4292
4305
|
if (rego) {
|
|
@@ -4315,8 +4328,8 @@ var VisualsRegister;
|
|
|
4315
4328
|
// TODO: refactor.
|
|
4316
4329
|
// Currently this was made by merging two functions.
|
|
4317
4330
|
if (menuItemId && !entityId) {
|
|
4318
|
-
for (var
|
|
4319
|
-
var entityRegos = this.rego[
|
|
4331
|
+
for (var entityId_4 in this.rego) {
|
|
4332
|
+
var entityRegos = this.rego[entityId_4];
|
|
4320
4333
|
if (entityRegos) {
|
|
4321
4334
|
var rego = entityRegos.find(function (r) { return r.menuItemId === menuItemId; });
|
|
4322
4335
|
if (!rego) {
|
|
@@ -4328,9 +4341,9 @@ var VisualsRegister;
|
|
|
4328
4341
|
continue;
|
|
4329
4342
|
}
|
|
4330
4343
|
removeEntity(this.viewer, rego.visual);
|
|
4331
|
-
var doesInclude = this.rego[
|
|
4344
|
+
var doesInclude = this.rego[entityId_4].find(function (r) { return r.menuItemId === menuItemId; });
|
|
4332
4345
|
if (doesInclude) {
|
|
4333
|
-
this.rego[
|
|
4346
|
+
this.rego[entityId_4] = entityRegos.filter(function (r) { return r.menuItemId !== menuItemId; });
|
|
4334
4347
|
}
|
|
4335
4348
|
(_a = this.onUpdate) === null || _a === void 0 ? void 0 : _a.Trigger({
|
|
4336
4349
|
type: EVisualUpdateType.Remove,
|
|
@@ -4338,7 +4351,7 @@ var VisualsRegister;
|
|
|
4338
4351
|
rego: rego
|
|
4339
4352
|
});
|
|
4340
4353
|
if (doesInclude) {
|
|
4341
|
-
updateEntity(this.viewer,
|
|
4354
|
+
updateEntity(this.viewer, entityId_4, this);
|
|
4342
4355
|
}
|
|
4343
4356
|
}
|
|
4344
4357
|
}
|
|
@@ -4374,23 +4387,23 @@ var VisualsRegister;
|
|
|
4374
4387
|
}
|
|
4375
4388
|
}
|
|
4376
4389
|
else if (relation) {
|
|
4377
|
-
var
|
|
4378
|
-
for (var
|
|
4379
|
-
var entityRegos = this.rego[
|
|
4390
|
+
var relationKey_2 = RelationRenderEngine.GetRenderGroupId(relation);
|
|
4391
|
+
for (var entityId_5 in this.rego) {
|
|
4392
|
+
var entityRegos = this.rego[entityId_5];
|
|
4380
4393
|
if (entityRegos) {
|
|
4381
|
-
var rego = entityRegos.find(function (r) { return r.relation && RelationRenderEngine.GetRenderGroupId(r.relation) ==
|
|
4394
|
+
var rego = entityRegos.find(function (r) { return r.relation && RelationRenderEngine.GetRenderGroupId(r.relation) == relationKey_2; });
|
|
4382
4395
|
if (!rego) {
|
|
4383
4396
|
continue;
|
|
4384
4397
|
}
|
|
4385
4398
|
removeEntity(this.viewer, rego.visual);
|
|
4386
|
-
this.rego[
|
|
4399
|
+
this.rego[entityId_5] = entityRegos.filter(function (r) { return r.menuItemId !== menuItemId; });
|
|
4387
4400
|
(_c = this.onUpdate) === null || _c === void 0 ? void 0 : _c.Trigger({
|
|
4388
4401
|
type: EVisualUpdateType.Remove,
|
|
4389
4402
|
entityId: rego.entityId,
|
|
4390
4403
|
rego: rego
|
|
4391
4404
|
});
|
|
4392
4405
|
if (doUpdate && menuItemId) {
|
|
4393
|
-
updateEntity(this.viewer,
|
|
4406
|
+
updateEntity(this.viewer, entityId_5, this);
|
|
4394
4407
|
}
|
|
4395
4408
|
}
|
|
4396
4409
|
}
|
|
@@ -9133,6 +9146,9 @@ var RelationsRenderManager;
|
|
|
9133
9146
|
// If true, this menu item is disposed and should not be used.
|
|
9134
9147
|
// Any rendering will be ignored.
|
|
9135
9148
|
this.disposed = false;
|
|
9149
|
+
// Record of the currently drawn entity IDs.
|
|
9150
|
+
// This is to avoid re-queueing already drawn entities when Init is called multiple times.
|
|
9151
|
+
this.drawnIds = [];
|
|
9136
9152
|
var apiGetter = params.apiGetter, item = params.item, register = params.register, viewer = params.viewer;
|
|
9137
9153
|
this.apiGetter = apiGetter;
|
|
9138
9154
|
this.item = item;
|
|
@@ -9153,6 +9169,7 @@ var RelationsRenderManager;
|
|
|
9153
9169
|
* @returns
|
|
9154
9170
|
*/
|
|
9155
9171
|
Manager.prototype.Init = function (params) {
|
|
9172
|
+
var _this = this;
|
|
9156
9173
|
var _a;
|
|
9157
9174
|
if (this.disposed) {
|
|
9158
9175
|
return;
|
|
@@ -9165,8 +9182,6 @@ var RelationsRenderManager;
|
|
|
9165
9182
|
var regos = this.register.GetRegos({
|
|
9166
9183
|
menuItemId: this.item.id
|
|
9167
9184
|
});
|
|
9168
|
-
var drawnIds = [];
|
|
9169
|
-
var toDrawIds = [];
|
|
9170
9185
|
var entityIds = (_a = this.item.BruceEntity) === null || _a === void 0 ? void 0 : _a.EntityIds;
|
|
9171
9186
|
if (!(entityIds === null || entityIds === void 0 ? void 0 : entityIds.length)) {
|
|
9172
9187
|
entityIds = [];
|
|
@@ -9181,26 +9196,12 @@ var RelationsRenderManager;
|
|
|
9181
9196
|
requestRender: false
|
|
9182
9197
|
});
|
|
9183
9198
|
}
|
|
9184
|
-
else {
|
|
9185
|
-
drawnIds.push(rego.entityId);
|
|
9186
|
-
if (rego.relation) {
|
|
9187
|
-
drawnIds.push(rego.relation["Principal.Entity.ID"]);
|
|
9188
|
-
}
|
|
9189
|
-
}
|
|
9190
9199
|
}
|
|
9191
9200
|
this.viewer.scene.requestRender();
|
|
9192
|
-
var _loop_1 = function (i) {
|
|
9193
|
-
if (!drawnIds.find(function (x) { return x == entityIds[i]; })) {
|
|
9194
|
-
toDrawIds.push(entityIds[i]);
|
|
9195
|
-
}
|
|
9196
|
-
};
|
|
9197
|
-
// We'll call a re-render on entity ids that are not drawn.
|
|
9198
|
-
for (var i = 0; i < entityIds.length; i++) {
|
|
9199
|
-
_loop_1(i);
|
|
9200
|
-
}
|
|
9201
9201
|
this.renderEntityIds({
|
|
9202
|
-
entityIds:
|
|
9202
|
+
entityIds: entityIds.filter(function (x) { return !_this.drawnIds.includes(x); })
|
|
9203
9203
|
});
|
|
9204
|
+
this.drawnIds = [].concat(entityIds);
|
|
9204
9205
|
};
|
|
9205
9206
|
Manager.prototype.Dispose = function () {
|
|
9206
9207
|
if (this.disposed) {
|
|
@@ -9213,18 +9214,25 @@ var RelationsRenderManager;
|
|
|
9213
9214
|
};
|
|
9214
9215
|
/**
|
|
9215
9216
|
* Re-renders specific entity relationships.
|
|
9216
|
-
* @TODO: This should re-render all relationships when entityIds=null.
|
|
9217
9217
|
* @param params
|
|
9218
9218
|
*/
|
|
9219
9219
|
Manager.prototype.ReRender = function (params) {
|
|
9220
9220
|
return __awaiter(this, void 0, void 0, function () {
|
|
9221
9221
|
var entityIds, force;
|
|
9222
|
+
var _this = this;
|
|
9222
9223
|
return __generator(this, function (_a) {
|
|
9223
9224
|
entityIds = params.entityIds, force = params.force;
|
|
9224
|
-
if (entityIds == null)
|
|
9225
|
+
if (entityIds == null) {
|
|
9226
|
+
this.renderEntityIds({
|
|
9227
|
+
entityIds: this.drawnIds
|
|
9228
|
+
});
|
|
9229
|
+
}
|
|
9225
9230
|
else {
|
|
9226
9231
|
this.renderEntityIds({
|
|
9227
|
-
|
|
9232
|
+
// TODO: This is a guess and not a proper check.
|
|
9233
|
+
// We need to record rendered relationships and check against them rather than the ID stored as the ID can be a child or parent.
|
|
9234
|
+
dataEntityIds: entityIds.filter(function (x) { return !_this.drawnIds.includes(x); }),
|
|
9235
|
+
entityIds: entityIds.filter(function (x) { return _this.drawnIds.includes(x); })
|
|
9228
9236
|
});
|
|
9229
9237
|
}
|
|
9230
9238
|
return [2 /*return*/];
|
|
@@ -9301,7 +9309,7 @@ var RelationsRenderManager;
|
|
|
9301
9309
|
}
|
|
9302
9310
|
}).then(function (data) {
|
|
9303
9311
|
var relations = data.relations;
|
|
9304
|
-
var
|
|
9312
|
+
var _loop_1 = function (j) {
|
|
9305
9313
|
var relation = relations[j];
|
|
9306
9314
|
var key = RelationRenderEngine.GetRenderGroupId(relation);
|
|
9307
9315
|
if (!drawn.find(function (x) { return x == key; })) {
|
|
@@ -9314,7 +9322,7 @@ var RelationsRenderManager;
|
|
|
9314
9322
|
}
|
|
9315
9323
|
};
|
|
9316
9324
|
for (var j = 0; j < relations.length; j++) {
|
|
9317
|
-
|
|
9325
|
+
_loop_1(j);
|
|
9318
9326
|
}
|
|
9319
9327
|
onResolve();
|
|
9320
9328
|
}).catch(function (e) {
|
|
@@ -9396,7 +9404,7 @@ var RelationsRenderManager;
|
|
|
9396
9404
|
cEntity = cEntities[key];
|
|
9397
9405
|
if (cEntity && this.shouldRenderRelation(relation)) {
|
|
9398
9406
|
visual = (_a = this.register.GetRego({
|
|
9399
|
-
|
|
9407
|
+
relation: relation,
|
|
9400
9408
|
menuItemId: this.item.id
|
|
9401
9409
|
})) === null || _a === void 0 ? void 0 : _a.visual;
|
|
9402
9410
|
if (!visual || visual != cEntity) {
|
|
@@ -15481,7 +15489,7 @@ var ViewerUtils;
|
|
|
15481
15489
|
ViewerUtils.CreateWidgets = CreateWidgets;
|
|
15482
15490
|
})(ViewerUtils || (ViewerUtils = {}));
|
|
15483
15491
|
|
|
15484
|
-
var VERSION$1 = "2.8.
|
|
15492
|
+
var VERSION$1 = "2.8.1";
|
|
15485
15493
|
|
|
15486
15494
|
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, ViewRenderEngine, TileRenderEngine, TilesetRenderEngine, CESIUM_INSPECTOR_KEY, ViewUtils, DrawingUtils, MeasureUtils, EntityUtils, Draw3dPolygon, Draw3dPolyline };
|
|
15487
15495
|
//# sourceMappingURL=bruce-cesium.es5.js.map
|