@openhps/core
Version:
Open Hybrid Positioning System - Core component
18 lines • 693 B
JavaScript
import { FrameMergeNode } from './FrameMergeNode';
/**
* @rdf {@link http://purl.org/poso/HighLevelFusion}
* @category Flow shape
*/
export class ObjectMergeNode extends 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;
}
}