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:
ActionListener,FocusListener,ItemListener,KeyListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible
Title: JPanelSculptor
Description: Sculptor panel draws the sculptor and apply the sculptor to the whole volume region.
- Author:
- Alexandra Bokinsky, Ph.D.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) classWrapper in order to hold the control panel layout in the JScrollPane.Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate JToggleButtonLine shape button.(package private) intDOCUMENT ME!(package private) intWindow information for Sculpting:.private JButtonButton to apply sculpt region to the volume.private JButtonButton for clearing the sculpt region.private JToggleButtonToggle button is down while the mouse is used to draw the sculpt outline.private JButtonButton for inverting the sculpt region.private JButtonButton to save the sculpt image.private TextureSculptorDOCUMENT ME!private JButtonButton to undo the sculpt and restor the original volume.private VolumeSculptorSculptor object enables, draws and sculpts the volume based on the outline region drawn on screen.private JPanelControl panel for volume sculpting.private JToggleButtonRectangle shape button.private JScrollPaneThe scroll pane holding the panel content.private JPanelSculptor.DrawingPanelScroll panel that holding the all the control components.private static final longUse serialVersionUID for interoperability.private SurfaceRenderSurfaceRender reference.private ViewToolBarBuilderToolbar builder reference.Fields inherited from class gov.nih.mipav.view.renderer.J3D.JPanelRendererJ3D
rayBasedRender, renderBaseFields inherited from class gov.nih.mipav.view.renderer.JPanelRendererBase
applyButton, cancelButton, cancelFlag, closeButton, helpButton, isActiveImage, NEW, OKButton, REPLACE, runInSeparateThread, serif12, serif12BFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidCommand processor to handle the geodesic button events.voidCull the sculpt region through the 3D volume.voidclearwSculptRegion: called when the "Clear Outline" Button is pressed.voiddisposeLocal(boolean flag) Sets all variables to null, disposes, and garbage collects.voiddrawSculptRegion: called when the "Draw Sculpt Outline" Button is pressed.protected voidfinalize()Calls disposeLocal.Get the main control panel.voidinit()Initialize the buttons layout.voidclearwSculptRegion: called when the "Clear Outline" Button is pressed.voidresizePanel(int panelWidth, int frameHeight) Resizig the control panel with ViewJFrameVolumeView's frame width and height.voidsetFrameSize(int width, int height) Initialize the sculpt region size.voidsetSculptShape(int shape) Set the sculpt shape, either lines or rectangle.voidsetVolumeSculptor(VolumeRenderer _rayBasedRender) Initialize the raycast based volume render with the sculptor.voidundoSculptRegion: called when the "Undo Sculpt" Button is pressed.Methods inherited from class gov.nih.mipav.view.renderer.J3D.JPanelRendererJ3D
disposeLocal, getSurfaceRender, setRayBasedRender, setSurfaceRenderMethods 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, testParameterMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods 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, updateMethods 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, validateTreeMethods 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, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.awt.event.FocusListener
focusGained, focusLostMethods inherited from interface java.awt.event.ItemListener
itemStateChangedMethods inherited from interface java.awt.event.KeyListener
keyPressed, keyReleased, keyTyped
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDUse serialVersionUID for interoperability.- See Also:
-
m_iSculptHeight
int m_iSculptHeightDOCUMENT ME! -
m_iSculptWidth
int m_iSculptWidthWindow information for Sculpting:. -
lineButton
Line shape button. -
m_kApplySculptButton
Button to apply sculpt region to the volume. -
m_kClearDrawOutlineButton
Button for clearing the sculpt region. -
m_kDrawOutlineButton
Toggle button is down while the mouse is used to draw the sculpt outline. -
m_kInvertOutlineButton
Button for inverting the sculpt region. -
m_kSaveSculptButton
Button to save the sculpt image. -
m_kTextureSculptor
DOCUMENT ME! -
m_kUndoSculptButton
Button to undo the sculpt and restor the original volume. -
m_kVolumeSculptor
Sculptor object enables, draws and sculpts the volume based on the outline region drawn on screen. Handles drawing the sculpt region. -
mainPanel
Control panel for volume sculpting. -
rectButton
Rectangle shape button. -
scroller
The scroll pane holding the panel content. Useful when the screen is small. -
scrollPanel
Scroll panel that holding the all the control components. -
surRender
SurfaceRender reference. -
toolbarBuilder
Toolbar builder reference.
-
-
Constructor Details
-
JPanelSculptor
Contructor. Called from the surface render to create the sculptor control panel.- Parameters:
parent- surface render
-
-
Method Details
-
actionPerformed
Command processor to handle the geodesic button events.- Specified by:
actionPerformedin interfaceActionListener- Specified by:
actionPerformedin 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
Get the main control panel.- Specified by:
getMainPanelin 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:
resizePanelin 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
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
Calls disposeLocal.- Overrides:
finalizein classJPanelRendererBase- Throws:
Throwable- DOCUMENT ME!
-