com.bbn.openmap.layer.shape
Class MultiRoadLayer

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.shape.ShapeLayer
                                      |
                                      +--com.bbn.openmap.layer.shape.MultiShapeLayer
                                            |
                                            +--com.bbn.openmap.layer.shape.MultiRoadLayer
All Implemented Interfaces:
java.awt.event.ActionListener, java.beans.beancontext.BeanContextChild, java.beans.beancontext.BeanContextMembershipListener, DataBoundsProvider, java.util.EventListener, GestureResponsePolicy, java.awt.image.ImageObserver, LayerView, java.awt.MenuContainer, ProjectionListener, ProjectionPainter, PropertyConsumer, RoadServices, java.io.Serializable

public class MultiRoadLayer
extends MultiShapeLayer
implements RoadServices, ProjectionListener, LayerView

Imposes a road layer on the multi shape layer. The important method here is getPathOnRoad(implemented for the RoadServices interface) which returns a list of points on the road found between a start and an end point. You can see more about what the road layer is doing by setting drawIntersections to true, which will reveal what the road finder thinks are roads on the road layer, and drawResults to true, which will show each road path request and its result. The results shown accumulate over time.

See Also:
com.bbn.openmap.tools.road.RoadServices, Serialized Form

Field Summary
static java.lang.String DrawIntersectionsProperty
          Property 'drawIntersections' will display the intersections on the road layer False by default.
static java.lang.String DrawResultsProperty
          Property 'drawResults' will display the results of each road request on the road layer False by default.
 
Fields inherited from class com.bbn.openmap.layer.shape.MultiShapeLayer
ShapeFileListProperty, spatialIndexes
 
Fields inherited from class com.bbn.openmap.layer.shape.ShapeLayer
box, drawingAttributes, pointImageURLProperty, shadowX, shadowXProperty, shadowY, shadowYProperty, shapeFileProperty, spatialIndex, spatialIndexProperty
 
Fields inherited from class com.bbn.openmap.layer.OMGraphicHandlerLayer
cancelled, CANCELLED_LOCK, consumeEvents, ConsumeEventsProperty, filter, layerWorker, LAYERWORKER_LOCK, mouseEventInterpreter, mouseModeIDs, MouseModesProperty, projectionChangePolicy, ProjectionChangePolicyProperty, renderPolicy, RenderPolicyProperty, selectedList
 
Fields inherited from class com.bbn.openmap.Layer
addAsBackground, AddAsBackgroundProperty, addToBeanContext, AddToBeanContextProperty, autoPalette, AutoPaletteProperty, beanContextChildSupport, DisplayPaletteCmd, DisplayPropertiesCmd, doHack, HidePaletteCmd, i18n, IDListeners, localHackList, lsListeners, palette, paletteListener, PrettyNameProperty, propertyPrefix, RedrawCmd, removable, RemovableProperty, RemoveableProperty, 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
MultiRoadLayer()
           
 
Method Summary
 java.util.List getGraphicList()
          Flattens nested OMGraphicLists of lists into one level list of OMGraphic items.
 java.util.List getPathOnRoad(java.awt.Point start, java.awt.Point end, java.util.List segments)
          Get points on the road between start and end Implemented for the RoadService interface
 void paint(java.awt.Graphics g)
          If drawIntersections or drawResults is true, will add intersection markers or returned road lines to what is rendered.
 void projectionChanged(ProjectionEvent e)
          Implemented for ProjectionListener
protected  void setDrawIntersections(boolean val)
           
