UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

43 lines 1.2 kB
import { __decorate, __metadata } from "tslib"; import { Vector3 } from '../../utils/math/'; import { SerializableObject, SerializableMember } from '../decorators'; import { Accuracy } from './Accuracy'; let Accuracy2D = class Accuracy2D extends Accuracy { constructor(x, y, unit) { super(new Vector3(), unit); this.value.x = x; this.value.y = y; } /** * Convert the value to another unit * @param {Unit} unit Target unit * @returns {Accuracy2D} Converted value */ to(unit) { const accuracy = super.to(unit); accuracy.x = this.unit.convert(this.x, unit); accuracy.y = this.unit.convert(this.y, unit); return accuracy; } valueOf() { return (this.x + this.y) / 2; } toString() { return this.valueOf().toString(); } get x() { return this.value.x; } set x(val) { this.value.x = val; } get y() { return this.value.y; } set y(val) { this.value.y = val; } }; __decorate([SerializableMember(), __metadata("design:type", Vector3)], Accuracy2D.prototype, "value", void 0); Accuracy2D = __decorate([SerializableObject(), __metadata("design:paramtypes", [Number, Number, Object])], Accuracy2D); export { Accuracy2D };