org.opensourcephysics.frames
Class Scalar2DFrame

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 org.opensourcephysics.display.OSPFrame
                          extended by org.opensourcephysics.display.DrawingFrame
                              extended by org.opensourcephysics.frames.Scalar2DFrame
All Implemented Interfaces:
java.awt.datatransfer.ClipboardOwner, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, AppFrame, Hidable

public class Scalar2DFrame
extends DrawingFrame

A DrawingFrame that displays 2D plots of scalar fields.

Version:
1.0
Author:
W. Christian
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.BaselineResizeBehavior
 
Field Summary
 
Fields inherited from class org.opensourcephysics.display.OSPFrame
constructorThreadGroup
 
Fields inherited from class javax.swing.JFrame
EXIT_ON_CLOSE
 
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
Scalar2DFrame(java.lang.String frameTitle)
          Constructs a Scalar2DFrame with the given frame title but without axes.
Scalar2DFrame(java.lang.String xlabel, java.lang.String ylabel, java.lang.String frameTitle)
          Constructs a Scalar2DFrame with the given axes labels and frame title.
 
Method Summary
 void clearData()
          Sets the scalar field to zero.
 void clearDrawables()
          Clears drawable objects added by the user from this frame.
 void convertToContourPlot()
          Converts to a contour plot.
 void convertToGrayscalePlot()
           
 void convertToGridPlot()
           
 void convertToInterpolatedPlot()
           
 void convertToSurfacePlot()
          Converts to a SurfacePlot plot.
 double getCeiling()
          Gets the maximum z value of the plot.
 java.util.ArrayList<Drawable> getDrawables()
          Gets Drawable objects added by the user to this frame.
<T extends Drawable>
java.util.ArrayList<T>
getDrawables(java.lang.Class<T> c)
          Gets Drawable objects added by the user of an assignable type.
 double getFloor()
          Gets the minimum z value of the plot.
 int getNx()
          Gets the number of x entries.
 int getNy()
          Gets the number of y entries.
 double indexToX(int i)
          Gets the x coordinate for the given index.
 double indexToY(int i)
          Gets the y coordinate for the given index.
 boolean isAutoscaleZ()
          Gets the autoscale flag for z.
 boolean isShowGrid()
          True if the data grid's boundaries are shown.
 void resizeGrid(int nx, int ny)
          Resizes the number of columns and rows.
 void setAll(double[] vals)
          Sets all the scalar field values using the given array.
 void setAll(double[][] vals)
          Sets the scalar field's values.
 void setAll(double[][] vals, double xmin, double xmax, double ymin, double ymax)
          Sets the scalar field's values and scale..
 void setBuffered(boolean b)
          Sets the buffered image option.
 void setExpandedZ(boolean expanded, double expansionFactor)
          Expands the z scale so as to enhance values close to zero.
 void setPaletteType(int type)
          Sets the color palette that will be used to color the scalar field.
 void setPlotType(java.lang.String type)
          Sets the type of plot type so that it cannot be changed from the menu.
 void setRow(int row, double[] vals)
          Sets the data in the given row to new values.
 void setShowGrid(boolean show)
          Outlines the data grid's boundaries.
 void setZRange(boolean isAutoscale, double floor, double ceil)
          Sets the autoscale flag and the floor and ceiling values for the colors.
 void showDataTable(boolean show)
          Shows or hides the data table.
 int xToIndex(double x)
          Gets the index that is closest to the given x value
 int yToIndex(double y)
          Gets the index that is closest to the given y value
 
Methods inherited from class org.opensourcephysics.display.DrawingFrame
addDrawable, clearDataAndRepaint, getAxes, getDrawingPanel, getLoader, getObjectOfClass, inspectXML, invalidateImage, isAutoscaleX, isAutoscaleY, limitAutoscaleX, limitAutoscaleY, lostOwnership, paint, removeDrawable, removeObjectsOfClass, render, replaceAction, replaceDrawable, saveXML, setAutoscaleX, setAutoscaleY, setCartesian, setCustomInspector, setDrawingPanel, setEnabledCopy, setEnabledPaste, setEnabledReplace, setInteractiveMouseHandler, setInteriorBackground, setLogScale, setMessage, setMessage, setPixelsPerUnit, setPolar, setPreferredMinMax, setPreferredMinMaxX, setPreferredMinMaxY, setSquareAspect, setXLabel, setYLabel
 
Methods inherited from class org.opensourcephysics.display.OSPFrame
addButton, addChildFrame, bufferStrategyShow, clearChildFrames, createBufferStrategy, dispose, getChildFrames, getChooser, getConstructorThreadGroup, getMenu, isAnimated, isAutoclear, isIconified, isKeepHidden, parseXMLMenu, parseXMLMenu, removeMenu, removeMenuItem, setAnimated, setAutoclear, setDefaultCloseOperation, setKeepHidden, setSize, setTitle, setVisible, show, wishesToExit
 
Methods inherited from class javax.swing.JFrame
getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, remove, repaint, setContentPane, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, 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, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, 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, postEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, 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, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, dispatchEvent, enable, enable, enableInputMethods, 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, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, 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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.opensourcephysics.display.AppFrame
getDefaultCloseOperation
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Constructor Detail

