UNPKG

node-red-contrib-tak-registration

Version:

A Node-RED node to register to TAK and to help wrap files as datapackages to send to TAK

38 lines (36 loc) 1.15 kB
import NodeBase from './NodeBase' import Node from './Node' import IntervalSize from '../quadtree/IntervalSize' import Assert from '../../util/Assert' export default class Root extends NodeBase { insert (itemInterval, item) { var index = NodeBase.getSubnodeIndex(itemInterval, Root.origin) if (index === -1) { this.add(item) return null } var node = this._subnode[index] if (node === null || !node.getInterval().contains(itemInterval)) { var largerNode = Node.createExpanded(node, itemInterval) this._subnode[index] = largerNode } this.insertContained(this._subnode[index], itemInterval, item) } isSearchMatch (interval) { return true } insertContained (tree, itemInterval, item) { Assert.isTrue(tree.getInterval().contains(itemInterval)) var isZeroArea = IntervalSize.isZeroWidth(itemInterval.getMin(), itemInterval.getMax()) var node = null if (isZeroArea) node = tree.find(itemInterval); else node = tree.getNode(itemInterval) node.add(item) } interfaces_ () { return [] } getClass () { return Root } static get origin () { return 0.0 } }