com.bbn.openmap.layer.test
Class GeoIntersectionLayer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by com.bbn.openmap.Layer
                  extended by com.bbn.openmap.layer.OMGraphicHandlerLayer
                      extended by com.bbn.openmap.layer.DrawingToolLayer
                          extended by com.bbn.openmap.layer.editor.EditorLayer
                              extended by com.bbn.openmap.layer.test.GeoIntersectionLayer
All Implemented Interfaces:
ProjectionListener, Tool, GestureResponsePolicy, OMGraphicHandler, ProjectionPainter, PropertyConsumer, DrawingToolRequestor, java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.beancontext.BeanContextChild, java.beans.beancontext.BeanContextMembershipListener, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener

public class GeoIntersectionLayer
extends EditorLayer
implements java.beans.PropertyChangeListener

This layer demonstrates the use of the com.bbn.openmap.geo package to do intersection calculations in lat/lon space. It allows you to load shape files for sample data sets, and then draw lines, polygons and points on the map to as test cases for intersections on the sample data sets. The ToolPanel will hold controls for choosing what kind of things to draw, and how they should be rendered. The palette for this layer controls the sample data sets, letting you add and remove data files and change their colors.

If you draw a line, polyline or point, the shapes in the data sets that intersect with them will be rendered in the 'select' colors. If you draw a closed polygon with a fill color, the data set shapes inside the polygon will also be selected. The palette has controls for showing the actual points of intersection for paths and their sample data regions. There is also an option to allow mouse clicks on a data set region to create an image over the bounding rectangle for that region, checking the Geo point intersection algorithm against the Java 2D algorithm for the shape in projected pixel space. An all-green image is good, pixels where the algorithms differ will be red.

The properties for this layer are:

        geo.class=com.bbn.openmap.layer.test.GeoIntersectionLayer
        geo.prettyName=GEO Intersections
        geo.editor=com.bbn.openmap.layer.editor.DrawingEditorTool
        geo.showAttributes=true
        geo.loaders=lines polys points
        geo.mouseModes=Gestures
        geo.lines.class=com.bbn.openmap.tools.drawing.OMLineLoader
        geo.polys.class=com.bbn.openmap.tools.drawing.OMPolyLoader
        geo.points.class=com.bbn.openmap.tools.drawing.OMPointLoader
        geo.shapeFileList=geocounties geolakes geocountries
        geo.geocounties=/data/shape/usa/counties.shp
        geo.geolakes=/data/shape/world/lakes.shp
        geo.geocountries=/data/shape/world/cntry02/cntry02.shp
        # Colors for regular, unselected data shapes
        geo.fillColor=FF333399
        geo.selectColor=ffff9900
        geo.mattingColor=ffff9900
        # Colors for data shapes intersected by drawn shapes
        geo.selected.fillColor=FFFFFF00
        geo.selected.selectColor=ffff9900
        geo.selected.mattingColor=ffff9900
 

Author:
dietrick
See Also:
Serialized Form

Nested Class Summary
static class GeoIntersectionLayer.OMLineSegment
           
static class GeoIntersectionLayer.OMPolyRegion
           
protected  class GeoIntersectionLayer.RemoveShapesActionListener
           
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  boolean createPointCheck
           
static boolean DEBUG
           
protected  OMGraphicList drawnList
          This list holds the OMGraphics that have been drawn.
protected  OMGraphicList fileDataList
          This list holds the EsriGraphicLists from the Shape files.
protected  OMGraphicList intersectionResultList
          This list holds the BoundaryCrossings and the image masks created from Intersection queries.
static java.lang.String PointCheckProperty
           
protected  ExtentIndexImpl regionIndex
          The RegionIndex organizing the Shape OMGraphics for searching.
static java.lang.String SHAPE_CONTROL_ATTRIBUTE
           
static java.lang.String SHAPE_FILE_NAME_ATTRIBUTE
           
