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.Object
Internal data for an actual split.- Author:
- Erich Schubert
-
-
Field Summary
Fields Modifier and Type Field Description (package private) DoubleIntPair[]
bestSorting
Indicates whether the sorting according to maximal or to minimal value has been used for choosing the split axis and split point.private int
dimensionality
Dimensionality.private A
entries
The entries we process.private ArrayAdapter<E,A>
getter
The getter class for the entries.(package private) DoubleIntPair[]
maxSorting
The entries sorted according to their max values of their MBRs.(package private) DoubleIntPair[]
minSorting
The entries sorted according to their min values of their MBRs.private int
size
List size.(package private) int
splitPoint
The 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) void
chooseSplitAxis(int minEntries)
Chooses a split axis.(package private) void
chooseSplitPoint(int minEntries)
Chooses a split axis.protected void
fillAndSort(int dim)
Fill the array with the dimension projection needed for sorting.private E
get(int off)
Get an entry.private E
get(DoubleIntPair pair)
Get an entry.protected void
initMinMaxArrays()
Init the arrays we use.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.
-
-
-
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
-
-