JTS Topology Suite version 1.12

com.vividsolutions.jts.index.strtree
Class AbstractNode

java.lang.Object
  extended by com.vividsolutions.jts.index.strtree.AbstractNode
All Implemented Interfaces:
Boundable

public abstract class AbstractNode
extends java.lang.Object
implements Boundable

A node of the STR tree. The children of this node are either more nodes (AbstractNodes) or real data (ItemBoundables). If this node contains real data (rather than nodes), then we say that this node is a "leaf node".

Version:
1.7

Constructor Summary
AbstractNode(int level)
          Constructs an AbstractNode at the given level in the tree
 
Method Summary
 void addChildBoundable(Boundable childBoundable)
          Adds either an AbstractNode, or if this is a leaf node, a data object (wrapped in an ItemBoundable)
protected abstract  java.lang.Object computeBounds()
          Returns a representation of space that encloses this Boundable, preferably not much bigger than this Boundable's boundary yet fast to test for intersection with the bounds of other Boundables.
 java.lang.Object getBounds()
          Returns a representation of space that encloses this Boundable, preferably not much bigger than this Boundable's boundary yet fast to test for intersection with the bounds of other Boundables.
 java.util.List getChildBoundables()
          Returns either child AbstractNodes, or if this is a leaf node, real data (wrapped in ItemBoundables).
 int getLevel()
          Returns 0 if this node is a leaf, 1 if a parent of a leaf, and so on; the root node will have the highest level
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractNode

public AbstractNode(int level)
Constructs an AbstractNode at the given level in the tree

Parameters:
level - 0 if this node is a leaf, 1 if a parent of a leaf, and so on; the root node will have the highest level
Method Detail

getChildBoundables

public java.util.List getChildBoundables()
Returns either child AbstractNodes, or if this is a leaf node, real data (wrapped in ItemBoundables).


computeBounds

protected abstract java.lang.Object computeBounds()
Returns a representation of space that encloses this Boundable, preferably not much bigger than this Boundable's boundary yet fast to test for intersection with the bounds of other Boundables. The class of object returned depends on the subclass of AbstractSTRtree.

Returns:
an Envelope (for STRtrees), an Interval (for SIRtrees), or other object (for other subclasses of AbstractSTRtree)
See Also:
AbstractSTRtree.IntersectsOp

getBounds

public java.lang.Object getBounds()
Description copied from interface: Boundable
Returns a representation of space that encloses this Boundable, preferably not much bigger than this Boundable's boundary yet fast to test for intersection with the bounds of other Boundables. The class of object returned depends on the subclass of AbstractSTRtree.

Specified by:
getBounds in interface Boundable
Returns:
an Envelope (for STRtrees), an Interval (for SIRtrees), or other object (for other subclasses of AbstractSTRtree)
See Also:
AbstractSTRtree.IntersectsOp

getLevel

public int getLevel()
Returns 0 if this node is a leaf, 1 if a parent of a leaf, and so on; the root node will have the highest level


addChildBoundable

public void addChildBoundable(Boundable childBoundable)
Adds either an AbstractNode, or if this is a leaf node, a data object (wrapped in an ItemBoundable)


JTS Topology Suite version 1.12