static java.lang.String SHAPE_VISIBILITY_CONTROL_ATTRIBUTE
           
protected  DrawingAttributes shapeDA
           
protected  DrawingAttributes shapeDASelected
           
static java.lang.String ShapeFileListProperty
           
static java.lang.String ShapeFileProperty
           
protected  boolean showCrossingPoints
           
static java.lang.String ShowCrossingPointsProperty
           
 
Fields inherited from class com.bbn.openmap.layer.editor.EditorLayer
editorTool, EditorToolProperty, elmm, orientation
 
Fields inherited from class com.bbn.openmap.layer.DrawingToolLayer
actions, box, dbfFactory, drawingAttributes, drawingTool, DTL_DEBUG, fileName, jcb, omGraphics, proxyMMM, SerializedURLNameProperty, showHints, ShowHintsProperty
 
Fields inherited from class com.bbn.openmap.layer.OMGraphicHandlerLayer
consumeEvents, ConsumeEventsProperty, filter, interruptable, InterruptableProperty, layerWorker, LAYERWORKER_LOCK, layerWorkerQueue, logger, mouseEventInterpreter, mouseModeIDs, MouseModesProperty, projectionChangePolicy, ProjectionChangePolicyProperty, renderPolicy, RenderPolicyProperty, selectedList, TransparencyProperty
 
Fields inherited from class com.bbn.openmap.Layer
addAsBackground, AddAsBackgroundProperty, addToBeanContext, AddToBeanContextProperty, attributes, autoPalette, AutoPaletteProperty, beanContextChildSupport, coordTransform, DataPathPrefixProperty, DisplayPaletteCmd, DisplayPropertiesCmd, doHack, HidePaletteCmd, i18n, localHackList, maxScale, MaxScaleProperty, minScale, MinScaleProperty, palette, paletteListener, PrettyNameProperty, propertyPrefix, readyToPaint, RedrawCmd, removable, RemovableProperty, SWING_PACKAGE, TransformProperty, windowSupport
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface com.bbn.openmap.PropertyConsumer
EditorProperty, initPropertiesProperty, LabelEditorProperty, ScopedEditorProperty
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
GeoIntersectionLayer()
           
 
Method Summary
 void addShapeFile(java.io.File shpFile)
          Add the data from a shape file to the region list or edge list, depending on the content type.
 void addShapeFileFromUser()
          Query the user for a shape file, and add the contents to the region list or line list if a valid file is selected.
protected  void addToRegionIndex(OMGraphicList omgl, ExtentIndex regionIndex)
           
protected  void addToRegionIndex(OMPoly p, ExtentIndex regionIndex)
           
 void calculateIntersectionsWithDrawnList()
           
 void deselect(OMGraphicList omgl)
          Designate a list of OMGraphics as de-selected.
 void drawingComplete(OMGraphic omg, OMAction action)
          DrawingToolRequestor method.
 OMGraphicList getDrawnIntersectorList()
           
protected  javax.swing.JPanel getFileListControl()
           
 java.awt.Component getGUI()
          Gets the gui controls associated with the layer.
protected  GeoPath getPath(OMLine oml)
           
protected  GeoPath getPath(OMPoly omp)
           
protected  GeoPath getPathFromOMGraphic(OMGraphic omg)
           
 OMGraphic getPointIntersectionImage(OMGraphic omg)
           
 ExtentIndex getRegionIndex(boolean resetRegionSelection)
           
 DrawingAttributes getShapeDA()
           
 DrawingAttributes getShapeDASelected()
           
 java.lang.String getToolTipTextFor(OMGraphic omg)
          Query for what tooltip to display for an OMGraphic when the mouse is over it.
 void highlight(OMGraphic omg)
          Fleeting change of appearance for mouse movements over an OMGraphic.
 boolean isCreatePointCheck()
           
 boolean isHighlightable(OMGraphic omg)
          Query that an OMGraphic can be highlighted when the mouse moves over it.
 boolean isSelectable(OMGraphic omg)
          Query that an OMGraphic is selectable.
 boolean isShowCrossingPoints()
           
