## com.bbn.openmap.layer.test
Class GeoIntersectionLayer

    java.lang.Object
      java.awt.Component
          java.awt.Container
              javax.swing.JComponent
                  com.bbn.openmap.Layer
                      com.bbn.openmap.layer.OMGraphicHandlerLayer
                          com.bbn.openmap.layer.DrawingToolLayer
                              com.bbn.openmap.layer.editor.EditorLayer
                                  com.bbn.openmap.layer.test.GeoIntersectionLayer

All Implemented Interfaces:
  java.awt.event.ActionListener, java.beans.beancontext.BeanContextChild, java.beans.beancontext.BeanContextMembershipListener, DrawingToolRequestor, java.util.EventListener, GestureResponsePolicy, java.awt.image.ImageObserver, java.awt.MenuContainer, ProjectionListener, ProjectionPainter, java.beans.PropertyChangeListener, PropertyConsumer, java.io.Serializable, Tool

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 inherited from class javax.swing.JComponent
`javax.swing.JComponent.AccessibleJComponent`

Nested classes inherited from class java.awt.Container
`java.awt.Container.AccessibleAWTContainer`

Nested classes inherited from class java.awt.Component
`java.awt.Component.AccessibleAWTComponent, 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`

Fields inherited from class com.bbn.openmap.layer.DrawingToolLayer
`drawingTool, DTL_DEBUG, fileName, proxyMMM, SerializedURLNameProperty, showHints, ShowHintsProperty`

Fields inherited from class com.bbn.openmap.layer.OMGraphicHandlerLayer
`consumeEvents, ConsumeEventsProperty, filter, interruptable, InterruptableProperty, layerWorker, LAYERWORKER_LOCK, 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, DisplayPaletteCmd, DisplayPropertiesCmd, doHack, HidePaletteCmd, i18n, IDListeners, localHackList, lsListeners, maxScale, MaxScaleProperty, minScale, MinScaleProperty, palette, paletteListener, PrettyNameProperty, propertyPrefix, RedrawCmd, removable, RemovableProperty, SWING_PACKAGE, 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 deselected.
`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
`findAndInit, findAndUndo, getFace, getKey, getMouseEventInterpreter, getMouseMode, getMouseModeIDsForEvents, setKey, setMouseModeIDsForEvents, setVisible`

Methods inherited from class com.bbn.openmap.layer.DrawingToolLayer
`doIt, edit, getActions, getDrawingTool, getFileName, getInfoText, getProperties, getPropertyInfo, getProxyMouseMode, getShowHints, load, releaseProxyMouseMode, saveOMGraphics, setDrawingTool, setProxyMouseMode, setSFileName, setShowHints, shouldEdit`

Methods inherited from class com.bbn.openmap.layer.OMGraphicHandlerLayer

`canSetList, copy, createLayerWorker, cut, doAction, doPrepare, filter, filter, filter, getConsumeEvents, getFilter, getItemsForMapMenu, getItemsForOMGraphicMenu, getLayerWorker, getList, getMapMouseListener, getProjectionChangePolicy, getRenderPolicy, getSelected, getTransparency, getTransparencyAdjustmentPanel, interrupt, isCancelled, isInterruptable, isWorking, leftClick, paint, paste, projectionChanged, renderDataForProjection, resetFiltering, setCancelled, setConsumeEvents, setFilter, setInterruptable, setLayerWorker, setList, setMouseEventInterpreter, setProjectionChangePolicy, setRenderPolicy, setTransparency, supportsSQL, workerComplete`

Methods inherited from class com.bbn.openmap.Layer

`actionPerformed, addComponentListener, added, addInfoDisplayListener, addLayerStatusListener, addMouseListener, addVetoableChangeListener, childrenAdded, childrenRemoved, clearListeners, connectToBeanContext, createWindowSupport, finalize, findAndInit, fireHideToolTip, firePaletteEvent, fireRequestBrowserContent, fireRequestBrowserContent, fireRequestCursor, fireRequestInfoLine, fireRequestInfoLine, fireRequestInfoLine, fireRequestMessage, fireRequestMessage, fireRequestToolTip, fireRequestToolTip, fireRequestURL, fireRequestURL, fireStatusUpdate, fireStatusUpdate, fireVetoableChange, getAddAsBackground, getAddToBeanContext, getAttribute, getBeanContext, getIcon, getMaxScale, getMinScale, getPackage, getPalette, getProjection, getPropertyPrefix, getWindowSupport, hasGUI, hidePalette, isAutoPalette, isProjectionOK, isRemovable, notifyHideHack, putAttribute, removeComponentListener, removeConfirmed, removed, removeInfoDisplayListener, removeLayerStatusListener, removeVetoableChangeListener, repaint, resetPalette, setAddAsBackground, setAddToBeanContext, setAutoPalette, setBeanContext, setIcon, setMaxScale, setMinScale, setName, setPaletteVisible, setProjection, setProjection, setProperties, setPropertyPrefix, setRemovable, setWindowSupport, showPalette`

Methods inherited from class javax.swing.JComponent

`addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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 and are PropertyConsumers, 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.

  Specified by:
    `setProperties` in interface `PropertyConsumer`
  Overrides:
    `setProperties` in class `EditorLayer`

### 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, reprojects 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 deselected.

  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`

### 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