UNPKG

@greenmice/ngx-cesium

Version:
29 lines 4.92 kB
import { PrimitivesDrawerService } from '../../primitives-drawer/primitives-drawer.service'; /** * * This drawer is deprecated. * General static primitives drawer responsible of drawing static Cesium primitives with material. */ export class StaticPrimitiveDrawer extends PrimitivesDrawerService { constructor(geometryType, cesiumService) { super(Cesium.PrimitiveCollection, cesiumService); this.geometryType = geometryType; } add(geometryProps, instanceProps, primitiveProps) { if (Object.keys(instanceProps).length === 0) { throw (new Error('instanceProps object is empty')); } instanceProps.geometry = new this.geometryType(geometryProps); primitiveProps.geometryInstances = new Cesium.GeometryInstance(instanceProps); primitiveProps.asynchronous = false; const primitive = new Cesium.Primitive(primitiveProps); return super.add(primitive); } update(primitive, geometryProps, instanceProps, primitiveProps) { instanceProps.geometry = new this.geometryType(geometryProps); primitiveProps.geometryInstances = new Cesium.GeometryInstance(instanceProps); this._cesiumCollection.remove(primitive); return super.add(new Cesium.Primitive(primitiveProps)); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLXByaW1pdGl2ZS1kcmF3ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY2VzaXVtL3NyYy9saWIvYW5ndWxhci1jZXNpdW0vc2VydmljZXMvZHJhd2Vycy9zdGF0aWMtZHluYW1pYy9zdGF0aWMtcHJpbWl0aXZlLWRyYXdlci9zdGF0aWMtcHJpbWl0aXZlLWRyYXdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBRzVGOzs7O0dBSUc7QUFDSCxNQUFNLE9BQWdCLHFCQUFzQixTQUFRLHVCQUF1QjtJQUN6RSxZQUFvQixZQUFpQixFQUFFLGFBQTRCO1FBQ2pFLEtBQUssQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFEL0IsaUJBQVksR0FBWixZQUFZLENBQUs7SUFFckMsQ0FBQztJQUVELEdBQUcsQ0FBQyxhQUFrQixFQUFFLGFBQWtCLEVBQUUsY0FBbUI7UUFDN0QsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM1QyxNQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFDRCxhQUFhLENBQUMsUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM5RCxjQUFjLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUUsY0FBYyxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDcEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQWMsRUFBRSxhQUFrQixFQUFFLGFBQWtCLEVBQUUsY0FBbUI7UUFDaEYsYUFBYSxDQUFDLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUQsY0FBYyxDQUFDLGlCQUFpQixHQUFHLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekMsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByaW1pdGl2ZXNEcmF3ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJpbWl0aXZlcy1kcmF3ZXIvcHJpbWl0aXZlcy1kcmF3ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBDZXNpdW1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY2VzaXVtL2Nlc2l1bS5zZXJ2aWNlJztcblxuLyoqXG4gKlxuICogVGhpcyBkcmF3ZXIgaXMgZGVwcmVjYXRlZC5cbiAqIEdlbmVyYWwgc3RhdGljIHByaW1pdGl2ZXMgZHJhd2VyIHJlc3BvbnNpYmxlIG9mIGRyYXdpbmcgc3RhdGljIENlc2l1bSBwcmltaXRpdmVzIHdpdGggbWF0ZXJpYWwuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTdGF0aWNQcmltaXRpdmVEcmF3ZXIgZXh0ZW5kcyBQcmltaXRpdmVzRHJhd2VyU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZ2VvbWV0cnlUeXBlOiBhbnksIGNlc2l1bVNlcnZpY2U6IENlc2l1bVNlcnZpY2UpIHtcbiAgICBzdXBlcihDZXNpdW0uUHJpbWl0aXZlQ29sbGVjdGlvbiwgY2VzaXVtU2VydmljZSk7XG4gIH1cblxuICBhZGQoZ2VvbWV0cnlQcm9wczogYW55LCBpbnN0YW5jZVByb3BzOiBhbnksIHByaW1pdGl2ZVByb3BzOiBhbnkpOiBhbnkge1xuICAgIGlmIChPYmplY3Qua2V5cyhpbnN0YW5jZVByb3BzKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93KG5ldyBFcnJvcignaW5zdGFuY2VQcm9wcyBvYmplY3QgaXMgZW1wdHknKSk7XG4gICAgfVxuICAgIGluc3RhbmNlUHJvcHMuZ2VvbWV0cnkgPSBuZXcgdGhpcy5nZW9tZXRyeVR5cGUoZ2VvbWV0cnlQcm9wcyk7XG4gICAgcHJpbWl0aXZlUHJvcHMuZ2VvbWV0cnlJbnN0YW5jZXMgPSBuZXcgQ2VzaXVtLkdlb21ldHJ5SW5zdGFuY2UoaW5zdGFuY2VQcm9wcyk7XG4gICAgcHJpbWl0aXZlUHJvcHMuYXN5bmNocm9ub3VzID0gZmFsc2U7XG4gICAgY29uc3QgcHJpbWl0aXZlID0gbmV3IENlc2l1bS5QcmltaXRpdmUocHJpbWl0aXZlUHJvcHMpO1xuICAgIHJldHVybiBzdXBlci5hZGQocHJpbWl0aXZlKTtcbiAgfVxuXG4gIHVwZGF0ZShwcmltaXRpdmU6IGFueSwgZ2VvbWV0cnlQcm9wczogYW55LCBpbnN0YW5jZVByb3BzOiBhbnksIHByaW1pdGl2ZVByb3BzOiBhbnkpIHtcbiAgICBpbnN0YW5jZVByb3BzLmdlb21ldHJ5ID0gbmV3IHRoaXMuZ2VvbWV0cnlUeXBlKGdlb21ldHJ5UHJvcHMpO1xuICAgIHByaW1pdGl2ZVByb3BzLmdlb21ldHJ5SW5zdGFuY2VzID0gbmV3IENlc2l1bS5HZW9tZXRyeUluc3RhbmNlKGluc3RhbmNlUHJvcHMpO1xuICAgIHRoaXMuX2Nlc2l1bUNvbGxlY3Rpb24ucmVtb3ZlKHByaW1pdGl2ZSk7XG4gICAgcmV0dXJuIHN1cGVyLmFkZChuZXcgQ2VzaXVtLlByaW1pdGl2ZShwcmltaXRpdmVQcm9wcykpO1xuICB9XG59XG4iXX0=