@openhps/core
Version:
Open Hybrid Positioning System - Core component
29 lines • 1.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ObjectMergeNode = void 0;
const FrameMergeNode_1 = require("./FrameMergeNode");
/**
* @rdf {@link http://purl.org/poso/HighLevelFusion}
* @category Flow shape
*/
class ObjectMergeNode extends FrameMergeNode_1.FrameMergeNode {
constructor(groupFn, options) {
super((frame) => frame
.getObjects()
.filter((value) => this.options.objectFilter(value, frame))
.map((object) => object.uid), groupFn, options);
this.options.objectFilter = this.options.objectFilter || (() => true);
}
merge(frames) {
const mergedFrame = super.merge(frames);
mergedFrame
.getObjects()
.filter((object) => !this.options.objectFilter(object, mergedFrame))
.forEach((obj) => {
mergedFrame.removeObject(obj);
});
return mergedFrame;
}
}
exports.ObjectMergeNode = ObjectMergeNode;
//# sourceMappingURL=ObjectMergeNode.js.map