E
- Actual entry typeprivate class TopologicalSplitter.Split<A,E extends SpatialComparable> extends Object
Modifier and Type | Field and 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 and Description |
---|
TopologicalSplitter.Split(A entries,
ArrayAdapter<E,A> getter)
Constructor.
|
Modifier and Type | Method and 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(DoubleIntPair pair) |
private E |
get(int off) |
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.
|
int splitPoint
DoubleIntPair[] bestSorting
DoubleIntPair[] maxSorting
DoubleIntPair[] minSorting
private A entries
private ArrayAdapter<E extends SpatialComparable,A> getter
private int size
private int dimensionality
public TopologicalSplitter.Split(A entries, ArrayAdapter<E,A> getter)
void chooseSplitAxis(int minEntries)
minEntries
- number of minimum entries in the node to be splitprotected void initMinMaxArrays()
protected void fillAndSort(int dim)
dim
- Relevant dimension.void chooseSplitPoint(int minEntries)
minEntries
- number of minimum entries in the node to be splitprivate E get(int off)
private E get(DoubleIntPair pair)
private ModifiableHyperBoundingBox mbr(DoubleIntPair[] sorting, int from, int to)
sorting
- the array of nodesfrom
- the start indexto
- the end index