angular-cesium-ivy
Version:
Angular library for working with Angular-Cesium.
45 lines • 5.5 kB
JavaScript
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlcy1kcmF3ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY2VzaXVtL3NyYy9saWIvYW5ndWxhci1jZXNpdW0vc2VydmljZXMvZHJhd2Vycy9wcmltaXRpdmVzLWRyYXdlci9wcmltaXRpdmVzLWRyYXdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRTFFOzs7R0FHRztBQUNILE1BQU0sT0FBZ0IsdUJBQXdCLFNBQVEsa0JBQWtCO0lBTXRFLFlBQW9CLFVBQWUsRUFBVSxhQUE0QjtRQUN2RSxLQUFLLEVBQUUsQ0FBQztRQURVLGVBQVUsR0FBVixVQUFVLENBQUs7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUxqRSxVQUFLLEdBQUcsSUFBSSxDQUFDO0lBT3JCLENBQUM7SUFFRCxJQUFJO1FBQ0YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUNqRSxJQUFJLENBQUMsd0JBQXdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzFELEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxHQUFHLENBQUMsV0FBZ0IsRUFBRSxHQUFHLElBQVc7UUFDbEMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxNQUFNLENBQUMsTUFBVyxFQUFFLFdBQWdCLEVBQUUsR0FBRyxJQUFXO1FBQ2xELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztTQUMxQzthQUFNO1lBQ0wsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQVc7UUFDaEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsT0FBTyxDQUFDLFNBQWtCO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO0lBQ2pELENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENlc2l1bVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jZXNpdW0vY2VzaXVtLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzaWNEcmF3ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vYmFzaWMtZHJhd2VyL2Jhc2ljLWRyYXdlci5zZXJ2aWNlJztcblxuLyoqXG4gKiAgR2VuZXJhbCBwcmltaXRpdmVzIGRyYXdlciByZXNwb25zaWJsZSBvZiBkcmF3aW5nIENlc2l1bSBwcmltaXRpdmVzLlxuICogIERyYXdlcnMgdGhlIGhhbmRsZSBDZXNpdW0gcHJpbWl0aXZlcyBleHRlbmQgaXQuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQcmltaXRpdmVzRHJhd2VyU2VydmljZSBleHRlbmRzIEJhc2ljRHJhd2VyU2VydmljZSB7XG4gIHByaXZhdGUgX3Nob3cgPSB0cnVlO1xuICBwcml2YXRlIF9wcmltaXRpdmVDb2xsZWN0aW9uV3JhcDogYW55O1xuICBwcm90ZWN0ZWQgX2Nlc2l1bUNvbGxlY3Rpb246IGFueTtcbiAgcHJvdGVjdGVkIF9wcm9wc0Fzc2lnbmVyOiBGdW5jdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRyYXdlclR5cGU6IGFueSwgcHJpdmF0ZSBjZXNpdW1TZXJ2aWNlOiBDZXNpdW1TZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGluaXQoKSB7XG4gICAgY29uc3Qgc2NlbmUgPSB0aGlzLmNlc2l1bVNlcnZpY2UuZ2V0U2NlbmUoKTtcbiAgICB0aGlzLl9jZXNpdW1Db2xsZWN0aW9uID0gbmV3IHRoaXMuZHJhd2VyVHlwZSh7IHNjZW5lIH0pO1xuICAgIHRoaXMuX3ByaW1pdGl2ZUNvbGxlY3Rpb25XcmFwID0gbmV3IENlc2l1bS5QcmltaXRpdmVDb2xsZWN0aW9uKCk7XG4gICAgdGhpcy5fcHJpbWl0aXZlQ29sbGVjdGlvbldyYXAuYWRkKHRoaXMuX2Nlc2l1bUNvbGxlY3Rpb24pO1xuICAgIHNjZW5lLnByaW1pdGl2ZXMuYWRkKHRoaXMuX3ByaW1pdGl2ZUNvbGxlY3Rpb25XcmFwKTtcbiAgfVxuXG4gIGFkZChjZXNpdW1Qcm9wczogYW55LCAuLi5hcmdzOiBhbnlbXSk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2Nlc2l1bUNvbGxlY3Rpb24uYWRkKGNlc2l1bVByb3BzKTtcbiAgfVxuXG4gIHVwZGF0ZShlbnRpdHk6IGFueSwgY2VzaXVtUHJvcHM6IGFueSwgLi4uYXJnczogYW55W10pIHtcbiAgICBpZiAodGhpcy5fcHJvcHNBc3NpZ25lcikge1xuICAgICAgdGhpcy5fcHJvcHNBc3NpZ25lcihlbnRpdHksIGNlc2l1bVByb3BzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgT2JqZWN0LmFzc2lnbihlbnRpdHksIGNlc2l1bVByb3BzKTtcbiAgICB9XG4gIH1cblxuICByZW1vdmUoZW50aXR5OiBhbnkpIHtcbiAgICB0aGlzLl9jZXNpdW1Db2xsZWN0aW9uLnJlbW92ZShlbnRpdHkpO1xuICB9XG5cbiAgcmVtb3ZlQWxsKCkge1xuICAgIHRoaXMuX2Nlc2l1bUNvbGxlY3Rpb24ucmVtb3ZlQWxsKCk7XG4gIH1cblxuICBzZXRTaG93KHNob3dWYWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Nob3cgPSBzaG93VmFsdWU7XG4gICAgdGhpcy5fcHJpbWl0aXZlQ29sbGVjdGlvbldyYXAuc2hvdyA9IHNob3dWYWx1ZTtcbiAgfVxuXG4gIGdldFNob3coKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3c7XG4gIH1cbn1cbiJdfQ==