static void main(java.lang.String[] argv)
           
 boolean mouseOver(MapMouseEvent mme)
          A notification that the mouse cursor has been moved over the map, not over any of the OMGraphics on the GestureResponsePolicy.
 OMGraphicList prepare()
          This is the main method you should be concerned with when overriding this class.
 void propertyChange(java.beans.PropertyChangeEvent evt)
           
 void rebuildFileListControl()
           
 boolean receivesMapEvents()
          A query from the MapMouseInterpreter wondering if the GestureResponsePolicy wants events pertaining to mouse movements over the map that are not over an OMGraphic.
 void runGeoTests(int numIterations, int numToSkipAtStart)
           
 void select(OMGraphicList omgl)
          GestureResponsePolicy method.
 void setCreatePointCheck(boolean createPointCheck)
           
 void setProperties(java.lang.String prefix, java.util.Properties props)
          Overrides the Layer setProperties method.
protected  void setRegionAsSelected(GeoIntersectionLayer.OMPolyRegion ompr)
           
 void setShapeDA(DrawingAttributes shapeDA)
           
 void setShapeDASelected(DrawingAttributes shapeDASelected)
           
protected  void setShapeListVisibilityForCheckbox()
           
 void setShowCrossingPoints(boolean showCrossingPoints)
           
 void unhighlight(OMGraphic omg)
          Notification to set OMGraphic to normal appearance.
 
Methods inherited from class com.bbn.openmap.layer.editor.EditorLayer
creatingOMGraphic, dispose, findAndInit, findAndUndo, getEditorTool, getFace, getKey, getMouseEventInterpreter, getMouseMode, getMouseModeIDsForEvents, getOrientation, setEditorTool, setKey, setMouseModeIDsForEvents, setName, setOrientation, setVisible
 
Methods inherited from class com.bbn.openmap.layer.DrawingToolLayer
doIt, edit, getActions, getDbfFactory, getDrawingAttributes, getDrawingTool, getFileName, getInfoText, getOMGraphics, getProperties, getPropertyInfo, getProxyMouseMode, getShowHints, load, releaseProxyMouseMode, saveOMGraphics, setDbfFactory, setDrawingAttributes, setDrawingTool, setFileName, setOMGraphics, setProxyMouseMode, setShowHints, shouldEdit
 
Methods inherited from class com.bbn.openmap.layer.OMGraphicHandlerLayer
actionPerformed, canSetList, copy, createLayerWorker, cut, doAction, doPrepare, filter, filter, filter, getConsumeEvents, getDefaultSettingsPanel, getFilter, getItemsForMapMenu, getItemsForOMGraphicMenu, getLayerWorker, getList, getMapMouseListener, getProjectionChangePolicy, getRedrawButton, getRenderPolicy, getSelected, getSettingsButton, getTransparency, getTransparencyAdjustmentPanel, isCancelled, isInterruptable, isWorking, leftClick, paint, paste, projectionChanged, renderDataForProjection, resetFiltering, setConsumeEvents, setFilter, setInterruptable, setLayerWorker, setList, setMouseEventInterpreter, setProjectionChangePolicy, setRenderPolicy, setTransparency, supportsSQL, workerComplete
 
