## Uses of Interface
org.apache.lucene.spatial.prefix.tree.Cell

- Packages that use Cell
  Package | Description
  --- | ---
  org.apache.lucene.spatial.prefix | Prefix Tree Strategy.
  org.apache.lucene.spatial.prefix.tree | This package is about SpatialPrefixTree and any supporting classes.

- - ### Uses of Cell in org.apache.lucene.spatial.prefix

    Fields in org.apache.lucene.spatial.prefix with type parameters of type Cell
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Iterator<Cell>` | CellToBytesRefIterator.`cellIter` |

    Methods in org.apache.lucene.spatial.prefix that return types with arguments of type Cell
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected Iterator<Cell>` | PrefixTreeStrategy.`createCellIteratorToIndex​(org.locationtech.spatial4j.shape.Shape shape, int detailLevel, Iterator<Cell> reuse)` |
    `protected Iterator<Cell>` | RecursivePrefixTreeStrategy.`createCellIteratorToIndex​(org.locationtech.spatial4j.shape.Shape shape, int detailLevel, Iterator<Cell> reuse)` |

    Methods in org.apache.lucene.spatial.prefix with parameters of type Cell
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected CellIterator` | AbstractVisitingPrefixTreeQuery.VisitorTemplate.`findSubCellsToVisit​(Cell cell)` | Called when doing a divide and conquer to find the next intersecting cells of the query shape that are beneath `cell`.
    `abstract void` | PrefixTreeFacetCounter.FacetVisitor.`visit​(Cell cell, int count)` | Called for cells with a leaf, or cells at the target facet level.
    `protected abstract void` | AbstractVisitingPrefixTreeQuery.VisitorTemplate.`visitLeaf​(Cell cell)` | Called when an indexed leaf cell is found.
    `protected abstract boolean` | AbstractVisitingPrefixTreeQuery.VisitorTemplate.`visitPrefix​(Cell cell)` | Visit an indexed non-leaf cell.
    `protected void` | AbstractVisitingPrefixTreeQuery.VisitorTemplate.`visitScanned​(Cell cell)` | The cell is either indexed as a leaf or is the last level of detail.

    Method parameters in org.apache.lucene.spatial.prefix with type arguments of type Cell
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected Iterator<Cell>` | PrefixTreeStrategy.`createCellIteratorToIndex​(org.locationtech.spatial4j.shape.Shape shape, int detailLevel, Iterator<Cell> reuse)` |
    `protected Iterator<Cell>` | RecursivePrefixTreeStrategy.`createCellIteratorToIndex​(org.locationtech.spatial4j.shape.Shape shape, int detailLevel, Iterator<Cell> reuse)` |
    `void` | CellToBytesRefIterator.`reset​(Iterator<Cell> cellIter)` |

  - ### Uses of Cell in org.apache.lucene.spatial.prefix.tree

    Subinterfaces of Cell in org.apache.lucene.spatial.prefix.tree
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `CellCanPrune` | Grid cells that share nothing with other cells when calling `getNextLevelCells(Shape)` might implement this interface.

    Classes in org.apache.lucene.spatial.prefix.tree that implement Cell
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `LegacyCell` | The base for the original two SPT's: Geohash and Quad.
    `protected class` | `NumberRangePrefixTree.NRCell` | Most of the PrefixTree implementation is in this one class, which is both the Cell, the CellIterator, and the Shape to reduce object allocation.
    `protected class` | `PackedQuadPrefixTree.PackedQuadCell` | See binary representation in the javadocs of `PackedQuadPrefixTree`.
    `protected class` | `QuadPrefixTree.QuadCell` | individual QuadPrefixTree grid cell

    Fields in org.apache.lucene.spatial.prefix.tree declared as Cell
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Cell` | CellIterator.`nextCell` |
    `protected Cell` | CellIterator.`thisCell` |

    Methods in org.apache.lucene.spatial.prefix.tree that return Cell
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected Cell` | GeohashPrefixTree.`getCell​(org.locationtech.spatial4j.shape.Point p, int level)` |
    `Cell` | PackedQuadPrefixTree.`getCell​(org.locationtech.spatial4j.shape.Point p, int level)` |
    `Cell` | QuadPrefixTree.`getCell​(org.locationtech.spatial4j.shape.Point p, int level)` |
    `Cell` | GeohashPrefixTree.`getWorldCell()` |
    `Cell` | NumberRangePrefixTree.`getWorldCell()` |
    `Cell` | PackedQuadPrefixTree.`getWorldCell()` |
    `Cell` | QuadPrefixTree.`getWorldCell()` |
    `Cell` | S2PrefixTree.`getWorldCell()` |
    `abstract Cell` | SpatialPrefixTree.`getWorldCell()` | Returns the level 0 cell which encompasses all spatial data.
    `Cell` | CellIterator.`next()` |
    `Cell` | PackedQuadPrefixTree.PrefixTreeIterator.`next()` |
    `Cell` | CellIterator.`nextFrom​(Cell fromCell)` | Gets the next cell that is >= `fromCell`, compared using non-leaf bytes.
    `Cell` | NumberRangePrefixTree.`readCell​(BytesRef term, Cell scratch)` |
    `Cell` | PackedQuadPrefixTree.`readCell​(BytesRef term, Cell scratch)` |
    `Cell` | S2PrefixTree.`readCell​(BytesRef term, Cell scratch)` |
    `abstract Cell` | SpatialPrefixTree.`readCell​(BytesRef term, Cell scratch)` | This creates a new Cell (or re-using `scratch` if provided), initialized to the state as read by the bytes.
    `Cell` | CellIterator.`thisCell()` | Returns the cell last returned from `CellIterator.next()`.

    Methods in org.apache.lucene.spatial.prefix.tree that return types with arguments of type Cell
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected abstract Collection<Cell>` | LegacyCell.`getSubCells()` | Gets the cells at the next grid cell level that covers this cell.
    `protected Collection<Cell>` | PackedQuadPrefixTree.PackedQuadCell.`getSubCells()` |
    `protected Collection<Cell>` | QuadPrefixTree.QuadCell.`getSubCells()` |

    Methods in org.apache.lucene.spatial.prefix.tree with parameters of type Cell
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | Cell.`compareToNoLeaf​(Cell fromCell)` | Equivalent to `this.getTokenBytesNoLeaf(null).compareTo(fromCell.getTokenBytesNoLeaf(null))`.
    `int` | LegacyCell.`compareToNoLeaf​(Cell fromCell)` |
    `int` | NumberRangePrefixTree.NRCell.`compareToNoLeaf​(Cell fromCell)` |
    `int` | PackedQuadPrefixTree.PackedQuadCell.`compareToNoLeaf​(Cell fromCell)` |
    `boolean` | Cell.`isPrefixOf​(Cell c)` | Returns if the target term is within/underneath this cell; not necessarily a direct descendant.
    `boolean` | LegacyCell.`isPrefixOf​(Cell c)` |
    `boolean` | NumberRangePrefixTree.NRCell.`isPrefixOf​(Cell c)` |
    `boolean` | PackedQuadPrefixTree.PackedQuadCell.`isPrefixOf​(Cell c)` |
    `Cell` | CellIterator.`nextFrom​(Cell fromCell)` | Gets the next cell that is >= `fromCell`, compared using non-leaf bytes.
    `Cell` | NumberRangePrefixTree.`readCell​(BytesRef term, Cell scratch)` |
    `Cell` | PackedQuadPrefixTree.`readCell​(BytesRef term, Cell scratch)` |
    `Cell` | S2PrefixTree.`readCell​(BytesRef term, Cell scratch)` |
    `abstract Cell` | SpatialPrefixTree.`readCell​(BytesRef term, Cell scratch)` | This creates a new Cell (or re-using `scratch` if provided), initialized to the state as read by the bytes.

    Method parameters in org.apache.lucene.spatial.prefix.tree with type arguments of type Cell
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | PackedQuadPrefixTree.`buildNotRobustly​(double x, double y, int level, List<Cell> matches, long term, org.locationtech.spatial4j.shape.Shape shape, int maxLevel)` |
    `protected void` | PackedQuadPrefixTree.`checkBattenbergNotRobustly​(byte quad, double cx, double cy, int level, List<Cell> matches, long term, org.locationtech.spatial4j.shape.Shape shape, int maxLevel)` |
    `protected void` | QuadPrefixTree.`checkBattenbergNotRobustly​(char c, double cx, double cy, int level, List<Cell> matches, BytesRef str, org.locationtech.spatial4j.shape.Shape shape, int maxLevel)` |