Class KdNode


  • public class KdNode
    extends java.lang.Object
    A node of a KdTree, which represents one or more points in the same location.
    Author:
    dskea
    • Constructor Summary

      Constructors 
      Constructor Description
      KdNode​(double _x, double _y, java.lang.Object data)
      Creates a new KdNode.
      KdNode​(Coordinate p, java.lang.Object data)
      Creates a new KdNode.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Coordinate getCoordinate()
      Returns the location of this node
      int getCount()
      Returns the number of inserted points that are coincident at this location.
      java.lang.Object getData()
      Gets the user data object associated with this node.
      KdNode getLeft()
      Returns the left node of the tree
      KdNode getRight()
      Returns the right node of the tree
      double getX()
      Returns the X coordinate of the node
      double getY()
      Returns the Y coordinate of the node
      boolean isRepeated()
      Tests whether more than one point with this value have been inserted (up to the tolerance)
      double splitValue​(boolean isSplitOnX)
      Gets the split value at a node, depending on whether the node splits on X or Y.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • KdNode

        public KdNode​(double _x,
                      double _y,
                      java.lang.Object data)
        Creates a new KdNode.
        Parameters:
        _x - coordinate of point
        _y - coordinate of point
        data - a data objects to associate with this node
      • KdNode

        public KdNode​(Coordinate p,
                      java.lang.Object data)
        Creates a new KdNode.
        Parameters:
        p - point location of new node
        data - a data objects to associate with this node
    • Method Detail

      • getX

        public double getX()
        Returns the X coordinate of the node
        Returns:
        X coordinate of the node
      • getY

        public double getY()
        Returns the Y coordinate of the node
        Returns:
        Y coordinate of the node
      • splitValue

        public double splitValue​(boolean isSplitOnX)
        Gets the split value at a node, depending on whether the node splits on X or Y. The X (or Y) ordinates of all points in the left subtree are less than the split value, and those in the right subtree are greater than or equal to the split value.
        Parameters:
        isSplitOnX - whether the node splits on X or Y
        Returns:
        the splitting value
      • getCoordinate

        public Coordinate getCoordinate()
        Returns the location of this node
        Returns:
        p location of this node
      • getData

        public java.lang.Object getData()
        Gets the user data object associated with this node.
        Returns:
        user data
      • getLeft

        public KdNode getLeft()
        Returns the left node of the tree
        Returns:
        left node
      • getRight

        public KdNode getRight()
        Returns the right node of the tree
        Returns:
        right node
      • getCount

        public int getCount()
        Returns the number of inserted points that are coincident at this location.
        Returns:
        number of inserted points that this node represents
      • isRepeated

        public boolean isRepeated()
        Tests whether more than one point with this value have been inserted (up to the tolerance)
        Returns:
        true if more than one point have been inserted with this value