angular-cesium
Version:
Angular library for working with Cesium.
26 lines • 4.41 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) {
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLXByaW1pdGl2ZS1kcmF3ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItY2VzaXVtLyIsInNvdXJjZXMiOlsibGliL2FuZ3VsYXItY2VzaXVtL3NlcnZpY2VzL2RyYXdlcnMvc3RhdGljLWR5bmFtaWMvc3RhdGljLXByaW1pdGl2ZS1kcmF3ZXIvc3RhdGljLXByaW1pdGl2ZS1kcmF3ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUc1Rjs7OztHQUlHO0FBQ0gsTUFBTSxPQUFnQixxQkFBc0IsU0FBUSx1QkFBdUI7SUFDekUsWUFBb0IsWUFBaUIsRUFBRSxhQUE0QjtRQUNqRSxLQUFLLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRC9CLGlCQUFZLEdBQVosWUFBWSxDQUFLO0lBRXJDLENBQUM7SUFFRCxHQUFHLENBQUMsYUFBa0IsRUFBRSxhQUFrQixFQUFFLGNBQW1CO1FBQzdELGFBQWEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlELGNBQWMsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM5RSxjQUFjLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUNwQyxNQUFNLFNBQVMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdkQsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBYyxFQUFFLGFBQWtCLEVBQUUsYUFBa0IsRUFBRSxjQUFtQjtRQUNoRixhQUFhLENBQUMsUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM5RCxjQUFjLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJpbWl0aXZlc0RyYXdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcmltaXRpdmVzLWRyYXdlci9wcmltaXRpdmVzLWRyYXdlci5zZXJ2aWNlJztcbmltcG9ydCB7IENlc2l1bVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jZXNpdW0vY2VzaXVtLnNlcnZpY2UnO1xuXG4vKipcbiAqXG4gKiBUaGlzIGRyYXdlciBpcyBkZXByZWNhdGVkLlxuICogR2VuZXJhbCBzdGF0aWMgcHJpbWl0aXZlcyBkcmF3ZXIgcmVzcG9uc2libGUgb2YgZHJhd2luZyBzdGF0aWMgQ2VzaXVtIHByaW1pdGl2ZXMgd2l0aCBtYXRlcmlhbC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFN0YXRpY1ByaW1pdGl2ZURyYXdlciBleHRlbmRzIFByaW1pdGl2ZXNEcmF3ZXJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBnZW9tZXRyeVR5cGU6IGFueSwgY2VzaXVtU2VydmljZTogQ2VzaXVtU2VydmljZSkge1xuICAgIHN1cGVyKENlc2l1bS5QcmltaXRpdmVDb2xsZWN0aW9uLCBjZXNpdW1TZXJ2aWNlKTtcbiAgfVxuXG4gIGFkZChnZW9tZXRyeVByb3BzOiBhbnksIGluc3RhbmNlUHJvcHM6IGFueSwgcHJpbWl0aXZlUHJvcHM6IGFueSk6IGFueSB7XG4gICAgaW5zdGFuY2VQcm9wcy5nZW9tZXRyeSA9IG5ldyB0aGlzLmdlb21ldHJ5VHlwZShnZW9tZXRyeVByb3BzKTtcbiAgICBwcmltaXRpdmVQcm9wcy5nZW9tZXRyeUluc3RhbmNlcyA9IG5ldyBDZXNpdW0uR2VvbWV0cnlJbnN0YW5jZShpbnN0YW5jZVByb3BzKTtcbiAgICBwcmltaXRpdmVQcm9wcy5hc3luY2hyb25vdXMgPSBmYWxzZTtcbiAgICBjb25zdCBwcmltaXRpdmUgPSBuZXcgQ2VzaXVtLlByaW1pdGl2ZShwcmltaXRpdmVQcm9wcyk7XG4gICAgcmV0dXJuIHN1cGVyLmFkZChwcmltaXRpdmUpO1xuICB9XG5cbiAgdXBkYXRlKHByaW1pdGl2ZTogYW55LCBnZW9tZXRyeVByb3BzOiBhbnksIGluc3RhbmNlUHJvcHM6IGFueSwgcHJpbWl0aXZlUHJvcHM6IGFueSkge1xuICAgIGluc3RhbmNlUHJvcHMuZ2VvbWV0cnkgPSBuZXcgdGhpcy5nZW9tZXRyeVR5cGUoZ2VvbWV0cnlQcm9wcyk7XG4gICAgcHJpbWl0aXZlUHJvcHMuZ2VvbWV0cnlJbnN0YW5jZXMgPSBuZXcgQ2VzaXVtLkdlb21ldHJ5SW5zdGFuY2UoaW5zdGFuY2VQcm9wcyk7XG4gICAgdGhpcy5fY2VzaXVtQ29sbGVjdGlvbi5yZW1vdmUocHJpbWl0aXZlKTtcbiAgICByZXR1cm4gc3VwZXIuYWRkKG5ldyBDZXNpdW0uUHJpbWl0aXZlKHByaW1pdGl2ZVByb3BzKSk7XG4gIH1cbn1cbiJdfQ==