com.bbn.openmap.layer.rpf
Class RpfCoverage

java.lang.Object
  extended by com.bbn.openmap.omGraphics.geom.BasicGeometry
      extended by com.bbn.openmap.omGraphics.OMGraphicAdapter
          extended by com.bbn.openmap.omGraphics.OMList<OMGraphic>
              extended by com.bbn.openmap.omGraphics.OMGraphicList
                  extended by com.bbn.openmap.layer.rpf.RpfCoverage
All Implemented Interfaces:
RpfConstants, OMGeometry, OMGraphic, OMGraphicConstants, PropertyConsumer, java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<OMGraphic>, java.util.Collection<OMGraphic>, java.util.List<OMGraphic>

public class RpfCoverage
extends OMGraphicList
implements RpfConstants, PropertyConsumer

This is a tool that provides coverage information on the Rpf data. It is supposed to be a simple tool that lets you see the general location of data, to guide you to the right place and scale of coverage. The layer really uses the properties passed in to it to determine which RPF/A.TOC should be scanned for the data. There is a palette for this layer, that lets you turn off the coverage for different levels of Rpf. Right now, only City Graphics, TLM, JOG, TPC, ONC, JNC, GNC and 5/10 meter CIB scales are are handled. All other scales are tossed together under the misc setting. The City Graphics setting shows all charts for scales greater than than 1:15k.

       The properties for this file are:
        # Java Rpf properties
        # Number between 0-255: 0 is transparent, 255 is opaque
        jrpf.coverageOpaque=255
        #Default is true, don't need this entry if you like it...
        jrpf.CG.showcov=true
        #Default colors don't need this entry
        jrpf.CG.color=CE4F3F
        # Other types can be substituted for CG (TLM, JOG, TPC, ONC, JNC, GNC, CIB10, CIB5, MISC)
        # Fill the rectangle, default is true
        jrpf.coverageFill=true
 

See Also:
Serialized Form

Nested Class Summary
protected static class RpfCoverage.DefaultColors
           
static class RpfCoverage.RCCScaleComparator
           
static class RpfCoverage.RpfCoverageControl
           
 
Nested classes/interfaces inherited from class com.bbn.openmap.omGraphics.OMList
OMList.OMDist<T>
 
Field Summary
protected  RpfCoverageManager coverageManager
           
static java.lang.String CoverageOpaquenessProperty
          Property to use for filled rectangles (when java supports it).
protected  java.util.Map<RpfProductInfo,RpfCoverage.RpfCoverageControl> coverages
           
static java.lang.String FillProperty
          Property to use to fill rectangles.
protected  boolean fillRects
          Flag to fill the coverage rectangles.
protected  RpfFrameProvider frameProvider
           
protected  I18n i18n
           
protected  boolean inUse
          Flag to track when the RpfCoverage is active.
protected  Layer layer
          The parent layer.
protected  int opaqueness
          A setting for how transparent to make the images.
protected  javax.swing.JFrame paletteWindow
           
protected  java.lang.String propertyPrefix
           
protected  boolean showPalette
          Show the palette when showing coverage.
 
Fields inherited from class com.bbn.openmap.omGraphics.OMList
allowDuplicates, FIRST_ADDED_ON_TOP, graphics, LAST_ADDED_ON_TOP, NONE, processAllGeometries, traverseMode, vague
 
Fields inherited from class com.bbn.openmap.omGraphics.OMGraphicAdapter
declutterType, displayPaint, edgeMatchesFill, fillPaint, hasLabel, linePaint, matted, mattingPaint, renderType, selected, selectPaint, showEditablePalette, stroke, textureMask
 
Fields inherited from class com.bbn.openmap.omGraphics.geom.BasicGeometry
attributes, lineType, needToRegenerate, shape, visible
 
Fields inherited from interface com.bbn.openmap.layer.rpf.RpfConstants
AutoFetchAttributeProperty, AuxCacheSizeProperty, BLANK, CacheSizeProperty, CADRG, CDTED, ChartSeriesProperty, CIB, CITYGRAPHICS, ColormodelProperty, ColorProperty, CoverageProperty, DefaultRPFCoveragePrefix, ImageScaleFactorProperty, KillCacheProperty, lockedButtonTitle, lockSeriesCommand, NumColorsProperty, OpaquenessProperty, RpfPathsProperty, ScaleImagesProperty, ScaleOverCoverageProperty, showCGCommand, showCoverageCommand, ShowCoverageProperty, showInfoCommand, ShowInfoProperty, showMapsCommand, ShowMapsProperty, TOPOLINEMAP, unlockedButtonTitle, Various, VARIOUS
 
