angular-cesium
Version:
Angular library for working with Cesium.
29 lines • 5.02 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLXByaW1pdGl2ZS1kcmF3ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY2VzaXVtL3NyYy9saWIvYW5ndWxhci1jZXNpdW0vc2VydmljZXMvZHJhd2Vycy9zdGF0aWMtZHluYW1pYy9zdGF0aWMtcHJpbWl0aXZlLWRyYXdlci9zdGF0aWMtcHJpbWl0aXZlLWRyYXdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBRzVGOzs7O0dBSUc7QUFDSCxNQUFNLE9BQWdCLHFCQUFzQixTQUFRLHVCQUF1QjtJQUN6RSxZQUFvQixZQUFpQixFQUFFLGFBQTRCO1FBQ2pFLEtBQUssQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFEL0IsaUJBQVksR0FBWixZQUFZLENBQUs7SUFFckMsQ0FBQztJQUVELEdBQUcsQ0FBQyxhQUFrQixFQUFFLGFBQWtCLEVBQUUsY0FBbUI7UUFDN0QsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDM0MsTUFBSyxDQUFDLElBQUksS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUMsQ0FBQztTQUNuRDtRQUNELGFBQWEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlELGNBQWMsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM5RSxjQUFjLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUNwQyxNQUFNLFNBQVMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdkQsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBYyxFQUFFLGFBQWtCLEVBQUUsYUFBa0IsRUFBRSxjQUFtQjtRQUNoRixhQUFhLENBQUMsUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM5RCxjQUFjLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJpbWl0aXZlc0RyYXdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcmltaXRpdmVzLWRyYXdlci9wcmltaXRpdmVzLWRyYXdlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2VzaXVtU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2Nlc2l1bS9jZXNpdW0uc2VydmljZSc7XHJcblxyXG4vKipcclxuICpcclxuICogVGhpcyBkcmF3ZXIgaXMgZGVwcmVjYXRlZC5cclxuICogR2VuZXJhbCBzdGF0aWMgcHJpbWl0aXZlcyBkcmF3ZXIgcmVzcG9uc2libGUgb2YgZHJhd2luZyBzdGF0aWMgQ2VzaXVtIHByaW1pdGl2ZXMgd2l0aCBtYXRlcmlhbC5cclxuICovXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTdGF0aWNQcmltaXRpdmVEcmF3ZXIgZXh0ZW5kcyBQcmltaXRpdmVzRHJhd2VyU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBnZW9tZXRyeVR5cGU6IGFueSwgY2VzaXVtU2VydmljZTogQ2VzaXVtU2VydmljZSkge1xyXG4gICAgc3VwZXIoQ2VzaXVtLlByaW1pdGl2ZUNvbGxlY3Rpb24sIGNlc2l1bVNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgYWRkKGdlb21ldHJ5UHJvcHM6IGFueSwgaW5zdGFuY2VQcm9wczogYW55LCBwcmltaXRpdmVQcm9wczogYW55KTogYW55IHtcclxuICAgIGlmIChPYmplY3Qua2V5cyhpbnN0YW5jZVByb3BzKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhyb3cobmV3IEVycm9yKCdpbnN0YW5jZVByb3BzIG9iamVjdCBpcyBlbXB0eScpKTtcclxuICAgIH1cclxuICAgIGluc3RhbmNlUHJvcHMuZ2VvbWV0cnkgPSBuZXcgdGhpcy5nZW9tZXRyeVR5cGUoZ2VvbWV0cnlQcm9wcyk7XHJcbiAgICBwcmltaXRpdmVQcm9wcy5nZW9tZXRyeUluc3RhbmNlcyA9IG5ldyBDZXNpdW0uR2VvbWV0cnlJbnN0YW5jZShpbnN0YW5jZVByb3BzKTtcclxuICAgIHByaW1pdGl2ZVByb3BzLmFzeW5jaHJvbm91cyA9IGZhbHNlO1xyXG4gICAgY29uc3QgcHJpbWl0aXZlID0gbmV3IENlc2l1bS5QcmltaXRpdmUocHJpbWl0aXZlUHJvcHMpO1xyXG4gICAgcmV0dXJuIHN1cGVyLmFkZChwcmltaXRpdmUpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlKHByaW1pdGl2ZTogYW55LCBnZW9tZXRyeVByb3BzOiBhbnksIGluc3RhbmNlUHJvcHM6IGFueSwgcHJpbWl0aXZlUHJvcHM6IGFueSkge1xyXG4gICAgaW5zdGFuY2VQcm9wcy5nZW9tZXRyeSA9IG5ldyB0aGlzLmdlb21ldHJ5VHlwZShnZW9tZXRyeVByb3BzKTtcclxuICAgIHByaW1pdGl2ZVByb3BzLmdlb21ldHJ5SW5zdGFuY2VzID0gbmV3IENlc2l1bS5HZW9tZXRyeUluc3RhbmNlKGluc3RhbmNlUHJvcHMpO1xyXG4gICAgdGhpcy5fY2VzaXVtQ29sbGVjdGlvbi5yZW1vdmUocHJpbWl0aXZlKTtcclxuICAgIHJldHVybiBzdXBlci5hZGQobmV3IENlc2l1bS5QcmltaXRpdmUocHJpbWl0aXZlUHJvcHMpKTtcclxuICB9XHJcbn1cclxuIl19