bruce-cesium 0.0.3 → 0.0.4
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 +169 -151
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +167 -154
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/rendering/menu-item-manager.js +168 -151
- package/dist/lib/rendering/menu-item-manager.js.map +1 -1
- package/dist/lib/rendering/render-helper.js.map +1 -1
- package/dist/types/rendering/menu-item-manager.d.ts +30 -21
- package/dist/types/rendering/render-helper.d.ts +4 -4
- package/package.json +1 -1
package/dist/bruce-cesium.es5.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Color, HeightReference, Cartographic, Cartesian3, Entity, ClassificationType, ArcType, PolygonHierarchy, ShadowMode, PolylineGraphics, HeadingPitchRoll, Transforms, ColorBlendMode, Viewer, ArcGisMapServerImageryProvider, ScreenSpaceEventType, Primitive, Cesium3DTileFeature, Cartesian2, HeadingPitchRange, Math as Math$1, Matrix4, Cesium3DTileset, EllipsoidGeodesic } from 'cesium';
|
|
2
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';
|
|
3
3
|
|
|
4
4
|
var TIME_LAG = 300;
|
|
@@ -2612,159 +2612,177 @@ var TilesetCadRenderManager;
|
|
|
2612
2612
|
/**
|
|
2613
2613
|
* Utility to keep track of enabled menu items within a Cesium viewer.
|
|
2614
2614
|
*/
|
|
2615
|
-
var MenuItemManager
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2615
|
+
var MenuItemManager;
|
|
2616
|
+
(function (MenuItemManager) {
|
|
2617
|
+
var Manager = /** @class */ (function () {
|
|
2618
|
+
function Manager(viewer, visualsRegister) {
|
|
2619
|
+
this.items = [];
|
|
2620
|
+
this.onUpdate = null;
|
|
2621
|
+
this.viewer = viewer;
|
|
2622
|
+
if (!visualsRegister) {
|
|
2623
|
+
visualsRegister = new VisualsRegister.Register(viewer);
|
|
2624
|
+
}
|
|
2625
|
+
this.visualsRegister = visualsRegister;
|
|
2621
2626
|
}
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
enumerable: false,
|
|
2629
|
-
configurable: true
|
|
2630
|
-
});
|
|
2631
|
-
/**
|
|
2632
|
-
* Renders a given menu item and all ids children.
|
|
2633
|
-
* Will return the enabled item id.
|
|
2634
|
-
* @param api
|
|
2635
|
-
* @param item
|
|
2636
|
-
* @returns
|
|
2637
|
-
*/
|
|
2638
|
-
MenuItemManager.prototype.RenderItem = function (api, item) {
|
|
2639
|
-
var _a;
|
|
2640
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
2641
|
-
var rItem, i, childId;
|
|
2642
|
-
return __generator(this, function (_b) {
|
|
2643
|
-
switch (_b.label) {
|
|
2644
|
-
case 0:
|
|
2645
|
-
rItem = {
|
|
2646
|
-
id: (_a = item.id) !== null && _a !== void 0 ? _a : ObjectUtils.UId(),
|
|
2647
|
-
childIds: [],
|
|
2648
|
-
item: item,
|
|
2649
|
-
renderManager: null,
|
|
2650
|
-
type: item.Type
|
|
2651
|
-
};
|
|
2652
|
-
switch (item.Type) {
|
|
2653
|
-
case MenuItem.EType.Entities:
|
|
2654
|
-
rItem.renderManager = new EntitiesRenderManager.Manager(this.viewer, this.visualsRegister, api, item);
|
|
2655
|
-
break;
|
|
2656
|
-
case MenuItem.EType.EntitiesLoaded:
|
|
2657
|
-
rItem.renderManager = new EntitiesLoadedRenderManager.Manager(this.viewer, this.visualsRegister, api, item);
|
|
2658
|
-
break;
|
|
2659
|
-
case MenuItem.EType.EntitiesIds:
|
|
2660
|
-
rItem.renderManager = new EntitiesIdsRenderManager.Manager(this.viewer, this.visualsRegister, api, item);
|
|
2661
|
-
break;
|
|
2662
|
-
case MenuItem.EType.Entity:
|
|
2663
|
-
rItem.renderManager = new EntityRenderManager.Manager(this.viewer, this.visualsRegister, api, item);
|
|
2664
|
-
case MenuItem.EType.CadTileset:
|
|
2665
|
-
rItem.renderManager = new TilesetCadRenderManager.Manager(this.viewer, this.visualsRegister, api, item);
|
|
2666
|
-
break;
|
|
2667
|
-
case MenuItem.EType.Osm:
|
|
2668
|
-
// TODO;
|
|
2669
|
-
break;
|
|
2670
|
-
case MenuItem.EType.PointCloud:
|
|
2671
|
-
// TODO;
|
|
2672
|
-
break;
|
|
2673
|
-
case MenuItem.EType.EntityTileset:
|
|
2674
|
-
// TODO;
|
|
2675
|
-
break;
|
|
2676
|
-
case MenuItem.EType.Kml:
|
|
2677
|
-
// TODO;
|
|
2678
|
-
break;
|
|
2679
|
-
// Any "none" type can be ignored. These are just containers for other items.
|
|
2680
|
-
case MenuItem.EType.None:
|
|
2681
|
-
case "":
|
|
2682
|
-
case null:
|
|
2683
|
-
break;
|
|
2684
|
-
default:
|
|
2685
|
-
throw ("Menu item type is not implemented.");
|
|
2686
|
-
}
|
|
2687
|
-
if (!rItem.renderManager) return [3 /*break*/, 2];
|
|
2688
|
-
return [4 /*yield*/, rItem.renderManager.Init()];
|
|
2689
|
-
case 1:
|
|
2690
|
-
_b.sent();
|
|
2691
|
-
_b.label = 2;
|
|
2692
|
-
case 2:
|
|
2693
|
-
this.items.push(rItem);
|
|
2694
|
-
if (!item.Children) return [3 /*break*/, 6];
|
|
2695
|
-
i = 0;
|
|
2696
|
-
_b.label = 3;
|
|
2697
|
-
case 3:
|
|
2698
|
-
if (!(i < item.Children.length)) return [3 /*break*/, 6];
|
|
2699
|
-
return [4 /*yield*/, this.RenderItem(api, item.Children[i])];
|
|
2700
|
-
case 4:
|
|
2701
|
-
childId = _b.sent();
|
|
2702
|
-
rItem.childIds.push(childId);
|
|
2703
|
-
_b.label = 5;
|
|
2704
|
-
case 5:
|
|
2705
|
-
i++;
|
|
2706
|
-
return [3 /*break*/, 3];
|
|
2707
|
-
case 6: return [2 /*return*/, rItem.id];
|
|
2708
|
-
}
|
|
2709
|
-
});
|
|
2627
|
+
Object.defineProperty(Manager.prototype, "VisualsRegister", {
|
|
2628
|
+
get: function () {
|
|
2629
|
+
return this.visualsRegister;
|
|
2630
|
+
},
|
|
2631
|
+
enumerable: false,
|
|
2632
|
+
configurable: true
|
|
2710
2633
|
});
|
|
2711
|
-
|
|
2712
|
-
|
|
2713
|
-
|
|
2714
|
-
|
|
2715
|
-
|
|
2716
|
-
|
|
2717
|
-
MenuItemManager.prototype.RemoveItemById = function (id) {
|
|
2718
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
2719
|
-
var item, _loop_1, this_1, i;
|
|
2720
|
-
return __generator(this, function (_a) {
|
|
2721
|
-
switch (_a.label) {
|
|
2722
|
-
case 0:
|
|
2723
|
-
item = this.items.find(function (x) { return x.id === id; });
|
|
2724
|
-
if (!item) return [3 /*break*/, 5];
|
|
2725
|
-
_loop_1 = function (i) {
|
|
2726
|
-
var child;
|
|
2727
|
-
return __generator(this, function (_a) {
|
|
2728
|
-
switch (_a.label) {
|
|
2729
|
-
case 0:
|
|
2730
|
-
child = this_1.items.find(function (x) { return x.id === item.childIds[i]; });
|
|
2731
|
-
if (!child) return [3 /*break*/, 2];
|
|
2732
|
-
return [4 /*yield*/, this_1.RemoveItemById(child.id)];
|
|
2733
|
-
case 1:
|
|
2734
|
-
_a.sent();
|
|
2735
|
-
_a.label = 2;
|
|
2736
|
-
case 2: return [2 /*return*/];
|
|
2737
|
-
}
|
|
2738
|
-
});
|
|
2739
|
-
};
|
|
2740
|
-
this_1 = this;
|
|
2741
|
-
i = 0;
|
|
2742
|
-
_a.label = 1;
|
|
2743
|
-
case 1:
|
|
2744
|
-
if (!(i < item.childIds.length)) return [3 /*break*/, 4];
|
|
2745
|
-
return [5 /*yield**/, _loop_1(i)];
|
|
2746
|
-
case 2:
|
|
2747
|
-
_a.sent();
|
|
2748
|
-
_a.label = 3;
|
|
2749
|
-
case 3:
|
|
2750
|
-
i++;
|
|
2751
|
-
return [3 /*break*/, 1];
|
|
2752
|
-
case 4:
|
|
2753
|
-
try {
|
|
2754
|
-
item.renderManager.Dispose();
|
|
2755
|
-
}
|
|
2756
|
-
catch (e) {
|
|
2757
|
-
console.error(e);
|
|
2758
|
-
}
|
|
2759
|
-
this.items = this.items.filter(function (x) { return x.id !== id; });
|
|
2760
|
-
_a.label = 5;
|
|
2761
|
-
case 5: return [2 /*return*/];
|
|
2762
|
-
}
|
|
2763
|
-
});
|
|
2634
|
+
Object.defineProperty(Manager.prototype, "OnUpdate", {
|
|
2635
|
+
get: function () {
|
|
2636
|
+
return this.onUpdate;
|
|
2637
|
+
},
|
|
2638
|
+
enumerable: false,
|
|
2639
|
+
configurable: true
|
|
2764
2640
|
});
|
|
2765
|
-
|
|
2766
|
-
|
|
2767
|
-
|
|
2641
|
+
/**
|
|
2642
|
+
* Renders a given menu item and all ids children.
|
|
2643
|
+
* Will return the enabled item id.
|
|
2644
|
+
* @param api
|
|
2645
|
+
* @param item
|
|
2646
|
+
* @returns
|
|
2647
|
+
*/
|
|
2648
|
+
Manager.prototype.RenderItem = function (api, item) {
|
|
2649
|
+
var _a, _b;
|
|
2650
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
2651
|
+
var rItem, i, childId;
|
|
2652
|
+
return __generator(this, function (_c) {
|
|
2653
|
+
switch (_c.label) {
|
|
2654
|
+
case 0:
|
|
2655
|
+
rItem = {
|
|
2656
|
+
id: (_a = item.id) !== null && _a !== void 0 ? _a : ObjectUtils.UId(),
|
|
2657
|
+
childIds: [],
|
|
2658
|
+
item: item,
|
|
2659
|
+
renderManager: null,
|
|
2660
|
+
type: item.Type
|
|
2661
|
+
};
|
|
2662
|
+
switch (item.Type) {
|
|
2663
|
+
case MenuItem.EType.Entities:
|
|
2664
|
+
rItem.renderManager = new EntitiesRenderManager.Manager(this.viewer, this.visualsRegister, api, item);
|
|
2665
|
+
break;
|
|
2666
|
+
case MenuItem.EType.EntitiesLoaded:
|
|
2667
|
+
rItem.renderManager = new EntitiesLoadedRenderManager.Manager(this.viewer, this.visualsRegister, api, item);
|
|
2668
|
+
break;
|
|
2669
|
+
case MenuItem.EType.EntitiesIds:
|
|
2670
|
+
rItem.renderManager = new EntitiesIdsRenderManager.Manager(this.viewer, this.visualsRegister, api, item);
|
|
2671
|
+
break;
|
|
2672
|
+
case MenuItem.EType.Entity:
|
|
2673
|
+
rItem.renderManager = new EntityRenderManager.Manager(this.viewer, this.visualsRegister, api, item);
|
|
2674
|
+
case MenuItem.EType.CadTileset:
|
|
2675
|
+
rItem.renderManager = new TilesetCadRenderManager.Manager(this.viewer, this.visualsRegister, api, item);
|
|
2676
|
+
break;
|
|
2677
|
+
case MenuItem.EType.Osm:
|
|
2678
|
+
// TODO;
|
|
2679
|
+
break;
|
|
2680
|
+
case MenuItem.EType.PointCloud:
|
|
2681
|
+
// TODO;
|
|
2682
|
+
break;
|
|
2683
|
+
case MenuItem.EType.EntityTileset:
|
|
2684
|
+
// TODO;
|
|
2685
|
+
break;
|
|
2686
|
+
case MenuItem.EType.Kml:
|
|
2687
|
+
// TODO;
|
|
2688
|
+
break;
|
|
2689
|
+
// Any "none" type can be ignored. These are just containers for other items.
|
|
2690
|
+
case MenuItem.EType.None:
|
|
2691
|
+
case "":
|
|
2692
|
+
case null:
|
|
2693
|
+
break;
|
|
2694
|
+
default:
|
|
2695
|
+
throw ("Menu item type is not implemented.");
|
|
2696
|
+
}
|
|
2697
|
+
(_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: true, itemId: rItem.id });
|
|
2698
|
+
if (!rItem.renderManager) return [3 /*break*/, 2];
|
|
2699
|
+
return [4 /*yield*/, rItem.renderManager.Init()];
|
|
2700
|
+
case 1:
|
|
2701
|
+
_c.sent();
|
|
2702
|
+
_c.label = 2;
|
|
2703
|
+
case 2:
|
|
2704
|
+
this.items.push(rItem);
|
|
2705
|
+
if (!item.Children) return [3 /*break*/, 6];
|
|
2706
|
+
i = 0;
|
|
2707
|
+
_c.label = 3;
|
|
2708
|
+
case 3:
|
|
2709
|
+
if (!(i < item.Children.length)) return [3 /*break*/, 6];
|
|
2710
|
+
return [4 /*yield*/, this.RenderItem(api, item.Children[i])];
|
|
2711
|
+
case 4:
|
|
2712
|
+
childId = _c.sent();
|
|
2713
|
+
rItem.childIds.push(childId);
|
|
2714
|
+
_c.label = 5;
|
|
2715
|
+
case 5:
|
|
2716
|
+
i++;
|
|
2717
|
+
return [3 /*break*/, 3];
|
|
2718
|
+
case 6: return [2 /*return*/, rItem.id];
|
|
2719
|
+
}
|
|
2720
|
+
});
|
|
2721
|
+
});
|
|
2722
|
+
};
|
|
2723
|
+
/**
|
|
2724
|
+
* Disables a menu item by ids id.
|
|
2725
|
+
* This will disable all children as well.
|
|
2726
|
+
* @param id
|
|
2727
|
+
*/
|
|
2728
|
+
Manager.prototype.RemoveItemById = function (id) {
|
|
2729
|
+
var _a;
|
|
2730
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
2731
|
+
var item, _loop_1, this_1, i;
|
|
2732
|
+
return __generator(this, function (_b) {
|
|
2733
|
+
switch (_b.label) {
|
|
2734
|
+
case 0:
|
|
2735
|
+
item = this.items.find(function (x) { return x.id === id; });
|
|
2736
|
+
if (!item) return [3 /*break*/, 5];
|
|
2737
|
+
(_a = this.onUpdate) === null || _a === void 0 ? void 0 : _a.Trigger({ isEnabling: false, itemId: item.id });
|
|
2738
|
+
_loop_1 = function (i) {
|
|
2739
|
+
var child;
|
|
2740
|
+
return __generator(this, function (_a) {
|
|
2741
|
+
switch (_a.label) {
|
|
2742
|
+
case 0:
|
|
2743
|
+
child = this_1.items.find(function (x) { return x.id === item.childIds[i]; });
|
|
2744
|
+
if (!child) return [3 /*break*/, 2];
|
|
2745
|
+
return [4 /*yield*/, this_1.RemoveItemById(child.id)];
|
|
2746
|
+
case 1:
|
|
2747
|
+
_a.sent();
|
|
2748
|
+
_a.label = 2;
|
|
2749
|
+
case 2: return [2 /*return*/];
|
|
2750
|
+
}
|
|
2751
|
+
});
|
|
2752
|
+
};
|
|
2753
|
+
this_1 = this;
|
|
2754
|
+
i = 0;
|
|
2755
|
+
_b.label = 1;
|
|
2756
|
+
case 1:
|
|
2757
|
+
if (!(i < item.childIds.length)) return [3 /*break*/, 4];
|
|
2758
|
+
return [5 /*yield**/, _loop_1(i)];
|
|
2759
|
+
case 2:
|
|
2760
|
+
_b.sent();
|
|
2761
|
+
_b.label = 3;
|
|
2762
|
+
case 3:
|
|
2763
|
+
i++;
|
|
2764
|
+
return [3 /*break*/, 1];
|
|
2765
|
+
case 4:
|
|
2766
|
+
try {
|
|
2767
|
+
item.renderManager.Dispose();
|
|
2768
|
+
}
|
|
2769
|
+
catch (e) {
|
|
2770
|
+
console.error(e);
|
|
2771
|
+
}
|
|
2772
|
+
this.items = this.items.filter(function (x) { return x.id !== id; });
|
|
2773
|
+
_b.label = 5;
|
|
2774
|
+
case 5: return [2 /*return*/];
|
|
2775
|
+
}
|
|
2776
|
+
});
|
|
2777
|
+
});
|
|
2778
|
+
};
|
|
2779
|
+
Manager.prototype.GetEnabledItemIds = function () {
|
|
2780
|
+
return this.items.map(function (x) { return x.id; });
|
|
2781
|
+
};
|
|
2782
|
+
return Manager;
|
|
2783
|
+
}());
|
|
2784
|
+
MenuItemManager.Manager = Manager;
|
|
2785
|
+
})(MenuItemManager || (MenuItemManager = {}));
|
|
2768
2786
|
|
|
2769
2787
|
/**
|
|
2770
2788
|
* Utility to help generate menu items for rendering various data.
|