UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

18 lines 693 B
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; } }