com.bbn.openmap.omGraphics
Class OMAreaList
java.lang.Object
|
+--com.bbn.openmap.omGraphics.geom.BasicGeometry
|
+--com.bbn.openmap.omGraphics.OMGraphic
|
+--com.bbn.openmap.omGraphics.OMGraphicList
|
+--com.bbn.openmap.omGraphics.OMGeometryList
|
+--com.bbn.openmap.omGraphics.OMAreaList
- All Implemented Interfaces:
- java.lang.Cloneable, GraphicList, OMGeometry, OMGraphicConstants, java.io.Serializable
- public class OMAreaList
- extends OMGeometryList
- implements GraphicList, java.io.Serializable
This class encapsulates a list of OMGeometries that are connected
to form one area. Different types of vector OMGeometries can be
combined and used to create a unique shape over the map.
OMRasterObjects will contribute their shape/size, but not their
images. The OMGeometries should be added in a clockwise format.
KNOWN ISSUES: OMAreaLists that wrap around the back of the earth
and showing up on both edges of the map are not handled well -
you'll end up with lines going horizonally across the map. It's on
the todo list to fix this.
- See Also:
- Serialized Form
Fields inherited from class com.bbn.openmap.omGraphics.OMGraphic |
declutterType, displayPaint, edgeMatchesFill, fillPaint, hasLabel, linePaint, matted, mattingPaint, renderType, selected, selectPaint, showEditablePalette, stroke, textureMask |
Fields inherited from interface com.bbn.openmap.omGraphics.OMGraphicConstants |
ADD_GRAPHIC_MASK, BASIC_STROKE, 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_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, RADIANS, RAISE_GRAPHIC_MASK, RAISE_TO_TOP_GRAPHIC_MASK, RENDERTYPE_LATLON, RENDERTYPE_OFFSET, RENDERTYPE_UNKNOWN, RENDERTYPE_XY, SELECT_GRAPHIC_MASK, SORT_GRAPHICS_MASK, TOOLTIP, UPDATE_GRAPHIC_MASK |
Constructor Summary |
OMAreaList()
Construct an OMAreaList. |
OMAreaList(int initialCapacity)
Construct an OMAreaList with a capacity to be combined from an
initial amount of OMGeometries. |
OMAreaList(java.util.List list)
Construct an OMAreaList around a List of OMGeometries. |
Method Summary |
protected OMGraphicList.OMDist |
_findClosest(int x,
int y,
float limit,
boolean resetSelect)
Overrides the OMGeometryList and OMGraphicList methods to just
call _distance() on the internal shape object. |
void |
generate(Projection p,
boolean forceProjectAll)
Create the GeneralPath used for the internal Shape objects held
by the OMGeometries added. |
protected void |
init()
Initialization that sets the OMAreaList, which is a modified
OMGraphicList, to be vague and constructed in a first added,
first used order. |
protected void |
updateShape(OMGeometry geometry,
Projection p,
boolean forceProject)
Given a OMGeometry, it calls generate/regenerate on it, and
then adds the GeneralPath shape within it to the OMGeometryList
shape object. |
Methods inherited from class com.bbn.openmap.omGraphics.OMGeometryList |
_distance, add, doAction, findClosest, findClosestGeometry, findClosestGeometry, getAt, getConnectParts, getContains, getOMGraphicThatContains, getWithAppObject, indexOf, insertAt, readGraphics, remove, removeAt, render, renderAllAsSelected, renderGeometry, selectClosest, selectClosestGeometry, selectClosestGeometry, setAt, setConnectParts, setFillPaint, setLinePaint, setMatted, setMattingPaint, setSelectPaint, setStroke, setTextureMask |
Methods inherited from class com.bbn.openmap.omGraphics.OMGraphicList |
_add, _doAction, _findClosest, _getAt, _getContains, _getWithAppObject, _indexOf, _insert, _remove, _remove, _selectClosest, _setAt, add, addOMGraphic, checkForDuplicate, clear, clone, contains, deselect, deselectAll, distance, doAction, findClosest, findClosestTest, findIndexOfClosest, findIndexOfClosest, generate, getAllowDuplicates, getDescription, getDescription, getOMGraphicAt, getOMGraphicWithAppObject, getProcessAllGeometries, getTargets, getTraverseMode, indexOf, insertOMGraphicAt, isEmpty, isVague, isVisible, iterator, moveIndexedOneToBack, moveIndexedOneToBottom, moveIndexedOneToFront, moveIndexedOneToTop, moveIndexedToBottom, moveIndexedToFirst, moveIndexedToLast, moveIndexedToTop, objectToOMGraphic, project, project, readGraphics, remove, removeOMGraphicAt, select, selectAll, selectClosest, selectClosestTest, setAllowDuplicates, setGridGenerator, setOMGraphicAt, setProcessAllGeometries, setTargets, setTraverseMode, setVague, setVisible, shouldProcess, size, sort, writeGraphics, writeGraphics |
Methods inherited from class com.bbn.openmap.omGraphics.OMGraphic |
getDeclutterType, getDisplayColor, getDisplayPaint, getEdgeMatchesFill, getFillColor, getFillPaint, getHasLabel, getLineColor, getLinePaint, getMattingPaint, getRenderType, getSelectColor, getSelectPaint, getShowEditablePalette, getStroke, getTextureMask, hasLineTypeChoice, initLabelingDuringGenerate, isClear, isMatted, isSelected, normalizeDistanceForLineWidth, regenerate, renderLabel, setDeclutterType, setEdgeMatchesFill, setFillColor, setGraphicsColor, setGraphicsForEdge, setGraphicsForFill, setHasLabel, setLabelLocation, setLabelLocation, setLabelLocation, setLineColor, setRenderType, setSelectColor, setSelected, setShape, setShowEditablePalette, shouldRenderEdge, shouldRenderFill |
Methods inherited from class com.bbn.openmap.omGraphics.geom.BasicGeometry |
appendShapeEdge, appendShapeEdge, appendShapeEdge, appendShapeEdge, checkAttributeMap, checkAttributeMap, clearAttributes, contains, createAttributeMap, createBoxShape, createShape, createShape, describeShapeDetail, describeShapeDetail, distanceToEdge, draw, fill, getAppObject, getAppObject, getAttribute, getAttributeMap, getAttributes, getLineType, getNeedToRegenerate, getShape, isRenderable, putAttribute, removeAttribute, replaceAppObjectWithAttributeMap, setAppObject, setAppObject, setAttributes, setLineType, setNeedToRegenerate |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.bbn.openmap.omGraphics.OMGeometry |
clearAttributes, contains, draw, fill, getAppObject, getAttribute, getAttributes, getLineType, getNeedToRegenerate, getShape, isRenderable, putAttribute, removeAttribute, setAppObject, setAttributes, setLineType, setNeedToRegenerate |
OMAreaList
public OMAreaList()
- Construct an OMAreaList.
OMAreaList
public OMAreaList(int initialCapacity)
- Construct an OMAreaList with a capacity to be combined from an
initial amount of OMGeometries.
- Parameters:
initialCapacity
- the initial capacity of the list
OMAreaList
public OMAreaList(java.util.List list)
- Construct an OMAreaList around a List of OMGeometries. The
OMAreaList assumes that all the objects on the list are vector
OMGeometries, and never does checking. Live with the
consequences if you put other stuff in there.
- Parameters:
list
- List of vector OMGeometries.
init
protected void init()
- Initialization that sets the OMAreaList, which is a modified
OMGraphicList, to be vague and constructed in a first added,
first used order. connectParts, a variable from OMGeometryList,
is also set to true.
generate
public void generate(Projection p,
boolean forceProjectAll)
- Create the GeneralPath used for the internal Shape objects held
by the OMGeometries added. With the OMAreaList, all of the
components are combined to make a single area. So updateShape,
which is called from super.generate(), calls appendShapeEdge()
instead of appending each part Shape to the main Shape. This
method closes off the GeneralPath Shape, so it will be
considered a polygon.
- Overrides:
generate
in class OMGeometryList
- Parameters:
p
- a Projection
forceProjectAll
- if true, all the geometries on the list
are generated with the new projection. If false they are
only generated if getNeedToRegenerate() returns true- See Also:
OMGeometry.generate(com.bbn.openmap.proj.Projection)
,
OMGeometry.regenerate(com.bbn.openmap.proj.Projection)
updateShape
protected void updateShape(OMGeometry geometry,
Projection p,
boolean forceProject)
- Given a OMGeometry, it calls generate/regenerate on it, and
then adds the GeneralPath shape within it to the OMGeometryList
shape object. The edges of each part are combined to make one
big polygon.
- Overrides:
updateShape
in class OMGeometryList
_findClosest
protected OMGraphicList.OMDist _findClosest(int x,
int y,
float limit,
boolean resetSelect)
- Overrides the OMGeometryList and OMGraphicList methods to just
call _distance() on the internal shape object.
- Overrides:
_findClosest
in class OMGeometryList
- Parameters:
x
- x coordy
- y coordlimit
- the max distance that a graphic has to be within
to be returned, in pixels.resetSelect
- deselect any OMGraphic touched.
- Returns:
- OMDist
Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details