@openhps/core
Version:
Open Hybrid Positioning System - Core component
53 lines • 1.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Accuracy2D = void 0;
const tslib_1 = require("tslib");
const math_1 = require("../../utils/math/");
const decorators_1 = require("../decorators");
const Accuracy_1 = require("./Accuracy");
let Accuracy2D = class Accuracy2D extends Accuracy_1.Accuracy {
constructor(x, y, unit) {
super(new math_1.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;
}
};
exports.Accuracy2D = Accuracy2D;
tslib_1.__decorate([
(0, decorators_1.SerializableMember)(),
tslib_1.__metadata("design:type", math_1.Vector3)
], Accuracy2D.prototype, "value", void 0);
exports.Accuracy2D = Accuracy2D = tslib_1.__decorate([
(0, decorators_1.SerializableObject)(),
tslib_1.__metadata("design:paramtypes", [Number, Number, Object])
], Accuracy2D);
//# sourceMappingURL=Accuracy2D.js.map