net.sf.j3d.threeD.ui.panels
Class RenderPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by net.sf.j3d.threeD.ui.panels.RenderPanel
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, EventGenerator, EventListener

public class RenderPanel
extends JPanel
implements EventListener, EventGenerator

A RenderPanel object allows display of scene previews and rendered images of the Scene object it uses.

Author:
Mike Murray
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, 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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
RenderPanel(Scene scene)
          Constructs a new RenderPanel object that can be used to render the specified Scene object.
 
Method Summary
 double calculateAverageBrightness()
           
 void clearRenderedImage()
          Removes any stored image data from this RenderPanel object and repaints the panel.
 void eventFired(Event event)
          Method called when an event has been fired.
 EventHandler getEventHandler()
          Returns the EventHandler object used by this RenderPanel object.
 int getImageHeight()
          Returns the height, in pixels, of the image that will be rendered by this RenderPanel object.
 int getImageWidth()
          Returns the width, in pixels, of the image that will be rendered by this RenderPanel object.
 double getProjectionHeight()
           
 double getProjectionWidth()
           
 RGB[][] getRenderedImageData()
          Return the image rendered by this RenderPanel as an array of RGB objects.
 boolean getShowProgressWindow()
          Returns true if rendering progress will be displayed in a new window.
 int getSupersampleHeight()
          Returns the supersampling height of the image that will be rendered by this RenderPanel object.
 int getSupersampleWidth()
          Returns the supersampling width of the image that will be rendered by this RenderPanel object.
 void paint(Graphics g)
          Method called when painting this RenderPanel.
 void render()
          Renders the Scene object stored by this RenderPanel object and draws the output image on the panel.
 void setEventHandler(EventHandler handler)
          Sets the EventHandler object used by this RenderPanel object.
 void setImageHeight(int height)
          Sets the height, in pixels, of the image that will be rendered by this RenderPanel object.
 void setImageWidth(int width)
          Sets the width, in pixels, of the image that will be rendered by this RenderPanel object.
 void setShowProgressWindow(boolean show)
          When set to true, rendering progress will be displayed in a new window.
 void setSupersampleHeight(int height)
          Sets the supersampling height of the image that will be rendered by this RenderPanel object.
 void setSupersampleWidth(int width)
          Sets the supersampling width of the image that will be rendered by this RenderPanel object.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, 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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RenderPanel

public RenderPanel(Scene scene)
Constructs a new RenderPanel object that can be used to render the specified Scene object.

Method Detail

render

public void render()
Renders the Scene object stored by this RenderPanel object and draws the output image on the panel.


clearRenderedImage

public void clearRenderedImage()
Removes any stored image data from this RenderPanel object and repaints the panel.


eventFired

public void eventFired(Event event)
Method called when an event has been fired.

Specified by:
eventFired in interface EventListener

setImageWidth

public void setImageWidth(int width)
Sets the width, in pixels, of the image that will be rendered by this RenderPanel object.


setImageHeight

public void setImageHeight(int height)
Sets the height, in pixels, of the image that will be rendered by this RenderPanel object.


setSupersampleWidth

public void setSupersampleWidth(int width)
Sets the supersampling width of the image that will be rendered by this RenderPanel object.


setSupersampleHeight

public void setSupersampleHeight(int height)
Sets the supersampling height of the image that will be rendered by this RenderPanel object.


getProjectionWidth

public double getProjectionWidth()
Returns:
The projection width of the Camera object stored by this RenderPanel object.

getProjectionHeight

public double getProjectionHeight()
Returns:
The projection height of the Camera object stored by this RenderPanel object.

setShowProgressWindow

public void setShowProgressWindow(boolean show)
When set to true, rendering progress will be displayed in a new window. Otherwise, the progress will be displayed within this RenderPanel's window.


getImageWidth

public int getImageWidth()
Returns the width, in pixels, of the image that will be rendered by this RenderPanel object.


getImageHeight

public int getImageHeight()
Returns the height, in pixels, of the image that will be rendered by this RenderPanel object.


getSupersampleWidth

public int getSupersampleWidth()
Returns the supersampling width of the image that will be rendered by this RenderPanel object.


getSupersampleHeight

public int getSupersampleHeight()
Returns the supersampling height of the image that will be rendered by this RenderPanel object.


getShowProgressWindow

public boolean getShowProgressWindow()
Returns true if rendering progress will be displayed in a new window. Otherwise, false is returned and the progress will be displayed within this RenderPanel's window.


getRenderedImageData

public RGB[][] getRenderedImageData()
Return the image rendered by this RenderPanel as an array of RGB objects.


setEventHandler

public void setEventHandler(EventHandler handler)
Sets the EventHandler object used by this RenderPanel object. Setting this to null will deactivae event reporting.

Specified by:
setEventHandler in interface EventGenerator

getEventHandler

public EventHandler getEventHandler()
Returns the EventHandler object used by this RenderPanel object.

Specified by:
getEventHandler in interface EventGenerator

calculateAverageBrightness

public double calculateAverageBrightness()

paint

public void paint(Graphics g)
Method called when painting this RenderPanel.

Overrides:
paint in class JComponent