UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

36 lines 1.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AccuracyModifierNode = void 0; const utils_1 = require("../../utils"); const ObjectProcessingNode_1 = require("../ObjectProcessingNode"); /** * Accuracy modifier node. Apply an offset of magnitude to the position accuracy. * @category Processing node */ class AccuracyModifierNode extends ObjectProcessingNode_1.ObjectProcessingNode { constructor(options) { super(options); this.options.offsetUnit = this.options.offsetUnit || utils_1.LengthUnit.METER; this.options.offset = this.options.offset || 0; this.options.magnitude = this.options.magnitude || 1; } processObject(object) { return new Promise((resolve) => { if (object.position) { if (this.options.value) { object.position.accuracy.value = utils_1.LengthUnit.METER.convert(this.options.value, object.position.unit); } else { const accuracy = object.position.accuracy.value || this.options.defaultValue; if (accuracy) { const offset = this.options.offsetUnit.convert(this.options.offset, object.position.unit); object.position.accuracy.value = accuracy * this.options.magnitude + offset; } } } resolve(object); }); } } exports.AccuracyModifierNode = AccuracyModifierNode; //# sourceMappingURL=AccuracyModifierNode.js.map