Package gov.nih.mipav.view.renderer.J3D
Class JPanelSculptor
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- gov.nih.mipav.view.renderer.JPanelRendererBase
-
- gov.nih.mipav.view.renderer.J3D.JPanelRendererJ3D
-
- gov.nih.mipav.view.renderer.J3D.JPanelSculptor
-
- All Implemented Interfaces:
java.awt.event.ActionListener
,java.awt.event.FocusListener
,java.awt.event.ItemListener
,java.awt.event.KeyListener
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
public class JPanelSculptor extends JPanelRendererJ3D
Title: JPanelSculptor
Description: Sculptor panel draws the sculptor and apply the sculptor to the whole volume region.
- Author:
- Alexandra Bokinsky, Ph.D.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
JPanelSculptor.DrawingPanel
Wrapper in order to hold the control panel layout in the JScrollPane.-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description private javax.swing.JToggleButton
lineButton
Line shape button.(package private) int
m_iSculptHeight
DOCUMENT ME!(package private) int
m_iSculptWidth
Window information for Sculpting:.private javax.swing.JButton
m_kApplySculptButton
Button to apply sculpt region to the volume.private javax.swing.JButton
m_kClearDrawOutlineButton
Button for clearing the sculpt region.private javax.swing.JToggleButton
m_kDrawOutlineButton
Toggle button is down while the mouse is used to draw the sculpt outline.private javax.swing.JButton
m_kInvertOutlineButton
Button for inverting the sculpt region.private javax.swing.JButton
m_kSaveSculptButton
Button to save the sculpt image.private TextureSculptor
m_kTextureSculptor
DOCUMENT ME!private javax.swing.JButton
m_kUndoSculptButton
Button to undo the sculpt and restor the original volume.private VolumeSculptor
m_kVolumeSculptor
Sculptor object enables, draws and sculpts the volume based on the outline region drawn on screen.private javax.swing.JPanel
mainPanel
Control panel for volume sculpting.private javax.swing.JToggleButton
rectButton
Rectangle shape button.private javax.swing.JScrollPane
scroller
The scroll pane holding the panel content.private JPanelSculptor.DrawingPanel
scrollPanel
Scroll panel that holding the all the control components.private static long
serialVersionUID
Use serialVersionUID for interoperability.private SurfaceRender
surRender
SurfaceRender reference.private ViewToolBarBuilder
toolbarBuilder
Toolbar builder reference.-
Fields inherited from class gov.nih.mipav.view.renderer.J3D.JPanelRendererJ3D
rayBasedRender, renderBase
-
Fields inherited from class gov.nih.mipav.view.renderer.JPanelRendererBase
applyButton, cancelButton, cancelFlag, closeButton, helpButton, isActiveImage, NEW, OKButton, REPLACE, runInSeparateThread, serif12, serif12B
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description JPanelSculptor(RenderViewBase parent)
Contructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
actionPerformed(java.awt.event.ActionEvent e)
Command processor to handle the geodesic button events.void
applySculptRegion()
Cull the sculpt region through the 3D volume.void
clearSculptRegion()
clearwSculptRegion: called when the "Clear Outline" Button is pressed.void
disposeLocal(boolean flag)
Sets all variables to null, disposes, and garbage collects.void
drawSculptRegion()
drawSculptRegion: called when the "Draw Sculpt Outline" Button is pressed.protected void
finalize()
Calls disposeLocal.javax.swing.JPanel
getMainPanel()
Get the main control panel.void
init()
Initialize the buttons layout.void
invertSculptRegion()
clearwSculptRegion: called when the "Clear Outline" Button is pressed.void
resizePanel(int panelWidth, int frameHeight)
Resizig the control panel with ViewJFrameVolumeView's frame width and height.void
setFrameSize(int width, int height)
Initialize the sculpt region size.void
setSculptShape(int shape)
Set the sculpt shape, either lines or rectangle.void
setVolumeSculptor(VolumeRenderer _rayBasedRender)
Initialize the raycast based volume render with the sculptor.void
undoSculptRegion()
undoSculptRegion: called when the "Undo Sculpt" Button is pressed.-
Methods inherited from class gov.nih.mipav.view.renderer.J3D.JPanelRendererJ3D
disposeLocal, getSurfaceRender, setRayBasedRender, setSurfaceRender
-
Methods inherited from class gov.nih.mipav.view.renderer.JPanelRendererBase
buildApplyButton, buildCancelButton, buildCloseButton, buildHelpButton, buildOKButton, buildTitledBorder, focusGained, focusLost, isCancelled, itemStateChanged, keyPressed, keyReleased, keyTyped, makeString, setLeftHandSystem, setVisible, setVisibleStandard, setWCSystem, testParameter
-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, 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, setUI, setVerifyInputWhenFocusTarget, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, 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, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, firePropertyChange, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
Use serialVersionUID for interoperability.- See Also:
- Constant Field Values
-
m_iSculptHeight
int m_iSculptHeight
DOCUMENT ME!
-
m_iSculptWidth
int m_iSculptWidth
Window information for Sculpting:.
-
lineButton
private javax.swing.JToggleButton lineButton
Line shape button.
-
m_kApplySculptButton
private javax.swing.JButton m_kApplySculptButton
Button to apply sculpt region to the volume.
-
m_kClearDrawOutlineButton
private javax.swing.JButton m_kClearDrawOutlineButton
Button for clearing the sculpt region.
-
m_kDrawOutlineButton
private javax.swing.JToggleButton m_kDrawOutlineButton
Toggle button is down while the mouse is used to draw the sculpt outline.
-
m_kInvertOutlineButton
private javax.swing.JButton m_kInvertOutlineButton
Button for inverting the sculpt region.
-
m_kSaveSculptButton
private javax.swing.JButton m_kSaveSculptButton
Button to save the sculpt image.
-
m_kTextureSculptor
private TextureSculptor m_kTextureSculptor
DOCUMENT ME!
-
m_kUndoSculptButton
private javax.swing.JButton m_kUndoSculptButton
Button to undo the sculpt and restor the original volume.
-
m_kVolumeSculptor
private VolumeSculptor m_kVolumeSculptor
Sculptor object enables, draws and sculpts the volume based on the outline region drawn on screen. Handles drawing the sculpt region.
-
mainPanel
private javax.swing.JPanel mainPanel
Control panel for volume sculpting.
-
rectButton
private javax.swing.JToggleButton rectButton
Rectangle shape button.
-
scroller
private javax.swing.JScrollPane scroller
The scroll pane holding the panel content. Useful when the screen is small.
-
scrollPanel
private JPanelSculptor.DrawingPanel scrollPanel
Scroll panel that holding the all the control components.
-
surRender
private SurfaceRender surRender
SurfaceRender reference.
-
toolbarBuilder
private ViewToolBarBuilder toolbarBuilder
Toolbar builder reference.
-
-
Constructor Detail
-
JPanelSculptor
public JPanelSculptor(RenderViewBase parent)
Contructor. Called from the surface render to create the sculptor control panel.- Parameters:
parent
- surface render
-
-
Method Detail
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent e)
Command processor to handle the geodesic button events.- Specified by:
actionPerformed
in interfacejava.awt.event.ActionListener
- Specified by:
actionPerformed
in classJPanelRendererBase
- Parameters:
e
- ActionEvent
-
applySculptRegion
public void applySculptRegion()
Cull the sculpt region through the 3D volume.
-
clearSculptRegion
public void clearSculptRegion()
clearwSculptRegion: called when the "Clear Outline" Button is pressed.
-
disposeLocal
public void disposeLocal(boolean flag)
Sets all variables to null, disposes, and garbage collects.- Parameters:
flag
- dispose super or not, not used now.
-
drawSculptRegion
public void drawSculptRegion()
drawSculptRegion: called when the "Draw Sculpt Outline" Button is pressed.
-
getMainPanel
public javax.swing.JPanel getMainPanel()
Get the main control panel.- Specified by:
getMainPanel
in classJPanelRendererBase
- Returns:
- mainPanel main control panel
-
init
public void init()
Initialize the buttons layout.
-
invertSculptRegion
public void invertSculptRegion()
clearwSculptRegion: called when the "Clear Outline" Button is pressed.
-
resizePanel
public void resizePanel(int panelWidth, int frameHeight)
Resizig the control panel with ViewJFrameVolumeView's frame width and height.- Overrides:
resizePanel
in classJPanelRendererBase
- Parameters:
panelWidth
- panel widthframeHeight
- panel height
-
setFrameSize
public void setFrameSize(int width, int height)
Initialize the sculpt region size. ViewJFrameVolumeView call this method to init the region.- Parameters:
width
- region widthheight
- region height
-
setSculptShape
public void setSculptShape(int shape)
Set the sculpt shape, either lines or rectangle.- Parameters:
shape
- shape number, 0 for lines, 1 for rectangle.
-
setVolumeSculptor
public void setVolumeSculptor(VolumeRenderer _rayBasedRender)
Initialize the raycast based volume render with the sculptor.- Parameters:
_rayBasedRender
- VolumeRenderer
-
undoSculptRegion
public void undoSculptRegion()
undoSculptRegion: called when the "Undo Sculpt" Button is pressed.
-
finalize
protected void finalize() throws java.lang.Throwable
Calls disposeLocal.- Overrides:
finalize
in classJPanelRendererBase
- Throws:
java.lang.Throwable
- DOCUMENT ME!
-
-