NASA World Wind

gov.nasa.worldwindx.examples
Class TerrainIntersections.AppFrame

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by gov.nasa.worldwindx.examples.ApplicationTemplate.AppFrame
                          extended by gov.nasa.worldwindx.examples.TerrainIntersections.AppFrame
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants
Enclosing class:
TerrainIntersections

public static class TerrainIntersections.AppFrame
extends ApplicationTemplate.AppFrame

See Also:
Serialized Form

Nested Class Summary
protected  class TerrainIntersections.AppFrame.Intersector
          Inner Runnable to perform a single line/terrain intersection calculation.
 
Nested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  Thread calculationDispatchThread
           
protected  long endTime
           
protected  List<Position> firstIntersectionPositions
           
protected  List<Position> grid
           
protected  RenderableLayer gridLayer
           
protected  RenderableLayer intersectionsLayer
           
protected  int numGridPoints
           
protected  Position previousCurrentPosition
           
protected  JProgressBar progressBar
           
protected  Vec4 referencePoint
           
protected  Position referencePosition
           
protected  List<Position[]> sightLines
           
protected  RenderableLayer sightLinesLayer
           
protected  long startTime
           
protected  HighResolutionTerrain terrain
           
protected  ThreadPoolExecutor threadPool
           
protected  RenderableLayer tilesLayer
           
 
Fields inherited from class gov.nasa.worldwindx.examples.ApplicationTemplate.AppFrame
layerPanel, statsPanel, wwjPanel
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
TerrainIntersections.AppFrame()
           
 
Method Summary
protected  void addIntersectionPosition(Position position)
           
protected  void addSightLine(Position positionA, Position positionB)
           
protected  List<Position> buildGrid(Sector sector, double height, int nLatCells, int nLonCells)
           
protected  void clearLayers()
           
protected  void computeAndShowIntersections(Position curPos)
           
protected  int getSightlinesSize()
           
protected  void performIntersection(Position gridPosition)
          Performs one line of sight calculation between the reference position and a specified grid position.
protected  void performIntersectionTests(Position curPos)
           
protected  void preCache(List<Position> grid, Position centerPosition)
           
protected  void showCenterPoint(Position cPos)
           
protected  void showGrid(List<Position> grid, Position cPos)
           
protected  void showGridSightLines(List<Position> grid, Position cPos)
           
protected  void showIntersections(List<Position> intersections)
           
protected  void showResults()
          Updates the World Wind model with the new intersection locations and sight lines.
protected  void showSightLines(List<Position[]> sightLines)
           
protected  void updateProgress()
          Keeps the progress meter current.
 
Methods inherited from class gov.nasa.worldwindx.examples.ApplicationTemplate.AppFrame
createAppPanel, getCanvasSize, getLayerPanel, getStatsPanel, getStatusBar, getWwd, getWwjPanel, initialize, setHighlightController, setToolTipController
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

calculationDispatchThread

protected Thread calculationDispatchThread

endTime

protected long endTime

firstIntersectionPositions

protected List<Position> firstIntersectionPositions

grid

protected List<Position> grid

gridLayer

protected RenderableLayer gridLayer

intersectionsLayer

protected RenderableLayer intersectionsLayer

numGridPoints

protected int numGridPoints

previousCurrentPosition

protected Position previousCurrentPosition

progressBar

protected JProgressBar progressBar

referencePoint

protected Vec4 referencePoint

referencePosition

protected Position referencePosition

sightLines

protected List<Position[]> sightLines

sightLinesLayer

protected RenderableLayer sightLinesLayer

startTime

protected long startTime

terrain

protected HighResolutionTerrain terrain

threadPool

protected ThreadPoolExecutor threadPool

tilesLayer

protected RenderableLayer tilesLayer
Constructor Detail

TerrainIntersections.AppFrame

public TerrainIntersections.AppFrame()
Method Detail

addIntersectionPosition

protected void addIntersectionPosition(Position position)

addSightLine

protected void addSightLine(Position positionA,
                            Position positionB)

buildGrid

protected List<Position> buildGrid(Sector sector,
                                   double height,
                                   int nLatCells,
                                   int nLonCells)

clearLayers

protected void clearLayers()

computeAndShowIntersections

protected void computeAndShowIntersections(Position curPos)

getSightlinesSize

protected int getSightlinesSize()

performIntersection

protected void performIntersection(Position gridPosition)
                            throws InterruptedException
Performs one line of sight calculation between the reference position and a specified grid position.

Parameters:
gridPosition - the grid position.
Throws:
InterruptedException - if the operation is interrupted.

performIntersectionTests

protected void performIntersectionTests(Position curPos)
                                 throws InterruptedException
Throws:
InterruptedException

preCache

protected void preCache(List<Position> grid,
                        Position centerPosition)
                 throws InterruptedException
Throws:
InterruptedException

showCenterPoint

protected void showCenterPoint(Position cPos)

showGrid

protected void showGrid(List<Position> grid,
                        Position cPos)

showGridSightLines

protected void showGridSightLines(List<Position> grid,
                                  Position cPos)

showIntersections

protected void showIntersections(List<Position> intersections)

showResults

protected void showResults()
Updates the World Wind model with the new intersection locations and sight lines.


showSightLines

protected void showSightLines(List<Position[]> sightLines)

updateProgress

protected void updateProgress()
Keeps the progress meter current. When calculations are complete, displays the results.


NASA World Wind