Methods inherited from class com.bbn.openmap.Layer
addComponentListener, added, addInfoDisplayListener, addLayerStatusListener, addMouseListener, addVetoableChangeListener, childrenAdded, childrenRemoved, clearListeners, connectToBeanContext, createWindowSupport, disconnectFromBeanContext, finalize, findAndInit, fireHideToolTip, firePaletteEvent, fireRequestBrowserContent, fireRequestBrowserContent, fireRequestCursor, fireRequestInfoLine, fireRequestInfoLine, fireRequestInfoLine, fireRequestMessage, fireRequestMessage, fireRequestToolTip, fireRequestToolTip, fireRequestURL, fireRequestURL, fireStatusUpdate, fireStatusUpdate, fireVetoableChange, getAddAsBackground, getAddToBeanContext, getAttribute, getBeanContext, getCoordTransform, getIcon, getMaxScale, getMinScale, getPackage, getPalette, getProjection, getPropertyPrefix, getWindowSupport, hasGUI, hidePalette, isAutoPalette, isProjectionOK, isReadyToPaint, isRemovable, notifyHideHack, prependDataPathPrefix, putAttribute, removeComponentListener, removeConfirmed, removed, removeInfoDisplayListener, removeLayerStatusListener, removeVetoableChangeListener, repaint, resetPalette, setAddAsBackground, setAddToBeanContext, setAutoPalette, setBeanContext, setCoordTransform, setIcon, setLayerProperties, setMaxScale, setMinScale, setPaletteVisible, setProjection, setProjection, setProperties, setPropertyPrefix, setReadyToPaint, setRemovable, setWindowSupport, showPalette
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.bbn.openmap.tools.drawing.DrawingToolRequestor
getName
 
Methods inherited from interface java.beans.beancontext.BeanContextChild
addPropertyChangeListener, removePropertyChangeListener
 

Field Detail

drawnList

protected OMGraphicList drawnList
This list holds the OMGraphics that have been drawn.


fileDataList

protected OMGraphicList fileDataList
This list holds the EsriGraphicLists from the Shape files.


intersectionResultList

protected OMGraphicList intersectionResultList
This list holds the BoundaryCrossings and the image masks created from Intersection queries.


regionIndex

protected ExtentIndexImpl regionIndex
The RegionIndex organizing the Shape OMGraphics for searching.


shapeDA

protected DrawingAttributes shapeDA

shapeDASelected

protected DrawingAttributes shapeDASelected

ShapeFileListProperty

public static final java.lang.String ShapeFileListProperty
See Also:
Constant Field Values

ShapeFileProperty

public static final java.lang.String ShapeFileProperty
See Also:
Constant Field Values

ShowCrossingPointsProperty

public static final java.lang.String ShowCrossingPointsProperty
See Also:
Constant Field Values

PointCheckProperty

public static final java.lang.String PointCheckProperty
See Also:
Constant Field Values

SHAPE_FILE_NAME_ATTRIBUTE

public static final java.lang.String SHAPE_FILE_NAME_ATTRIBUTE
See Also:
Constant Field Values

SHAPE_VISIBILITY_CONTROL_ATTRIBUTE

public static final java.lang.String SHAPE_VISIBILITY_CONTROL_ATTRIBUTE
See Also:
Constant Field Values

SHAPE_CONTROL_ATTRIBUTE

public static final java.lang.String SHAPE_CONTROL_ATTRIBUTE
See Also:
Constant Field Values

showCrossingPoints

protected boolean showCrossingPoints

createPointCheck

protected boolean createPointCheck

DEBUG

public static boolean DEBUG
Constructor Detail

GeoIntersectionLayer

public GeoIntersectionLayer()
Method Detail

setProperties

public void setProperties(java.lang.String prefix,
                          java.util.Properties props)
Description copied from class: OMGraphicHandlerLayer
Overrides the Layer setProperties method. Also calls Layer's version. If the ProjectionChangePolicy and RenderPolicy objects are set programmatically, are PropertyConsumers and the .class property is not set, they will still have access to properties if this method is called. Their property prefix will be scoped as if the OMGraphicHandlerLayer had them created, with their prefix being prefix + . + PropertyChangePolicyProperty and prefix + . + RenderPolicyProperty. If the .class property is set, then a new policy object will be created and replace the one set before this method is called.

