2,2c2,2 < * @(#)QuadTree.java 5.2 --- > * @(#)QuadTree.java 3a4,9 > * Project: JHotdraw - a GUI framework for technical drawings > * http://www.jhotdraw.org > * http://jhotdraw.sourceforge.net > * Copyright: © by the original author(s) and all contributors > * License: Lesser GNU Public License (LGPL) > * http://www.opensource.org/licenses/lgpl-license.html 3a20,20 > /** 4a22,22 > * @version <$CURRENT_VERSION$> 4,4c21,21 < * INIT Copyright (C) 2000 All rights reserved --- > * @author: WMG (INIT Copyright (C) 2000 All rights reserved) 5,5c23,23 < * --- > */ 6,9d23 < * File: QuadTree.java < * Description: X < * @author WMG < * Created: 2000.03.27 19,19c12,12 < --- > 20,20d12 < 23,24d25 < < 27,28d27 < < 29,29c28,28 < private Rectangle2D _absoluteBoundingRectangle2D --- > private Rectangle2D _absoluteBoundingRectangle2D = new Rectangle2D.Double(); 30,30d28 < = new Rectangle2D.Double(); 39,40d36 < < 43,44d38 < < 46,46d39 < 48,48d40 < 51,52d42 < < 55,55d44 < 57,57d45 < 60,61d47 < < 63,63d48 < 66,67d50 < < 70,71d52 < < 72,72c53,53 < public void add(Object anObject, Rectangle2D --- > public void add(Object anObject, Rectangle2D absoluteBoundingRectangle2D) { 73,74d53 < absoluteBoundingRectangle2D) { < 76,76d54 < 77,77c55,55 < if (absoluteBoundingRectangle2D.intersects( --- > if (absoluteBoundingRectangle2D.intersects(_absoluteBoundingRectangle2D)) { 78,78d55 < _absoluteBoundingRectangle2D)) { 84,86d60 < < return; < 89,89d62 < boolean bNW = 90,90c63,63 < absoluteBoundingRectangle2D.intersects( --- > boolean bNW = absoluteBoundingRectangle2D.intersects( 93,93d65 < boolean bNE = 94,94c66,66 < absoluteBoundingRectangle2D.intersects( --- > boolean bNE = absoluteBoundingRectangle2D.intersects( 97,97d68 < boolean bSW = 98,98c69,69 < absoluteBoundingRectangle2D.intersects( --- > boolean bSW = absoluteBoundingRectangle2D.intersects( 101,101d71 < boolean bSE = 102,102c72,72 < absoluteBoundingRectangle2D.intersects( --- > boolean bSE = absoluteBoundingRectangle2D.intersects( 110,110d79 < 114,114d82 < 118,118d85 < 127,127d93 < 136,136d101 < 140,140d104 < 144,144d107 < 148,148d110 < 151,152d112 < < 154,154d113 < 161,161d119 < 181,181d138 < 190,190d146 < 194,194d149 < 196,196d150 < 205,205d158 < 208,209d160 < < 211,211d161 < 213,213d162 < 216,217d164 < < 219,219d165 < 221,221d166 < 233,233d177 < 236,237d179 < < 239,239d180 < 241,241d181 < 242,242c182,182 < for(Iterator ii = _outsideHashtable.keySet().iterator(); --- > for (Iterator ii = _outsideHashtable.keySet().iterator(); ii.hasNext(); ) { 243,244d182 < ii.hasNext(); ) { < 252,252d189 < 256,256d192 < 257,257c193,193 < for(Iterator i = _theHashtable.keySet().iterator(); --- > for(Iterator i = _theHashtable.keySet().iterator(); i.hasNext(); ) { 258,259d193 < i.hasNext(); ) { < 267,267d200 < 276,276d208 < 280,280d211 < 283,284d213 < < 286,286d214 < 288,288d215 < 291,292d217 < < 295,296d219 < < 297,297c220,220 < private void _init(int nMaxTreeDepth, Rectangle2D --- > private void _init(int nMaxTreeDepth, Rectangle2D absoluteBoundingRectangle2D) { 298,299d220 < absoluteBoundingRectangle2D) { < 313,313d233 < 316,317d235 < < 319,319d236 < 320,320c237,237 < return new Rectangle2D.Double(r.getX(), r.getY(), --- > return new Rectangle2D.Double(r.getX(), r.getY(), r.getWidth() / 2.0, r.getHeight() / 2.0); 321,322d237 < r.getWidth() / 2.0, r.getHeight() / 2.0); < 325,326d239 < < 328,328d240 < 331,331d242 < 334,335d244 < < 337,337d245 < 338,338c246,246 < return new Rectangle2D.Double(r.getX(), --- > return new Rectangle2D.Double(r.getX(), r.getY() + r.getHeight() / 2.0, 339,339d246 < r.getY() + r.getHeight() / 2.0, 341,341d247 < 344,345d249 < < 347,347d250 < 351,351d253 < 354,355d255 < <