public abstract class AbstractNode extends java.lang.Object implements Boundable, java.io.Serializable
AbstractSTRtree. A node is one of:
AbstractNodes
ItemBoundables).
| Modifier and Type | Field and Description |
|---|---|
private java.lang.Object |
bounds |
private java.util.ArrayList |
childBoundables |
private int |
level |
private static long |
serialVersionUID |
| Constructor and Description |
|---|
AbstractNode()
Default constructor required for serialization.
|
AbstractNode(int level)
Constructs an AbstractNode at the given level in the tree
|
| Modifier and Type | Method and Description |
|---|---|
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()
Gets the bounds of this node
|
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
|
boolean |
isEmpty()
Tests whether there are any
Boundables at this node. |
int |
size()
Gets the count of the
Boundables at this node. |
private static final long serialVersionUID
private java.util.ArrayList childBoundables
private java.lang.Object bounds
private int level
public AbstractNode()
public AbstractNode(int level)
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 levelpublic java.util.List getChildBoundables()
AbstractNodes, or if this is a leaf node, real data (wrapped
in ItemBoundables).protected abstract java.lang.Object computeBounds()
AbstractSTRtree.IntersectsOppublic java.lang.Object getBounds()
public int getLevel()
public int size()
Boundables at this node.public boolean isEmpty()
Boundables at this node.public void addChildBoundable(Boundable childBoundable)