bruce-cesium 2.7.9 → 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 -51
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +57 -50
- 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 -24
- 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,27 +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
|
-
drawnIds.push(rego.relation["Related.Entity.ID"]);
|
|
9189
|
-
}
|
|
9190
|
-
}
|
|
9191
9199
|
}
|
|
9192
9200
|
this.viewer.scene.requestRender();
|
|
9193
|
-
var _loop_1 = function (i) {
|
|
9194
|
-
if (!drawnIds.find(function (x) { return x == entityIds[i]; })) {
|
|
9195
|
-
toDrawIds.push(entityIds[i]);
|
|
9196
|
-
}
|
|
9197
|
-
};
|
|
9198
|
-
// We'll call a re-render on entity ids that are not drawn.
|
|
9199
|
-
for (var i = 0; i < entityIds.length; i++) {
|
|
9200
|
-
_loop_1(i);
|
|
9201
|
-
}
|
|
9202
9201
|
this.renderEntityIds({
|
|
9203
|
-
entityIds:
|
|
9202
|
+
entityIds: entityIds.filter(function (x) { return !_this.drawnIds.includes(x); })
|
|
9204
9203
|
});
|
|
9204
|
+
this.drawnIds = [].concat(entityIds);
|
|
9205
9205
|
};
|
|
9206
9206
|
Manager.prototype.Dispose = function () {
|
|
9207
9207
|
if (this.disposed) {
|
|
@@ -9214,18 +9214,25 @@ var RelationsRenderManager;
|
|
|
9214
9214
|
};
|
|
9215
9215
|
/**
|
|
9216
9216
|
* Re-renders specific entity relationships.
|
|
9217
|
-
* @TODO: This should re-render all relationships when entityIds=null.
|
|
9218
9217
|
* @param params
|
|
9219
9218
|
*/
|
|
9220
9219
|
Manager.prototype.ReRender = function (params) {
|
|
9221
9220
|
return __awaiter(this, void 0, void 0, function () {
|
|
9222
9221
|
var entityIds, force;
|
|
9222
|
+
var _this = this;
|
|
9223
9223
|
return __generator(this, function (_a) {
|
|
9224
9224
|
entityIds = params.entityIds, force = params.force;
|
|
9225
|
-
if (entityIds == null)
|
|
9225
|
+
if (entityIds == null) {
|
|
9226
|
+
this.renderEntityIds({
|
|
9227
|
+
entityIds: this.drawnIds
|
|
9228
|
+
});
|
|
9229
|
+
}
|
|
9226
9230
|
else {
|
|
9227
9231
|
this.renderEntityIds({
|
|
9228
|
-
|
|
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); })
|
|
9229
9236
|
});
|
|
9230
9237
|
}
|
|
9231
9238
|
return [2 /*return*/];
|
|
@@ -9302,7 +9309,7 @@ var RelationsRenderManager;
|
|
|
9302
9309
|
}
|
|
9303
9310
|
}).then(function (data) {
|
|
9304
9311
|
var relations = data.relations;
|
|
9305
|
-
var
|
|
9312
|
+
var _loop_1 = function (j) {
|
|
9306
9313
|
var relation = relations[j];
|
|
9307
9314
|
var key = RelationRenderEngine.GetRenderGroupId(relation);
|
|
9308
9315
|
if (!drawn.find(function (x) { return x == key; })) {
|
|
@@ -9315,7 +9322,7 @@ var RelationsRenderManager;
|
|
|
9315
9322
|
}
|
|
9316
9323
|
};
|
|
9317
9324
|
for (var j = 0; j < relations.length; j++) {
|
|
9318
|
-
|
|
9325
|
+
_loop_1(j);
|
|
9319
9326
|
}
|
|
9320
9327
|
onResolve();
|
|
9321
9328
|
}).catch(function (e) {
|
|
@@ -9397,7 +9404,7 @@ var RelationsRenderManager;
|
|
|
9397
9404
|
cEntity = cEntities[key];
|
|
9398
9405
|
if (cEntity && this.shouldRenderRelation(relation)) {
|
|
9399
9406
|
visual = (_a = this.register.GetRego({
|
|
9400
|
-
|
|
9407
|
+
relation: relation,
|
|
9401
9408
|
menuItemId: this.item.id
|
|
9402
9409
|
})) === null || _a === void 0 ? void 0 : _a.visual;
|
|
9403
9410
|
if (!visual || visual != cEntity) {
|
|
@@ -15482,7 +15489,7 @@ var ViewerUtils;
|
|
|
15482
15489
|
ViewerUtils.CreateWidgets = CreateWidgets;
|
|
15483
15490
|
})(ViewerUtils || (ViewerUtils = {}));
|
|
15484
15491
|
|
|
15485
|
-
var VERSION$1 = "2.
|
|
15492
|
+
var VERSION$1 = "2.8.1";
|
|
15486
15493
|
|
|
15487
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 };
|
|
15488
15495
|
//# sourceMappingURL=bruce-cesium.es5.js.map
|