UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

45 lines 1.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RelativeOrientation = void 0; const tslib_1 = require("tslib"); const Orientation_1 = require("./Orientation"); const utils_1 = require("../../utils"); const decorators_1 = require("../decorators"); const RelativePosition_1 = require("./RelativePosition"); /** * Relative orientation relative to another object. This indicates the rotation * relative to another reference object. */ let RelativeOrientation = class RelativeOrientation extends RelativePosition_1.RelativePosition { constructor(referenceObject, orientation) { super(referenceObject, orientation, utils_1.AngleUnit.DEGREE); } /** * Orientation accuracy * @returns {Accuracy} Position accuracy */ get accuracy() { return this.referenceValue.accuracy; } set accuracy(value) { if (!value) { throw new Error(`Accuracy can not be undefined!`); } this.referenceValue.accuracy = value; } static fromQuaternion(quat) { return new Orientation_1.Orientation(quat.x, quat.y, quat.z, quat.w); } clone() { const vector = super.clone(); vector.accuracy = this.accuracy ? this.accuracy.clone() : undefined; vector.timestamp = this.timestamp; return vector; } }; exports.RelativeOrientation = RelativeOrientation; exports.RelativeOrientation = RelativeOrientation = tslib_1.__decorate([ (0, decorators_1.SerializableObject)(), tslib_1.__metadata("design:paramtypes", [Object, Orientation_1.Orientation]) ], RelativeOrientation); //# sourceMappingURL=RelativeOrientation.js.map