org.jhotdraw.standard
Class QuadTree

java.lang.Object
  extended by org.jhotdraw.standard.QuadTree
All Implemented Interfaces:
java.io.Serializable

public class QuadTree
extends java.lang.Object
implements java.io.Serializable

Version:
<$CURRENT_VERSION$>
Author:
WMG (INIT Copyright (C) 2000 All rights reserved)
See Also:
Serialized Form

Field Summary
private  java.awt.geom.Rectangle2D _absoluteBoundingRectangle2D
           
private  QuadTree _neQuadTree
           
private  int _nMaxTreeDepth
           
private  QuadTree _nwQuadTree
           
private  java.util.Hashtable _outsideHashtable
           
private  QuadTree _seQuadTree
           
private  QuadTree _swQuadTree
           
private  java.util.Hashtable _theHashtable
           
 
Constructor Summary
QuadTree(int nMaxTreeDepth, java.awt.geom.Rectangle2D absoluteBoundingRectangle2D)
           
QuadTree(java.awt.geom.Rectangle2D absoluteBoundingRectangle2D)
           
 
Method Summary
private  void _init(int nMaxTreeDepth, java.awt.geom.Rectangle2D absoluteBoundingRectangle2D)
           
private  java.awt.geom.Rectangle2D _makeNortheast(java.awt.geom.Rectangle2D r)
           
private  java.awt.geom.Rectangle2D _makeNorthwest(java.awt.geom.Rectangle2D r)
           
private  java.awt.geom.Rectangle2D _makeSoutheast(java.awt.geom.Rectangle2D r)
           
private  java.awt.geom.Rectangle2D _makeSouthwest(java.awt.geom.Rectangle2D r)
           
 void add(java.lang.Object anObject, java.awt.geom.Rectangle2D absoluteBoundingRectangle2D)
           
private  void addFigureEnumerationToList(java.util.List l, FigureEnumeration fe)
           
 void clear()
           
 java.awt.geom.Rectangle2D getAbsoluteBoundingRectangle2D()
           
 FigureEnumeration getAllWithin(java.awt.geom.Rectangle2D r)
           
 int getMaxTreeDepth()
           
 java.lang.Object remove(java.lang.Object anObject)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_absoluteBoundingRectangle2D

private java.awt.geom.Rectangle2D _absoluteBoundingRectangle2D

_nMaxTreeDepth

private int _nMaxTreeDepth

_theHashtable

private java.util.Hashtable _theHashtable

_outsideHashtable

private java.util.Hashtable _outsideHashtable

_nwQuadTree

private QuadTree _nwQuadTree

_neQuadTree

private QuadTree _neQuadTree

_swQuadTree

private QuadTree _swQuadTree

_seQuadTree

private QuadTree _seQuadTree
Constructor Detail

QuadTree

public QuadTree(java.awt.geom.Rectangle2D absoluteBoundingRectangle2D)

QuadTree

public QuadTree(int nMaxTreeDepth,
                java.awt.geom.Rectangle2D absoluteBoundingRectangle2D)
Method Detail

add

public void add(java.lang.Object anObject,
                java.awt.geom.Rectangle2D absoluteBoundingRectangle2D)

remove

public java.lang.Object remove(java.lang.Object anObject)

clear

public void clear()

getMaxTreeDepth

public int getMaxTreeDepth()

getAllWithin

public FigureEnumeration getAllWithin(java.awt.geom.Rectangle2D r)

getAbsoluteBoundingRectangle2D

public java.awt.geom.Rectangle2D getAbsoluteBoundingRectangle2D()

_init

private void _init(int nMaxTreeDepth,
                   java.awt.geom.Rectangle2D absoluteBoundingRectangle2D)

_makeNorthwest

private java.awt.geom.Rectangle2D _makeNorthwest(java.awt.geom.Rectangle2D r)

_makeNortheast

private java.awt.geom.Rectangle2D _makeNortheast(java.awt.geom.Rectangle2D r)

_makeSouthwest

private java.awt.geom.Rectangle2D _makeSouthwest(java.awt.geom.Rectangle2D r)

_makeSoutheast

private java.awt.geom.Rectangle2D _makeSoutheast(java.awt.geom.Rectangle2D r)

addFigureEnumerationToList

private void addFigureEnumerationToList(java.util.List l,
                                        FigureEnumeration fe)