Scalar2DFrame

public Scalar2DFrame(java.lang.String xlabel,
                     java.lang.String ylabel,
                     java.lang.String frameTitle)
Constructs a Scalar2DFrame with the given axes labels and frame title.

Parameters:
xlabel - String
ylabel - String
frameTitle - String

Scalar2DFrame

public Scalar2DFrame(java.lang.String frameTitle)
Constructs a Scalar2DFrame with the given frame title but without axes.

Parameters:
frameTitle - String
Method Detail

indexToX

public double indexToX(int i)
Gets the x coordinate for the given index.

Parameters:
i - int
Returns:
double the x coordiante

xToIndex

public int xToIndex(double x)
Gets the index that is closest to the given x value

Returns:
double the x coordiante

yToIndex

public int yToIndex(double y)
Gets the index that is closest to the given y value

Returns:
double the y coordiante

indexToY

public double indexToY(int i)
Gets the y coordinate for the given index.

Parameters:
i - int
Returns:
double the y coordiante

getNx

public int getNx()
Gets the number of x entries.

Returns:
nx

getNy

public int getNy()
Gets the number of y entries.

Returns:
nx

setZRange

public void setZRange(boolean isAutoscale,
                      double floor,
                      double ceil)
Sets the autoscale flag and the floor and ceiling values for the colors. If autoscaling is true, then the min and max values of z are span the colors. If autoscaling is false, then floor and ceiling values limit the colors. Values below min map to the first color; values above max map to the last color.

Parameters:
isAutoscale -
floor -
ceil -

getCeiling

public double getCeiling()
Gets the maximum z value of the plot.

Returns:
zmax

getFloor

public double getFloor()
Gets the minimum z value of the plot.

Returns:
zmin

isAutoscaleZ

public boolean isAutoscaleZ()
Gets the autoscale flag for z.

Returns:
boolean

setExpandedZ

public void setExpandedZ(boolean expanded,
                         double expansionFactor)
Expands the z scale so as to enhance values close to zero.

Parameters:
expanded - boolean
expansionFactor - double

setPaletteType

public void setPaletteType(int type)
Sets the color palette that will be used to color the scalar field. Palette types are defined in ColorMapper.

Parameters:
type -

setBuffered

public void setBuffered(boolean b)
Sets the buffered image option. Buffered panels copy the offscreen image into the panel during a repaint unless the image has been invalidated. Use the render() method to draw the image immediately.

Parameters:
b -

setShowGrid

public void setShowGrid(boolean show)
Outlines the data grid's boundaries.

Parameters:
showGrid -

isShowGrid

public boolean isShowGrid()
True if the data grid's boundaries are shown.

Returns:
showGrid

clearDrawables

public void clearDrawables()
Clears drawable objects added by the user from this frame.

Overrides:
clearDrawables in class DrawingFrame

getDrawables

public java.util.ArrayList<Drawable> getDrawables()
Gets Drawable objects added by the user to this frame.

Overrides:
getDrawables in class DrawingFrame
Returns:
the list

getDrawables

public <T extends Drawable> java.util.ArrayList<T> getDrawables(java.lang.Class<T> c)
Gets Drawable objects added by the user of an assignable type. The list contains objects that are assignable from the class or interface.

Overrides:
getDrawables in class DrawingFrame
Parameters:
c - the type of Drawable object
Returns:
the cloned list
See Also:
DrawingFrame.getObjectOfClass(Class c)

clearData

public void clearData()
Sets the scalar field to zero.

Overrides:
clearData in class OSPFrame

setPlotType

public void setPlotType(java.lang.String type)
Sets the type of plot type so that it cannot be changed from the menu.

Parameters:
type - String

convertToContourPlot

public void convertToContourPlot()
Converts to a contour plot.


convertToInterpolatedPlot

public void convertToInterpolatedPlot()

convertToGridPlot

public void convertToGridPlot()

convertToGrayscalePlot

public void convertToGrayscalePlot()

convertToSurfacePlot

public void convertToSurfacePlot()
Converts to a SurfacePlot plot.


resizeGrid

public void resizeGrid(int nx,
                       int ny)
Resizes the number of columns and rows.

Parameters:
nx - int
ny - int

setRow

public void setRow(int row,
                   double[] vals)
            throws java.lang.IllegalArgumentException
Sets the data in the given row to new values.

Parameters:
row - int
vals - double[] new values
Throws:
java.lang.IllegalArgumentException - if array length does not match grid size.

setAll

public void setAll(double[][] vals,
                   double xmin,
                   double xmax,
                   double ymin,
                   double ymax)
Sets the scalar field's values and scale..

Parameters:
vals - int[][] the new values
xmin - double
xmax - double
ymin - double
ymax - double

setAll

public void setAll(double[][] vals)
Sets the scalar field's values.

Parameters:
vals - double[][] new values

setAll

public void setAll(double[] vals)
Sets all the scalar field values using the given array. The array is assumed to contain numbers in row-major format.

Parameters:
vals - double[] field values

showDataTable

public void showDataTable(boolean show)
Shows or hides the data table.

Parameters:
show - boolean