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