Specified by:
setProperties in interface PropertyConsumer
Overrides:
setProperties in class EditorLayer
Parameters:
prefix - the token to prefix the property names
props - the Properties object

prepare

public OMGraphicList prepare()
Description copied from class: OMGraphicHandlerLayer
This is the main method you should be concerned with when overriding this class. You have to make sure that this method returns an OMGraphicList that is ready to be rendered. That means they need to be generated with the current projection, which can be retrieved by calling getProjection().

This method will be called in a separate thread if doPrepare() is called on the layer. This will automatically cause repaint() to be called, which lets java know to call paint() on this class.

Note that the default action of this method is to get the OMGraphicList as it is currently set in the layer, re-projects the list with the current projection (calls generate() on them), and then returns the current list.

If your layer needs to change what is on the list based on what the current projection is, you can either clear() the list yourself and add new OMGraphics to it (remember to call generate(Projection) on them), and return the list. You also have the option of setting a ListResetPCPolicy, which will automatically set the list to null when the projection changes before calling this method. The OMGraphicHandlerList will ignore a null OMGraphicList.

NOTE: If you call prepare directly, you may need to call repaint(), too. With all invocations of this method that are cause by a projection change, repaint() will be called for you. The method is synchronized in case renderDataForProjection() gets called while in the middle of this method. For a different projection, that would be bad.

Overrides:
prepare in class DrawingToolLayer

calculateIntersectionsWithDrawnList

public void calculateIntersectionsWithDrawnList()

setRegionAsSelected

protected void setRegionAsSelected(GeoIntersectionLayer.OMPolyRegion ompr)

getPathFromOMGraphic

protected GeoPath getPathFromOMGraphic(OMGraphic omg)

getPath

protected GeoPath getPath(OMLine oml)

getPath

protected GeoPath getPath(OMPoly omp)

addShapeFileFromUser

public void addShapeFileFromUser()
Query the user for a shape file, and add the contents to the region list or line list if a valid file is selected.


addShapeFile

public void addShapeFile(java.io.File shpFile)
Add the data from a shape file to the region list or edge list, depending on the content type.

Parameters:
shpFile -

setShapeListVisibilityForCheckbox

protected void setShapeListVisibilityForCheckbox()

getRegionIndex

public ExtentIndex getRegionIndex(boolean resetRegionSelection)

addToRegionIndex

protected void addToRegionIndex(OMPoly p,
                                ExtentIndex regionIndex)

addToRegionIndex

protected void addToRegionIndex(OMGraphicList omgl,
                                ExtentIndex regionIndex)

drawingComplete

public void drawingComplete(OMGraphic omg,
                            OMAction action)
Description copied from class: EditorLayer
DrawingToolRequestor method. It's actually pretty important to call EditorTool.drawingComplete() from here, too, if you create a subclass to EditorLayer. The EditorTool needs to know this to reset the drawing tool mouse mode, to get ready for another new OMGraphic if necessary.

Specified by:
drawingComplete in interface DrawingToolRequestor
Overrides:
drawingComplete in class EditorLayer

getDrawnIntersectorList

public OMGraphicList getDrawnIntersectorList()

receivesMapEvents

public boolean receivesMapEvents()
Description copied from class: OMGraphicHandlerLayer
A query from the MapMouseInterpreter wondering if the GestureResponsePolicy wants events pertaining to mouse movements over the map that are not over an OMGraphic. If the GestureResponsePolicy responds true, then the mouseOver and leftClick methods will be called on the GestureResponsePolicy by the interpreter. There is no rightClick method that is called, because a right click will always cause a getItemsForMapMenu() method to be called.

Specified by:
receivesMapEvents in interface GestureResponsePolicy
Overrides:
receivesMapEvents in class OMGraphicHandlerLayer

mouseOver

public boolean mouseOver(MapMouseEvent mme)
Description copied from class: OMGraphicHandlerLayer
A notification that the mouse cursor has been moved over the map, not over any of the OMGraphics on the GestureResponsePolicy. This only gets called if the response to receiveMapEvents is true.

