DTEDFrameCacheLayer (OpenMap API)
Date: 2016-12-09

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.bbn.openmap.layer.dted
Class DTEDFrameCacheLayer

    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.dted.DTEDFrameCacheLayer

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

    public class DTEDFrameCacheLayer

extends OMGraphicHandlerLayer
implements java.awt.event.ActionListener, java.io.Serializable, DTEDConstants

The DTEDFrameCacheLayer fills the screen with DTED data. To view the DTED iamges, the projection has to be set in an ARC projection, which OpenMap calls the CADRG or LLXY projection. In Gesture mode, clicking on the map will cause the DTEDFrameCacheLayer to place a point on the window and show the elevation of that point. The Gesture response is not dependent on the scale or projection of the screen.

The DTEDFrameCacheLayer uses the DTEDCacheHandler to get the images it needs. The DTEDFrameCacheLayer receives projection change events, and then asks the cache handler for the images it needs based on the new projection. The DTEDFrameCacheLayer also relies on properties to set its variables, such as the dted frame paths (there can be several at a time), the opaqueness of the frame images, number of colors to use, and some other display variables. The DTEDFrameCacheLayer properties look something like this:

NOTE: Make sure your DTED file and directory names are in lower case. You can use the com.bbn.openmap.layer.rpf.ChangeCase class to make modifications if necessary.

        #------------------------------
        # Properties for DTEDFrameCacheLayer
        #------------------------------

        # Level of DTED data to use 0, 1, 2
        dted.level=0

        # height (meters or feet) between color changes in band shading
        dted.band.height=25

        # Minumum scale to display images. Larger numbers mean smaller scale,
        # and are more zoomed out.
        dted.min.scale=20000000

        # Delete the cache if the layer is removed from the map.
        dted.kill.cache=true

        # Need to set GeneratorLoaders for DTED rendering.  These properties get
        # forwarded on to the DTEDFrameCacheHandler.
        dted.generators=greys colors
        dted.greys.class=com.bbn.openmap.omGraphics.grid.SlopeGeneratorLoader
        dted.greys.prettyName=Slope Shading
        dted.greys.colorsClass=com.bbn.openmap.omGraphics.grid.GreyscaleSlopeColors
        dted.colors.class=com.bbn.openmap.omGraphics.grid.SlopeGeneratorLoader
        dted.colors.prettyName=Elevation Shading
        dted.colors.colorsClass=com.bbn.openmap.omGraphics.grid.ColoredShadingColors

        #-------------------------------------
        # End of properties for DTEDFrameCacheLayer
        #-------------------------------------

See Also:
  `ChangeCase`, Serialized Form

