UNPKG

angular-cesium

Version:
34 lines 4.51 kB
import { __decorate, __metadata } from "tslib"; import { Injectable } from '@angular/core'; import { CesiumService } from '../../../cesium/cesium.service'; import { Checker } from '../../../../utils/checker'; import { EllipsePrimitive } from 'primitive-primitives'; import { PrimitivesDrawerService } from '../../primitives-drawer/primitives-drawer.service'; /** * This drawer is responsible for creating the dynamic version of the ellipse component. * We are using the primitive-primitives implementation of an ellipse. see: https://github.com/gotenxds/Primitive-primitives * This allows us to change the position of the ellipses without creating a new primitive object * as Cesium does not allow updating an ellipse. */ let DynamicEllipseDrawerService = class DynamicEllipseDrawerService extends PrimitivesDrawerService { constructor(cesiumService) { super(Cesium.PrimitiveCollection, cesiumService); } add(cesiumProps) { Checker.throwIfAnyNotPresent(cesiumProps, ['center', 'semiMajorAxis', 'semiMinorAxis']); return super.add(new EllipsePrimitive(cesiumProps)); } update(ellipse, cesiumProps) { ellipse.updateLocationData(cesiumProps); return ellipse; } }; DynamicEllipseDrawerService.ctorParameters = () => [ { type: CesiumService } ]; DynamicEllipseDrawerService = __decorate([ Injectable(), __metadata("design:paramtypes", [CesiumService]) ], DynamicEllipseDrawerService); export { DynamicEllipseDrawerService }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1lbGxpcHNlLWRyYXdlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1jZXNpdW0vIiwic291cmNlcyI6WyJsaWIvYW5ndWxhci1jZXNpdW0vc2VydmljZXMvZHJhd2Vycy9zdGF0aWMtZHluYW1pYy9lbGxpcHNlLWRyYXdlci9keW5hbWljLWVsbGlwc2UtZHJhd2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUc1Rjs7Ozs7R0FLRztBQUVILElBQWEsMkJBQTJCLEdBQXhDLE1BQWEsMkJBQTRCLFNBQVEsdUJBQXVCO0lBQ3RFLFlBQVksYUFBNEI7UUFDdEMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsR0FBRyxDQUFDLFdBQWdCO1FBQ2xCLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFFeEYsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQVksRUFBRSxXQUFnQjtRQUNuQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFeEMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGLENBQUE7O1lBZjRCLGFBQWE7O0FBRDdCLDJCQUEyQjtJQUR2QyxVQUFVLEVBQUU7cUNBRWdCLGFBQWE7R0FEN0IsMkJBQTJCLENBZ0J2QztTQWhCWSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDZXNpdW1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY2VzaXVtL2Nlc2l1bS5zZXJ2aWNlJztcbmltcG9ydCB7IENoZWNrZXIgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscy9jaGVja2VyJztcbmltcG9ydCB7IEVsbGlwc2VQcmltaXRpdmUgfSBmcm9tICdwcmltaXRpdmUtcHJpbWl0aXZlcyc7XG5pbXBvcnQgeyBQcmltaXRpdmVzRHJhd2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3ByaW1pdGl2ZXMtZHJhd2VyL3ByaW1pdGl2ZXMtZHJhd2VyLnNlcnZpY2UnO1xuXG5cbi8qKlxuICogIFRoaXMgZHJhd2VyIGlzIHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyB0aGUgZHluYW1pYyB2ZXJzaW9uIG9mIHRoZSBlbGxpcHNlIGNvbXBvbmVudC5cbiAqICBXZSBhcmUgdXNpbmcgdGhlIHByaW1pdGl2ZS1wcmltaXRpdmVzIGltcGxlbWVudGF0aW9uIG9mIGFuIGVsbGlwc2UuIHNlZTogaHR0cHM6Ly9naXRodWIuY29tL2dvdGVueGRzL1ByaW1pdGl2ZS1wcmltaXRpdmVzXG4gKiAgVGhpcyBhbGxvd3MgdXMgdG8gY2hhbmdlIHRoZSBwb3NpdGlvbiBvZiB0aGUgZWxsaXBzZXMgd2l0aG91dCBjcmVhdGluZyBhIG5ldyBwcmltaXRpdmUgb2JqZWN0XG4gKiAgYXMgQ2VzaXVtIGRvZXMgbm90IGFsbG93IHVwZGF0aW5nIGFuIGVsbGlwc2UuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEeW5hbWljRWxsaXBzZURyYXdlclNlcnZpY2UgZXh0ZW5kcyBQcmltaXRpdmVzRHJhd2VyU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKGNlc2l1bVNlcnZpY2U6IENlc2l1bVNlcnZpY2UpIHtcbiAgICBzdXBlcihDZXNpdW0uUHJpbWl0aXZlQ29sbGVjdGlvbiwgY2VzaXVtU2VydmljZSk7XG4gIH1cblxuICBhZGQoY2VzaXVtUHJvcHM6IGFueSk6IGFueSB7XG4gICAgQ2hlY2tlci50aHJvd0lmQW55Tm90UHJlc2VudChjZXNpdW1Qcm9wcywgWydjZW50ZXInLCAnc2VtaU1ham9yQXhpcycsICdzZW1pTWlub3JBeGlzJ10pO1xuXG4gICAgcmV0dXJuIHN1cGVyLmFkZChuZXcgRWxsaXBzZVByaW1pdGl2ZShjZXNpdW1Qcm9wcykpO1xuICB9XG5cbiAgdXBkYXRlKGVsbGlwc2U6IGFueSwgY2VzaXVtUHJvcHM6IGFueSk6IGFueSB7XG4gICAgZWxsaXBzZS51cGRhdGVMb2NhdGlvbkRhdGEoY2VzaXVtUHJvcHMpO1xuXG4gICAgcmV0dXJuIGVsbGlwc2U7XG4gIH1cbn1cbiJdfQ==