artisynth.core.gui.editorManager
Class GeometryInertiaPanel

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 maspack.widgets.LabeledComponentPanel
                      extended by artisynth.core.gui.editorManager.GeometryInertiaPanel
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.PopupMenuListener, Disposable, HasAlignableLabels, ValueChangeListener

public class GeometryInertiaPanel
extends LabeledComponentPanel
implements java.awt.event.ActionListener, ValueChangeListener

A panel that allows an application to select a specified mesh geometry. The panel also computes (or allows the user to specify) the corresponding spatial inertia.

See Also:
Serialized Form

Nested Class Summary
 class GeometryInertiaPanel.GeometrySettings
           
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.BaselineResizeBehavior
 
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
GeometryInertiaPanel(GeometryInertiaPanel.GeometrySettings settings, RigidBody body, boolean attached)
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
 RigidBody getAttachedBody()
           
 double getDensity()
           
 SpatialInertia getInertia()
          Returns the spatial inertia described by the mass, ineria, and center of mass fields.
 RigidBody.InertiaMethod getInertiaMethod()
           
 double getMass()
           
 PolygonalMesh getMesh()
           
 java.lang.String getMeshFileName()
           
 AffineTransform3dBase getMeshTransform()
           
 GeometryInertiaPanel.GeometrySettings getSettings()
           
 void resetGeometryAndInertia()
           
 void resetMesh()
           
 void restoreDefaultValues()
           
 void setAttachedBody(RigidBody body)
          Attaches this geometry panel to a specified RigidBody, so that changes in this panel will directly modify the geometry and inertia settings of that body.
 void setBodyInertia(RigidBody body)
          Sets the inertia of a rigid body based on the settings in this panel.
 void valueChange(ValueChangeEvent e)
           
 
Methods inherited from class maspack.widgets.LabeledComponentPanel
addSelectionListener, addWidget, addWidget, addWidget, areWidgetsDraggable, areWidgetsSelectable, deselectAllWidgets, deselectWidget, dispose, findWidget, getComponentIndex, getLabelSpacing, getLeftInsetToTop, getPreferredLabelSpacing, getSelectedWidgets, getSelectionListeners, getSpacing, getTopPanel, getWidget, getWidgets, isStretchable, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, numSelectedWidgets, numWidgets, popupMenuCanceled, popupMenuWillBecomeInvisible, popupMenuWillBecomeVisible, removeAllWidgets, removeSelectionListener, removeWidget, removeWidget, repackContainingWindow, resetLabelAlignment, selectWidget, setLabelSpacing, setSpacing, setStretchable, setWidgetsDraggable, setWidgetsSelectable
 
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, getBaseline, getBaselineResizeBehavior, 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, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, 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

GeometryInertiaPanel

public GeometryInertiaPanel(GeometryInertiaPanel.GeometrySettings settings,
                            RigidBody body,
                            boolean attached)
Method Detail

getSettings

public GeometryInertiaPanel.GeometrySettings getSettings()

getDensity

public double getDensity()

getMass

public double getMass()

resetMesh

public void resetMesh()

setBodyInertia

public void setBodyInertia(RigidBody body)
Sets the inertia of a rigid body based on the settings in this panel.


getInertia

public SpatialInertia getInertia()
Returns the spatial inertia described by the mass, ineria, and center of mass fields. If one or more of these fields has a void value, then null is returned.


getInertiaMethod

public RigidBody.InertiaMethod getInertiaMethod()

getMesh

public PolygonalMesh getMesh()

getMeshTransform

public AffineTransform3dBase getMeshTransform()

getMeshFileName

public java.lang.String getMeshFileName()

setAttachedBody

public void setAttachedBody(RigidBody body)
Attaches this geometry panel to a specified RigidBody, so that changes in this panel will directly modify the geometry and inertia settings of that body. If body is null, then any attached body is removed.


getAttachedBody

public RigidBody getAttachedBody()

valueChange

public void valueChange(ValueChangeEvent e)
Specified by:
valueChange in interface ValueChangeListener

resetGeometryAndInertia

public void resetGeometryAndInertia()

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener
Overrides:
actionPerformed in class LabeledComponentPanel

restoreDefaultValues

public void restoreDefaultValues()