public abstract class GeometryHandler
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
GeometryHandler.GHMode |
Modifier and Type | Field and Description |
---|---|
static com.sun.electric.database.geometry.GeometryHandler.AreaSort |
areaSort |
static com.sun.electric.database.geometry.GeometryHandler.ShapeSort |
shapeSort |
Constructor and Description |
---|
GeometryHandler() |
GeometryHandler(int initialSize)
Special constructor in case of using huge amount of memory.
|
Modifier and Type | Method and Description |
---|---|
void |
add(Layer key,
java.lang.Object value) |
void |
addAll(GeometryHandler subMerge,
java.awt.geom.AffineTransform tTrans) |
static GeometryHandler |
createGeometryHandler(GeometryHandler.GHMode mode,
int initialSize)
Method to create appropiate GeometryHandler depending on the mode.
|
java.util.Set<Layer> |
getKeySet()
Access to keySet to create a collection for example.
|
java.util.Collection<PolyBase> |
getObjects(java.lang.Object layer,
boolean modified,
boolean simple)
To retrieve leave elements from internal structure
|
java.util.Collection<PolyBase.PolyBaseTree> |
getTreeObjects(java.lang.Object layer)
To retrieve the roots containing all loops from the internal structure.
|
void |
postProcess(boolean merge)
Method to perform operations after no more elemenets will
be added.
|
void |
subtract(java.lang.Object key,
java.lang.Object element)
Method to subtract a geometrical object from the merged collection.
|
void |
subtractAll(java.util.TreeMap<Layer,java.util.List<PolyBase>> map)
Method to subtract all geometries stored in hash map from corresponding layers
|
public static final com.sun.electric.database.geometry.GeometryHandler.ShapeSort shapeSort
public static final com.sun.electric.database.geometry.GeometryHandler.AreaSort areaSort
public GeometryHandler()
public GeometryHandler(int initialSize)
initialSize
- public static GeometryHandler createGeometryHandler(GeometryHandler.GHMode mode, int initialSize)
public void add(Layer key, java.lang.Object value)
public void addAll(GeometryHandler subMerge, java.awt.geom.AffineTransform tTrans)
public void subtract(java.lang.Object key, java.lang.Object element)
key
- the key that this Object sits on.element
- the Object to merge.public void subtractAll(java.util.TreeMap<Layer,java.util.List<PolyBase>> map)
map
- public java.util.Set<Layer> getKeySet()
public java.util.Collection<PolyBase> getObjects(java.lang.Object layer, boolean modified, boolean simple)
layer
- current layer under analysismodified
- to avoid retrieving original polygonssimple
- to obtain simple polygonspublic java.util.Collection<PolyBase.PolyBaseTree> getTreeObjects(java.lang.Object layer)
layer
- current layer under analysispublic void postProcess(boolean merge)
merge
- true if polygons must be merged otherwise non-overlapping polygons will be generated.