Fields inherited from interface com.bbn.openmap.PropertyConsumer
EditorProperty, initPropertiesProperty, LabelEditorProperty, ScopedEditorProperty
 
Fields inherited from interface com.bbn.openmap.omGraphics.OMGraphicConstants
ADD_GRAPHIC_MASK, APP_OBJECT, BASIC_STROKE, CHANGE_APPEARANCE, clear, DECIMAL_DEGREES, DECLUTTERTYPE_LINE, DECLUTTERTYPE_MOVE, DECLUTTERTYPE_NONE, DECLUTTERTYPE_SPACE, DEFAULT_ROTATIONANGLE, DELETE_GRAPHIC_MASK, DESELECT_GRAPHIC_MASK, DESELECTALL_GRAPHIC_MASK, GRAPHICTYPE_ARC, GRAPHICTYPE_BITMAP, GRAPHICTYPE_CIRCLE, GRAPHICTYPE_ELLIPSE, GRAPHICTYPE_GRAPHIC, GRAPHICTYPE_GRID, GRAPHICTYPE_LINE, GRAPHICTYPE_POINT, GRAPHICTYPE_POLY, GRAPHICTYPE_RASTER, GRAPHICTYPE_RECTANGLE, GRAPHICTYPE_TEXT, INDEX, INFOLINE, LABEL, LINETYPE_GREATCIRCLE, LINETYPE_RHUMB, LINETYPE_STRAIGHT, LINETYPE_UNKNOWN, LOWER_GRAPHIC_MASK, LOWER_TO_BOTTOM_GRAPHIC_MASK, NO_ROTATE, OMGRAPHIC_ELT, OMGRAPHIC_TYPE_ATTR, RADIANS, RAISE_GRAPHIC_MASK, RAISE_TO_TOP_GRAPHIC_MASK, REMOVABLE, RENDERTYPE_LATLON, RENDERTYPE_OFFSET, RENDERTYPE_UNKNOWN, RENDERTYPE_XY, SELECT_GRAPHIC_MASK, SORT_GRAPHICS_MASK, TOOLTIP, UPDATE_GRAPHIC_MASK, UPDATED
 
Constructor Summary
RpfCoverage(Layer l, RpfFrameProvider frameProvider)
          The default constructor for the Layer.
 
Method Summary
 void allCoveragesOn()
           
protected  void clearLayerAndCoverages()
           
 java.awt.Component getGUI()
          Provides the palette widgets to control the options of showing maps, or attribute text.
 java.lang.String getInitPropertiesOrder()
          Specify what order properties should be presented in an editor.
protected  java.awt.Color getModifiedColor(java.awt.Color color)
           
 int getOpaqueness()
           
 javax.swing.JFrame getPaletteWindow()
          Get RpfCoverage's associated palette as a top-level window
 java.util.Properties getProperties(java.util.Properties props)
          PropertyConsumer method, to fill in a Properties object, reflecting the current values of the layer.
 java.util.Properties getPropertyInfo(java.util.Properties list)
          Method to fill in a Properties object with values reflecting the properties able to be set on this PropertyConsumer.
 java.lang.String getPropertyPrefix()
          Get the property key prefix that is being used to prepend to the property keys for Properties lookups.
 boolean isFillRects()
           
 boolean isInUse()
           
 boolean isShowPalette()
           
 void prepare(Projection projection, java.lang.String chartSeries)
          Prepares the graphics for the layer.
protected  void resetCoveragesOnLayer()
           
protected  void setDefaultValues()
          Method that sets all the variables to the default values.
 void setFillRects(boolean fillRects)
           
 void setFrameProvider(RpfFrameProvider frameProvider)
           
 void setInUse(boolean iu)
           
 void setOpaqueness(int opaqueness)
           
 void setProperties(java.util.Properties props)
          Method to set the properties in the PropertyConsumer.
 void setProperties(java.lang.String prefix, java.util.Properties properties)
          Set all the Rpf properties from a properties object.
 void setPropertyPrefix(java.lang.String prefix)
          Set the property key prefix that should be used by the PropertyConsumer.
 void setShowPalette(boolean sp)
           
 
Methods inherited from class com.bbn.openmap.omGraphics.OMGraphicList
add, add, addAll, addAll, clone, create, createDist, get, getOMGraphicAt, getTargets, iteratorCopy, listIteratorCopy, listIteratorCopy, objectToOMGraphic, readGraphics, readGraphics, remove, set, setFillPaint, setGridGenerator, setLinePaint, setMatted, setMattingPaint, setOMGraphicAt, setSelectPaint, setStroke, setTargets, setTextureMask, sort, writeGraphics, writeGraphics
 
