UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

53 lines 1.55 kB
"use strict"; 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