UNPKG

angular-cesium

Version:
45 lines 5.69 kB
import { BasicDrawerService } from '../basic-drawer/basic-drawer.service'; /** * General primitives drawer responsible of drawing Cesium primitives. * Drawers the handle Cesium primitives extend it. */ export class PrimitivesDrawerService extends BasicDrawerService { constructor(drawerType, cesiumService) { super(); this.drawerType = drawerType; this.cesiumService = cesiumService; this._show = true; } init() { const scene = this.cesiumService.getScene(); this._cesiumCollection = new this.drawerType({ scene }); this._primitiveCollectionWrap = new Cesium.PrimitiveCollection(); this._primitiveCollectionWrap.add(this._cesiumCollection); scene.primitives.add(this._primitiveCollectionWrap); } add(cesiumProps, ...args) { return this._cesiumCollection.add(cesiumProps); } update(entity, cesiumProps, ...args) { if (this._propsAssigner) { this._propsAssigner(entity, cesiumProps); } else { Object.assign(entity, cesiumProps); } } remove(entity) { this._cesiumCollection.remove(entity); } removeAll() { this._cesiumCollection.removeAll(); } setShow(showValue) { this._show = showValue; this._primitiveCollectionWrap.show = showValue; } getShow() { return this._show; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlcy1kcmF3ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY2VzaXVtL3NyYy9saWIvYW5ndWxhci1jZXNpdW0vc2VydmljZXMvZHJhd2Vycy9wcmltaXRpdmVzLWRyYXdlci9wcmltaXRpdmVzLWRyYXdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRTFFOzs7R0FHRztBQUNILE1BQU0sT0FBZ0IsdUJBQXdCLFNBQVEsa0JBQWtCO0lBTXRFLFlBQW9CLFVBQWUsRUFBVSxhQUE0QjtRQUN2RSxLQUFLLEVBQUUsQ0FBQztRQURVLGVBQVUsR0FBVixVQUFVLENBQUs7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUxqRSxVQUFLLEdBQUcsSUFBSSxDQUFDO0lBT3JCLENBQUM7SUFFRCxJQUFJO1FBQ0YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUNqRSxJQUFJLENBQUMsd0JBQXdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzFELEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxHQUFHLENBQUMsV0FBZ0IsRUFBRSxHQUFHLElBQVc7UUFDbEMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxNQUFNLENBQUMsTUFBVyxFQUFFLFdBQWdCLEVBQUUsR0FBRyxJQUFXO1FBQ2xELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztTQUMxQzthQUFNO1lBQ0wsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQVc7UUFDaEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsT0FBTyxDQUFDLFNBQWtCO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO0lBQ2pELENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENlc2l1bVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jZXNpdW0vY2VzaXVtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNpY0RyYXdlclNlcnZpY2UgfSBmcm9tICcuLi9iYXNpYy1kcmF3ZXIvYmFzaWMtZHJhd2VyLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqICBHZW5lcmFsIHByaW1pdGl2ZXMgZHJhd2VyIHJlc3BvbnNpYmxlIG9mIGRyYXdpbmcgQ2VzaXVtIHByaW1pdGl2ZXMuXHJcbiAqICBEcmF3ZXJzIHRoZSBoYW5kbGUgQ2VzaXVtIHByaW1pdGl2ZXMgZXh0ZW5kIGl0LlxyXG4gKi9cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFByaW1pdGl2ZXNEcmF3ZXJTZXJ2aWNlIGV4dGVuZHMgQmFzaWNEcmF3ZXJTZXJ2aWNlIHtcclxuICBwcml2YXRlIF9zaG93ID0gdHJ1ZTtcclxuICBwcml2YXRlIF9wcmltaXRpdmVDb2xsZWN0aW9uV3JhcDogYW55O1xyXG4gIHByb3RlY3RlZCBfY2VzaXVtQ29sbGVjdGlvbjogYW55O1xyXG4gIHByb3RlY3RlZCBfcHJvcHNBc3NpZ25lcjogRnVuY3Rpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZHJhd2VyVHlwZTogYW55LCBwcml2YXRlIGNlc2l1bVNlcnZpY2U6IENlc2l1bVNlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBpbml0KCkge1xyXG4gICAgY29uc3Qgc2NlbmUgPSB0aGlzLmNlc2l1bVNlcnZpY2UuZ2V0U2NlbmUoKTtcclxuICAgIHRoaXMuX2Nlc2l1bUNvbGxlY3Rpb24gPSBuZXcgdGhpcy5kcmF3ZXJUeXBlKHsgc2NlbmUgfSk7XHJcbiAgICB0aGlzLl9wcmltaXRpdmVDb2xsZWN0aW9uV3JhcCA9IG5ldyBDZXNpdW0uUHJpbWl0aXZlQ29sbGVjdGlvbigpO1xyXG4gICAgdGhpcy5fcHJpbWl0aXZlQ29sbGVjdGlvbldyYXAuYWRkKHRoaXMuX2Nlc2l1bUNvbGxlY3Rpb24pO1xyXG4gICAgc2NlbmUucHJpbWl0aXZlcy5hZGQodGhpcy5fcHJpbWl0aXZlQ29sbGVjdGlvbldyYXApO1xyXG4gIH1cclxuXHJcbiAgYWRkKGNlc2l1bVByb3BzOiBhbnksIC4uLmFyZ3M6IGFueVtdKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9jZXNpdW1Db2xsZWN0aW9uLmFkZChjZXNpdW1Qcm9wcyk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGUoZW50aXR5OiBhbnksIGNlc2l1bVByb3BzOiBhbnksIC4uLmFyZ3M6IGFueVtdKSB7XHJcbiAgICBpZiAodGhpcy5fcHJvcHNBc3NpZ25lcikge1xyXG4gICAgICB0aGlzLl9wcm9wc0Fzc2lnbmVyKGVudGl0eSwgY2VzaXVtUHJvcHMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgT2JqZWN0LmFzc2lnbihlbnRpdHksIGNlc2l1bVByb3BzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbW92ZShlbnRpdHk6IGFueSkge1xyXG4gICAgdGhpcy5fY2VzaXVtQ29sbGVjdGlvbi5yZW1vdmUoZW50aXR5KTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUFsbCgpIHtcclxuICAgIHRoaXMuX2Nlc2l1bUNvbGxlY3Rpb24ucmVtb3ZlQWxsKCk7XHJcbiAgfVxyXG5cclxuICBzZXRTaG93KHNob3dWYWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fc2hvdyA9IHNob3dWYWx1ZTtcclxuICAgIHRoaXMuX3ByaW1pdGl2ZUNvbGxlY3Rpb25XcmFwLnNob3cgPSBzaG93VmFsdWU7XHJcbiAgfVxyXG5cclxuICBnZXRTaG93KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Nob3c7XHJcbiAgfVxyXG59XHJcbiJdfQ==