Class TopologicalSplitter.Split<A,​E extends SpatialComparable>

  • 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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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.
      • 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 split
        getter - 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 nodes
        from - the start index
        to - the end index
        Returns:
        the mbr of the specified nodes