Specified by:
mouseOver in interface GestureResponsePolicy
Overrides:
mouseOver in class OMGraphicHandlerLayer
Parameters:
mme - MapMouseEvent describing the location of the mouse.
Returns:
true of this information is to be considered consumed and should not be passed to anybody else.

isHighlightable

public boolean isHighlightable(OMGraphic omg)
Description copied from class: DrawingToolLayer
Query that an OMGraphic can be highlighted when the mouse moves over it. If the answer is true, then highlight with this OMGraphics will be called, in addition to getInfoText() and getToolTipTextFor()

Specified by:
isHighlightable in interface GestureResponsePolicy
Overrides:
isHighlightable in class DrawingToolLayer

getToolTipTextFor

public java.lang.String getToolTipTextFor(OMGraphic omg)
Description copied from class: DrawingToolLayer
Query for what tooltip to display for an OMGraphic when the mouse is over it.

Specified by:
getToolTipTextFor in interface GestureResponsePolicy
Overrides:
getToolTipTextFor in class DrawingToolLayer

highlight

public void highlight(OMGraphic omg)
Description copied from class: OMGraphicHandlerLayer
Fleeting change of appearance for mouse movements over an OMGraphic.

Specified by:
highlight in interface GestureResponsePolicy
Overrides:
highlight in class OMGraphicHandlerLayer

unhighlight

public void unhighlight(OMGraphic omg)
Description copied from class: OMGraphicHandlerLayer
Notification to set OMGraphic to normal appearance.

Specified by:
unhighlight in interface GestureResponsePolicy
Overrides:
unhighlight in class OMGraphicHandlerLayer

isSelectable

public boolean isSelectable(OMGraphic omg)
Description copied from class: DrawingToolLayer
Query that an OMGraphic is selectable.

Specified by:
isSelectable in interface GestureResponsePolicy
Overrides:
isSelectable in class DrawingToolLayer

select

public void select(OMGraphicList omgl)
Description copied from class: DrawingToolLayer
GestureResponsePolicy method.

Specified by:
select in interface GestureResponsePolicy
Overrides:
select in class DrawingToolLayer

deselect

public void deselect(OMGraphicList omgl)
Description copied from class: OMGraphicHandlerLayer
Designate a list of OMGraphics as de-selected.

Specified by:
deselect in interface GestureResponsePolicy
Overrides:
deselect in class OMGraphicHandlerLayer

getPointIntersectionImage

public OMGraphic getPointIntersectionImage(OMGraphic omg)

getFileListControl

protected javax.swing.JPanel getFileListControl()

rebuildFileListControl

public void rebuildFileListControl()

getGUI

public java.awt.Component getGUI()
Description copied from class: Layer
Gets the gui controls associated with the layer. This default implementation returns null indicating that the layer has no gui controls.

Overrides:
getGUI in class DrawingToolLayer
Returns:
java.awt.Component or null, null by default.

isShowCrossingPoints

public boolean isShowCrossingPoints()

setShowCrossingPoints

public void setShowCrossingPoints(boolean showCrossingPoints)

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent evt)
Specified by:
propertyChange in interface java.beans.PropertyChangeListener

getShapeDA

public DrawingAttributes getShapeDA()

setShapeDA

public void setShapeDA(DrawingAttributes shapeDA)

getShapeDASelected

public DrawingAttributes getShapeDASelected()

setShapeDASelected

public void setShapeDASelected(DrawingAttributes shapeDASelected)

isCreatePointCheck

public boolean isCreatePointCheck()

setCreatePointCheck

public void setCreatePointCheck(boolean createPointCheck)

runGeoTests

public void runGeoTests(int numIterations,
                        int numToSkipAtStart)

main

public static void main(java.lang.String[] argv)


Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details