Skip to content
Snippets Groups Projects
TerminalKDNode.java 908 B
Newer Older
  • Learn to ignore specific revisions
  • Vojtech Moravec's avatar
    Vojtech Moravec committed
    package azgracompress.kdtree;
    
    
    import azgracompress.utilities.Utils;
    
    
    Vojtech Moravec's avatar
    Vojtech Moravec committed
    public class TerminalKDNode extends KDNode {
    
    
        private final int[] bucketIndices;
    
        public TerminalKDNode(final int[] bucketIndices) {
    
    Vojtech Moravec's avatar
    Vojtech Moravec committed
            super();
    
            this.bucketIndices = bucketIndices;
    
    Vojtech Moravec's avatar
    Vojtech Moravec committed
        }
    
        @Override
        public boolean isTerminal() {
            return true;
        }
    
    
        public int[] getBucketIndices() {
            return bucketIndices;
    
        public void findNearestNeighborInBucket(final int[] queryRecord, final KDTree.BBFSearchInfo searchInfo) {
    
            for (final int index : bucketIndices) {
                recordDistance = Utils.calculateEuclideanDistance(queryRecord, searchInfo.getFeatureVectors()[index]);
    
                if (recordDistance < searchInfo.getNearestVectorDistance()) {
                    searchInfo.setNearestRecord(index, recordDistance);