bruce-cesium 2.0.0 → 2.0.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 +80 -33
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +79 -32
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/rendering/menu-item-creator.js +50 -22
- package/dist/lib/rendering/menu-item-creator.js.map +1 -1
- package/dist/lib/rendering/menu-item-manager.js +19 -5
- package/dist/lib/rendering/menu-item-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +12 -4
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +1 -1
- package/dist/lib/rendering/visuals-register.js +9 -1
- package/dist/lib/rendering/visuals-register.js.map +1 -1
- package/dist/types/rendering/visuals-register.d.ts +1 -0
- package/package.json +77 -77
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, DelayQueue, BatchedDataGetter, EntityRelationType, EntityCoords, EntityFilterGetter, EntitySource, MenuItem, EntityRelation, ProjectView, ProjectViewBookmark, ProjectViewTile, ProjectViewLegacyTile, ProgramKey, Camera } from 'bruce-models';
|
|
2
2
|
import * as Cesium from 'cesium';
|
|
3
|
-
import { Cartesian2, Cartographic, CallbackProperty, Cartesian3, Color, Rectangle, Math as Math$1,
|
|
3
|
+
import { Cartesian2, Cartographic, CallbackProperty, Cartesian3, Color, Rectangle, Math as Math$1, Entity, Primitive, Cesium3DTileFeature, SceneMode, HeightReference, HorizontalOrigin, VerticalOrigin, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, Cesium3DTileColorBlendMode, HeadingPitchRange, createOsmBuildings, Cesium3DTileStyle, KmlDataSource, Cesium3DTileset, Matrix4, Matrix3, IonResource, OrthographicFrustum, JulianDate, NearFarScalar, EllipsoidGeodesic, EllipsoidTerrainProvider, sampleTerrainMostDetailed, createWorldTerrain, CesiumTerrainProvider, BingMapsImageryProvider, BingMapsStyle, MapboxImageryProvider, MapboxStyleImageryProvider, ArcGisMapServerImageryProvider, OpenStreetMapImageryProvider, GridImageryProvider, GeographicTilingScheme, ImageryLayer, UrlTemplateImageryProvider, TileMapServiceImageryProvider, IonImageryProvider, CesiumInspector, PolygonPipeline, ColorMaterialProperty, EasingFunction, GeometryInstance } from 'cesium';
|
|
4
4
|
|
|
5
5
|
var TIME_LAG = 300;
|
|
6
6
|
var POSITION_CHECK_TIMER = 950;
|
|
@@ -2609,10 +2609,18 @@ var EntitiesRenderManager;
|
|
|
2609
2609
|
clearInterval(this.renderQueueInterval);
|
|
2610
2610
|
this.renderQueueInterval = null;
|
|
2611
2611
|
this.renderQueue = [];
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2612
|
+
// Remove just the ones that shouldn't be rendered.
|
|
2613
|
+
// Eg: for a tag menu item we can see what tags are selected and only render those.
|
|
2614
|
+
if (shouldRender) {
|
|
2615
|
+
this.visualsManager.RemoveRegos({
|
|
2616
|
+
menuItemId: this.item.id,
|
|
2617
|
+
retainTagIds: tagsToRender
|
|
2618
|
+
});
|
|
2619
|
+
}
|
|
2620
|
+
else {
|
|
2621
|
+
this.visualsManager.RemoveRegos({
|
|
2622
|
+
menuItemId: this.item.id
|
|
2623
|
+
});
|
|
2616
2624
|
return;
|
|
2617
2625
|
}
|
|
2618
2626
|
var api = this.apiGetter.getApi();
|
|
@@ -4165,10 +4173,13 @@ var VisualsRegister;
|
|
|
4165
4173
|
*/
|
|
4166
4174
|
Register.prototype.RemoveRegos = function (params) {
|
|
4167
4175
|
var _a, _b, _c;
|
|
4168
|
-
var entityId = params.entityId, menuItemId = params.menuItemId, doUpdate = params.doUpdate, relation = params.relation;
|
|
4176
|
+
var entityId = params.entityId, menuItemId = params.menuItemId, doUpdate = params.doUpdate, relation = params.relation, retainTagIds = params.retainTagIds;
|
|
4169
4177
|
if (doUpdate == null) {
|
|
4170
4178
|
doUpdate = true;
|
|
4171
4179
|
}
|
|
4180
|
+
if (retainTagIds == null) {
|
|
4181
|
+
retainTagIds = [];
|
|
4182
|
+
}
|
|
4172
4183
|
// TODO: refactor.
|
|
4173
4184
|
// Currently this was made by merging two functions.
|
|
4174
4185
|
if (menuItemId && !entityId) {
|
|
@@ -4179,6 +4190,11 @@ var VisualsRegister;
|
|
|
4179
4190
|
if (!rego) {
|
|
4180
4191
|
continue;
|
|
4181
4192
|
}
|
|
4193
|
+
var regoTagIds = rego.tagIds ? rego.tagIds : [];
|
|
4194
|
+
var shouldRetain = regoTagIds.some(function (tagId) { return retainTagIds.includes(tagId); });
|
|
4195
|
+
if (shouldRetain) {
|
|
4196
|
+
continue;
|
|
4197
|
+
}
|
|
4182
4198
|
removeEntity(this.viewer, rego.visual);
|
|
4183
4199
|
var doesInclude = this.rego[entityId_3].find(function (r) { return r.menuItemId === menuItemId; });
|
|
4184
4200
|
if (doesInclude) {
|
|
@@ -7292,14 +7308,28 @@ var MenuItemManager;
|
|
|
7292
7308
|
* @returns
|
|
7293
7309
|
*/
|
|
7294
7310
|
Manager.prototype.RenderItem = function (params) {
|
|
7295
|
-
var _a, _b, _c;
|
|
7311
|
+
var _a, _b, _c, _d;
|
|
7296
7312
|
if (this.viewer.isDestroyed()) {
|
|
7297
7313
|
return null;
|
|
7298
7314
|
}
|
|
7299
7315
|
var rItem = this.items.find(function (x) { return x.id == params.item.id; });
|
|
7300
|
-
if (
|
|
7316
|
+
if (rItem) {
|
|
7317
|
+
// This means we're updating a tag menu item.
|
|
7318
|
+
// Tag menu items have alternative states based on bookmark settings.
|
|
7319
|
+
// Eg: different tags that were enabled.
|
|
7320
|
+
if (rItem.type == MenuItem.EType.Entities && params.item.Type == MenuItem.EType.Entities) {
|
|
7321
|
+
var eItem = rItem.item;
|
|
7322
|
+
if ((_a = eItem === null || eItem === void 0 ? void 0 : eItem.BruceEntity) === null || _a === void 0 ? void 0 : _a.ExpandLayers) {
|
|
7323
|
+
rItem.renderManager.Init({
|
|
7324
|
+
item: params.item,
|
|
7325
|
+
});
|
|
7326
|
+
rItem.item = params.item;
|
|
7327
|
+
}
|
|
7328
|
+
}
|
|
7329
|
+
}
|
|
7330
|
+
else {
|
|
7301
7331
|
rItem = {
|
|
7302
|
-
id: (
|
|
7332
|
+
id: (_b = params.item.id) !== null && _b !== void 0 ? _b : ObjectUtils.UId(),
|
|
7303
7333
|
childIds: [],
|
|
7304
7334
|
item: params.item,
|
|
7305
7335
|
renderManager: null,
|
|
@@ -7434,8 +7464,8 @@ var MenuItemManager;
|
|
|
7434
7464
|
rItem.childIds.push(childId);
|
|
7435
7465
|
}
|
|
7436
7466
|
}
|
|
7437
|
-
if (
|
|
7438
|
-
(
|
|
7467
|
+
if (rItem.renderManager && !((_c = rItem.renderManager) === null || _c === void 0 ? void 0 : _c.Disposed)) {
|
|
7468
|
+
(_d = this.onUpdate) === null || _d === void 0 ? void 0 : _d.Trigger({ isEnabling: true, itemId: rItem.id });
|
|
7439
7469
|
}
|
|
7440
7470
|
rItem.id;
|
|
7441
7471
|
};
|
|
@@ -7782,28 +7812,29 @@ var MenuItemCreator;
|
|
|
7782
7812
|
}
|
|
7783
7813
|
MenuItemCreator.RenderTileset = RenderTileset;
|
|
7784
7814
|
function RenderBookmarkItems(params) {
|
|
7815
|
+
var _a;
|
|
7785
7816
|
return __awaiter(this, void 0, void 0, function () {
|
|
7786
|
-
var viewId, bookmarkId, api, view,
|
|
7817
|
+
var viewId, bookmarkId, api, view, _b, bookmark, _c, enabledIds, menuItems, version, vSettings, bSettings, vSettings, bSettings, alternations, renderedItemIds, traverseItems_1, i;
|
|
7787
7818
|
var _this = this;
|
|
7788
|
-
return __generator(this, function (
|
|
7789
|
-
switch (
|
|
7819
|
+
return __generator(this, function (_d) {
|
|
7820
|
+
switch (_d.label) {
|
|
7790
7821
|
case 0:
|
|
7791
7822
|
viewId = params.viewId, bookmarkId = params.bookmarkId;
|
|
7792
7823
|
api = params.apiGetter.getApi();
|
|
7793
7824
|
if (!params.view) return [3 /*break*/, 1];
|
|
7794
|
-
|
|
7825
|
+
_b = params.view;
|
|
7795
7826
|
return [3 /*break*/, 3];
|
|
7796
7827
|
case 1: return [4 /*yield*/, ProjectView.Get({
|
|
7797
7828
|
api: api,
|
|
7798
7829
|
viewId: viewId
|
|
7799
7830
|
})];
|
|
7800
7831
|
case 2:
|
|
7801
|
-
|
|
7802
|
-
|
|
7832
|
+
_b = (_d.sent()).view;
|
|
7833
|
+
_d.label = 3;
|
|
7803
7834
|
case 3:
|
|
7804
|
-
view =
|
|
7835
|
+
view = _b;
|
|
7805
7836
|
if (!params.bookmark) return [3 /*break*/, 4];
|
|
7806
|
-
|
|
7837
|
+
_c = params.bookmark;
|
|
7807
7838
|
return [3 /*break*/, 6];
|
|
7808
7839
|
case 4: return [4 /*yield*/, ProjectViewBookmark.Get({
|
|
7809
7840
|
api: api,
|
|
@@ -7811,10 +7842,10 @@ var MenuItemCreator;
|
|
|
7811
7842
|
bookmarkId: bookmarkId
|
|
7812
7843
|
})];
|
|
7813
7844
|
case 5:
|
|
7814
|
-
|
|
7815
|
-
|
|
7845
|
+
_c = (_d.sent()).bookmark;
|
|
7846
|
+
_d.label = 6;
|
|
7816
7847
|
case 6:
|
|
7817
|
-
bookmark =
|
|
7848
|
+
bookmark = _c;
|
|
7818
7849
|
if (view.DataVersion != bookmark.DataVersion) {
|
|
7819
7850
|
throw new Error("View and bookmark settings version mismatch.");
|
|
7820
7851
|
}
|
|
@@ -7835,32 +7866,48 @@ var MenuItemCreator;
|
|
|
7835
7866
|
enabledIds = bSettings.selectedItemIds;
|
|
7836
7867
|
}
|
|
7837
7868
|
}
|
|
7869
|
+
alternations = (_a = bookmark.Settings) === null || _a === void 0 ? void 0 : _a.menuItemAlternations;
|
|
7870
|
+
if (!alternations) {
|
|
7871
|
+
alternations = {};
|
|
7872
|
+
}
|
|
7838
7873
|
renderedItemIds = [];
|
|
7839
7874
|
if (!((menuItems === null || menuItems === void 0 ? void 0 : menuItems.length) && (enabledIds === null || enabledIds === void 0 ? void 0 : enabledIds.length))) return [3 /*break*/, 10];
|
|
7840
7875
|
traverseItems_1 = function (item) { return __awaiter(_this, void 0, void 0, function () {
|
|
7841
|
-
var itemId, i;
|
|
7842
|
-
|
|
7843
|
-
|
|
7876
|
+
var eItem, eItemAlt, itemId, i;
|
|
7877
|
+
var _a;
|
|
7878
|
+
return __generator(this, function (_b) {
|
|
7879
|
+
switch (_b.label) {
|
|
7844
7880
|
case 0:
|
|
7881
|
+
if (alternations[item.id]) {
|
|
7882
|
+
// The only alternation we support right now is tag menu item ones.
|
|
7883
|
+
// The project view menu item contains the instruction to enable tags, the bookmark specifies which ones.
|
|
7884
|
+
if (item.Type == MenuItem.EType.Entities) {
|
|
7885
|
+
eItem = item;
|
|
7886
|
+
if (eItem.BruceEntity.ExpandLayers) {
|
|
7887
|
+
eItemAlt = alternations[item.id];
|
|
7888
|
+
eItem.BruceEntity = __assign(__assign({}, eItem.BruceEntity), { SelectedExpandLayers: (_a = eItemAlt.BruceEntity) === null || _a === void 0 ? void 0 : _a.SelectedExpandLayers });
|
|
7889
|
+
}
|
|
7890
|
+
}
|
|
7891
|
+
}
|
|
7845
7892
|
if (!enabledIds.includes(item.id)) return [3 /*break*/, 2];
|
|
7846
7893
|
return [4 /*yield*/, params.manager.RenderItem({
|
|
7847
7894
|
item: item,
|
|
7848
7895
|
apiGetter: params.apiGetter
|
|
7849
7896
|
})];
|
|
7850
7897
|
case 1:
|
|
7851
|
-
itemId =
|
|
7898
|
+
itemId = _b.sent();
|
|
7852
7899
|
renderedItemIds.push(itemId);
|
|
7853
|
-
|
|
7900
|
+
_b.label = 2;
|
|
7854
7901
|
case 2:
|
|
7855
7902
|
if (!item.Children) return [3 /*break*/, 6];
|
|
7856
7903
|
i = 0;
|
|
7857
|
-
|
|
7904
|
+
_b.label = 3;
|
|
7858
7905
|
case 3:
|
|
7859
7906
|
if (!(i < item.Children.length)) return [3 /*break*/, 6];
|
|
7860
7907
|
return [4 /*yield*/, traverseItems_1(item.Children[i])];
|
|
7861
7908
|
case 4:
|
|
7862
|
-
|
|
7863
|
-
|
|
7909
|
+
_b.sent();
|
|
7910
|
+
_b.label = 5;
|
|
7864
7911
|
case 5:
|
|
7865
7912
|
i++;
|
|
7866
7913
|
return [3 /*break*/, 3];
|
|
@@ -7869,13 +7916,13 @@ var MenuItemCreator;
|
|
|
7869
7916
|
});
|
|
7870
7917
|
}); };
|
|
7871
7918
|
i = 0;
|
|
7872
|
-
|
|
7919
|
+
_d.label = 7;
|
|
7873
7920
|
case 7:
|
|
7874
7921
|
if (!(i < menuItems.length)) return [3 /*break*/, 10];
|
|
7875
7922
|
return [4 /*yield*/, traverseItems_1(menuItems[i])];
|
|
7876
7923
|
case 8:
|
|
7877
|
-
|
|
7878
|
-
|
|
7924
|
+
_d.sent();
|
|
7925
|
+
_d.label = 9;
|
|
7879
7926
|
case 9:
|
|
7880
7927
|
i++;
|
|
7881
7928
|
return [3 /*break*/, 7];
|