Methods inherited from class com.bbn.openmap.omGraphics.OMList
checkForDuplicate, clear, contains, contains, containsAll, deselect, distance, doAction, findAll, findAll, findAllTest, findClosest, findClosest, findClosest, findClosestTest, findIndexOfClosest, findIndexOfClosest, generate, generate, getAllowDuplicates, getContains, getCopy, getDescription, getDescription, getProcessAllGeometries, getTraverseMode, indexOf, isEmpty, isVague, isVisible, iterator, lastIndexOf, listIterator, listIterator, moveIndexedOneToBack, moveIndexedOneToBottom, moveIndexedOneToFront, moveIndexedOneToTop, moveIndexedToBottom, moveIndexedToFirst, moveIndexedToLast, moveIndexedToTop, project, project, remove, removeAll, render, renderAllAsSelected, restore, retainAll, select, selectClosest, selectClosest, selectClosestTest, setAllowDuplicates, setProcessAllGeometries, setTraverseMode, setVague, setVisible, shouldProcess, size, subList, toArray, toArray
 
Methods inherited from class com.bbn.openmap.omGraphics.OMGraphicAdapter
getDeclutterType, getDisplayColor, getDisplayPaint, getEdgeMatchesFill, getFillColor, getFillPaint, getHasLabel, getLineColor, getLinePaint, getMattingPaint, getRenderType, getSelectColor, getSelectPaint, getShowEditablePalette, getStroke, getTextureMask, hasLineTypeChoice, initLabelingDuringGenerate, isClear, isMatted, isSelected, normalizeDistanceForLineWidth, readStroke, readTextureMask, regenerate, renderLabel, renderShape, setDeclutterType, setEdgeMatchesFill, setFillColor, setGraphicsColor, setGraphicsForEdge, setGraphicsForFill, setHasLabel, setLabelLocation, setLabelLocation, setLabelLocation, setLabelLocation, setLabelLocation, setLabelLocation, setLabelLocation, setLabelLocation, setLineColor, setRenderType, setSelectColor, setSelected, setShowEditablePalette, shouldRenderEdge, shouldRenderFill, writeStroke, writeTextureMask
 
Methods inherited from class com.bbn.openmap.omGraphics.geom.BasicGeometry
_distance, appendShapeEdge, appendShapeEdge, appendShapeEdge, appendShapeEdge, clearAttributes, contains, createAttributeMap, createBoxShape, createShape, createShape, describeShapeDetail, describeShapeDetail, distanceToEdge, distanceToEdge, draw, draw, fill, fill, getAppObject, getAttribute, getAttributes, getLineType, getNeedToRegenerate, getShape, isRenderable, isRenderable, putAttribute, removeAttribute, setAppObject, setAttributes, setLineType, setNeedToRegenerate, setShape
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.List
equals, hashCode
 
Methods inherited from interface com.bbn.openmap.omGraphics.OMGraphic
getDeclutterType, getDisplayColor, getDisplayPaint, getFillColor, getFillPaint, getLineColor, getLinePaint, getMattingPaint, getRenderType, getSelectColor, getSelectPaint, getShowEditablePalette, getStroke, getTextureMask, hasLineTypeChoice, isMatted, isSelected, normalizeDistanceForLineWidth, regenerate, renderLabel, setDeclutterType, setGraphicsColor, setGraphicsForEdge, setGraphicsForFill, setLabelLocation, setLabelLocation, setLabelLocation, setRenderType, setSelected, setShowEditablePalette, shouldRenderEdge, shouldRenderFill
 
Methods inherited from interface com.bbn.openmap.omGraphics.OMGeometry
clearAttributes, contains, distanceToEdge, draw, draw, fill, fill, getAppObject, getAttribute, getAttributes, getLineType, getNeedToRegenerate, getShape, isRenderable, isRenderable, putAttribute, removeAttribute, setAppObject, setAttributes, setLineType, setNeedToRegenerate, setShape
 

Field Detail

CoverageOpaquenessProperty

public static final java.lang.String CoverageOpaquenessProperty
Property to use for filled rectangles (when java supports it).

See Also:
Constant Field Values

FillProperty

public static final java.lang.String FillProperty
Property to use to fill rectangles.

See Also:
Constant Field Values

coverageManager

protected RpfCoverageManager coverageManager

frameProvider

protected RpfFrameProvider frameProvider

coverages

protected java.util.Map<RpfProductInfo,RpfCoverage.RpfCoverageControl> coverages

propertyPrefix

protected java.lang.String propertyPrefix

opaqueness

protected int opaqueness
A setting for how transparent to make the images. The default is 255, which is totally opaque. Not used right now.


fillRects

protected boolean fillRects
Flag to fill the coverage rectangles.


layer

protected Layer layer
The parent layer.


inUse

protected boolean inUse
Flag to track when the RpfCoverage is active.


