Algorithms.KdTree.Insert C# (CSharp) Method

Insert() private method

private Insert ( KdNode node, Point2D p, bool vertical ) : KdNode
node KdNode
p Point2D
vertical bool
return KdNode
        private KdNode Insert(KdNode node, Point2D p, bool vertical) {
            if (node == null) {
                size++;
                return new KdNode(p.X, p.Y, vertical);
            }
            if (node.X.Equals(p.X) && node.Y.Equals(p.Y)) {
                return node;
            }
            if (node.Vertical && p.X < node.X || !node.Vertical && p.Y < node.Y) {
                node.Left = Insert(node.Left, p, !node.Vertical);
            }
            else {
                node.Right = Insert(node.Right, p, !node.Vertical);
            }
            return node;
        }

Same methods

KdTree::Insert ( Point2D point ) : void