com.sun.electric.database.geometry
Class PolyQTree

java.lang.Object
  extended by com.sun.electric.database.geometry.GeometryHandler
      extended by com.sun.electric.database.geometry.PolyQTree

public class PolyQTree
extends GeometryHandler

This class represents a quad-tree to compute overlapping regions.

Version:
0.1
Author:
Gilda Garreton

Nested Class Summary
static class PolyQTree.PolyNode
          Class to define a node in a Quad Tree of polygons.
 
Nested classes/interfaces inherited from class com.sun.electric.database.geometry.GeometryHandler
GeometryHandler.GHMode
 
Field Summary
 
Fields inherited from class com.sun.electric.database.geometry.GeometryHandler
areaSort, shapeSort
 
Constructor Summary
PolyQTree(java.awt.geom.Rectangle2D root)
           
 
Method Summary
 void add(Layer layer, java.lang.Object newObj, boolean fasterAlgorithm)
          Given a layer, insert the object obj into the qTree associated.
 void addAll(GeometryHandler subMerge, java.awt.geom.AffineTransform trans)
          Merge two PolyQTree.
 java.util.Collection getObjects(java.lang.Object layer, boolean modified, boolean simple)
          Retrieves list of leaf elements in the tree for a given layer
 void print()
          Print all nodes in the tree.
 
Methods inherited from class com.sun.electric.database.geometry.GeometryHandler
add, createGeometryHandler, getKeySet, getTreeObjects, postProcess, subtract, subtractAll
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PolyQTree

public PolyQTree(java.awt.geom.Rectangle2D root)
Method Detail

print

public void print()
Print all nodes in the tree. Debugging purpose only!.


getObjects

public java.util.Collection getObjects(java.lang.Object layer,
                                       boolean modified,
                                       boolean simple)
Retrieves list of leaf elements in the tree for a given layer

Overrides:
getObjects in class GeometryHandler
Parameters:
layer - Layer under analysis
modified - True if only the original elements should not be retrieved
simple - True if simple elements should be retrieved
Returns:
list of leaf elements

add

public void add(Layer layer,
                java.lang.Object newObj,
                boolean fasterAlgorithm)
Given a layer, insert the object obj into the qTree associated.

Parameters:
layer - Given layer to work with

addAll

public void addAll(GeometryHandler subMerge,
                   java.awt.geom.AffineTransform trans)
Merge two PolyQTree.

Overrides:
addAll in class GeometryHandler