bruce-cesium 0.0.5 → 0.0.7
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 +189 -54
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +189 -54
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/rendering/menu-item-manager.js +6 -0
- package/dist/lib/rendering/menu-item-manager.js.map +1 -1
- package/dist/lib/rendering/render-helper.js +79 -54
- package/dist/lib/rendering/render-helper.js.map +1 -1
- package/dist/lib/rendering/visuals-register.js +109 -0
- package/dist/lib/rendering/visuals-register.js.map +1 -1
- package/dist/types/rendering/render-helper.d.ts +3 -3
- package/dist/types/rendering/visuals-register.d.ts +5 -0
- package/package.json +1 -1
package/dist/bruce-cesium.es5.js
CHANGED
|
@@ -1673,6 +1673,62 @@ function unmarkEntity(visual) {
|
|
|
1673
1673
|
}
|
|
1674
1674
|
}
|
|
1675
1675
|
}
|
|
1676
|
+
function select(visual) {
|
|
1677
|
+
var color = Color.fromAlpha(Color.YELLOW, 0.5);
|
|
1678
|
+
if (visual instanceof Entity) {
|
|
1679
|
+
var entities = EntityUtils.GatherEntity(visual);
|
|
1680
|
+
for (var i = 0; i < entities.length; i++) {
|
|
1681
|
+
var cEntity = entities[i];
|
|
1682
|
+
if (cEntity.point) {
|
|
1683
|
+
cEntity.point._orgColor = cEntity.point.color;
|
|
1684
|
+
cEntity.point.color = color.clone();
|
|
1685
|
+
}
|
|
1686
|
+
else if (cEntity.polyline) {
|
|
1687
|
+
cEntity.polyline._orgColor = cEntity.polyline.material;
|
|
1688
|
+
cEntity.polyline.material = color.clone();
|
|
1689
|
+
}
|
|
1690
|
+
else if (cEntity.polygon) {
|
|
1691
|
+
cEntity.polygon._orgColor = cEntity.polygon.material;
|
|
1692
|
+
cEntity.polygon.material = color.clone();
|
|
1693
|
+
}
|
|
1694
|
+
else if (cEntity.model) {
|
|
1695
|
+
cEntity.model._orgColor = cEntity.model.color;
|
|
1696
|
+
cEntity.model.color = color.clone();
|
|
1697
|
+
}
|
|
1698
|
+
}
|
|
1699
|
+
}
|
|
1700
|
+
else if (visual instanceof Primitive) ;
|
|
1701
|
+
else if (visual instanceof Cesium3DTileFeature) {
|
|
1702
|
+
var cPrim = visual;
|
|
1703
|
+
cPrim._orgColor = cPrim.color;
|
|
1704
|
+
cPrim.color = color.clone();
|
|
1705
|
+
}
|
|
1706
|
+
}
|
|
1707
|
+
function deselect(visual) {
|
|
1708
|
+
if (visual instanceof Entity) {
|
|
1709
|
+
var entities = EntityUtils.GatherEntity(visual);
|
|
1710
|
+
for (var i = 0; i < entities.length; i++) {
|
|
1711
|
+
var cEntity = entities[i];
|
|
1712
|
+
if (cEntity.point) {
|
|
1713
|
+
cEntity.point.color = cEntity.point._orgColor;
|
|
1714
|
+
}
|
|
1715
|
+
else if (cEntity.polyline) {
|
|
1716
|
+
cEntity.polyline.material = cEntity.polyline._orgColor;
|
|
1717
|
+
}
|
|
1718
|
+
else if (cEntity.polygon) {
|
|
1719
|
+
cEntity.polygon.material = cEntity.polygon._orgColor;
|
|
1720
|
+
}
|
|
1721
|
+
else if (cEntity.model) {
|
|
1722
|
+
cEntity.model.color = cEntity.model._orgColor;
|
|
1723
|
+
}
|
|
1724
|
+
}
|
|
1725
|
+
}
|
|
1726
|
+
else if (visual instanceof Primitive) ;
|
|
1727
|
+
else if (visual instanceof Cesium3DTileFeature) {
|
|
1728
|
+
var cPrim = visual;
|
|
1729
|
+
cPrim.color = cPrim._orgColor;
|
|
1730
|
+
}
|
|
1731
|
+
}
|
|
1676
1732
|
/**
|
|
1677
1733
|
* Manages a registry of all Bruce visuals being rendered by menu items.
|
|
1678
1734
|
* If multiple stuff is registered with the same entity id, only the "best" one is left visible.
|
|
@@ -1684,6 +1740,7 @@ var VisualsRegister;
|
|
|
1684
1740
|
this.id = ObjectUtils.UId();
|
|
1685
1741
|
this.rego = {};
|
|
1686
1742
|
this.onUpdate = null;
|
|
1743
|
+
this.selectedIds = [];
|
|
1687
1744
|
this.viewer = viewer;
|
|
1688
1745
|
}
|
|
1689
1746
|
Object.defineProperty(Register.prototype, "Id", {
|
|
@@ -1695,11 +1752,55 @@ var VisualsRegister;
|
|
|
1695
1752
|
});
|
|
1696
1753
|
Object.defineProperty(Register.prototype, "OnUpdate", {
|
|
1697
1754
|
get: function () {
|
|
1755
|
+
if (!this.onUpdate) {
|
|
1756
|
+
this.onUpdate = new BruceEvent();
|
|
1757
|
+
}
|
|
1698
1758
|
return this.onUpdate;
|
|
1699
1759
|
},
|
|
1700
1760
|
enumerable: false,
|
|
1701
1761
|
configurable: true
|
|
1702
1762
|
});
|
|
1763
|
+
Register.prototype.Select = function (id) {
|
|
1764
|
+
if (this.selectedIds.indexOf(id) === -1) {
|
|
1765
|
+
this.selectedIds.push(id);
|
|
1766
|
+
var regos = this.rego[id];
|
|
1767
|
+
if (regos) {
|
|
1768
|
+
for (var i = 0; i < regos.length; i++) {
|
|
1769
|
+
var rego = regos[i];
|
|
1770
|
+
select(rego.visual);
|
|
1771
|
+
}
|
|
1772
|
+
}
|
|
1773
|
+
}
|
|
1774
|
+
};
|
|
1775
|
+
Register.prototype.Deselect = function (id) {
|
|
1776
|
+
var index = this.selectedIds.indexOf(id);
|
|
1777
|
+
if (index !== -1) {
|
|
1778
|
+
this.selectedIds.splice(index, 1);
|
|
1779
|
+
var regos = this.rego[id];
|
|
1780
|
+
if (regos) {
|
|
1781
|
+
for (var i = 0; i < regos.length; i++) {
|
|
1782
|
+
var rego = regos[i];
|
|
1783
|
+
deselect(rego.visual);
|
|
1784
|
+
}
|
|
1785
|
+
}
|
|
1786
|
+
}
|
|
1787
|
+
};
|
|
1788
|
+
Register.prototype.IsSelected = function (id) {
|
|
1789
|
+
return this.selectedIds.indexOf(id) !== -1;
|
|
1790
|
+
};
|
|
1791
|
+
Register.prototype.ClearSelected = function () {
|
|
1792
|
+
for (var i = 0; i < this.selectedIds.length; i++) {
|
|
1793
|
+
var id = this.selectedIds[i];
|
|
1794
|
+
var regos = this.rego[id];
|
|
1795
|
+
if (regos) {
|
|
1796
|
+
for (var i_1 = 0; i_1 < regos.length; i_1++) {
|
|
1797
|
+
var rego = regos[i_1];
|
|
1798
|
+
deselect(rego.visual);
|
|
1799
|
+
}
|
|
1800
|
+
}
|
|
1801
|
+
}
|
|
1802
|
+
this.selectedIds = [];
|
|
1803
|
+
};
|
|
1703
1804
|
Register.prototype.Add = function (rego) {
|
|
1704
1805
|
var _a, _b;
|
|
1705
1806
|
this.Remove(rego.entityId, rego.menuItemId, false);
|
|
@@ -1709,6 +1810,9 @@ var VisualsRegister;
|
|
|
1709
1810
|
this.rego[entityId] = entityRegos;
|
|
1710
1811
|
markEntity(this, rego, rego.visual);
|
|
1711
1812
|
updateEntity(this.viewer, this.rego[entityId]);
|
|
1813
|
+
if (this.selectedIds.includes(entityId)) {
|
|
1814
|
+
select(rego.visual);
|
|
1815
|
+
}
|
|
1712
1816
|
(_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ rego: rego, isAdding: true });
|
|
1713
1817
|
};
|
|
1714
1818
|
Register.prototype.GetVisuals = function (entityId, menuItemId) {
|
|
@@ -2633,6 +2737,9 @@ var MenuItemManager;
|
|
|
2633
2737
|
});
|
|
2634
2738
|
Object.defineProperty(Manager.prototype, "OnUpdate", {
|
|
2635
2739
|
get: function () {
|
|
2740
|
+
if (!this.onUpdate) {
|
|
2741
|
+
this.onUpdate = new BruceEvent();
|
|
2742
|
+
}
|
|
2636
2743
|
return this.onUpdate;
|
|
2637
2744
|
},
|
|
2638
2745
|
enumerable: false,
|
|
@@ -2652,6 +2759,9 @@ var MenuItemManager;
|
|
|
2652
2759
|
return __generator(this, function (_c) {
|
|
2653
2760
|
switch (_c.label) {
|
|
2654
2761
|
case 0:
|
|
2762
|
+
if (this.items.find(function (x) { return x.id == item.id; })) {
|
|
2763
|
+
return [2 /*return*/, item.id];
|
|
2764
|
+
}
|
|
2655
2765
|
rItem = {
|
|
2656
2766
|
id: (_a = item.id) !== null && _a !== void 0 ? _a : ObjectUtils.UId(),
|
|
2657
2767
|
childIds: [],
|
|
@@ -2822,25 +2932,27 @@ var RenderHelper;
|
|
|
2822
2932
|
}
|
|
2823
2933
|
RenderHelper.RenderEntities = RenderEntities;
|
|
2824
2934
|
function RenderEntityTypes(manager, api, typeIds) {
|
|
2825
|
-
var _a;
|
|
2826
2935
|
return __awaiter(this, void 0, void 0, function () {
|
|
2827
|
-
var
|
|
2828
|
-
return __generator(this, function (
|
|
2829
|
-
switch (
|
|
2936
|
+
var renderedItemIds, i, typeId, menuItem, itemId;
|
|
2937
|
+
return __generator(this, function (_a) {
|
|
2938
|
+
switch (_a.label) {
|
|
2830
2939
|
case 0:
|
|
2831
|
-
|
|
2832
|
-
|
|
2833
|
-
|
|
2834
|
-
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
|
|
2841
|
-
|
|
2842
|
-
|
|
2843
|
-
case
|
|
2940
|
+
renderedItemIds = [];
|
|
2941
|
+
i = 0;
|
|
2942
|
+
_a.label = 1;
|
|
2943
|
+
case 1:
|
|
2944
|
+
if (!(i < typeIds.length)) return [3 /*break*/, 4];
|
|
2945
|
+
typeId = typeIds[i];
|
|
2946
|
+
menuItem = MenuItem.CreateFromTypeId(typeId, 0);
|
|
2947
|
+
return [4 /*yield*/, manager.RenderItem(api, menuItem)];
|
|
2948
|
+
case 2:
|
|
2949
|
+
itemId = _a.sent();
|
|
2950
|
+
renderedItemIds.push(itemId);
|
|
2951
|
+
_a.label = 3;
|
|
2952
|
+
case 3:
|
|
2953
|
+
i++;
|
|
2954
|
+
return [3 /*break*/, 1];
|
|
2955
|
+
case 4: return [2 /*return*/, renderedItemIds];
|
|
2844
2956
|
}
|
|
2845
2957
|
});
|
|
2846
2958
|
});
|
|
@@ -2858,17 +2970,36 @@ var RenderHelper;
|
|
|
2858
2970
|
var _a, _b, _c, _d;
|
|
2859
2971
|
return __awaiter(this, void 0, void 0, function () {
|
|
2860
2972
|
function traverseItems(item) {
|
|
2861
|
-
|
|
2862
|
-
|
|
2863
|
-
(
|
|
2864
|
-
|
|
2865
|
-
|
|
2866
|
-
|
|
2867
|
-
|
|
2868
|
-
|
|
2869
|
-
|
|
2973
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
2974
|
+
var itemId, i;
|
|
2975
|
+
return __generator(this, function (_a) {
|
|
2976
|
+
switch (_a.label) {
|
|
2977
|
+
case 0:
|
|
2978
|
+
if (!enabledItemIds.includes(item.id)) return [3 /*break*/, 2];
|
|
2979
|
+
return [4 /*yield*/, manager.RenderItem(api, item)];
|
|
2980
|
+
case 1:
|
|
2981
|
+
itemId = _a.sent();
|
|
2982
|
+
renderedItemIds.push(itemId);
|
|
2983
|
+
_a.label = 2;
|
|
2984
|
+
case 2:
|
|
2985
|
+
if (!item.Children) return [3 /*break*/, 6];
|
|
2986
|
+
i = 0;
|
|
2987
|
+
_a.label = 3;
|
|
2988
|
+
case 3:
|
|
2989
|
+
if (!(i < item.Children.length)) return [3 /*break*/, 6];
|
|
2990
|
+
return [4 /*yield*/, traverseItems(item.Children[i])];
|
|
2991
|
+
case 4:
|
|
2992
|
+
_a.sent();
|
|
2993
|
+
_a.label = 5;
|
|
2994
|
+
case 5:
|
|
2995
|
+
i++;
|
|
2996
|
+
return [3 /*break*/, 3];
|
|
2997
|
+
case 6: return [2 /*return*/];
|
|
2998
|
+
}
|
|
2999
|
+
});
|
|
3000
|
+
});
|
|
2870
3001
|
}
|
|
2871
|
-
var view, bookmark, items, enabledItemIds,
|
|
3002
|
+
var view, bookmark, items, enabledItemIds, renderedItemIds, i;
|
|
2872
3003
|
return __generator(this, function (_e) {
|
|
2873
3004
|
switch (_e.label) {
|
|
2874
3005
|
case 0: return [4 /*yield*/, ProjectView.Get(api, viewId)];
|
|
@@ -2879,41 +3010,45 @@ var RenderHelper;
|
|
|
2879
3010
|
bookmark = _e.sent();
|
|
2880
3011
|
items = (_b = (_a = view.Settings) === null || _a === void 0 ? void 0 : _a.LayersMenu) !== null && _b !== void 0 ? _b : [];
|
|
2881
3012
|
enabledItemIds = (_d = (_c = bookmark.Settings) === null || _c === void 0 ? void 0 : _c.selectedItemIds) !== null && _d !== void 0 ? _d : [];
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
|
|
2889
|
-
|
|
2890
|
-
|
|
2891
|
-
|
|
2892
|
-
|
|
3013
|
+
renderedItemIds = [];
|
|
3014
|
+
i = 0;
|
|
3015
|
+
_e.label = 3;
|
|
3016
|
+
case 3:
|
|
3017
|
+
if (!(i < items.length)) return [3 /*break*/, 6];
|
|
3018
|
+
return [4 /*yield*/, traverseItems(items[i])];
|
|
3019
|
+
case 4:
|
|
3020
|
+
_e.sent();
|
|
3021
|
+
_e.label = 5;
|
|
3022
|
+
case 5:
|
|
3023
|
+
i++;
|
|
3024
|
+
return [3 /*break*/, 3];
|
|
3025
|
+
case 6: return [2 /*return*/, renderedItemIds];
|
|
2893
3026
|
}
|
|
2894
3027
|
});
|
|
2895
3028
|
});
|
|
2896
3029
|
}
|
|
2897
3030
|
RenderHelper.RenderBookmarkItems = RenderBookmarkItems;
|
|
2898
3031
|
function RenderMenuItems(manager, api, menuItems) {
|
|
2899
|
-
var _a;
|
|
2900
3032
|
return __awaiter(this, void 0, void 0, function () {
|
|
2901
|
-
var
|
|
2902
|
-
return __generator(this, function (
|
|
2903
|
-
switch (
|
|
3033
|
+
var renderedItemIds, i, menuItem, itemId;
|
|
3034
|
+
return __generator(this, function (_a) {
|
|
3035
|
+
switch (_a.label) {
|
|
2904
3036
|
case 0:
|
|
2905
|
-
|
|
2906
|
-
|
|
2907
|
-
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
|
|
2915
|
-
|
|
2916
|
-
case
|
|
3037
|
+
renderedItemIds = [];
|
|
3038
|
+
i = 0;
|
|
3039
|
+
_a.label = 1;
|
|
3040
|
+
case 1:
|
|
3041
|
+
if (!(i < menuItems.length)) return [3 /*break*/, 4];
|
|
3042
|
+
menuItem = menuItems[i];
|
|
3043
|
+
return [4 /*yield*/, manager.RenderItem(api, menuItem)];
|
|
3044
|
+
case 2:
|
|
3045
|
+
itemId = _a.sent();
|
|
3046
|
+
renderedItemIds.push(itemId);
|
|
3047
|
+
_a.label = 3;
|
|
3048
|
+
case 3:
|
|
3049
|
+
i++;
|
|
3050
|
+
return [3 /*break*/, 1];
|
|
3051
|
+
case 4: return [2 /*return*/, renderedItemIds];
|
|
2917
3052
|
}
|
|
2918
3053
|
});
|
|
2919
3054
|
});
|