showPalette

protected boolean showPalette
Show the palette when showing coverage. Probably not needed for layers limiting chart seriestypes for display.


i18n

protected I18n i18n

paletteWindow

protected javax.swing.JFrame paletteWindow
Constructor Detail

RpfCoverage

public RpfCoverage(Layer l,
                   RpfFrameProvider frameProvider)
The default constructor for the Layer. All of the attributes are set to their default values.

Method Detail

setFrameProvider

public void setFrameProvider(RpfFrameProvider frameProvider)

setDefaultValues

protected void setDefaultValues()
Method that sets all the variables to the default values.


isInUse

public boolean isInUse()

setInUse

public void setInUse(boolean iu)

isShowPalette

public boolean isShowPalette()

setShowPalette

public void setShowPalette(boolean sp)

allCoveragesOn

public void allCoveragesOn()

setProperties

public void setProperties(java.util.Properties props)
Description copied from interface: PropertyConsumer
Method to set the properties in the PropertyConsumer. It is assumed that the properties do not have a prefix associated with them, or that the prefix has already been set.

Specified by:
setProperties in interface PropertyConsumer
Parameters:
props - a properties object that the PropertyConsumer can use to retrieve expected properties it can use for configuration.

setProperties

public void setProperties(java.lang.String prefix,
                          java.util.Properties properties)
Set all the Rpf properties from a properties object.

Specified by:
setProperties in interface PropertyConsumer
Parameters:
prefix - string prefix used in the properties file for this layer.
properties - the properties set in the properties file.

getProperties

public java.util.Properties getProperties(java.util.Properties props)
PropertyConsumer method, to fill in a Properties object, reflecting the current values of the layer. If the layer has a propertyPrefix set, the property keys should have that prefix plus a separating '.' prepended to each property key it uses for configuration.

Specified by:
getProperties in interface PropertyConsumer
Parameters:
props - a Properties object to load the PropertyConsumer properties into. If props equals null, then a new Properties object should be created.
Returns:
Properties object containing PropertyConsumer property values. If getList was not null, this should equal getList. Otherwise, it should be the Properties object created by the PropertyConsumer.

getPropertyInfo

public java.util.Properties getPropertyInfo(java.util.Properties list)
Method to fill in a Properties object with values reflecting the properties able to be set on this PropertyConsumer. The key for each property should be the raw property name (without a prefix) with a value that is a String that describes what the property key represents, along with any other information about the property that would be helpful (range, default value, etc.). For Layer, this method should at least return the 'prettyName' property.

Specified by:
getPropertyInfo in interface PropertyConsumer
Parameters:
list - a Properties object to load the PropertyConsumer properties into. If getList equals null, then a new Properties object should be created.
Returns:
Properties object containing PropertyConsumer property values. If getList was not null, this should equal getList. Otherwise, it should be the Properties object created by the PropertyConsumer.

getInitPropertiesOrder

public java.lang.String getInitPropertiesOrder()
Specify what order properties should be presented in an editor.


setPropertyPrefix

public void setPropertyPrefix(java.lang.String prefix)
Set the property key prefix that should be used by the PropertyConsumer. The prefix, along with a '.', should be prepended to the property keys known by the PropertyConsumer.

Specified by:
setPropertyPrefix in interface PropertyConsumer
Parameters:
prefix - the prefix String.

getPropertyPrefix

public java.lang.String getPropertyPrefix()
Get the property key prefix that is being used to prepend to the property keys for Properties lookups.

Specified by:
getPropertyPrefix in interface PropertyConsumer
Returns:
the property prefix

prepare

public void prepare(Projection projection,
                    java.lang.String chartSeries)
Prepares the graphics for the layer. This is where the getRectangle() method call is made on the rpfcov.

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.


clearLayerAndCoverages

protected void clearLayerAndCoverages()

resetCoveragesOnLayer

protected void resetCoveragesOnLayer()

getOpaqueness

public int getOpaqueness()
Returns:
Returns the opaqueness.

setOpaqueness

public void setOpaqueness(int opaqueness)
Parameters:
opaqueness - The opaqueness to set.

isFillRects

public boolean isFillRects()
Returns:
the fillRects

setFillRects

public void setFillRects(boolean fillRects)
Parameters:
fillRects - the fillRects to set

getModifiedColor

protected java.awt.Color getModifiedColor(java.awt.Color color)

getGUI

public java.awt.Component getGUI()
Provides the palette widgets to control the options of showing maps, or attribute text.

Returns:
Component object representing the palette widgets.

getPaletteWindow

public javax.swing.JFrame getPaletteWindow()
Get RpfCoverage's associated palette as a top-level window

Returns:
the frame that the palette is in


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