Nested Class Summary
`static class` | `DTEDFrameCacheLayer.Builder` This is the easiest way to construct a DTEDFrameCacheLayer programmatically.

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 DTEDFrameCacheHandler` | `cache` The cache handler.
`static java.lang.String` | `DTEDKillCacheProperty`
`static java.lang.String` | `DTEDLevelProperty`
`static java.lang.String` | `DTEDMinScaleProperty`
`protected boolean` | `firstProjectionWarningSent` A flag to keep track of when the first time a warning was put up if the projection isn't EquiArc.
`protected boolean` | `killCache` Flag to delete the cache if the layer is removed from the map.
`protected long` | `minScale`
`protected javax.swing.Box` | `paletteBox` The user interface palette for the DTED layer.

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, 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.dataAccess.dted.DTEDConstants
`BANDSHADING, BOUNDARYSHADING, COLOREDSHADING, DEFAULT_BANDHEIGHT, DEFAULT_SLOPE_ADJUST, LEVEL_0, LEVEL_1, LEVEL_2, NOSHADING, SLOPESHADING`

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
`DTEDFrameCacheLayer()` The default constructor for the Layer.
`DTEDFrameCacheLayer(DTEDFrameCache dfc)` The default constructor for the Layer.

Method Summary
`boolean` | `determineLocation(java.awt.event.MouseEvent e)`
`void` | `findAndInit(java.lang.Object someObj)` This method is called by the findAndInit(Iterator) method, once for every object inside the iterator.
`void` | `findAndUndo(java.lang.Object someObj)` This is the method that does the opposite as the findAndInit(Object).
`DTEDFrameCacheHandler` | `getCache()`
`int` | `getDtedLevel()` Get the value set for which DTED level is being used, 0-2.
`DTEDFrameCache` | `getFrameCache()`
`java.awt.Component` | `getGUI()` Creates the interface palette.
`boolean` | `getKillCache()` Get whether the cache will be killed when the layer is removed from the map.
`MapMouseInterpreter` | `getMouseEventInterpreter()` Overridden to modify the MapMouseInterpreter used by the layer.
`boolean` | `isHighlightable(OMGraphic omg)` Don't need DTEDFrames highlighting themselves.
`void` | `paint(java.awt.Graphics g)` Paints the layer.
`OMGraphicList` | `prepare()` Prepares the graphics for the layer.
`void` | `removed(java.awt.Container cont)` Called when the layer is no longer part of the map.
`void` | `setCache(DTEDFrameCacheHandler cache)`
`protected void` | `setDefaultValues()`
`void` | `setDtedLevel(int level)`
`void` | `setFrameCache(DTEDFrameCache dfc)`
`void` | `setKillCache(boolean kc)`
`void` | `setProperties(java.util.Properties properties)` Set all the DTED properties from a properties object.
`void` | `setProperties(java.lang.String prefix, java.util.Properties properties)` Set all the DTED properties from a properties object.

Methods inherited from class com.bbn.openmap.layer.OMGraphicHandlerLayer
`actionPerformed, canSetList, copy, createLayerWorker, cut, deselect, dispose, doAction, doPrepare, filter, filter, filter, getConsumeEvents, getDefaultSettingsPanel, getFilter, getInfoText, getItemsForMapMenu, getItemsForOMGraphicMenu, getLayerWorker, getList, getMapMouseListener, getMouseModeIDsForEvents, getProjectionChangePolicy, getProperties, getPropertyInfo, getRedrawButton, getRenderPolicy, getSelected, getSettingsButton, getToolTipTextFor, getTransparency, getTransparencyAdjustmentPanel, highlight, isCancelled, isInterruptable, isSelectable, isWorking, leftClick, mouseOver, paste, projectionChanged, receivesMapEvents, renderDataForProjection, resetFiltering, select, setConsumeEvents, setFilter, setInterruptable, setLayerWorker, setList, setMouseEventInterpreter, setMouseModeIDsForEvents, setProjectionChangePolicy, setRenderPolicy, setTransparency, supportsSQL, unhighlight, 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, removeInfoDisplayListener, removeLayerStatusListener, removeVetoableChangeListener, repaint, resetPalette, setAddAsBackground, setAddToBeanContext, setAutoPalette, setBeanContext, setCoordTransform, setIcon, setLayerProperties, setMaxScale, setMinScale, setName, setPaletteVisible, setProjection, setProjection, setPropertyPrefix, setReadyToPaint, setRemovable, setVisible, 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 java.awt.event.ActionListener
`actionPerformed`

Methods inherited from interface java.beans.beancontext.BeanContextChild
`addPropertyChangeListener, removePropertyChangeListener`

Field Detail

### cache

    protected transient DTEDFrameCacheHandler cache

  The cache handler.

### minScale

    protected long minScale

### killCache

    protected boolean killCache

  Flag to delete the cache if the layer is removed from the map.

### DTEDLevelProperty

    public static final java.lang.String DTEDLevelProperty

See Also:
  Constant Field Values

### DTEDMinScaleProperty

    public static final java.lang.String DTEDMinScaleProperty

See Also:
  Constant Field Values

### DTEDKillCacheProperty

    public static final java.lang.String DTEDKillCacheProperty

See Also:
  Constant Field Values

### firstProjectionWarningSent

    protected boolean firstProjectionWarningSent

  A flag to keep track of when the first time a warning was put up if the projection isn't EquiArc.

### paletteBox

    protected javax.swing.Box paletteBox

  The user interface palette for the DTED layer.

Constructor Detail