protected  void setDrawResults(boolean val)
           
 void setExtraGraphics(java.util.List toDraw)
          Called from RoadFinder to tell it what extra to render (e.g.
protected  void setHelper()
           
 void setProperties(java.lang.String prefix, java.util.Properties props)
          Initializes this layer from the given properties.
 
Methods inherited from class com.bbn.openmap.layer.shape.MultiShapeLayer
getDataBounds, getGUI, getProperties, getPropertyInfo, getSpatialIndexes, prepare, setFileProperties, setSpatialIndexes, setSpatialIndexes
 
Methods inherited from class com.bbn.openmap.layer.shape.ShapeLayer
actionPerformed, computeGraphics, getDrawingAttributes, getSpatialIndex, setDrawingAttributes, setSpatialIndex
 
Methods inherited from class com.bbn.openmap.layer.OMGraphicHandlerLayer
canSetList, copy, cut, deselect, doAction, doPrepare, filter, filter, filter, getConsumeEvents, getFilter, getInfoText, getItemsForMapMenu, getItemsForOMGraphicMenu, getLayerWorker, getList, getMapMouseListener, getMouseEventInterpreter, getMouseModeIDsForEvents, getProjectionChangePolicy, getRenderPolicy, getSelected, getToolTipTextFor, highlight, interrupt, isCancelled, isHighlightable, isSelectable, isWorking, leftClick, mouseOver, paste, receivesMapEvents, renderDataForProjection, resetFiltering, select, setCancelled, setConsumeEvents, setFilter, setLayerWorker, setList, setMouseEventInterpreter, setMouseModeIDsForEvents, setProjectionChangePolicy, setRenderPolicy, supportsSQL, unhighlight, workerComplete
 
Methods inherited from class com.bbn.openmap.Layer
addComponentListener, added, addInfoDisplayListener, addLayerStatusListener, addMouseListener, addVetoableChangeListener, childrenAdded, childrenRemoved, clearListeners, connectToBeanContext, createWindowSupport, finalize, findAndInit, findAndInit, findAndUndo, fireHideToolTip, fireHideToolTip, firePaletteEvent, fireRequestBrowserContent, fireRequestBrowserContent, fireRequestCursor, fireRequestInfoLine, fireRequestInfoLine, fireRequestInfoLine, fireRequestMessage, fireRequestMessage, fireRequestToolTip, fireRequestToolTip, fireRequestToolTip, fireRequestToolTip, fireRequestURL, fireRequestURL, fireStatusUpdate, fireStatusUpdate, fireVetoableChange, getAddAsBackground, getAddToBeanContext, getBeanContext, getPackage, getPalette, getProjection, getPropertyPrefix, getWindowSupport, hidePalette, isRemovable, isRemoveable, notifyHideHack, removeComponentListener, removeConfirmed, removed, removeInfoDisplayListener, removeLayerStatusListener, removeVetoableChangeListener, repaint, resetPalette, setAddAsBackground, setAddToBeanContext, setBeanContext, setName, setPaletteVisible, setProjection, setProjection, setProperties, setPropertyPrefix, setRemovable, setRemoveable, setVisible, 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.roads.LayerView
getProjection
 
Methods inherited from interface com.bbn.openmap.util.DataBoundsProvider
getName
 
Methods inherited from interface java.beans.beancontext.BeanContextChild
addPropertyChangeListener, removePropertyChangeListener
 

Field Detail

DrawIntersectionsProperty

public static final java.lang.String DrawIntersectionsProperty
Property 'drawIntersections' will display the intersections on the road layer False by default.

See Also:
Constant Field Values

DrawResultsProperty

public static final java.lang.String DrawResultsProperty
Property 'drawResults' will display the results of each road request on the road layer False by default.

See Also:
Constant Field Values
Constructor Detail

MultiRoadLayer

public MultiRoadLayer()
Method Detail

setProperties

public void setProperties(java.lang.String prefix,
                          java.util.Properties props)
Description copied from class: ShapeLayer
Initializes this layer from the given properties.

Specified by:
setProperties in interface PropertyConsumer
Overrides:
setProperties in class ShapeLayer
Parameters:
props - the Properties holding settings for this layer

setDrawIntersections

protected void setDrawIntersections(boolean val)

setDrawResults

protected void setDrawResults(boolean val)

setHelper

protected void setHelper()

getPathOnRoad

public java.util.List getPathOnRoad(java.awt.Point start,
                                    java.awt.Point end,
                                    java.util.List segments)
Get points on the road between start and end Implemented for the RoadService interface

Specified by:
getPathOnRoad in interface RoadServices
Parameters:
start - from here
end - to there
segments - populated with road segments
Returns:
list of points on path

projectionChanged

public void projectionChanged(ProjectionEvent e)
Implemented for ProjectionListener

Specified by:
projectionChanged in interface ProjectionListener
Overrides:
projectionChanged in class OMGraphicHandlerLayer
Parameters:
e - ProjectionEvent

getGraphicList

public java.util.List getGraphicList()
Flattens nested OMGraphicLists of lists into one level list of OMGraphic items. Gets the original list of graphics items from getList.

Specified by:
getGraphicList in interface LayerView
Returns:
List of OMGraphic items that will be used to create roads

setExtraGraphics

public void setExtraGraphics(java.util.List toDraw)
Called from RoadFinder to tell it what extra to render (e.g. intersections, roads).

Specified by:
setExtraGraphics in interface LayerView

paint

public void paint(java.awt.Graphics g)
If drawIntersections or drawResults is true, will add intersection markers or returned road lines to what is rendered.

Overrides:
paint in class ShapeLayer
Parameters:
g - a graphics context


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