
static class ALOCI.ALOCIQuadTree extends Object
| Modifier and Type | Field and Description | 
|---|---|
| private double[] | minTree parameters | 
| private int | nminMaximum fill for a page before splitting | 
| private Relation<? extends NumberVector<?>> | relationRelation indexed. | 
| (package private) ALOCI.Node | rootTree root | 
| private double[] | shiftTree parameters | 
| private double[] | widthTree parameters | 
| Constructor and Description | 
|---|
| ALOCI.ALOCIQuadTree(double[] min,
                   double[] max,
                   double[] shift,
                   int nmin,
                   Relation<? extends NumberVector<?>> relation)Constructor. | 
| Modifier and Type | Method and Description | 
|---|---|
| private void | bulkLoad(double[] lmin,
        double[] lmax,
        List<ALOCI.Node> children,
        ArrayModifiableDBIDs ids,
        int start,
        int end,
        int dim,
        int level,
        int code)Bulk load the tree | 
| ALOCI.Node | findClosestNode(NumberVector<?> vec,
               int tlevel)Find the closest node (of depth tlevel or above, if there is no node at
 this depth) for the given vector. | 
| private double | getShiftedDim(NumberVector<?> obj,
             int dim,
             int level)Shift and wrap a single dimension. | 
private double[] shift
private double[] min
private double[] width
private int nmin
ALOCI.Node root
private Relation<? extends NumberVector<?>> relation
public ALOCI.ALOCIQuadTree(double[] min,
                   double[] max,
                   double[] shift,
                   int nmin,
                   Relation<? extends NumberVector<?>> relation)
min - Minimum coordinatesmax - Maximum coordinatesshift - Tree shift offsetnmin - Maximum size for a page to splitrelation - Relation to indexprivate void bulkLoad(double[] lmin,
            double[] lmax,
            List<ALOCI.Node> children,
            ArrayModifiableDBIDs ids,
            int start,
            int end,
            int dim,
            int level,
            int code)
lmin - Subtree minimum (unshifted, will be modified)lmax - Subtree maximum (unshifted, will be modified)children - List of children for current parentids - IDs to processstart - Start of ids subintervalend - End of ids subintervaldim - Current dimensionlevel - Current tree levelcode - Bit code of node positionprivate double getShiftedDim(NumberVector<?> obj, int dim, int level)
obj - Objectdim - Dimensionlevel - Level (controls scaling/wraping!)public ALOCI.Node findClosestNode(NumberVector<?> vec, int tlevel)
vec - Query vectortlevel - Target level