Class NodeBase

java.lang.Object
org.locationtech.jts.index.quadtree.NodeBase
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
Node, Root

public abstract class NodeBase extends Object implements Serializable
The base class for nodes in a Quadtree.
Version:
1.7
See Also:
  • Field Details

    • items

      protected List items
    • subnode

      protected Node[] subnode
      subquads are numbered as follows:
        2 | 3
        --+--
        0 | 1
       
  • Constructor Details

    • NodeBase

      public NodeBase()
  • Method Details

    • getSubnodeIndex

      public static int getSubnodeIndex(Envelope env, double centrex, double centrey)
      Gets the index of the subquad that wholly contains the given envelope. If none does, returns -1.
      Returns:
      the index of the subquad that wholly contains the given envelope or -1 if no subquad wholly contains the envelope
    • getItems

      public List getItems()
    • hasItems

      public boolean hasItems()
    • add

      public void add(Object item)
    • remove

      public boolean remove(Envelope itemEnv, Object item)
      Removes a single item from this subtree.
      Parameters:
      itemEnv - the envelope containing the item
      item - the item to remove
      Returns:
      true if the item was found and removed
    • isPrunable

      public boolean isPrunable()
    • hasChildren

      public boolean hasChildren()
    • isEmpty

      public boolean isEmpty()
    • addAllItems

      public List addAllItems(List resultItems)
    • isSearchMatch

      protected abstract boolean isSearchMatch(Envelope searchEnv)
    • addAllItemsFromOverlapping

      public void addAllItemsFromOverlapping(Envelope searchEnv, List resultItems)
    • visit

      public void visit(Envelope searchEnv, ItemVisitor visitor)