@openhps/core
Version:
Open Hybrid Positioning System - Core component
45 lines • 1.67 kB
JavaScript
;
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