angular-cesium-ivy
Version:
Angular library for working with Angular-Cesium.
48 lines • 5.73 kB
JavaScript
import { AcEntity } from '../../angular-cesium/models/ac-entity';
export class EditPolyline extends AcEntity {
constructor(entityId, startPosition, endPosition, polylineProps) {
super();
this.editedEntityId = entityId;
this.id = this.generateId();
this.positions = [startPosition, endPosition];
this._polylineProps = Object.assign({}, polylineProps);
}
get props() {
return this._polylineProps;
}
set props(value) {
this._polylineProps = value;
}
getEditedEntityId() {
return this.editedEntityId;
}
getPositions() {
return this.positions.map(p => p.clone());
}
getPositionsCallbackProperty() {
return new Cesium.CallbackProperty(this.getPositions.bind(this), false);
}
validatePositions() {
return this.positions[0] !== undefined && this.positions[1] !== undefined;
}
getStartPosition() {
return this.positions[0];
}
getEndPosition() {
return this.positions[1];
}
setStartPosition(position) {
this.positions[0] = position;
}
setEndPosition(position) {
this.positions[1] = position;
}
getId() {
return this.id;
}
generateId() {
return 'edit-polyline-' + EditPolyline.counter++;
}
}
EditPolyline.counter = 0;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1wb2x5bGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY2VzaXVtL3NyYy9saWIvYW5ndWxhci1jZXNpdW0td2lkZ2V0cy9tb2RlbHMvZWRpdC1wb2x5bGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFJakUsTUFBTSxPQUFPLFlBQWEsU0FBUSxRQUFRO0lBT3hDLFlBQVksUUFBZ0IsRUFBRSxhQUF5QixFQUFFLFdBQXVCLEVBQUUsYUFBNkI7UUFDN0csS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxjQUFjLHFCQUFPLGFBQWEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEtBQW9CO1FBQzVCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUdELDRCQUE0QjtRQUMxQixPQUFPLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDO0lBQzVFLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELGdCQUFnQixDQUFDLFFBQW9CO1FBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDO0lBQy9CLENBQUM7SUFFRCxjQUFjLENBQUMsUUFBb0I7UUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUM7SUFDL0IsQ0FBQztJQUVELEtBQUs7UUFDSCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVPLFVBQVU7UUFDaEIsT0FBTyxnQkFBZ0IsR0FBRyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkQsQ0FBQzs7QUE3RE0sb0JBQU8sR0FBRyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY0VudGl0eSB9IGZyb20gJy4uLy4uL2FuZ3VsYXItY2VzaXVtL21vZGVscy9hYy1lbnRpdHknO1xuaW1wb3J0IHsgQ2FydGVzaWFuMyB9IGZyb20gJy4uLy4uL2FuZ3VsYXItY2VzaXVtL21vZGVscy9jYXJ0ZXNpYW4zJztcbmltcG9ydCB7IFBvbHlsaW5lUHJvcHMgfSBmcm9tICcuL3BvbHlsaW5lLWVkaXQtb3B0aW9ucyc7XG5cbmV4cG9ydCBjbGFzcyBFZGl0UG9seWxpbmUgZXh0ZW5kcyBBY0VudGl0eSB7XG4gIHN0YXRpYyBjb3VudGVyID0gMDtcbiAgcHJpdmF0ZSBlZGl0ZWRFbnRpdHlJZDogc3RyaW5nO1xuICBwcml2YXRlIGlkOiBzdHJpbmc7XG4gIHByaXZhdGUgcG9zaXRpb25zOiBDYXJ0ZXNpYW4zW107XG4gIHByaXZhdGUgX3BvbHlsaW5lUHJvcHM6IFBvbHlsaW5lUHJvcHM7XG5cbiAgY29uc3RydWN0b3IoZW50aXR5SWQ6IHN0cmluZywgc3RhcnRQb3NpdGlvbjogQ2FydGVzaWFuMywgZW5kUG9zaXRpb246IENhcnRlc2lhbjMsIHBvbHlsaW5lUHJvcHM/OiBQb2x5bGluZVByb3BzKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmVkaXRlZEVudGl0eUlkID0gZW50aXR5SWQ7XG4gICAgdGhpcy5pZCA9IHRoaXMuZ2VuZXJhdGVJZCgpO1xuICAgIHRoaXMucG9zaXRpb25zID0gW3N0YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9uXTtcbiAgICB0aGlzLl9wb2x5bGluZVByb3BzID0gey4uLnBvbHlsaW5lUHJvcHN9O1xuICB9XG5cbiAgZ2V0IHByb3BzKCk6IFBvbHlsaW5lUHJvcHMge1xuICAgIHJldHVybiB0aGlzLl9wb2x5bGluZVByb3BzO1xuICB9XG5cbiAgc2V0IHByb3BzKHZhbHVlOiBQb2x5bGluZVByb3BzKSB7XG4gICAgdGhpcy5fcG9seWxpbmVQcm9wcyA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0RWRpdGVkRW50aXR5SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5lZGl0ZWRFbnRpdHlJZDtcbiAgfVxuXG4gIGdldFBvc2l0aW9ucygpOiBhbnlbXSB7XG4gICAgcmV0dXJuIHRoaXMucG9zaXRpb25zLm1hcChwID0+IHAuY2xvbmUoKSk7XG4gIH1cblxuXG4gIGdldFBvc2l0aW9uc0NhbGxiYWNrUHJvcGVydHkoKTogQ2FydGVzaWFuM1tdIHtcbiAgICByZXR1cm4gbmV3IENlc2l1bS5DYWxsYmFja1Byb3BlcnR5KHRoaXMuZ2V0UG9zaXRpb25zLmJpbmQodGhpcyksIGZhbHNlKTtcbiAgfVxuXG4gIHZhbGlkYXRlUG9zaXRpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBvc2l0aW9uc1swXSAhPT0gdW5kZWZpbmVkICYmIHRoaXMucG9zaXRpb25zWzFdICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRTdGFydFBvc2l0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnBvc2l0aW9uc1swXTtcbiAgfVxuXG4gIGdldEVuZFBvc2l0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnBvc2l0aW9uc1sxXTtcbiAgfVxuXG4gIHNldFN0YXJ0UG9zaXRpb24ocG9zaXRpb246IENhcnRlc2lhbjMpIHtcbiAgICB0aGlzLnBvc2l0aW9uc1swXSA9IHBvc2l0aW9uO1xuICB9XG5cbiAgc2V0RW5kUG9zaXRpb24ocG9zaXRpb246IENhcnRlc2lhbjMpIHtcbiAgICB0aGlzLnBvc2l0aW9uc1sxXSA9IHBvc2l0aW9uO1xuICB9XG5cbiAgZ2V0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnZWRpdC1wb2x5bGluZS0nICsgRWRpdFBvbHlsaW5lLmNvdW50ZXIrKztcbiAgfVxufVxuIl19