MVT API

mvt.graphics
Class Surface

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--mvt.graphics.GraphicsComponent
                                |
                                +--mvt.graphics.Surface
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class Surface
extends GraphicsComponent

The Surface class is a class that holds a two-dimensional array that containing the points for a three-dimensional surface. This object holds link to all of the other Surfaces that wish to be drawn on a Plot3DPanel. Options are implemented that provide different rendering options including transparent surfaces and headless-painter surfaces.

Since:
JDK1.2
Author:
Phil Kent
, Darin Gillis , for the Mathematical Visualization Project for the Department of Applied Mathematics, University of Colorado at Boulder
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static int COLORED_POLYGONS
          The mesh will be rendered using colored polygons (only effective if Surface is OPAQUE) and black lines.
static int MULTI_COLOR
          The mesh will be rendered using colored lines
static int OPAQUE
          Surface will be opaque; one cannot see parts of the surface that are covered up (hidden lines removed).
static int SINGLE_COLOR
          The mesh will be rendered using black lines
static int TRANSPARENT
          Surface will be a transparent wireframe mesh.
 
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.Container
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Surface(Point3D[][] manyPoints, int renderOption, int colorOption, Plot3DPanel parent)
          Paints this Surface using the given rendering options.
Surface(Point3D[][] manyPoints, Plot3DPanel parent)
          Creates a Surface from a 2-D set of mesh points.
 
Method Summary
 Point3D[][] getPoints()
          Returns the list of points that make up this surface.
 java.lang.String getTitle()
           
 void paintComponent(java.awt.Graphics g)
          Make the paintComponent method public, but just call JPanel's paintComponent method.
 void setColorOption(int colorOption)
           
 void setPoints(Point3D[][] pts)
          Set the list of points that make up this surface.
 void setRenderOption(int renderOption)
           
 void setTitle(java.lang.String s)
           
 
Methods inherited from class mvt.graphics.GraphicsComponent
getSubComponent, getXMax, getXMin, getYMax, getYMin, getZMax, getZMin, setSubComponent, setXMax, setXMin, setYMax, setYMin, setZMax, setZMin
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
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, fireVetoableChange, 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, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, 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, setVisible, unregisterKeyboardAction, update
 
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, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, 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, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

OPAQUE

public static final int OPAQUE
Surface will be opaque; one cannot see parts of the surface that are covered up (hidden lines removed).

See Also:
Constant Field Values

TRANSPARENT

public static final int TRANSPARENT
Surface will be a transparent wireframe mesh.

See Also:
Constant Field Values

MULTI_COLOR

public static final int MULTI_COLOR
The mesh will be rendered using colored lines

See Also:
Constant Field Values

COLORED_POLYGONS

public static final int COLORED_POLYGONS
The mesh will be rendered using colored polygons (only effective if Surface is OPAQUE) and black lines.

See Also:
Constant Field Values

SINGLE_COLOR

public static final int SINGLE_COLOR
The mesh will be rendered using black lines

See Also:
Constant Field Values
Constructor Detail

Surface

public Surface(Point3D[][] manyPoints,
               Plot3DPanel parent)
Creates a Surface from a 2-D set of mesh points. By default, the surface will be opaque and rendered as colored lines containing blank polygons.

Parameters:
manyPoints - an array of Point3D objects corresponding to a 'surface' made up of 3-D cartesian points

Surface

public Surface(Point3D[][] manyPoints,
               int renderOption,
               int colorOption,
               Plot3DPanel parent)
Paints this Surface using the given rendering options.

Parameters:
renderOption - Indicates what type of surface is rendered, OPAQUE or TRANSPARENT.
colorOption - Indicates how color will be used on the surface, can have MULTI_COLOR, SINGLE_COLOR, or COLORED_POLYGONS.
parent - the Plot3DPanel that will display the Surfaces
Method Detail

setPoints

public void setPoints(Point3D[][] pts)
Set the list of points that make up this surface. Also will set asymptoteDetected to true/false.


getPoints

public Point3D[][] getPoints()
Returns the list of points that make up this surface.


setTitle

public void setTitle(java.lang.String s)
Overrides:
setTitle in class GraphicsComponent

getTitle

public java.lang.String getTitle()
Overrides:
getTitle in class GraphicsComponent

paintComponent

public void paintComponent(java.awt.Graphics g)
Description copied from class: GraphicsComponent
Make the paintComponent method public, but just call JPanel's paintComponent method.

Overrides:
paintComponent in class GraphicsComponent

setRenderOption

public void setRenderOption(int renderOption)
Parameters:
renderOption - Indicates what type of surface is rendered, OPAQUE or TRANSPARENT.

setColorOption

public void setColorOption(int colorOption)
Parameters:
colorOption - Indicates how color will be used on the surface, can have MULTI_COLOR, COLORED_POLYGONS, or SINGLE_COLOR.

MVT API

mvt.icons