Class TopologicalSplitter.Split<A,E extends SpatialComparable>
- java.lang.Object
-
- elki.index.tree.spatial.rstarvariants.strategies.split.TopologicalSplitter.Split<A,E>
-
- Type Parameters:
E- Actual entry type
- Enclosing class:
- TopologicalSplitter
private static class TopologicalSplitter.Split<A,E extends SpatialComparable> extends java.lang.ObjectInternal data for an actual split.- Author:
- Erich Schubert
-
-
Field Summary
Fields Modifier and Type Field Description (package private) DoubleIntPair[]bestSortingIndicates whether the sorting according to maximal or to minimal value has been used for choosing the split axis and split point.private intdimensionalityDimensionality.private AentriesThe entries we process.private ArrayAdapter<E,A>getterThe getter class for the entries.(package private) DoubleIntPair[]maxSortingThe entries sorted according to their max values of their MBRs.(package private) DoubleIntPair[]minSortingThe entries sorted according to their min values of their MBRs.private intsizeList size.(package private) intsplitPointThe index of the split point.
-
Constructor Summary
Constructors Constructor Description Split(A entries, ArrayAdapter<E,A> getter)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidchooseSplitAxis(int minEntries)Chooses a split axis.(package private) voidchooseSplitPoint(int minEntries)Chooses a split axis.protected voidfillAndSort(int dim)Fill the array with the dimension projection needed for sorting.private Eget(int off)Get an entry.private Eget(DoubleIntPair pair)Get an entry.protected voidinitMinMaxArrays()Init the arrays we use.private ModifiableHyperBoundingBoxmbr(DoubleIntPair[] sorting, int from, int to)Computes and returns the mbr of the specified nodes, only the nodes between from and to index are considered.
-
-
-
Field Detail
-
splitPoint
int splitPoint
The index of the split point.
-
bestSorting
DoubleIntPair[] bestSorting
Indicates whether the sorting according to maximal or to minimal value has been used for choosing the split axis and split point.
-
maxSorting
DoubleIntPair[] maxSorting
The entries sorted according to their max values of their MBRs.
-
minSorting
DoubleIntPair[] minSorting
The entries sorted according to their min values of their MBRs.
-
entries
private A entries
The entries we process.
-
getter
private ArrayAdapter<E extends SpatialComparable,A> getter
The getter class for the entries.
-
size
private int size
List size.
-
dimensionality
private int dimensionality
Dimensionality.
-
-
Constructor Detail
-
Split
public Split(A entries, ArrayAdapter<E,A> getter)
Constructor.- Parameters:
entries- Entires to splitgetter- Array adapter for entries
-
-
Method Detail
-
chooseSplitAxis
void chooseSplitAxis(int minEntries)
Chooses a split axis.- Parameters:
minEntries- number of minimum entries in the node to be split
-
initMinMaxArrays
protected void initMinMaxArrays()
Init the arrays we use.
-
fillAndSort
protected void fillAndSort(int dim)
Fill the array with the dimension projection needed for sorting.- Parameters:
dim- Relevant dimension.
-
chooseSplitPoint
void chooseSplitPoint(int minEntries)
Chooses a split axis.- Parameters:
minEntries- number of minimum entries in the node to be split
-
get
private E get(int off)
Get an entry.- Parameters:
off- Offset- Returns:
- Entry
-
get
private E get(DoubleIntPair pair)
Get an entry.- Parameters:
pair- Entry pair- Returns:
- Entry
-
mbr
private ModifiableHyperBoundingBox mbr(DoubleIntPair[] sorting, int from, int to)
Computes and returns the mbr of the specified nodes, only the nodes between from and to index are considered.- Parameters:
sorting- the array of nodesfrom- the start indexto- the end index- Returns:
- the mbr of the specified nodes
-
-