Class GeoIntersectionLayer

  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.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.prettyName=GEO Intersections
        geo.loaders=lines polys points
        geo.shapeFileList=geocounties geolakes geocountries
        # Colors for regular, unselected data shapes
        # Colors for data shapes intersected by drawn shapes

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
Nested classes/interfaces inherited from class java.awt.Container
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
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
Fields inherited from class java.awt.Component
Fields inherited from interface com.bbn.openmap.PropertyConsumer
EditorProperty, initPropertiesProperty, LabelEditorProperty, ScopedEditorProperty
Fields inherited from interface java.awt.image.ImageObserver
Constructor Summary
Method Summary
 void addShapeFile( 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
Methods inherited from interface java.beans.beancontext.BeanContextChild
addPropertyChangeListener, removePropertyChangeListener

Field Detail


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.


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


protected DrawingAttributes shapeDA


protected DrawingAttributes shapeDASelected


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


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


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


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


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


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


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


protected boolean showCrossingPoints


protected boolean createPointCheck


public static boolean DEBUG
Constructor Detail


public GeoIntersectionLayer()
Method Detail


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
setProperties in class EditorLayer
prefix - the token to prefix the property names
props - the Properties object


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.

prepare in class DrawingToolLayer


public void calculateIntersectionsWithDrawnList()


protected void setRegionAsSelected(GeoIntersectionLayer.OMPolyRegion ompr)


protected GeoPath getPathFromOMGraphic(OMGraphic omg)


protected GeoPath getPath(OMLine oml)


protected GeoPath getPath(OMPoly omp)


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.


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

shpFile -


protected void setShapeListVisibilityForCheckbox()


public ExtentIndex getRegionIndex(boolean resetRegionSelection)


protected void addToRegionIndex(OMPoly p,
                                ExtentIndex regionIndex)


protected void addToRegionIndex(OMGraphicList omgl,
                                ExtentIndex regionIndex)


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
drawingComplete in class EditorLayer


public OMGraphicList getDrawnIntersectorList()


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
receivesMapEvents in class OMGraphicHandlerLayer


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
mouseOver in class OMGraphicHandlerLayer
mme - MapMouseEvent describing the location of the mouse.
true of this information is to be considered consumed and should not be passed to anybody else.


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
isHighlightable in class DrawingToolLayer


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
getToolTipTextFor in class DrawingToolLayer


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
highlight in class OMGraphicHandlerLayer


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

Specified by:
unhighlight in interface GestureResponsePolicy
unhighlight in class OMGraphicHandlerLayer


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

Specified by:
isSelectable in interface GestureResponsePolicy
isSelectable in class DrawingToolLayer


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

Specified by:
select in interface GestureResponsePolicy
select in class DrawingToolLayer


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

Specified by:
deselect in interface GestureResponsePolicy
deselect in class OMGraphicHandlerLayer


public OMGraphic getPointIntersectionImage(OMGraphic omg)


protected javax.swing.JPanel getFileListControl()


public void rebuildFileListControl()


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.

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


public boolean isShowCrossingPoints()


public void setShowCrossingPoints(boolean showCrossingPoints)


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


public DrawingAttributes getShapeDA()


public void setShapeDA(DrawingAttributes shapeDA)


public DrawingAttributes getShapeDASelected()


public void setShapeDASelected(DrawingAttributes shapeDASelected)


public boolean isCreatePointCheck()


public void setCreatePointCheck(boolean createPointCheck)


public void runGeoTests(int numIterations,
                        int numToSkipAtStart)


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

Copyright (C) BBNT Solutions LLC; See for details