UNPKG

angular-cesium

Version:
34 lines 4.21 kB
import { Injectable } from '@angular/core'; import { CesiumService } from '../../../cesium/cesium.service'; import { StaticPrimitiveDrawer } from '../static-primitive-drawer/static-primitive-drawer.service'; /** * This drawer is responsible for creating the static version of the polyline component. * This also allows us to change the color of the polylines. */ export class StaticPolylineDrawerService extends StaticPrimitiveDrawer { constructor(cesiumService) { super(Cesium.PolylineGeometry, cesiumService); } /** * Update function can only change the primitive color. */ update(primitive, geometryProps, instanceProps, primitiveProps) { const color = instanceProps.attributes.color.value; if (primitive.ready) { primitive.getGeometryInstanceAttributes().color = color; } else { Cesium.when(primitive.readyPromise).then((readyPrimitive) => { readyPrimitive.getGeometryInstanceAttributes().color.value = color; }); } return primitive; } } StaticPolylineDrawerService.decorators = [ { type: Injectable } ]; StaticPolylineDrawerService.ctorParameters = () => [ { type: CesiumService } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLXBvbHlsaW5lLWRyYXdlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jZXNpdW0vc3JjL2xpYi9hbmd1bGFyLWNlc2l1bS9zZXJ2aWNlcy9kcmF3ZXJzL3N0YXRpYy1keW5hbWljL3N0YXRpYy1wb2x5bGluZS1kcmF3ZXIvc3RhdGljLXBvbHlsaW5lLWRyYXdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBRW5HOzs7R0FHRztBQUVILE1BQU0sT0FBTywyQkFBNEIsU0FBUSxxQkFBcUI7SUFDcEUsWUFBWSxhQUE0QjtRQUN0QyxLQUFLLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxTQUFjLEVBQUUsYUFBa0IsRUFBRSxhQUFrQixFQUFFLGNBQW1CO1FBQ2hGLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUVuRCxJQUFJLFNBQVMsQ0FBQyxLQUFLLEVBQUU7WUFDbkIsU0FBUyxDQUFDLDZCQUE2QixFQUFFLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUN6RDthQUFNO1lBQ0wsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsY0FBbUIsRUFBRSxFQUFFO2dCQUMvRCxjQUFjLENBQUMsNkJBQTZCLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNyRSxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzs7O1lBckJGLFVBQVU7OztZQVBGLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENlc2l1bVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jZXNpdW0vY2VzaXVtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdGF0aWNQcmltaXRpdmVEcmF3ZXIgfSBmcm9tICcuLi9zdGF0aWMtcHJpbWl0aXZlLWRyYXdlci9zdGF0aWMtcHJpbWl0aXZlLWRyYXdlci5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiAgVGhpcyBkcmF3ZXIgaXMgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIHRoZSBzdGF0aWMgdmVyc2lvbiBvZiB0aGUgcG9seWxpbmUgY29tcG9uZW50LlxyXG4gKiAgVGhpcyBhbHNvIGFsbG93cyB1cyB0byBjaGFuZ2UgdGhlIGNvbG9yIG9mIHRoZSBwb2x5bGluZXMuXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTdGF0aWNQb2x5bGluZURyYXdlclNlcnZpY2UgZXh0ZW5kcyBTdGF0aWNQcmltaXRpdmVEcmF3ZXIge1xyXG4gIGNvbnN0cnVjdG9yKGNlc2l1bVNlcnZpY2U6IENlc2l1bVNlcnZpY2UpIHtcclxuICAgIHN1cGVyKENlc2l1bS5Qb2x5bGluZUdlb21ldHJ5LCBjZXNpdW1TZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSBmdW5jdGlvbiBjYW4gb25seSBjaGFuZ2UgdGhlIHByaW1pdGl2ZSBjb2xvci5cclxuICAgKi9cclxuICB1cGRhdGUocHJpbWl0aXZlOiBhbnksIGdlb21ldHJ5UHJvcHM6IGFueSwgaW5zdGFuY2VQcm9wczogYW55LCBwcmltaXRpdmVQcm9wczogYW55KSB7XHJcbiAgICBjb25zdCBjb2xvciA9IGluc3RhbmNlUHJvcHMuYXR0cmlidXRlcy5jb2xvci52YWx1ZTtcclxuXHJcbiAgICBpZiAocHJpbWl0aXZlLnJlYWR5KSB7XHJcbiAgICAgIHByaW1pdGl2ZS5nZXRHZW9tZXRyeUluc3RhbmNlQXR0cmlidXRlcygpLmNvbG9yID0gY29sb3I7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBDZXNpdW0ud2hlbihwcmltaXRpdmUucmVhZHlQcm9taXNlKS50aGVuKChyZWFkeVByaW1pdGl2ZTogYW55KSA9PiB7XHJcbiAgICAgICAgcmVhZHlQcmltaXRpdmUuZ2V0R2VvbWV0cnlJbnN0YW5jZUF0dHJpYnV0ZXMoKS5jb2xvci52YWx1ZSA9IGNvbG9yO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcHJpbWl0aXZlO1xyXG4gIH1cclxufVxyXG4iXX0=