public abstract class PolygonGeometry extends BasicGeometry implements java.io.Serializable, OMGeometry
All of the OMGraphics are moving to having their internal representation as java.awt.Shape objects. Unfortunately, this has the side effect of slowing OMPolys down, because the way that the projection classes handle transformations cause more objects to be allocated and more loops to be run through. So, by default, the OMPoly does NOT use Shape objects internally, to keep layers that throw down many, many polys running quickly. If you want to do some spatial analysis on an OMPoly, call setDoShapes(true) on it, then generate(Projection), and then call getShapes() to get the java.awt.Shape objects for the poly. You can then run the different Shape spatial analysis methods on the Shape objects.
Modifier and Type | Class and Description |
---|---|
static class |
PolygonGeometry.LL |
static class |
PolygonGeometry.Offset |
static class |
PolygonGeometry.XY |
Modifier and Type | Field and Description |
---|---|
protected boolean |
doShapes
Flag for telling the PolygonGeometry to use the Shape objects
to represent itself internally.
|
protected boolean |
isPolygon
Whether it is a polygon, as opposed to a polyline.
|
protected float[][] |
xpoints
Internal array of projected x coordinate arrays.
|
protected float[][] |
ypoints
Internal array of projected y coordinate arrays.
|
APP_OBJECT_KEY, appObject, ATT_MAP_KEY, lineType, needToRegenerate, shape, visible
ADD_GRAPHIC_MASK, BASIC_STROKE, CHANGE_APPEARANCE, clear, DECIMAL_DEGREES, DECLUTTERTYPE_LINE, DECLUTTERTYPE_MOVE, DECLUTTERTYPE_NONE, DECLUTTERTYPE_SPACE, DEFAULT_ROTATIONANGLE, DELETE_GRAPHIC_MASK, DESELECT_GRAPHIC_MASK, DESELECTALL_GRAPHIC_MASK, GRAPHICTYPE_ARC, GRAPHICTYPE_BITMAP, GRAPHICTYPE_CIRCLE, GRAPHICTYPE_ELLIPSE, GRAPHICTYPE_GRAPHIC, GRAPHICTYPE_GRID, GRAPHICTYPE_LINE, GRAPHICTYPE_POINT, GRAPHICTYPE_POLY, GRAPHICTYPE_RASTER, GRAPHICTYPE_RECTANGLE, GRAPHICTYPE_TEXT, INFOLINE, LABEL, LINETYPE_GREATCIRCLE, LINETYPE_RHUMB, LINETYPE_STRAIGHT, LINETYPE_UNKNOWN, LOWER_GRAPHIC_MASK, LOWER_TO_BOTTOM_GRAPHIC_MASK, OMGRAPHIC_ELT, OMGRAPHIC_TYPE_ATTR, RADIANS, RAISE_GRAPHIC_MASK, RAISE_TO_TOP_GRAPHIC_MASK, REMOVABLE, RENDERTYPE_LATLON, RENDERTYPE_OFFSET, RENDERTYPE_UNKNOWN, RENDERTYPE_XY, SELECT_GRAPHIC_MASK, SORT_GRAPHICS_MASK, TOOLTIP, UPDATE_GRAPHIC_MASK, UPDATED
Modifier | Constructor and Description |
---|---|
protected |
PolygonGeometry() |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
createShape()
Since OMPoly has the option to not create a Shape, this method
is here to create it if it is asked for.
|
float |
distance(double x,
double y)
Return the shortest distance from the graphic to an XY-point.
|
boolean |
getDoShapes() |
boolean |
getIsPolygon() |
java.awt.geom.GeneralPath |
getShape()
Get the array of java.awt.Shape objects that represent the
projected graphic.
|
void |
setDoShapes(boolean set) |
protected void |
setIsPolygon(boolean set) |
_distance, appendShapeEdge, appendShapeEdge, appendShapeEdge, appendShapeEdge, checkAttributeMap, checkAttributeMap, clearAttributes, contains, createAttributeMap, createBoxShape, createShape, createShape, describeShapeDetail, describeShapeDetail, deselect, distanceToEdge, distanceToEdge, draw, fill, generate, getAppObject, getAppObject, getAttribute, getAttributeMap, getAttributes, getDescription, getLineType, getNeedToRegenerate, getRenderType, isRenderable, isVisible, putAttribute, regenerate, removeAttribute, render, replaceAppObjectWithAttributeMap, restore, select, setAppObject, setAppObject, setAttributes, setLineType, setNeedToRegenerate, setShape, setVisible
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
clearAttributes, contains, deselect, distanceToEdge, draw, fill, generate, getAppObject, getAttribute, getAttributes, getDescription, getLineType, getNeedToRegenerate, getRenderType, isRenderable, isVisible, putAttribute, regenerate, removeAttribute, render, restore, select, setAppObject, setAttributes, setLineType, setNeedToRegenerate, setShape, setVisible
protected float[][] xpoints
protected float[][] ypoints
protected boolean isPolygon
protected boolean doShapes
public void setDoShapes(boolean set)
public boolean getDoShapes()
protected void setIsPolygon(boolean set)
public boolean getIsPolygon()
protected abstract void createShape()
public float distance(double x, double y)
distance
in interface OMGeometry
distance
in class BasicGeometry
x
- horizontal pixel location.y
- vertical pixel location.public java.awt.geom.GeneralPath getShape()
The java.awt.Shape object gives you the ability to do a little spatial analysis on the graphics.
getShape
in interface OMGeometry
getShape
in class BasicGeometry
Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details