Skip to content
Snippets Groups Projects
KDNode.java 1.1 KiB
Newer Older
  • Learn to ignore specific revisions
  • Vojtech Moravec's avatar
    Vojtech Moravec committed
    package azgracompress.kdtree;
    
    public class KDNode {
    
        private final int discriminator;
        private final int partition;
    
    Vojtech Moravec's avatar
    Vojtech Moravec committed
    
        private final KDNode loSon;
        private final KDNode hiSon;
    
        protected KDNode() {
    
            discriminator = -1;
            partition = -1;
    
    Vojtech Moravec's avatar
    Vojtech Moravec committed
            loSon = null;
            hiSon = null;
        }
    
    
        public KDNode(final int keyIndex, final int median, final KDNode loSon, final KDNode hiSon) {
    
            this.discriminator = keyIndex;
            this.partition = median;
    
    Vojtech Moravec's avatar
    Vojtech Moravec committed
            this.loSon = loSon;
            this.hiSon = hiSon;
        }
    
        public final KDNode getLoSon() {
            return loSon;
        }
    
        public final KDNode getHiSon() {
            return hiSon;
        }
    
    
        public final int getDiscriminator() {
            return discriminator;
    
        public final int getPartition() {
            return partition;
    
    Vojtech Moravec's avatar
    Vojtech Moravec committed
        }
    
        public boolean isTerminal() {
            return false;
        }
    
    
        private static double coordinateDistance(final double x, final double y) {
            return Math.pow((x - y), 2);
        }
    
    
        private static double dissimilarity(final double value) {
    
            return Math.sqrt(value);
        }