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.