@greenmice/ngx-cesium
Version:
Angular library for working with Cesium.
29 lines • 4.92 kB
JavaScript
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=