### DTEDFrameCacheLayer

    public DTEDFrameCacheLayer()

  The default constructor for the Layer. All of the attributes are set to their default values.

### DTEDFrameCacheLayer

    public DTEDFrameCacheLayer(DTEDFrameCache dfc)

  The default constructor for the Layer. All of the attributes are set to their default values.

  Parameters:
    `dfc` - paths to the DTED directories that hold level 0 and 1 data.

Method Detail

### setFrameCache

    public void setFrameCache(DTEDFrameCache dfc)

### getFrameCache

    public DTEDFrameCache getFrameCache()

### getCache

    public DTEDFrameCacheHandler getCache()

### setCache

    public void setCache(DTEDFrameCacheHandler cache)

### setDefaultValues

    protected void setDefaultValues()

### setProperties

    public void setProperties(java.util.Properties properties)

  Set all the DTED properties from a properties object.

  Specified by:
    `setProperties` in interface `PropertyConsumer`
  Overrides:
    `setProperties` in class `Layer`
  Parameters:
    `properties` - the `Properties` object.

### setProperties

    public void setProperties(java.lang.String prefix,
                              java.util.Properties properties)

  Set all the DTED properties from a properties object.

  Specified by:
    `setProperties` in interface `PropertyConsumer`
  Overrides:
    `setProperties` in class `OMGraphicHandlerLayer`
  Parameters:
    `prefix` - the token to prefix the property names
    `properties` - the `Properties` object

### removed

    public void removed(java.awt.Container cont)

  Called when the layer is no longer part of the map.

  Overrides:
    `removed` in class `Layer`
  Parameters:
    `cont` - Container

### findAndInit

    public void findAndInit(java.lang.Object someObj)

  Description copied from class: `Layer`
  This method is called by the findAndInit(Iterator) method, once for every object inside the iterator. It's here to allow subclasses a way to receive objects and still let the super classes have a shot at the object. So, you can override this method can call super.findAndInit(obj), or override the findAndInit(Iterator) method and call super.findAndInit(obj). Whatever.

  Overrides:
    `findAndInit` in class `Layer`

### findAndUndo

    public void findAndUndo(java.lang.Object someObj)

  Description copied from class: `Layer`
  This is the method that does the opposite as the findAndInit(Object). Lets you call super classes with objects that need to be removed. At this level, if the layer detects that it is being removed from the MapHandler, it calls dispose on itself.

  Overrides:
    `findAndUndo` in class `Layer`

### prepare

    public OMGraphicList prepare()

  Prepares the graphics for the layer. This is where the getRectangle() method call is made on the dted.

  Occasionally it is necessary to abort a prepare call. When this happens, the map will set the cancel bit in the LayerThread, (the thread that is running the prepare). If this Layer needs to do any cleanups during the abort, it should do so, but return out of the prepare asap.

  Overrides:
    `prepare` in class `OMGraphicHandlerLayer`

### paint

    public void paint(java.awt.Graphics g)

  Paints the layer.

  Overrides:
    `paint` in class `OMGraphicHandlerLayer`
  Parameters:
    `g` - the Graphics context for painting

### getDtedLevel

    public int getDtedLevel()

  Get the value set for which DTED level is being used, 0-2.

### setDtedLevel

    public void setDtedLevel(int level)

### getKillCache

    public boolean getKillCache()

  Get whether the cache will be killed when the layer is removed from the map.

### setKillCache

    public void setKillCache(boolean kc)

### getGUI

    public java.awt.Component getGUI()

  Creates the interface palette.

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

### getMouseEventInterpreter

    public MapMouseInterpreter getMouseEventInterpreter()

  Overridden to modify the MapMouseInterpreter used by the layer.

  Overrides:
    `getMouseEventInterpreter` in class `OMGraphicHandlerLayer`

### determineLocation

    public boolean determineLocation(java.awt.event.MouseEvent e)

### isHighlightable

    public boolean isHighlightable(OMGraphic omg)

  Don't need DTEDFrames highlighting themselves.

  Specified by:
    `isHighlightable` in interface `GestureResponsePolicy`
  Overrides:
    `isHighlightable` in class `OMGraphicHandlerLayer`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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