Class PackedQuadPrefixTree.PackedQuadCell

    • Method Detail

      • isEnd

        public boolean isEnd​(int level,
                             int shift)
      • nextCell

        public PackedQuadPrefixTree.PackedQuadCell nextCell​(boolean descend)
        Get the next cell in the tree without using recursion. descend parameter requests traversal to the child nodes, setting this to false will step to the next sibling. Note: This complies with lexicographical ordering, once you've moved to the next sibling there is no backtracking.
      • getTokenBytesWithLeaf

        public BytesRef getTokenBytesWithLeaf​(BytesRef result)
        Description copied from interface: Cell
        Returns the bytes for this cell, with a leaf byte if this is a leaf cell. The result param is used to save object allocation, though its bytes aren't used.
        Specified by:
        getTokenBytesWithLeaf in interface Cell
        Overrides:
        getTokenBytesWithLeaf in class LegacyCell
        Parameters:
        result - where the result goes, or null to create new
      • compareToNoLeaf

        public int compareToNoLeaf​(Cell fromCell)
        Description copied from interface: Cell
        Equivalent to this.getTokenBytesNoLeaf(null).compareTo(fromCell.getTokenBytesNoLeaf(null)).
        Specified by:
        compareToNoLeaf in interface Cell
        Overrides:
        compareToNoLeaf in class LegacyCell
      • getLevel

        public int getLevel()
        Description copied from interface: Cell
        Level 0 is the world (and has no parent), from then on a higher level means a smaller cell than the level before it.
        Specified by:
        getLevel in interface Cell
        Overrides:
        getLevel in class LegacyCell
      • getSubCells

        protected Collection<Cell> getSubCells()
        Description copied from class: LegacyCell
        Gets the cells at the next grid cell level that covers this cell. Precondition: Never called when getLevel() == maxLevel.
        Overrides:
        getSubCells in class QuadPrefixTree.QuadCell
        Returns:
        A set of cells (no dups), sorted, modifiable, not empty, not null.
      • getSubCell

        protected QuadPrefixTree.QuadCell getSubCell​(org.locationtech.spatial4j.shape.Point p)
        Description copied from class: LegacyCell
        Performant implementations are expected to implement this efficiently by considering the current cell's boundary.
        • Precondition: Never called when getLevel() == maxLevel.
        • Precondition: this.getShape().relate(p) != DISJOINT.
        Overrides:
        getSubCell in class QuadPrefixTree.QuadCell
      • isPrefixOf

        public boolean isPrefixOf​(Cell c)
        Description copied from interface: Cell
        Returns if the target term is within/underneath this cell; not necessarily a direct descendant.
        Specified by:
        isPrefixOf in interface Cell
        Overrides:
        isPrefixOf in class LegacyCell
        Parameters:
        c - the term
      • concat

        protected long concat​(byte postfix)
      • makeShape

        protected org.locationtech.spatial4j.shape.Rectangle makeShape()
        Constructs a bounding box shape out of the encoded cell
        Overrides:
        makeShape in class QuadPrefixTree.QuadCell
      • toString

        public String toString()
        Used for debugging, this will print the bits of the cell
        Overrides:
        toString in class LegacyCell