@eliorar/angular-cesium
Version:
Angular library for working with Cesium.
114 lines • 12.9 kB
JavaScript
import { CallbackProperty, Color } from 'cesium';
import { AcEntity } from '../../angular-cesium/models/ac-entity';
import { EditPoint } from './edit-point';
import { defaultLabelProps } from './label-props';
export class EditablePoint extends AcEntity {
constructor(id, pointLayer, coordinateConverter, editOptions, position) {
super();
this.id = id;
this.pointLayer = pointLayer;
this.coordinateConverter = coordinateConverter;
this.editOptions = editOptions;
this._enableEdit = true;
this._labels = [];
this._props = { ...editOptions.pointProps };
if (position) {
this.createFromExisting(position);
}
}
get labels() {
return this._labels;
}
set labels(labels) {
if (!labels) {
return;
}
const position = this.point.getPosition();
this._labels = labels.map((label, index) => {
if (!label.position) {
label.position = position;
}
return Object.assign({}, defaultLabelProps, label);
});
}
get props() {
return this._props;
}
set props(value) {
this._props = value;
}
get enableEdit() {
return this._enableEdit;
}
set enableEdit(value) {
this._enableEdit = value;
if (value) {
this.point.props.color = Color.WHITE;
}
else {
this.point.props.color = Color.DIMGREY;
this.point.props.pixelSize = 10;
}
this.updatePointLayer();
}
createFromExisting(position) {
this.point = new EditPoint(this.id, position, this._props);
this.updatePointLayer();
}
hasPosition(point) {
if (point.position) {
return true;
}
return false;
}
setManually(point, props) {
if (!this.enableEdit) {
throw new Error('Update manually only in edit mode, after point is created');
}
let newProps = props;
if (this.hasPosition(point)) {
newProps = point.pointProp ? point.pointProp : props;
this.point.setPosition(point.position);
}
else {
this.point.setPosition(point);
}
this.point.props = newProps;
this.updatePointLayer();
}
addLastPoint(position) {
this.point.setPosition(position);
this.updatePointLayer();
}
movePoint(toPosition) {
if (!this.point) {
this.point = new EditPoint(this.id, toPosition, this._props);
}
else {
this.point.setPosition(toPosition);
}
this.updatePointLayer();
}
getCurrentPoint() {
return this.point;
}
getPosition() {
return this.point.getPosition();
}
getPositionCallbackProperty() {
return new CallbackProperty(this.getPosition.bind(this), false);
}
updatePointLayer() {
this.pointLayer.update(this.point, this.point.getId());
}
update() {
this.updatePointLayer();
}
dispose() {
this.pointLayer.remove(this.point.getId());
}
getId() {
return this.id;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGFibGUtcG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNlc2l1bS9zcmMvbGliL2FuZ3VsYXItY2VzaXVtLXdpZGdldHMvbW9kZWxzL2VkaXRhYmxlLXBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBYyxLQUFLLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFFM0QsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBRS9ELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDdkMsT0FBTyxFQUFDLGlCQUFpQixFQUFhLE1BQU0sZUFBZSxDQUFDO0FBUTVELE1BQU0sT0FBTyxhQUFjLFNBQVEsUUFBUTtJQU16QyxZQUFvQixFQUFVLEVBQ1YsVUFBNEIsRUFDNUIsbUJBQXdDLEVBQ3hDLFdBQTZCLEVBQ3JDLFFBQXFCO1FBQy9CLEtBQUssRUFBRSxDQUFDO1FBTFUsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUNWLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBUHpDLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBRW5CLFlBQU8sR0FBaUIsRUFBRSxDQUFDO1FBUWpDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBQyxHQUFHLFdBQVcsQ0FBQyxVQUFVLEVBQUMsQ0FBQztRQUMxQyxJQUFJLFFBQVEsRUFBRTtZQUNaLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE1BQW9CO1FBQzdCLElBQUksQ0FBQyxNQUFNLEVBQUU7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RyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUQ7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3BDO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELDJCQUEyQjtRQUN6QixPQUFPLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2FsbGJhY2tQcm9wZXJ0eSwgQ2FydGVzaWFuMywgQ29sb3J9IGZyb20gJ2Nlc2l1bSc7XG5pbXBvcnQge0FjTGF5ZXJDb21wb25lbnR9IGZyb20gJy4uLy4uL2FuZ3VsYXItY2VzaXVtL2NvbXBvbmVudHMvYWMtbGF5ZXIvYWMtbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7QWNFbnRpdHl9IGZyb20gJy4uLy4uL2FuZ3VsYXItY2VzaXVtL21vZGVscy9hYy1lbnRpdHknO1xuaW1wb3J0IHtDb29yZGluYXRlQ29udmVydGVyfSBmcm9tICcuLi8uLi9hbmd1bGFyLWNlc2l1bS9zZXJ2aWNlcy9jb29yZGluYXRlLWNvbnZlcnRlci9jb29yZGluYXRlLWNvbnZlcnRlci5zZXJ2aWNlJztcbmltcG9ydCB7RWRpdFBvaW50fSBmcm9tICcuL2VkaXQtcG9pbnQnO1xuaW1wb3J0IHtkZWZhdWx0TGFiZWxQcm9wcywgTGFiZWxQcm9wc30gZnJvbSAnLi9sYWJlbC1wcm9wcyc7XG5pbXBvcnQge1BvaW50RWRpdE9wdGlvbnMsIFBvaW50UHJvcHN9IGZyb20gJy4vcG9pbnQtZWRpdC1vcHRpb25zJztcblxuaW50ZXJmYWNlIFBvc2l0aW9uV2l0aFBvaW50UHJvcHMge1xuICBwb3NpdGlvbjogQ2FydGVzaWFuMztcbiAgcG9pbnRQcm9wPzogUG9pbnRQcm9wcztcbn1cblxuZXhwb3J0IGNsYXNzIEVkaXRhYmxlUG9pbnQgZXh0ZW5kcyBBY0VudGl0eSB7XG4gIHByaXZhdGUgcG9pbnQ6IEVkaXRQb2ludDtcbiAgcHJpdmF0ZSBfZW5hYmxlRWRpdCA9IHRydWU7XG4gIHByaXZhdGUgX3Byb3BzOiBQb2ludFByb3BzO1xuICBwcml2YXRlIF9sYWJlbHM6IExhYmVsUHJvcHNbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaWQ6IHN0cmluZyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBwb2ludExheWVyOiBBY0xheWVyQ29tcG9uZW50LFxuICAgICAgICAgICAgICBwcml2YXRlIGNvb3JkaW5hdGVDb252ZXJ0ZXI6IENvb3JkaW5hdGVDb252ZXJ0ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgZWRpdE9wdGlvbnM6IFBvaW50RWRpdE9wdGlvbnMsXG4gICAgICAgICAgICAgIHBvc2l0aW9uPzogQ2FydGVzaWFuMykge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fcHJvcHMgPSB7Li4uZWRpdE9wdGlvbnMucG9pbnRQcm9wc307XG4gICAgaWYgKHBvc2l0aW9uKSB7XG4gICAgICB0aGlzLmNyZWF0ZUZyb21FeGlzdGluZyhwb3NpdGlvbik7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGxhYmVscygpOiBMYWJlbFByb3BzW10ge1xuICAgIHJldHVybiB0aGlzLl9sYWJlbHM7XG4gIH1cblxuICBzZXQgbGFiZWxzKGxhYmVsczogTGFiZWxQcm9wc1tdKSB7XG4gICAgaWYgKCFsYWJlbHMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcG9zaXRpb24gPSB0aGlzLnBvaW50LmdldFBvc2l0aW9uKCk7XG4gICAgdGhpcy5fbGFiZWxzID0gbGFiZWxzLm1hcCgobGFiZWwsIGluZGV4KSA9PiB7XG4gICAgICBpZiAoIWxhYmVsLnBvc2l0aW9uKSB7XG4gICAgICAgIGxhYmVsLnBvc2l0aW9uID0gcG9zaXRpb247XG4gICAgICB9XG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdExhYmVsUHJvcHMsIGxhYmVsKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBwcm9wcygpOiBQb2ludFByb3BzIHtcbiAgICByZXR1cm4gdGhpcy5fcHJvcHM7XG4gIH1cblxuICBzZXQgcHJvcHModmFsdWU6IFBvaW50UHJvcHMpIHtcbiAgICB0aGlzLl9wcm9wcyA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGVuYWJsZUVkaXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2VuYWJsZUVkaXQ7XG4gIH1cblxuICBzZXQgZW5hYmxlRWRpdCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2VuYWJsZUVkaXQgPSB2YWx1ZTtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMucG9pbnQucHJvcHMuY29sb3IgPSBDb2xvci5XSElURTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wb2ludC5wcm9wcy5jb2xvciA9IENvbG9yLkRJTUdSRVk7XG4gICAgICB0aGlzLnBvaW50LnByb3BzLnBpeGVsU2l6ZSA9IDEwO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZVBvaW50TGF5ZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRnJvbUV4aXN0aW5nKHBvc2l0aW9uOiBDYXJ0ZXNpYW4zKSB7XG4gICAgdGhpcy5wb2ludCA9IG5ldyBFZGl0UG9pbnQodGhpcy5pZCwgcG9zaXRpb24sIHRoaXMuX3Byb3BzKTtcbiAgICB0aGlzLnVwZGF0ZVBvaW50TGF5ZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFzUG9zaXRpb24ocG9pbnQ6IFBvc2l0aW9uV2l0aFBvaW50UHJvcHMgfCBDYXJ0ZXNpYW4zKTogcG9pbnQgaXMgUG9zaXRpb25XaXRoUG9pbnRQcm9wcyB7XG4gICAgaWYgKChwb2ludCBhcyBQb3NpdGlvbldpdGhQb2ludFByb3BzKS5wb3NpdGlvbikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHNldE1hbnVhbGx5KHBvaW50OiBQb3NpdGlvbldpdGhQb2ludFByb3BzIHwgQ2FydGVzaWFuMywgcHJvcHM/OiBQb2ludFByb3BzKSB7XG4gICAgaWYgKCF0aGlzLmVuYWJsZUVkaXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVXBkYXRlIG1hbnVhbGx5IG9ubHkgaW4gZWRpdCBtb2RlLCBhZnRlciBwb2ludCBpcyBjcmVhdGVkJyk7XG4gICAgfVxuICAgIGxldCBuZXdQcm9wcyA9IHByb3BzO1xuICAgIGlmICh0aGlzLmhhc1Bvc2l0aW9uKHBvaW50KSkge1xuICAgICAgbmV3UHJvcHMgPSBwb2ludC5wb2ludFByb3AgPyBwb2ludC5wb2ludFByb3AgOiBwcm9wcztcbiAgICAgIHRoaXMucG9pbnQuc2V0UG9zaXRpb24ocG9pbnQucG9zaXRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBvaW50LnNldFBvc2l0aW9uKHBvaW50KTtcbiAgICB9XG4gICAgdGhpcy5wb2ludC5wcm9wcyA9IG5ld1Byb3BzO1xuICAgIHRoaXMudXBkYXRlUG9pbnRMYXllcigpO1xuICB9XG5cbiAgYWRkTGFzdFBvaW50KHBvc2l0aW9uOiBDYXJ0ZXNpYW4zKSB7XG4gICAgdGhpcy5wb2ludC5zZXRQb3NpdGlvbihwb3NpdGlvbik7XG4gICAgdGhpcy51cGRhdGVQb2ludExheWVyKCk7XG4gIH1cblxuICBtb3ZlUG9pbnQodG9Qb3NpdGlvbjogQ2FydGVzaWFuMykge1xuICAgIGlmICghdGhpcy5wb2ludCkge1xuICAgICAgdGhpcy5wb2ludCA9IG5ldyBFZGl0UG9pbnQodGhpcy5pZCwgdG9Qb3NpdGlvbiwgdGhpcy5fcHJvcHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBvaW50LnNldFBvc2l0aW9uKHRvUG9zaXRpb24pO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZVBvaW50TGF5ZXIoKTtcbiAgfVxuXG4gIGdldEN1cnJlbnRQb2ludCgpOiBFZGl0UG9pbnQge1xuICAgIHJldHVybiB0aGlzLnBvaW50O1xuICB9XG5cbiAgZ2V0UG9zaXRpb24oKTogQ2FydGVzaWFuMyB7XG4gICAgcmV0dXJuIHRoaXMucG9pbnQuZ2V0UG9zaXRpb24oKTtcbiAgfVxuXG4gIGdldFBvc2l0aW9uQ2FsbGJhY2tQcm9wZXJ0eSgpOiBDYWxsYmFja1Byb3BlcnR5IHtcbiAgICByZXR1cm4gbmV3IENhbGxiYWNrUHJvcGVydHkodGhpcy5nZXRQb3NpdGlvbi5iaW5kKHRoaXMpLCBmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVBvaW50TGF5ZXIoKSB7XG4gICAgdGhpcy5wb2ludExheWVyLnVwZGF0ZSh0aGlzLnBvaW50LCB0aGlzLnBvaW50LmdldElkKCkpO1xuICB9XG5cbiAgdXBkYXRlKCkge1xuICAgIHRoaXMudXBkYXRlUG9pbnRMYXllcigpO1xuICB9XG5cbiAgZGlzcG9zZSgpIHtcbiAgICB0aGlzLnBvaW50TGF5ZXIucmVtb3ZlKHRoaXMucG9pbnQuZ2V0SWQoKSk7XG4gIH1cblxuICBnZXRJZCgpIHtcbiAgICByZXR1cm4gdGhpcy5pZDtcbiAgfVxufVxuIl19