bruce-cesium 0.0.4 → 0.0.6
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 +205 -43
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +203 -41
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/rendering/entity-render-engine.js +3 -3
- package/dist/lib/rendering/entity-render-engine.js.map +1 -1
- package/dist/lib/rendering/menu-item-manager.js +3 -0
- package/dist/lib/rendering/menu-item-manager.js.map +1 -1
- package/dist/lib/rendering/render-helper.js +96 -38
- package/dist/lib/rendering/render-helper.js.map +1 -1
- package/dist/lib/rendering/visuals-register.js +106 -0
- package/dist/lib/rendering/visuals-register.js.map +1 -1
- package/dist/types/rendering/render-helper.d.ts +4 -5
- package/dist/types/rendering/visuals-register.d.ts +5 -0
- package/package.json +1 -1
package/dist/bruce-cesium.es5.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Color, HeightReference,
|
|
2
|
-
import { BruceEvent, Cartes, Carto, Geometry, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, DelayQueue, Entity as Entity$1, EntityFilterGetter, BatchedDataGetter, ObjectUtils, Tileset, MenuItem } from 'bruce-models';
|
|
1
|
+
import { Cartesian2, Cartographic, Math as Math$1, Viewer, ArcGisMapServerImageryProvider, ScreenSpaceEventType, Color, HeightReference, Cartesian3, Entity, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, Primitive, Cesium3DTileFeature, HeadingPitchRange, Matrix4, Cesium3DTileset, EllipsoidGeodesic } from 'cesium';
|
|
2
|
+
import { BruceEvent, Cartes, Carto, Geometry, ZoomControl, Style, EntityTag, Calculator, EntityLod, EntityType, ClientFile, DelayQueue, Entity as Entity$1, EntityFilterGetter, BatchedDataGetter, ObjectUtils, Tileset, MenuItem, ProjectView, ProjectViewBookmark } from 'bruce-models';
|
|
3
3
|
|
|
4
4
|
var TIME_LAG = 300;
|
|
5
5
|
var POSITION_CHECK_TIMER = 950;
|
|
@@ -757,7 +757,7 @@ var EntityRenderEngine;
|
|
|
757
757
|
_a.label = 2;
|
|
758
758
|
case 2:
|
|
759
759
|
if (!(polygons.length > 0)) return [3 /*break*/, 4];
|
|
760
|
-
pParams = __assign(__assign({}, groupRenderParams), { entities:
|
|
760
|
+
pParams = __assign(__assign({}, groupRenderParams), { entities: polygons });
|
|
761
761
|
return [4 /*yield*/, Polygon.RenderGroup(pParams)];
|
|
762
762
|
case 3:
|
|
763
763
|
pEntities = _a.sent();
|
|
@@ -774,7 +774,7 @@ var EntityRenderEngine;
|
|
|
774
774
|
_a.label = 4;
|
|
775
775
|
case 4:
|
|
776
776
|
if (!(polylines.length > 0)) return [3 /*break*/, 6];
|
|
777
|
-
pParams = __assign(__assign({}, groupRenderParams), { entities:
|
|
777
|
+
pParams = __assign(__assign({}, groupRenderParams), { entities: polylines });
|
|
778
778
|
return [4 /*yield*/, Polyline.RenderGroup(pParams)];
|
|
779
779
|
case 5:
|
|
780
780
|
pEntities = _a.sent();
|
|
@@ -791,7 +791,7 @@ var EntityRenderEngine;
|
|
|
791
791
|
_a.label = 6;
|
|
792
792
|
case 6:
|
|
793
793
|
if (!(points.length > 0)) return [3 /*break*/, 8];
|
|
794
|
-
pParams = __assign(__assign({}, groupRenderParams), { entities:
|
|
794
|
+
pParams = __assign(__assign({}, groupRenderParams), { entities: points });
|
|
795
795
|
return [4 /*yield*/, Point.RenderGroup(pParams)];
|
|
796
796
|
case 7:
|
|
797
797
|
pEntities = _a.sent();
|
|
@@ -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", {
|
|
@@ -1700,6 +1757,47 @@ var VisualsRegister;
|
|
|
1700
1757
|
enumerable: false,
|
|
1701
1758
|
configurable: true
|
|
1702
1759
|
});
|
|
1760
|
+
Register.prototype.Select = function (id) {
|
|
1761
|
+
if (this.selectedIds.indexOf(id) === -1) {
|
|
1762
|
+
this.selectedIds.push(id);
|
|
1763
|
+
var regos = this.rego[id];
|
|
1764
|
+
if (regos) {
|
|
1765
|
+
for (var i = 0; i < regos.length; i++) {
|
|
1766
|
+
var rego = regos[i];
|
|
1767
|
+
select(rego.visual);
|
|
1768
|
+
}
|
|
1769
|
+
}
|
|
1770
|
+
}
|
|
1771
|
+
};
|
|
1772
|
+
Register.prototype.Deselect = function (id) {
|
|
1773
|
+
var index = this.selectedIds.indexOf(id);
|
|
1774
|
+
if (index !== -1) {
|
|
1775
|
+
this.selectedIds.splice(index, 1);
|
|
1776
|
+
var regos = this.rego[id];
|
|
1777
|
+
if (regos) {
|
|
1778
|
+
for (var i = 0; i < regos.length; i++) {
|
|
1779
|
+
var rego = regos[i];
|
|
1780
|
+
deselect(rego.visual);
|
|
1781
|
+
}
|
|
1782
|
+
}
|
|
1783
|
+
}
|
|
1784
|
+
};
|
|
1785
|
+
Register.prototype.IsSelected = function (id) {
|
|
1786
|
+
return this.selectedIds.indexOf(id) !== -1;
|
|
1787
|
+
};
|
|
1788
|
+
Register.prototype.ClearSelected = function () {
|
|
1789
|
+
for (var i = 0; i < this.selectedIds.length; i++) {
|
|
1790
|
+
var id = this.selectedIds[i];
|
|
1791
|
+
var regos = this.rego[id];
|
|
1792
|
+
if (regos) {
|
|
1793
|
+
for (var i_1 = 0; i_1 < regos.length; i_1++) {
|
|
1794
|
+
var rego = regos[i_1];
|
|
1795
|
+
deselect(rego.visual);
|
|
1796
|
+
}
|
|
1797
|
+
}
|
|
1798
|
+
}
|
|
1799
|
+
this.selectedIds = [];
|
|
1800
|
+
};
|
|
1703
1801
|
Register.prototype.Add = function (rego) {
|
|
1704
1802
|
var _a, _b;
|
|
1705
1803
|
this.Remove(rego.entityId, rego.menuItemId, false);
|
|
@@ -1709,6 +1807,9 @@ var VisualsRegister;
|
|
|
1709
1807
|
this.rego[entityId] = entityRegos;
|
|
1710
1808
|
markEntity(this, rego, rego.visual);
|
|
1711
1809
|
updateEntity(this.viewer, this.rego[entityId]);
|
|
1810
|
+
if (this.selectedIds.includes(entityId)) {
|
|
1811
|
+
select(rego.visual);
|
|
1812
|
+
}
|
|
1712
1813
|
(_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ rego: rego, isAdding: true });
|
|
1713
1814
|
};
|
|
1714
1815
|
Register.prototype.GetVisuals = function (entityId, menuItemId) {
|
|
@@ -2652,6 +2753,9 @@ var MenuItemManager;
|
|
|
2652
2753
|
return __generator(this, function (_c) {
|
|
2653
2754
|
switch (_c.label) {
|
|
2654
2755
|
case 0:
|
|
2756
|
+
if (this.items.find(function (x) { return x.id == item.id; })) {
|
|
2757
|
+
return [2 /*return*/, item.id];
|
|
2758
|
+
}
|
|
2655
2759
|
rItem = {
|
|
2656
2760
|
id: (_a = item.id) !== null && _a !== void 0 ? _a : ObjectUtils.UId(),
|
|
2657
2761
|
childIds: [],
|
|
@@ -2822,31 +2926,33 @@ var RenderHelper;
|
|
|
2822
2926
|
}
|
|
2823
2927
|
RenderHelper.RenderEntities = RenderEntities;
|
|
2824
2928
|
function RenderEntityTypes(manager, api, typeIds) {
|
|
2825
|
-
var _a;
|
|
2826
2929
|
return __awaiter(this, void 0, void 0, function () {
|
|
2827
|
-
var
|
|
2828
|
-
return __generator(this, function (
|
|
2829
|
-
switch (
|
|
2930
|
+
var renderedItemIds, i, typeId, menuItem, itemId;
|
|
2931
|
+
return __generator(this, function (_a) {
|
|
2932
|
+
switch (_a.label) {
|
|
2830
2933
|
case 0:
|
|
2831
|
-
|
|
2832
|
-
|
|
2833
|
-
|
|
2834
|
-
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
|
|
2841
|
-
|
|
2842
|
-
|
|
2843
|
-
case
|
|
2934
|
+
renderedItemIds = [];
|
|
2935
|
+
i = 0;
|
|
2936
|
+
_a.label = 1;
|
|
2937
|
+
case 1:
|
|
2938
|
+
if (!(i < typeIds.length)) return [3 /*break*/, 4];
|
|
2939
|
+
typeId = typeIds[i];
|
|
2940
|
+
menuItem = MenuItem.CreateFromTypeId(typeId, 0);
|
|
2941
|
+
return [4 /*yield*/, manager.RenderItem(api, menuItem)];
|
|
2942
|
+
case 2:
|
|
2943
|
+
itemId = _a.sent();
|
|
2944
|
+
renderedItemIds.push(itemId);
|
|
2945
|
+
_a.label = 3;
|
|
2946
|
+
case 3:
|
|
2947
|
+
i++;
|
|
2948
|
+
return [3 /*break*/, 1];
|
|
2949
|
+
case 4: return [2 /*return*/, renderedItemIds];
|
|
2844
2950
|
}
|
|
2845
2951
|
});
|
|
2846
2952
|
});
|
|
2847
2953
|
}
|
|
2848
2954
|
RenderHelper.RenderEntityTypes = RenderEntityTypes;
|
|
2849
|
-
function RenderEntityFilter(
|
|
2955
|
+
function RenderEntityFilter(manager, api, filter) {
|
|
2850
2956
|
return __awaiter(this, void 0, void 0, function () {
|
|
2851
2957
|
return __generator(this, function (_a) {
|
|
2852
2958
|
throw (new Error("Not implemented."));
|
|
@@ -2854,33 +2960,89 @@ var RenderHelper;
|
|
|
2854
2960
|
});
|
|
2855
2961
|
}
|
|
2856
2962
|
RenderHelper.RenderEntityFilter = RenderEntityFilter;
|
|
2857
|
-
function
|
|
2963
|
+
function RenderBookmarkItems(manager, api, viewId, bookmarkId) {
|
|
2964
|
+
var _a, _b, _c, _d;
|
|
2858
2965
|
return __awaiter(this, void 0, void 0, function () {
|
|
2859
|
-
|
|
2860
|
-
|
|
2966
|
+
function traverseItems(item) {
|
|
2967
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
2968
|
+
var itemId, i;
|
|
2969
|
+
return __generator(this, function (_a) {
|
|
2970
|
+
switch (_a.label) {
|
|
2971
|
+
case 0:
|
|
2972
|
+
if (!enabledItemIds.includes(item.id)) return [3 /*break*/, 2];
|
|
2973
|
+
return [4 /*yield*/, manager.RenderItem(api, item)];
|
|
2974
|
+
case 1:
|
|
2975
|
+
itemId = _a.sent();
|
|
2976
|
+
renderedItemIds.push(itemId);
|
|
2977
|
+
_a.label = 2;
|
|
2978
|
+
case 2:
|
|
2979
|
+
if (!item.Children) return [3 /*break*/, 6];
|
|
2980
|
+
i = 0;
|
|
2981
|
+
_a.label = 3;
|
|
2982
|
+
case 3:
|
|
2983
|
+
if (!(i < item.Children.length)) return [3 /*break*/, 6];
|
|
2984
|
+
return [4 /*yield*/, traverseItems(item.Children[i])];
|
|
2985
|
+
case 4:
|
|
2986
|
+
_a.sent();
|
|
2987
|
+
_a.label = 5;
|
|
2988
|
+
case 5:
|
|
2989
|
+
i++;
|
|
2990
|
+
return [3 /*break*/, 3];
|
|
2991
|
+
case 6: return [2 /*return*/];
|
|
2992
|
+
}
|
|
2993
|
+
});
|
|
2994
|
+
});
|
|
2995
|
+
}
|
|
2996
|
+
var view, bookmark, items, enabledItemIds, renderedItemIds, i;
|
|
2997
|
+
return __generator(this, function (_e) {
|
|
2998
|
+
switch (_e.label) {
|
|
2999
|
+
case 0: return [4 /*yield*/, ProjectView.Get(api, viewId)];
|
|
3000
|
+
case 1:
|
|
3001
|
+
view = _e.sent();
|
|
3002
|
+
return [4 /*yield*/, ProjectViewBookmark.Get(api, viewId, bookmarkId)];
|
|
3003
|
+
case 2:
|
|
3004
|
+
bookmark = _e.sent();
|
|
3005
|
+
items = (_b = (_a = view.Settings) === null || _a === void 0 ? void 0 : _a.LayersMenu) !== null && _b !== void 0 ? _b : [];
|
|
3006
|
+
enabledItemIds = (_d = (_c = bookmark.Settings) === null || _c === void 0 ? void 0 : _c.selectedItemIds) !== null && _d !== void 0 ? _d : [];
|
|
3007
|
+
renderedItemIds = [];
|
|
3008
|
+
i = 0;
|
|
3009
|
+
_e.label = 3;
|
|
3010
|
+
case 3:
|
|
3011
|
+
if (!(i < items.length)) return [3 /*break*/, 6];
|
|
3012
|
+
return [4 /*yield*/, traverseItems(items[i])];
|
|
3013
|
+
case 4:
|
|
3014
|
+
_e.sent();
|
|
3015
|
+
_e.label = 5;
|
|
3016
|
+
case 5:
|
|
3017
|
+
i++;
|
|
3018
|
+
return [3 /*break*/, 3];
|
|
3019
|
+
case 6: return [2 /*return*/, renderedItemIds];
|
|
3020
|
+
}
|
|
2861
3021
|
});
|
|
2862
3022
|
});
|
|
2863
3023
|
}
|
|
2864
|
-
RenderHelper.
|
|
3024
|
+
RenderHelper.RenderBookmarkItems = RenderBookmarkItems;
|
|
2865
3025
|
function RenderMenuItems(manager, api, menuItems) {
|
|
2866
|
-
var _a;
|
|
2867
3026
|
return __awaiter(this, void 0, void 0, function () {
|
|
2868
|
-
var
|
|
2869
|
-
return __generator(this, function (
|
|
2870
|
-
switch (
|
|
3027
|
+
var renderedItemIds, i, menuItem, itemId;
|
|
3028
|
+
return __generator(this, function (_a) {
|
|
3029
|
+
switch (_a.label) {
|
|
2871
3030
|
case 0:
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
|
|
2876
|
-
|
|
2877
|
-
|
|
2878
|
-
|
|
2879
|
-
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
case
|
|
3031
|
+
renderedItemIds = [];
|
|
3032
|
+
i = 0;
|
|
3033
|
+
_a.label = 1;
|
|
3034
|
+
case 1:
|
|
3035
|
+
if (!(i < menuItems.length)) return [3 /*break*/, 4];
|
|
3036
|
+
menuItem = menuItems[i];
|
|
3037
|
+
return [4 /*yield*/, manager.RenderItem(api, menuItem)];
|
|
3038
|
+
case 2:
|
|
3039
|
+
itemId = _a.sent();
|
|
3040
|
+
renderedItemIds.push(itemId);
|
|
3041
|
+
_a.label = 3;
|
|
3042
|
+
case 3:
|
|
3043
|
+
i++;
|
|
3044
|
+
return [3 /*break*/, 1];
|
|
3045
|
+
case 4: return [2 /*return*/, renderedItemIds];
|
|
2884
3046
|
}
|
|
2885
3047
|
});
|
|
2886
3048
|
});
|